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 , konkretnie , gdzie i ; 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 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 odpowiednio dla szachów, shogi i Go.
(AlphaZero)
Dwie rzeczy, których nie rozumiem:
P(s, a)
jest -wymiarowy wektor. Jest skrót do rozkładu Dirichleta z parametry, każdy z wartością ?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)
.- .
Odpowiedzi:
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 D i r ( α ) ( π) jest prawdopodobieństwo, że doa t ( π) to rzeczywisty rozkład podstawowy podany, który zaobserwowałeś α jak się liczy. (Jest to w zasadzie definicja podwójnego rozkładu).
ObecnieD i r ( α ) próbowałby rozsądnych szacunków dla p i = α -czasy. Ale jeśli trochęαja= 0 , to wszystko π∼ D i r ( α ) mieć πja= 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).
P(s,a)
szacuje prawdopodobieństwo, że dobry gracz będzie graća
ws
, czyli parametry jego kategorycznego podziału, który AlphaZero chce się uczyć. WięcP(s,a)
jeśli zaobserwujemy dobre ruchy graczaJeś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,D i r ( 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.)
źródło
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.
źródło