Розуміння AlphaZero


29

Зовсім недавно з'явилася новина, що дослідницька команда Alphabet DeepMind розширила свій механізм машинного навчання, щоб грати як в Шогі, так і в шахи. Мабуть, після декількох годин самонавчання, тобто, граючи проти себе, враховуючи правила гри, його продуктивність у шахах вже перевершила показник у топ-поточних двигунів, таких як Stockfish 8. Я особисто ще не знаю, як саме були налаштовані матчі, оскільки в яких умовах було встановлено виконання Stockfish, оскільки, якщо час обчислення обмежений, двигуни можуть працювати дуже погано. У будь-якому випадку, це дуже вражаюче досягнення, адже навіть якщо виявиться, що можна було б налаштувати Stockfish більш оптимально, маючи кілька додаткових годин тренувань, AlphaZero знову перевершить рівень гри, що означає AlphaZero принципово сильніший за будь-який поточний стандартний шаховий двигун на основі евристичної функції оцінки.

Тепер, з огляду на цю новину, було б чудово, якби хтось міг детальніше розглянути основні відмінності в роботі машинного вивченого шахового двигуна порівняно зі стандартними двигунами, якими ми всі звикли користуватися. Більш конкретно:

  1. Чи не є функція оцінювання, яку використовує AlphaZero, навчена методами машинного навчання, врешті-решт лише чергова функція евристичного оцінювання? Якщо так, то було б справедливо сказати, що принциповою різницею між функціями оцінювання двох двигунів є той факт, що у Stockfish є оптимізована функція оцінки, налаштована людиною, тобто визначення функції для оптимізації є фіксованою, тоді як для AlphaZero, функція оцінювання цілі постійно переробляється шляхом додаткового навчання (наприклад, через самоігра)? Перетворення останніх набагато більш динамічним у підході.
  2. Зрештою, розпливчасто кажучи, двигун, подібний до Stockfish, застосовує свою оціночну функцію до дерева можливих рухів, вирішуючи, які гілки зберегти, а які відкинути, потім через глибший бетонПроаналізувавши кожну гілку, знову ж таки через її оціночну функцію, він з'ясовує, яка галузь дала найбільшу цінність, і що стає головним варіантом (звичайно, існує багато методів прогресу навколо цього процесу, щоб ефективно обрізати це велике дерево). Це означає, що для кожної позиції цей надзвичайно конкретний розпорядок повинен бути повторений для того, щоб рибалка прийняла рішення. Навпаки, я думаю, що AlphaZero робить щось дуже інше, а саме, він не покладається на конкретний аналіз дерева можливих рухів у заданій позиції, натомість його функція оцінювання по суті призначає значення цій позиції (що інтуїтивно схоже на те, що ставити поточна позиція аналогічно всім іншим позиціям, для яких вона пройшла підготовку), не маючи необхідності виконувати конкретні діїаналіз того, як це роблять Stockfish або навіть людський гравець. Це взагалі звукова картина роботи AlphaZero чи аналогічно навчених машин машинного навчання?

  3. Ми знаємо, що простір шахових позицій є достатньо великим, що будь-яка спроба вибірки всіх позицій в ньому була б навіть в принципі абсолютно марною (СКЛАДНА СКЛАДНІСТЬ), що дозволило б припустити, що ніякої кількості тренувань за допомогою самої гри не буде достатньо, щоб вивчили всі позиції, тож як же може бути гарний кінцевий результат, незважаючи на те, що потенційно досліджував невелику частину позицій простору за допомогою самоігра? Яка ключова ідея тут у грі?

  4. Я здогадуюсь, що AlphaZero має дуже оптимальний спосіб порівняння будь-якої заданої позиції, навіть якщо вона нова, з раніше відвіданою в тренувальному наборі, чим ближче порівняння, тим більш обґрунтованою може бути оцінка, яку можна зробити з порівняння. Наприклад, коли він грав у русі Bg5 у грі 5 , він повинен був вивчити подібну структуру під час свого тренування, тобто він здатний визнати, що ця позиція по суті еквівалентна (можливо, повністю) різній, вивченій під час її навчання, в аналогія того, як досягається розпізнавання обличчя за допомогою машинного навчання, і в результаті він робить висновок, що Bg5 повинен бути найкращим кроком, як це було в тому (або тих) інших подібних положеннях. Це взагалі правильна здогадка? Я поняття не маю, як це порівняння це зроблено, оскільки напевно неможливо зберігати всі треновані позиції та розбирати їх кожен раз.

Це лише спроба отримати такий глибокий погляд на роботу AlphaZero та на те, як воно приймає рішення щодо даної позиції.

Відповіді:


18
  • Як AlphaZero вибирає хід у пошуку?

Це дуже очевидно з паперу.

Кожне моделювання протікає шляхом вибору в кожному стані переміщення з низьким числом відвідувань, високою ймовірністю переміщення та високим вибором добі ...

Що це означає? AlphaZero підготував ймовірності для кожного руху (кінець сторінки 2 у статті) з глибокої нейронної мережі. Під час пошуку вибирається крок, пропорційний цій ймовірності, а також вузли, які мають малу кількість (щоб забезпечити дослідження простору вибірки). Це не нова концепція, пошук дерев Монте-Карло був у літературі ще до існування Google.

------ (Дуже) Прикладний приклад ------

У нас є позиція, і у нас є два юридичні кроки.

  • Рух 1 хороший і розумний
  • Переміщення 2 ставить вашого власного короля в небезпеку без компенсації

Згідно з роботою, навчена глибока модель може оцінити ймовірності як (0,90, 0,10). Скажімо, AlphaZero використовує 4 ітерації в Монте-Карло. Ітерації можуть виглядати так:

Ітерація 1 : Виберіть хід 1, оскільки він має найбільшу ймовірність. Зробіть моделювання з ходу 1. Ітерація 2 : Виберіть хід 1, оскільки він має найбільшу ймовірність. Зробіть моделювання з ходу 1. Ітерація 3 : Виберіть хід 1, оскільки він має найбільшу ймовірність. Зробіть моделювання з ходу 1.

Тепер ми переходимо до ітерації 4. Хоча в ході 1 є більш висока прогнозована ймовірність, але рух 2 не шукали (в роботі "низький кількість відвідувань"), тепер AlphaZero вибрав би крок 2 і зробив моделювання.

Обидва кроки будуть розглянуті, але AlphaZero вкладе більше обчислювальних ресурсів у хід 1 (добре).

Тоді AlphaZero вибрав би крок із найкращим очікуваним результатом.

------------------ Ваші запитання: ------------------

Чи не є функція оцінювання, яку використовує AlphaZero, навчена методами машинного навчання, врешті-решт лише чергова функція евристичного оцінювання?

Навчена функція оцінювання є глибокою нейронною мережею, це не набір евристичних правил, як те, що ви бачите в Stockfish. Ніхто не розуміє повністю (навіть команда Google) навченої мережі, вона просто працює. Ось як працює NN загалом.

тоді як для AlphaZero функція оцінювання цілі постійно переробляється через цільову оцінювальну функцію, яка постійно переосмислюється шляхом додаткового навчання.

Функція оцінювання в AlphaZero - це набір тренованих нейронів (зміщення + ваги). Команда Google використовувала дуже потужні машини для підготовки параметрів. Як правило, чим більше ресурсів ви зможете вкласти у підготовку моделі глибокого навчання, тим кращі параметри ви отримаєте.

(2).

Stockfish використовує альфа-бета, тоді як AlphaZero використовує Монте-Карло. Вони є двома дуже різними алгоритмами. Альфа-бета-алгоритм передбачає нижню / верхню межу, а Монте-Карло створює моделювання від кореня до листа.

вивчив усі позиції, тож як же кінцевий результат може бути хорошим, незважаючи на те, що потенційно вивчив невелику частину позицій простору за допомогою самоігра? Яка ключова ідея тут у грі?

Google не стверджував, що вони вирішили шахи, навіть навіть їх потужні машини не могли перерахувати всі шахові позиції. Але вони не повинні були ... це сенс машинного навчання, модель "вчиться" з навчального набору. У цьому випадку тренувальний набір походить від самостійної гри. Ключова ідея - грати якомога більше ігор якісної якості проти себе, наскільки це можливо та швидко.

Наприклад, коли він грав у рух Bg5 у грі 5, він повинен був вивчити подібну структуру під час свого навчання,

Я не думаю, що AlphaZero зіткнувся з точно такою ж позицією у тренувальних іграх. Я думаю, що швидке читання Монте-Карло - це гарна ідея:

https://chessprogramming.wikispaces.com/Monte-Carlo+Tree+Search

AlphaZero зміг відтворити рух, досягнувши достатньої глибини. Алгоритм оцінює очікувану ймовірність виграшу за кожен хід, мабуть, хід Bg5 дав найбільшу очікувану ймовірність.

Можна подумати, що AlphaGo зміг так добре шукати, що він бачив, що ймовірність виграшу є найвищою після Bg5, тоді як Stockfish не розглядав цей крок серйозно (і таким чином програв).


2
"Пошук дерев Монте-Карло був у літературі до існування Google" Я можу простежити MCTS лише до 2006 року.
CodesInChaos

2
@CodesInChaos MCTS - це не нова методика. Google точно не винайшов Монте-Карло.
SmallChess

4
Brügmann 1993 явно лише MC. MC Go Dev. (2003) поєднує МС та дерева, але примітивно. Чанг (2005) досить близький, але в іншому контексті, і я думаю, що йому все ще не вистачає належного вибору вузла для розширення та поширення оцінок. Наскільки я можу сказати, оператори оперативної вибірковості та резервного копіювання в MCTS Remi Coulom (2006) є належним MCTS.
CodesInChaos

1
@SmallChess Частини вашої відповіді здаються суперечливими: "зараз AlphaZero вибрав би крок 2 і зробив моделювання. Обидва ходи будуть розглядатися, але AlphaZero вкладе більше обчислювальних ресурсів у хід 1 (гарна річ)." суперечить твердженню. Кожне моделювання триває, вибираючи в кожному стані sa переміщення a з низьким числом відвідувань ... як, у вашому прикладі, це було б 2, а не 1. Якщо чесно, документ не містить жодної частини корисної інформації для розуміючи, оскільки вони не виявляють способів відтворити експеримент або дають зрозуміти, як саме вони навчають мережі.
помер

1
Те, що вони роблять, - це, по суті, заявляючи, що "ми використовували алгоритм X, і він працює", - що мало розуміє методів, тому я б не зосереджувався над цим документом, щоб спробувати зрозуміти, що він насправді робить.
покладено

0

Я думаю, що моє питання полягатиме в тому, як нейронна сітка «вчиться», що робити у позиції, з якою вона не стикалася. Скажімо, фактичний AZ виконує MCTS, використовуючи зміщення + ваги від підготовленої нейронної мережі, просто відштовхує його крок до того, як нейронна сітка обчислює ці значення. Якщо це було через випадкову самовідтворення, без людських знань, то як воно вирішує, як зважувати позицію, якої вона ніколи не бачила?


1
Я думаю, що я міг би відповісти вам, але не тут. Почніть нове запитання.
SmallChess

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.