Cel hałasu Dirichleta w pracy AlphaZero


10

W dokumentach AlphaGo Zero i AlphaZero DeepMind opisują dodawanie szumu Dirichleta do wcześniejszych prawdopodobieństw działań z węzła głównego (stanu płyty) w wyszukiwaniu drzewa Monte Carlo:

Dodatkową eksplorację osiąga się, dodając szum Dirichleta do wcześniejszych prawdopodobieństw w węźle głównym s0, konkretnie P(s,a)=(1ε)pa+εηa, gdzie ηDir(0.03) i ε=0.25; hałas ten gwarantuje, że wszystkie ruchy mogą zostać wypróbowane, ale wyszukiwanie może nadal unieważniać złe ruchy.

(AlphaGo Zero)

I:

Hałas Dirichleta Dir(α)dodano do wcześniejszych prawdopodobieństw w węźle głównym; skalowano to odwrotnie proporcjonalnie do przybliżonej liczby legalnych ruchów na typowej pozycji, do wartościα={0.3,0.15,0.03} odpowiednio dla szachów, shogi i Go.

(AlphaZero)

Dwie rzeczy, których nie rozumiem:

  1. P(s, a) jest n-wymiarowy wektor. JestDir(α) skrót do rozkładu Dirichleta z n parametry, każdy z wartością α?

  2. Dirichleta spotkałem tylko jako koniugat przed rozkładem wielomianowym. Dlaczego został tu wybrany?

Dla kontekstu P(s, a)jest tylko jednym z elementów obliczeń PUCT (wielomianowe drzewo górnej ufności, wariant górnych granic ufności) dla danego stanu / akcji. Jest skalowany przez stałą i miarę określającą, ile razy dana akcja została wybrana spośród rodzeństwa podczas MCTS i dodana do szacowanej wartości akcji Q(s, a):

  • PUCT(s, a) = Q(s, a) + U(s, a).
  • U(s,a)=cpuctP(s,a)bN(s,b)1+N(s,a).

2
Okej więc Dir (a) rzeczywiście oznacza Dir (a, a, ...). Dla <1, zostanie ono skoncentrowane w pobliżu standardowych wektorów podstawowych R ^ n (im mniejsze, tym ściślej). Tak więc Dirichlet (a) pomaga (1) utrzymać sumę parametrów na stałym poziomie, (2) koncentruje się w pobliżu wektorów podstawowych i (3) nie preferuje żadnego z nich.
mnich

Odpowiedzi:


6

Pytanie 1 jest tutaj proste αjest wektorem powtórzeń podanej wartości. (Odpowiedzi udzielił Max S.)

Pytanie 2 jest bardziej interesujące: Rozkład Dirichleta ma następującą interpretację istotną w tym kontekście: Kiedy α jest obserwowanym wektorem liczb wyników uzyskanych z pewnego (nieznanego) rozkładu kategorycznego z prawdopodobieństwami wyniku π, następnie Dir(α)(π) jest prawdopodobieństwo, że Cat(π) to rzeczywisty rozkład podstawowy podany, który zaobserwowałeś αjak się liczy. (Jest to w zasadzie definicja podwójnego rozkładu).

Obecnie P(s,a)szacuje prawdopodobieństwo, że dobry gracz będzie grać aw s, czyli parametry jego kategorycznego podziału, który AlphaZero chce się uczyć. WięcDir(α) próbowałby rozsądnych szacunków dla pi=P(s,a) jeśli zaobserwujemy dobre ruchy gracza α-czasy. Ale jeśli trochęαi=0, to wszystko πDir(α) mieć πi=0, zapobiegając eksploracji. Dodając hałas, zakładają, że zaobserwowali każdy ruch odtwarzany kilka razyα (tutaj wybrane 0,3, 0,15, 0,03).

Jeśli chodzi o to, w jaki sposób uzyskali stałe, przypuszczam, że zakładają, że zaobserwowali ~ 10 losowych gier w każdej grze: w szachach, Dir(0.3)zakłada, że ​​widziałeś każdy ruch wykonany 0,3 razy. Biorąc pod uwagę, że według Allis dostępnych jest ~ 35 ruchów , autorzy zakładają, że widziałeś ~ 10 losowych ruchów w każdym węźle. W Go, jeśli przyjmiemy średnio ~ 270 legalnych ruchów (3/4 z 361 pozycji na planszy), widzimy odpowiednik zaobserwowania ~ 8 losowych ruchów. (Nie mam danych dla Shogi.)


3

Na pytanie nr 1 odpowiedź brzmi „tak”, αjest wektorem, ale w tym przypadku wszystkie wartości są takie same. Według wikipedii jest to nazywane symetrycznym rozkładem Dirichleta i jest używane, gdy „nie ma wcześniejszej wiedzy faworyzującej jeden składnik nad drugim”. W takim przypadku oznacza to, że nie chcesz dodawać więcej szumu do żadnego konkretnego komponentu.

W przypadku pytania 2 próbki pobrane z rozkładu Dirichleta mają właściwość, że elementy sumują się do 1. Zakładam, że używają tego, aby zapewnić, że po dodaniu szumu i elementy będą sumować się do 1.


Dzięki. Oprócz sumowania do jednego (co możemy również zrobić przez skalowanie pewnego zestawu dowolnych rozkładów), preferuje standardowe wektory podstawowe. To wydaje się przydatne.
mnich
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.