Призначення шуму Діріхле в роботі AlphaZero


10

У документах AlphaGo Zero та AlphaZero DeepMind вони описують додавання шуму Діріхле до попередніх імовірностей дій з кореневого вузла (стан плати) в дереві Монте-Карло:

Додаткова розвідка досягається додаванням шуму Діріхле до попередніх ймовірностей у кореневому вузлі s0конкретно П(с,а)=(1-ε)pа+εηа, де η∼Бруд(0,03) і ε=0,25; цей шум забезпечує тестування всіх рухів, але пошук все одно може перекрити погані кроки.

(AlphaGo Zero)

І:

Шум Діріхле Бруд(α)додано до попередніх ймовірностей у кореневому вузлі; це масштабувались у зворотному співвідношенні до приблизної кількості юридичних кроків у типовій позиції, до значенняα={0,3,0,15,0,03} для шахів, шоги та Go відповідно.

(AlphaZero)

Дві речі, яких я не розумію:

  1. P(s, a) є н-вимірний вектор. ЄБруд(α) стенограма для розповсюдження Діріхле с н параметри, кожен зі значенням α?

  2. Я зустрічався лише з Діріхле як кон'югат перед багаточленним розподілом. Чому його тут вибрали?

Для контексту - P(s, a)це лише один компонент розрахунку PUCT (поліноміальне верхнє дерево довіри, варіант у верхніх межах довіри) для заданого стану / дії. Він масштабується постійною та метрикою для того, скільки разів було вибрано дану дію серед своїх побратимів під час MCTS, і додається до оціночного значення дії Q(s, a):

  • PUCT(s, a) = Q(s, a) + U(s, a).
  • U(с,а)=cpuctП(с,а)∑бN(с,б)1+N(с,а).

2
Гаразд, Dir (a) насправді означає Dir (a, a, ...). Для <1 це буде зосереджено біля стандартних базових векторів R ^ n (чим менше, тим щільніше). Отже, Діріхлет (а) допомагає (1) утримувати суму параметрів постійною, (2) концентруватися біля базових векторів, і (3) віддавати перевагу жодному з них.
— чернець

Відповіді:


6

Питання 1 тут прямо αє вектором повторень заданого значення. (Відповів Макс С.)

Питання 2 цікавіше: Розподіл Діріхле має таку інтерпретацію, що стосується цього контексту: Коли α є спостережуваним вектором підрахунку результатів, отриманим з деякого (невідомого) категоричного розподілу з вірогідністю результатів π, тоді Dir(α)(π) є ймовірність того, що Cat(π) - фактичний базовий розподіл, який ви спостерігали αяк рахується. (Це в основному визначення подвійного розподілу.)

Тепер P(s,a)оцінює ймовірність того, що хороший гравець буде грати aв s, тобто параметри його категоричного розподілу, AlphaZero хоче дізнатися. ТомуDir(α) буде вибіркою обґрунтованих оцінок для pi=P(s,a) якщо ми спостерігали гарних рухів гравця α-рази. Але якщо якісьαi=0, то все π∼Dir(α) мати πi=0, запобігаючи розвідці. Додаючи шум, вони припускають, що вони спостерігали кожен відтворений хід невелику кількість разівα (тут обрано 0,3, 0,15, 0,03).

Щодо того, як вони отримали константи, я гадаю, що вони припускають, що спостерігали ~ 10 випадкових ігор у кожній грі: У шахи, Dir(0.3)припускає, що ви бачили кожен відтворений хід 0,3 рази. Зважаючи на те, що згідно з Аллісом доступно ~ 35 ходів , автори припускають, що ви бачили ~ 10 випадкових рухів у кожному вузлі. Якщо ми припустимо, що в середньому ~ 270 легальних кроків (3/4 з 361 позицій дошки), ми бачимо еквівалент спостереження за ~ 8 випадковими рухами. (У мене немає даних для Shogi.)


3

На питання №1 відповідь "так", αє вектором, але в цьому випадку всі значення однакові. Згідно з Вікіпедією, це називається симетричним розподілом Діріхле і використовується, коли "немає попередніх знань, які б сприяли одному компоненту над іншим". У цьому випадку це означає, що ви не хочете додавати більше шуму будь-якому конкретному компоненту.

Для питання 2, зразки, отримані з розподілу Диріхле, мають властивість, що елементи дорівнюватимуть 1. Я припускаю, що вони використовують це для того, щоб після додавання шуму, а елементи все-таки були рівні 1.


Дякую. Окрім підсумовування до одного (що ми також можемо зробити шляхом масштабування деякого набору довільних розподілів), він надає перевагу стандартним базовим векторам. Це здається корисним.
— чернець
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.