Czytałem podsumowanie wysokiego poziomu na temat Google AlphaGo ( http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html ) i spotkałem się z terminem „zasady sieć ”i„ sieć wartości ”. Rozumiem na wysokim poziomie, że sieć strategii służy do sugerowania ruchów, a sieć wartości jest używana do: „Zmniejsz głębokość drzewa wyszukiwania [i oszacuj] zwycięzcę na każdej pozycji zamiast przeszukiwania aż do koniec gry."
Te dwie sieci wydają mi się zbędne. Co robi sieć polityk, jeśli nie używa sieci wartości do przycinania swoich polityk? Wydaje się całkiem jasne, że sieć wartości jest głęboko uczącą się siecią neuronową; czy sieć polityk jest tylko teoretyczną abstrakcją, a nie rzeczywistą siecią neuronową? Zmienną docelową dla sieci wartości wydaje się być wygrana / strata. Czy istnieje zmienna docelowa dla sieci strategii; jeśli tak, co to jest? Jaka sieć polis próbuje zoptymalizować?
Pełny pdf artykułu Google opublikowanego w Nature można znaleźć tutaj: https://vk.com/doc-44016343_437229031?dl=56ce06e325d42fbc72
źródło
Odpowiedzi:
W skrócie, każda sieć ma inny cel, jak wspomniałeś:
Ogólnie rzecz biorąc, można użyć metod funkcji wartości, aby znaleźć optymalną zasadę lub bezpośrednio wyszukać w przestrzeni zasad, aby zoptymalizować sparametryzowaną funkcję zasad (oczywiście są plusy i minusy). W każdym przypadku można użyć aproksymatorów funkcji (np. Sieci głębokich). Widzę, że głównie jesteś zdezorientowany co do sieci polis, więc skupiam się na tym.
Sieć polis była pierwsza:
przeszkolony do wykonywania ruchów, które najprawdopodobniej wykonałby człowiek w danym stanie planszy (więc wejściem jest stan planszy, a wyjściem jest histogram pokazujący prawdopodobieństwo każdej akcji w danym stanie). Sieć może aproksymować funkcję prawdopodobieństwa leżącą u podstaw mapowania ze stanów na działania. W końcu warto zacząć budować swoją polisę na podstawie dostępnych danych. Po nadzorowanym szkoleniu z wykorzystaniem ruchów ekspertów sieć strategiczna może zagrać w grę wystarczającą (choć daleko od poziomu Mistrza). Po prostu próbowałeś uchwycić ogólny wzorzec doboru akcji profesjonalnych graczy.
Następnie,
był trenowany w grach z samym przeciwnikiem, w celu zoptymalizowania poprzednio wyuczonej polityki. Tym razem jego wagi zostały zaktualizowane przy użyciu algorytmu REINFORCE. W ten sposób aktualizujesz parametry netto w kierunku maksymalizacji oczekiwanej nagrody. W końcu masz sieć, która nie tylko wybiera działania jak profesjonalny gracz, ale także wygrywa grę (jednak nie można tego zaplanować!).
Po tym kroku aproksymowali funkcję wartości nieco bardziej hałaśliwej wersji wyuczonej polityki poprzez regresję (wejście to tablica stanu i celowanie w wynik gry). Możesz użyć tej sieci, aby wpłynąć na ocenę węzła liścia.
Mówiąc koncepcyjnie, siatka polis daje prawdopodobieństwo na akcje, ale nie oznacza to, że skończysz w dobrym stanie do wygrania gry. AlphaGo miało pewne „martwe punkty” i podczas turnieju wykonało kilka naprawdę złych ruchów, ale także jeden wyjątkowy ruch, o którym człowiek nigdy nie pomyślał.
Wreszcie możesz użyć algorytmu planowania (MCTS) w połączeniu z tymi sieciami. Dlaczego podjęliśmy te wszystkie kroki? W skrócie, prosty MCTS bez „intuicji” zawiódłby.
źródło
Oto mój zwięzły proces myślenia o zrozumieniu dwóch różnych sieci.
Po pierwsze, celem jest znalezienie optymalnego rozwiązania (lub bardzo optymalnego) bez korzystania z wyczerpującego wyszukiwania, co jest zdecydowanie wyzwaniem.
Dla pozycji lub stanu możliwe będzie N ruchów, a przy każdym ruchu będzie głębokość D w pełnym drzewie wyszukiwania. Teoretycznie lub matematycznie możliwe jest przejście przez wszystkie ścieżki i znalezienie optymalnego rozwiązania (rozwiązań). Nie chcemy jednak przeprowadzać pełnego wyszukiwania.
Teraz mamy dwa osobne pytania dotyczące opracowania podejścia przybliżającego.
Pytanie 1 Jak możemy pominąć lub zignorować niektóre ruchy poza N na pozycję? (tj. redukcja oddechu)
Q2 Jak możemy zatrzymać się na pośredniej głębokości w drzewie wyszukiwania zamiast iść do końca gry, nie znajdując optymalnego rozwiązania? (tj. zmniejszenie głębokości)
Sieć polis została zaprojektowana głównie w celu odfiltrowywania bezużytecznych ruchów poza N, ale bez niepowodzenia znalezienia optymalnego rozwiązania. Tutaj ta sieć początkowo opiera się na ludzkich ruchach eksperckich, tj. SL, a później ulepszona przez RL.
Sieć wartości została zaprojektowana głównie w celu znalezienia prawdopodobieństwa wygranej bez pełnego wyszukiwania.
Te dwie sieci mają wspólny cel znalezienia optymalnego rozwiązania, jednak w każdym strategicznym wyborze ruchu każda sieć odgrywa inną rolę.
Mam tylko nadzieję, że to pomoże. Wiem, że nadal będzie na wysokim poziomie.
źródło
Myślę, że OP mylił się co do AlphaGo z alfa-beta. W wersji alfa beta naprawdę użyłbyś sieci zasad do pomocy w przycinaniu, ale nie tutaj. Ponownie nie ma przycinania, ponieważ algorytm opiera się na wyszukiwaniu drzewa Monte-Carlo (MCTS).
Każdy, kto uważa, że moja odpowiedź jest zbyt długa, może przejść do sekcji podsumowania, w której wyjaśniam, dlaczego obie sieci nie są redundantne.
W poniższym przykładzie dokonam uproszczenia, aby moje pomysły były łatwiejsze do zrozumienia.
Przykład:
Wyobraź sobie, że masz pozycję, w której są dwa legalne ruchy. Pierwszy ruch jest dla ciebie zagubiony, jednak drugi ruch daje przewagę wygraną.
Sieć oceny
Załóżmy, że sieć oceny oferowana przez Google jest idealna. Może doskonale ocenić dowolną pozycję liścia w naszym przykładzie. W tym przykładzie nie zmienimy naszej sieci wartości.
Aby uprościć nasz przykład, załóżmy, że nasza sieć wartości daje:
Sieć polis
Załóżmy, że Google udostępnia dwie sieci zasad. Prawdopodobieństwa generowane dla naszej pozycji to:
Pamiętaj, że nasza pierwsza sieć polis podaje niepoprawne wcześniejsze prawdopodobieństwo dla naszego przykładu. Daje 0,9 za ruch 1, który jest ruchem przegrywającym. To dobrze, ponieważ nawet Google nie jest w stanie wyszkolić idealnej sieci zasad.
Gra z pierwszą siecią polis
AlphaGo musi wygenerować symulację za pomocą Monte-Carlo i musi wybrać ruch 1 lub 2. Teraz AlphaGo rysuje losowo rozmieszczoną zmienną o jednolitym rozkładzie i wybiera:
Więc AlphaGo jest znacznie bardziej prawdopodobne, aby wybrać przegrany ruch do symulacji (w naszej pierwszej symulacji). W naszej pierwszej symulacji użyjemy sieci wartości, aby uzyskać wynik dla symulacji. W artykule jest to:
Wartość ta wynosiłaby -1000, ponieważ ta symulacja prowadziłaby do straty.
Teraz AlphaGo musi wygenerować drugą symulację. Ponownie, pierwszy ruch byłby o wiele bardziej prawdopodobny do wybrania. Ale ostatecznie drugi ruch zostanie wybrany, ponieważ:
Zauważ, że
N
jest to liczba ruchów wyszukanych dla ruchu i jest to w mianowniku. Im bardziej prawdopodobne jest przeszukanie naszego pierwszego ruchu, tym mniejsza jest tau
funkcja. Tak więc prawdopodobieństwo wyboru drugiego ruchu zwiększa się, ponieważ AlphaGo faktycznie wybiera ruch według tego równania:To jest kluczowe równanie. Proszę uważnie na to spojrzeć:
P
na wcześniejsze prawdopodobieństwo (podany przez sieć polis)Q
oceny wyników (podany przez sieć wartości)Teraz wiemy, że nasz drugi ruch zostanie ostatecznie wybrany. Kiedy tak się dzieje, sieć wartości daje +1000. To wzrośnie
Q
, co sprawia, że drugi ruch jest o wiele bardziej prawdopodobny w późniejszych symulacjach.Biorąc pod uwagę wystarczającą liczbę symulacji, liczba wyborów drugiego ruchu do symulacji powinna być większa niż liczba wyborów pierwszego ruchu.
Wreszcie ruch, który AlphaGo postanawia wykonać, jest (cytowany z artykułu):
Gra z drugą siecią polis
Nasza druga sieć polis będzie potrzebować mniej iteracji, aby wybrać ruch 2, ponieważ jej wcześniejsze prawdopodobieństwo podane przez sieć polis jest poprawne.
Uwagi
Wszystko tutaj jest bardzo podobne do
Bayesian
analizy. Zaczynamy z pewnym wcześniejszym prawdopodobieństwem (podanym przez sieć polis), a następnie generujemy dane w celu przesunięcia rozkładu prawdopodobieństwa (podanego przez sieć wartości).Streszczenia
źródło
Sieć zasad : Sieć, która uczy się dawać określony efekt, dając konkretny wkład w grę, jest znana jako Sieć zasad.
Sieci wartości : Sieć wartości przypisuje wartość / wynik do stanu gry poprzez obliczenie oczekiwanego skumulowanego wyniku dla bieżącego stanu
s
. Każdy stan przechodzi przez sieć wartości. Stany, które otrzymują więcej nagród, oczywiście zyskują większą wartość w sieci.Lepsze zrozumienie dzięki animacjom Przejdź tutaj: Sieci polityk a sieci wartości w uczeniu się przez zbrojenie
źródło
Z tego, co rozumiem, różnica polega na wynikach. Tam, gdzie sieć polityk generuje rozkład prawdopodobieństwa dla możliwych ruchów, sieć wartości zwraca wartość rzeczywistą, którą można interpretować jako prawdopodobieństwo wygranej przy tej konfiguracji płytki. Stamtąd wykonuje się wyszukiwanie drzewa Monte-Carlo, wykonując ruchy z górnego K od, a następnie ponownie zawężając drzewo wyszukiwania, biorąc wyniki sieciowe o najwyższej wartości K.
Czuję się zobowiązany do poprawienia mnie, jeśli się mylę.
źródło