Різниця між політичною мережею AlphaGo та мережевою мережею


25

Я читав резюме високого рівня про AlphaGo Google ( http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html ), і натрапив на терміни "політика мережа "та" мережа цінностей ". На високому рівні я розумію, що мережа політик використовується для пропонування рухів, а мережа значень використовується для "зменшення глибини дерева пошуку [та оцінки] переможця в кожній позиції замість пошуку до кінця кінець гри ».

Ці дві мережі мені здаються зайвими. Що робить мережа політики, якщо вона не використовує мережу цінностей для обрізки своєї політики? Здається, досить зрозуміло, що мережа цінностей є нейронною мережею з глибоким навчанням; чи політична мережа є лише теоретичною абстракцією, а не фактичною нейронною мережею? Цільова змінна мережа цінностей, схоже, є виграш / програш. Чи є цільова змінна для політики політики; якщо так, що це? Яку політичну мережу намагаються оптимізувати?

Повний pdf документ Google, опублікований в Nature, можна знайти тут: https://vk.com/doc-44016343_437229031?dl=56ce06e325d42fbc72


Як швидка примітка: цільова змінна для політики політики - це розподіл ймовірностей. З статті: "Ця нейронна мережа (мережа цінностей) має подібну архітектуру до політики політики, але виводить єдине передбачення замість розподілу ймовірностей"
Zimano

3
Якщо хтось інший натикається на це старе питання, як я, вам буде приємно знати, що наступник AlphaGo, "AlphaGo Zero", а також його наступник "AlphaZero" дійсно позбавляються від надмірності, лише навчаючи одну мережу, результати якої виконують функції як політики політики (дає розподіл ймовірності на можливі ходи), так і мережі значень (дає ймовірність виграшу даної дошки). Публікація в блозі тут: deepmind.com/blog/alphago-zero-learning-scratch, і стаття пов’язана всередині.
Кевін Ван

Відповіді:


11

Якщо коротко, кожна сітка має інше призначення, як ви згадали:

  • Мережа значень використовувалася в вузлах листя для зменшення глибини пошуку дерева.
  • Мережа політики використовувалась для зменшення масштабів пошуку з вузла (керівництво до перспективних негайних дій).

Загалом, ви можете використовувати методи функцій значення, щоб знайти оптимальну політику або безпосередньо здійснити пошук у просторі політики, щоб оптимізувати параметризовану функцію політики (звичайно, є плюси і мінуси). Ви можете використовувати аппроксиматори функцій (наприклад, Deep Nets) у кожному випадку. Я бачу, що в основному ви плутаєтесь щодо мережі політики, тому я сфокусую свою відповідь на цьому.

Перша сітка політики:

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

Потім,

його тренували в іграх з самим опонентом, щоб оптимізувати попередньо вивчену політику. Цього разу ваги були оновлені за допомогою алгоритму REINFORCE. Роблячи це, ви оновлюєте чисті параметри для досягнення максимальної очікуваної винагороди. Врешті-решт у вас є сітка, яка не тільки вибирає дії, як професійний гравець, але й до виграшу в грі (Однак це не може планувати!).

Після цього кроку вони наблизили функцію значення трохи більш галасливої ​​версії вивченої політики за допомогою регресії (вхід - це державна дошка та орієнтується на результат гри). Ви можете використовувати цю мережу для впливу на оцінку вузла листів.

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

Нарешті, ви можете використовувати свій алгоритм планування (MCTS) у поєднанні з цими мережами. Чому ми зробили всі ці кроки? Коротко кажучи, прості MCTS без будь-якої "інтуїції" не змогли б.


Я тільки повертався до цього питання, дізнавшись про Actor-Critic та про те, як це компенсує витрати / вигоди між методами, заснованими на принципі Цінність та Політика. Я думаю, що ця відповідь наближається до пояснення цієї деталі, але вона дуже добре висвітлена в лекції Девіда Сілвер: www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/pg.pdf (лекція 7, це також доступний на YouTube - youtube.com/… ).
Ніл Слейтер

Чисті підходи, засновані на MCTS, виявилися успішними, тому в більш широкому контексті я б не сказав, що це не вдалося б.
Зімано

