Różnica między siecią polis AlphaGo a siecią wartości


25

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


Krótka uwaga: zmienną docelową dla sieci strategii jest rozkład prawdopodobieństwa. Z pracy: „Ta sieć neuronowa (sieć wartości) ma podobną architekturę do sieci polityk, ale generuje pojedyncze przewidywanie zamiast rozkładu prawdopodobieństwa”
Zimano

3
Jeśli ktoś natknie się na to stare pytanie, tak jak ja, z przyjemnością dowiesz się, że następca AlphaGo, „AlphaGo Zero”, a także jego następca „AlphaZero”, rzeczywiście pozbywają się nadmiarowości, szkoląc tylko JEDNĄ sieć, której wyniki pełnią funkcje zarówno sieci polis (daje rozkład prawdopodobieństwa dla możliwych ruchów), jak i sieci wartości (daje prawdopodobieństwo wygranej przy danej planszy). Post na blogu tutaj: deepmind.com/blog/alphago-zero-learning-scratch, a artykuł jest w nim umieszczony.
Kevin Wang

Odpowiedzi:


11

W skrócie, każda sieć ma inny cel, jak wspomniałeś:

  • Sieć wartości została użyta w węzłach liści w celu zmniejszenia głębokości wyszukiwania drzewa.
  • Sieć strategii została wykorzystana do zmniejszenia zakresu wyszukiwania z węzła (w kierunku obiecujących natychmiastowych działań).

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.


Właśnie wróciłem do tego pytania, gdy dowiedziałem się o krytyce aktorskiej oraz o tym, jak kompensuje koszty / korzyści między metodami opartymi wyłącznie na wartości a politykami. Myślę, że ta odpowiedź jest najbliższa wyjaśnieniu tego szczegółu, ale jest bardzo dobrze omówiona w wykładzie Davida Silvera: www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/pg.pdf (wykład 7, to jest również dostępny na YouTube - youtube.com/… ).
Neil Slater,

Podejścia oparte wyłącznie na MCTS okazały się jednak sukcesem, więc w szerszym kontekście nie powiedziałbym, że się nie udałoby.
Zimano,

1
Mam na myśli jedynie przypadek gry Go, a także osiągnięcie poziomu mistrzowskiego. W rzeczywistości David Silver (podobnie jak inni badacze) pracował nad rozwiązaniem gry Go za pomocą MCTS od czasu doktoratu. Ale nic nie mogło konkurować na najwyższych poziomach, aż do połączenia powyższych metod.
Constantinos

9

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.


Wyjaśnienie na dwa sposoby jest bardzo zwięzłe.
Tim

6

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ą.

  • Pierwszy ruch: wymuszona strata dla ciebie
  • Drugi ruch: wymuszone zwycięstwo dla ciebie

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:

  • -1000 dla dowolnej pozycji liścia, która jest dla ciebie stratą
  • +1000 za każdą pozycję liścia, która jest dla ciebie wygrana

Sieć polis

Załóżmy, że Google udostępnia dwie sieci zasad. Prawdopodobieństwa generowane dla naszej pozycji to:

  • Zasada 1: 0,9 dla ruchu 1 i 0,1 dla ruchu 2
  • Zasada 2: 0,2 dla ruchu 1 i 0,8 dla ruchu 2.

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:

  • Przesuń 1, jeśli liczba losowa wynosi <= 0,9
  • Przesuń 2, jeśli liczba losowa wynosi> 0,9

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:

wprowadź opis zdjęcia tutaj

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ż:

  • Nasze wcześniejsze prawdopodobieństwo drugiego ruchu wynosi 0,1, a nie zero
  • AlphaGo zachęca się do wypróbowania ruchów, które nie były zbyt często badane. W pracy odbywa się to za pomocą tego równania:

wprowadź opis zdjęcia tutaj

Zauważ, że Njest to liczba ruchów wyszukanych dla ruchu i jest to w mianowniku. Im bardziej prawdopodobne jest przeszukanie naszego pierwszego ruchu, tym mniejsza jest ta ufunkcja. Tak więc prawdopodobieństwo wyboru drugiego ruchu zwiększa się, ponieważ AlphaGo faktycznie wybiera ruch według tego równania:

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

To jest kluczowe równanie. Proszę uważnie na to spojrzeć:

  • Ma termin Pna wcześniejsze prawdopodobieństwo (podany przez sieć polis)
  • Ma termin Qoceny 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):

Po zakończeniu wyszukiwania algorytm wybiera najczęściej odwiedzany ruch z pozycji głównej.

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 Bayesiananalizy. 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

  • Sieć polityk służy do generowania wcześniejszych prawdopodobieństw, które określają, jaki ruch powinien wybrać wyszukiwanie Monte-Carlo
  • Sieć wartości służy do generowania danych w celu sprawdzenia poprawności sieci polityk. Jeśli sieć zasad jest zła, AlphaGo potrzebuje więcej zasobów obliczeniowych do konwergencji (jeśli w ogóle).
  • Możesz myśleć o tym jak o analizie bayesowskiej

Myślę, że daje to głębszy wgląd w mechanizmy wewnętrzne. Nadal nie jestem pewien, czy to wyjaśnia, dlaczego te dwie sieci. Mam problem: „zakładam, że sieć ewaluacyjna ... jest idealna”. W takim przypadku sieć polityk jest zbędna. Wystarczy spojrzeć na jeden ruch do przodu (dla wszystkich możliwych ruchów) i wybrać ten z najlepszą oceną sieci. Oczywiście sieć wartości nie jest idealna i podejrzewam, że staje się bardziej dokładna wraz z postępem w grze. . . ale nie wiem, jak to jest prawdziwe / użyteczne ani czy uzupełnia tę odpowiedź.
Neil Slater,

@NeilSlater Ok. Sieci nie są idealne, ale powody, które tu mam, są nadal dobre, po prostu potrzebujemy więcej symulacji MC.
SmallChess

@StudentT Ładne wyjaśnienie niektórych kluczowych równań. Zrobiłbym jedną małą zmianę: Nie ma sensu mówić „musisz zobaczyć dziesięć ruchów do przodu”, aby zrozumieć pozycję w wyszukiwaniu drzew w Monte Carlo. MCTS to wyszukiwanie liczbowe z potwierdzeniem liczby pierwszych głębokości i tak naprawdę nigdy nie osiągamy ustalonych głębokości, jak w przypadku iteracyjnego pogłębiania w szachach. Nawet z siecią wartości pozwala nam ocenę węzłów przed końcem gry, nie jesteśmy jeszcze w osiągnięciu tych szerokości pierwszy sposób i nie ma min-max ocenę węzłów, itd.
Imran

@Imran Edytuj mój post.
SmallChess,

3

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

wprowadź opis zdjęcia tutaj


0

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ę.


2
Nie mylisz się, AFAIK, ale nie sądzę, że to odpowiada na pytanie. Wydaje się, że OP zdaje sobie sprawę z różnicy między modelem opartym na wartości lub opartym na polityce w RL. Te dwa podejścia rzeczywiście mają różne wyniki. Jednak częściej występuje jeden lub drugi, a nie oba, a dwa modele są zwykle zbędne w tym, że „Value_maxarg (S ') == Policy_maxarg (S, A)”, gdzie S jest stanem bieżącym, A jest działaniem weź, a S 'jest stanem wynikowym. Oznacza to, że dwie sieci w bardziej typowej konfiguracji RL po prostu dałyby ten sam wynik, mimo że wyjścia są różne.
Neil Slater
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.