EDIT (після прочитання статті):
Я задумливо прочитав папір. Давайте почнемо з того, що Google стверджував у статті:
- Вони перемогли запасів за допомогою нейтральних мереж Монте-Карло-Дерево-Пошук + Глибокі
- Матч був абсолютно однобічним, багато перемог для AlphaZero, але жодної для Stockfish
- Вони змогли це зробити всього за чотири години
- AlphaZero грав як людина
На жаль, я не думаю, що це гарний журнал. Я збираюся пояснити посиланнями (щоб ви знали, що я не мрію):
https://www.chess.com/news/view/alphazero-reactions-from-top-gms-stockfish-author
Результати поєдинків самі по собі не мають особливого значення через досить дивний вибір регуляторів часу та параметрів запасів Stockfish: Ігри грали у фіксований час 1 хвилину / хід, що означає, що Stockfish не використовує евристики управління часом ( багато зусиль було докладено, щоб змусити Stockfish визначити критичні моменти в грі та вирішити, коли витратити трохи зайвого часу в русі; за фіксований час за ходу сила значно постраждає).
Запаси не могли грати в найкращі шахи лише хвилиною за ходу. Програма не була розроблена для цього.
- Stockfish працював на звичайній комерційній машині, тоді як AlphaZero був на 4-мільйонній машині + TPU, налаштованій на AlphaZero. Це схоже на відповідність вашого високого класу робочого столу проти дешевого телефону Android. Торд написав:
Один - це звичайна шахова програма, що працює на звичайних комп’ютерах, інша використовує принципово різні методи і працює на спеціально розробленому обладнання, яке недоступне для придбання (і було б виходу з бюджету звичайних користувачів, якби це було).
- Google ненавмисно передав 64 теми для 32-ядерної машини для Stockfish. Я цитую Г.М. Ларрі Кауфмана (знавця з комп'ютерних шахів світового класу):
http://talkchess.com/forum/viewtopic.php?p=741987&highlight=#741987
Я згоден, що тест був далеко не справедливим; Інша проблема, яка зачепила SF, полягала в тому, що він, мабуть, працював на 64-х потоках на 32-ядерній машині, але він би грав набагато краще, працюючи лише на 32 потоках на цій машині, оскільки майже немає переваги SMP, щоб компенсувати приблизно 5 до 3 уповільнення. Також співвідношення витрат було більше, ніж я сказав; Я думав, що це 64-ядерна машина, але 32-ядерна машина коштує приблизно вдвічі, ніж я здогадався. Тому, можливо, загалом від 30 до 1 не така вже й погана оцінка. З іншого боку, я думаю, що ви недооцінюєте, наскільки це може бути вдосконалено.
- Запаси дали лише хеш-таблицю на 1 Гб. Це жарт ... У мене є більший хеш-таблиця для мого додатка iOS Stockfish (відмова: я автор) на своєму iPhone! Торд написав:
... занадто малі хеш-таблиці для кількості потоків ...
Хеш-таблиця розміром 1 Гб абсолютно неприйнятна для подібного матчу. Собаки часто стикаються з хеш-зіткненням. Для заміни старих хеш-записів потрібні цикли процесора.
- Риба-порода не призначена для роботи з такою кількістю ниток. У моєму шаховому додатку iOS використовується лише декілька потоків. Торд написав:
... грала з набагато більшою кількістю пошукових ниток, ніж коли-небудь отримала значну кількість тестування ...
- Stockfish працював без вступної книги або 6-ти частинної таблиці ендграйдів Syzygy. Розмір вибірки був недостатнім. Версія Stockfish була не останньою. Тут обговорення .
ВИСНОВОК
Google не доведено без сумніву методи їх перевершують в'яленої. Їх кількість поверхово і сильно упереджена AlphaZero. Їхні методи не можуть бути відтворені незалежною третьою стороною. Казати, «Глибоке навчання» є чудовим методом традиційного шахового програмування ще зарано.
EDIT (грудень 2017):
Існує новий документ від Google Deepmind ( https://arxiv.org/pdf/1712.01815.pdf ) для глибокого підкріплення в шахах. З реферату, світовий шаховий двигун номер один був «переконливо» переможений. Я думаю, що це найважливіше досягнення в комп'ютерних шахах після матчу за глибокий синій 1997 рік. Я оновлю свою відповідь, як тільки детально прочитаю статтю.
Оригінал (до грудня 2017 року)
Давайте уточнимо ваше запитання:
- Ні, шахові двигуни не застосовують грубу силу.
- AlphaGo робить пошук використання дерева, він використовує Монте - Карло дерево пошуку . Google " Monte Carlo Tree Search alphaGo ", якщо ви хочете переконатися.
ANN можна використовувати для шахових двигунів:
Чи буде ця програма краще, ніж найкращі шахові двигуни (та шахісти) сьогодні?
Giraffe грає на рівні Internation Master, що становить приблизно FIDE 2400. Однак, Stockfish, Houdini та Komodo всі грають приблизно на FIDE 3000. Це великий розрив. Чому? Чому б не пошукати дерево в Монте-Карло?
- Матеріальна евристика в шахах проста. Здебільшого шахова позиція виграє / програє, просто перераховуючи матеріали на дошці. Згадайте, що підрахунок матеріалів не працює для Go. Підрахунок матеріалів на порядок швидший, ніж запуск нейронних мереж - це можна зробити за допомогою бітбордів, представлених 64-бітовим цілим числом. У системі 64 біт це можна зробити лише за допомогою декількох інструкцій на машині. Пошук за традиційним алгоритмом відбувається набагато швидше, ніж машинне навчання. Більш високі вузли в секунду перекладають на більш глибокий пошук.
- Так само є дуже корисні та дешеві методи, такі як обрізка нульових рухів, затримка зворотнього руху та вбивцькі ходи тощо. Вони дешеві для запуску та значно ефективніші для підходу, який використовується в AlphaGo.
- Статичне оцінювання в шахах швидко і корисно
- Машинне навчання корисне для оптимізації параметрів, але ми також маємо SPSA та CLOP для шахів.
- Існує маса корисних показників для скорочення дерева в шахах. Набагато менше для Go.
Було проведено дослідження, що пошук дерев в Монте-Карло не підходить для шахів. Go - це інша гра в шахи. Алгоритми шахів не працюють для Go, оскільки шахи покладаються на жорстоку тактику. Тактика, мабуть, важливіша в шахах.
Тепер ми встановили, що MCTS добре працює для AlphaGo, але менш для шахів. Глибоке навчання було б кориснішим, якщо:
- Налаштована оцінка NN краща, ніж традиційні алгоритми. Однак ... глибоке навчання не є магією, вам як програмісту все-таки потрібно займатися програмуванням. Як вже згадувалося, у нас є щось на зразок SPSA для самостійної гри для налаштування параметрів у шахах.
- Інвестиції, гроші! Грошей на машинне навчання шахам не так багато. Запаси вільні та з відкритим кодом, але досить сильні, щоб перемогти всіх гравців людини. Навіщо Google витрачати мільйони, якщо хтось може просто завантажити Stockfish безкоштовно? Чому платитимуть за кластери процесора? Хто заплатить за таланти? Ніхто не хоче цього робити, тому що шахи вважаються грою «вирішеною».
Якщо глибоке навчання може досягти наступного, воно обіграє традиційний алгоритм:
- Враховуючи шахову позицію, "відчуйте" це як людський гросмейстер. Наприклад, людський гросмейстер не вдавався б у погані - за досвідом. Ні традиційний алгоритм, ні глибоке навчання не можуть цього досягти. Ваша модель NN може дати вам ймовірність [0..1] для вашої позиції, але це недостатньо добре.
Дозвольте мені зазначити:
Ні. Жирафа (посилання, яку опублікував @Tim) не використовує Пошук дерев Монте-Карло. Він використовує звичайний алгоритм nega-max. Все, що він робить, це замінити звичайну функцію оцінювання на NN, і це дуже повільно.
ще один:
Хоча Каспаров був побитий Deep Blue у матчі 1997 року. "Людство" було дійсно програно приблизно в 2003-2005 роках, коли Крамник програв матч з "Глибоким Фріцем" без виграшу, а Майкл Адамс програв на кластерній машині в однобічному матчі. В цей час Рибка виявився занадто сильним для навіть найкращих гравців світу.
Довідка:
http://www.talkchess.com/forum/viewtopic.php?t=64096&postdays=0&postorder=asc&highlight=alphago+chess&topic_view=flat&start=0
Цитую:
У шахах у нас є концепція суттєвості, яка вже дає резонну оцінку того, наскільки добре працює двигун і його можна швидко обчислити. Крім того, існує багато інших аспектів гри, які можна закодувати у функції статичного оцінювання, чого неможливо зробити в Go. Завдяки безлічі евристики та хорошої оцінки, коефіцієнт ЕФП (Ефективний-Відгалуження-Фактор) є досить малим. Використання нейронної мережі в якості заміни функції статичної оцінки, безумовно, сповільнить двигун досить багато.