1
Я маю на увазі лише випадок гри Go, а також про досягнення рівня Master гри. Насправді Девід Сілвер (як і інші дослідники) працював над вирішенням гри Go з MCTS з часів доктора наук. Але нічого не могло конкурувати на найвищих рівнях до поєднання вищезазначених методів.
Константинос

9

Ось мій стислий роздум щодо розуміння двох різних мереж.

Перш за все, мета - знайти оптимальне рішення (або дуже близьке до оптимального) без використання вичерпного пошуку, що безумовно є складним завданням.

За позицією чи станом можливе N переміщень, і на кожному русі буде власна глибина D у дереві повного пошуку. Теоретично чи математично можливо пройти всі шляхи та знайти оптимальне рішення. Однак ми не хочемо проводити повний пошук.

Тепер ми отримали два окремих питання для розробки підходу наближення.

Q1. Як ми можемо пропустити або знехтувати деякими рухами з N на одну позицію? (тобто зменшення дихання)

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

Мережа політик в основному розроблена для фільтрації марних кроків з N, але, не знайшовши оптимального рішення. Тут ця мережа спочатку покладається на людські експертні кроки, наприклад, SL, і пізніше вдосконалюється RL.

Мережа цінностей в основному призначена для пошуку ймовірності виграшу без повного пошуку.

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

Я просто сподіваюся, що це допомагає. Я знаю, що це все ще буде на високому рівні.


Ваші два способи пояснення дуже стислі.
Тім

6

Я думаю, що ОП плутала AlphaGo з альфа-бета. В альфа-беті ви дійсно використовуєте політичну мережу для допомоги в обрізку, але не тут. Знову ж таки, немає обрізки, оскільки алгоритм спирається на пошук дерев Монте-Карло (MCTS).

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

У наступному прикладі я зроблю деяке спрощення, щоб полегшити розуміння своїх ідей.

Приклад:

Уявіть, що у вас є позиція, коли є два законних кроки. Перший хід для вас мертвий, але другий хід дає вам виграшну перевагу.

  • Перший крок: вимушена втрата для вас
  • Другий хід: вимушена перемога для вас

Мережа оцінювання

Припустимо, мережа оцінювання, яку надає Google, є ідеальною. Він може відмінно оцінити будь-яку позицію листа в нашому прикладі. Ми не змінимо нашу мережу цінностей у прикладі.

Щоб спростити наш приклад, припустимо, що наша мережа цінностей дає:

  • -1000 для будь-якої позиції листя, яка для вас є збитком
  • +1000 за будь-яку позицію листа, яка є виграшною для вас

Політична мережа

Припустимо, Google надає дві мережі політик. Ймовірності, згенеровані для нашої позиції:

  • Політика 1: 0,9 для переміщення 1 та 0,1 для переміщення 2
  • Політика 2: 0,2 для переміщення 1 і 0,8 для ходу 2.

Зауважте, що наша перша політика надає неправильну попередню ймовірність для нашого прикладу. Це дає 0,9 за хід 1, що є програшним кроком. Це добре, тому що навіть Google не може навчити досконалу мережу політики.

Гра з першою політикою мережі

AlphaGo повинен генерувати моделювання за допомогою Монте-Карло, і йому потрібно вибрати хід 1 або 2. Тепер AlphaGo малює рівномірну розподілену випадкову змінну, і вона вибере:

  • Перемістіть 1, якщо випадкове число <= 0,9
  • Перемістіть 2, якщо випадкове число> 0,9

Таким чином, AlphaGo набагато частіше вибирає програшну ходу для імітації (у першому нашому моделюванні). У нашому першому моделюванні ми також використаємо мережу значень, щоб отримати оцінку для моделювання. У статті зазначено:

введіть тут опис зображення

Це значення складе -1000, оскільки таке моделювання призведе до втрат.

Тепер AlphaGo потрібно генерувати друге моделювання. Знову ж таки, перший крок буде набагато більш імовірним. Але врешті-решт, другий хід буде обраний тому, що:

  • Наша попередня ймовірність другого ходу - 0,1, а не нуль
  • AlphaGo рекомендується спробувати кроки, які мало вивчені. У роботі це робиться за цим рівнянням:

введіть тут опис зображення

Зауважте, що Nце кількість рухів, які шукали для переміщення, і це в знаменнику. Чим більше шансів шукати наш перший хід, тим меншою є uфункція. Таким чином, ймовірність вибору нашого другого ходу покращується, оскільки AlphaGo насправді вибирає крок за цим рівнянням:

введіть тут опис зображення

введіть тут опис зображення

Це ключове рівняння. Будь ласка, уважно подивіться на це:

  • Він має термін Pдля попередньої ймовірності (заданий мережею політики)
  • Він має термін Qдля оцінювання балів (надається мережею значень)

Тепер ми знаємо, що врешті-решт буде обраний наш другий крок. Коли це трапляється, мережа цінностей дає +1000. Це збільшиться Q, що зробить другий крок набагато більш імовірним в наступних моделюваннях.

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

Нарешті, крок, який AlphaGo вирішив зробити, це (цитується з статті):

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

Гра з другою мережею політики

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

Зауваження

Тут все дуже схоже на Bayesianаналіз. Ми починаємо з деякої попередньої ймовірності (заданої мережею політики), потім генеруємо дані для переміщення розсіювання ймовірності (задане мережею значень).

Підсумки

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

Я думаю, що це дає набагато глибше розуміння внутрішніх механізмів. Я досі не впевнений, чи пояснює це, чому дві мережі. У мене є питання "припустити, що мережа оцінювання ... ідеальна". Якщо це було так, то дійсно мережа політики є зайвою. Просто погляньте на один хід вперед (для всіх можливих кроків) і виберіть той, який має найкращу оцінку мережі. Звичайно, ціннісна мережа не є ідеальною, і я підозрюю, що вона стає більш точною подальше просування в грі. . . але я не знаю, наскільки це правдиво / корисно, чи завершує це відповідь.
Ніл Слейтер

@NeilSlater Гаразд. Мережі не ідеальні, але причини, які я маю тут, все ще хороші, лише те, що нам потрібно більше моделей MC.
SmallChess

@StudentT Приємне пояснення деяких ключових рівнянь. Я би вніс одну невелику зміну: для розуміння позиції в пошуку в Монте-Карло на дереві не має великого сенсу говорити "Вам потрібно побачити десять кроків". MCTS - це перший по глибині пошук числа, і ми насправді ніколи не досягаємо фіксованих глибин, як це було б з ітераційним поглибленням у шахах. Навіть якщо мережа значень дозволяє нам оцінювати вузли до кінця гри, ми все ще не досягаємо їх вширкою в першу чергу, і немає мінімальної оцінки вузлів і т. Д.
Імран

@Imran Не соромтесь редагувати мою публікацію.
SmallChess

3

Мережа політики : Мережа, яка вчиться давати певний результат, надаючи певний вхід у гру, відома як "Мережа політики".

Мережі цінностей : Мережа цінностей присвоює значенню / балу стан гри шляхом обчислення очікуваного сукупного балу для поточного стану s. Кожен стан проходить через мережу цінностей. Держави, які отримують більше винагороди, очевидно, отримують більше значення в мережі.

Краще розуміння з анімаціями. Перейдіть сюди: Мережі політики проти ціннісних мереж у навчанні про зміцнення

введіть тут опис зображення


0

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

Відчуваю себе виправити, якщо я помиляюся.


2
Ви не помиляєтесь з AFAIK, але я не думаю, що це відповідає на питання. ОП, здається, усвідомлює різницю між моделлю, заснованою на цінності чи політиці, в РЛ. Два підходи дійсно мають різні результати. Однак частіше бачити ту чи іншу, а не обидву, і обидві моделі зазвичай надлишкові у тому, що "Value_maxarg (S ') == Policy_maxarg (S, A)", де S поточний стан, A - це дія беруть, а S '- результат, що виникає. Тобто дві мережі в більш звичному налаштуванні RL просто дають однаковий результат, навіть якщо виходи відрізняються.
Ніл Слейтер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.