Dlaczego połączona sieć neuronowa AlphaGo Zero jest bardziej wydajna niż dwie oddzielne sieci neuronowe?


10

AlphaGo Zero zawiera kilka ulepszeń w porównaniu do swoich poprzedników. Szczegóły architektoniczne Alpha Go Zero można zobaczyć w tym ściągu .

Jednym z tych ulepszeń jest użycie jednej sieci neuronowej, która jednocześnie oblicza prawdopodobieństwo przesunięcia i wartość stanu, podczas gdy starsze wersje korzystały z dwóch oddzielnych sieci neuronowych. Wykazano, że scalona sieć neuronowa jest bardziej wydajna według pracy:

Wykorzystuje jedną sieć neuronową zamiast dwóch. Wcześniejsze wersje AlphaGo korzystały z „sieci polityk”, aby wybrać następny ruch do gry, oraz „sieci wartości”, aby przewidzieć zwycięzcę gry z każdej pozycji. Są one łączone w AlphaGo Zero, co pozwala na bardziej efektywne szkolenie i ocenę.

Wydaje mi się to sprzeczne z intuicją, ponieważ z punktu widzenia projektowania oprogramowania narusza to zasadnicze rozdzielenie obaw . Właśnie dlatego zastanawiam się, dlaczego połączenie okazało się korzystne.

Czy tę technikę - łącząc różne zadania w jedną sieć neuronową w celu poprawy wydajności - można zastosować ogólnie do innych sieci neuronowych, czy też wymaga to pewnych warunków do działania?

Odpowiedzi:


6

Dlaczego ta fuzja okazała się korzystna?

Jeśli myślisz, że wspólna sieć Value / Policy składa się ze współdzielonego komponentu (warstwy sieci rezydualnej) z komponentem Value and Policy na górze, a nie z oddzieleniem obaw, to ma to większy sens.

Podstawową przesłanką jest to, że wspólna część sieci (ResNet) zapewnia generalizację wysokiego poziomu danych wejściowych (stany gry prowadzące do przejścia), która jest dobrą reprezentacją danych wejściowych zarówno dla płytkich sieci Value, jak i sieci Policy.

W takim przypadku możemy znacznie zmniejszyć obciążenie obliczeniowe, ucząc jednego współdzielonego ResNet i używając go do dwóch znacznie prostszych sieci niż ucząc dwóch ResNets pod kątem wartości i zasad. W ich przypadku wspólne szkolenie tych dwóch poprawia również regularyzację, a tym samym tworzy solidniejszą, ogólniejszą reprezentację.

W szczególności papier Alpha Go Zero Silver i in. , Opanowanie gra Go bez ludzkiej wiedzy , stwierdza się, że:

Połączenie zasad i wartości w jedną sieć nieznacznie zmniejszyło dokładność przewidywania ruchu, ale zmniejszyło błąd wartości i zwiększyło wydajność gry w AlphaGo o około 600 kolejnych Elo. Wynika to częściowo z poprawy wydajności obliczeniowej, ale co ważniejsze, podwójny cel reguluje sieć do wspólnej reprezentacji, która obsługuje wiele przypadków użycia.

Czy tę technikę można zastosować ogólnie, czy tylko w szczególnych przypadkach?

Podobnie jak typowe komponenty w bibliotekach oprogramowania, ma sens tylko wtedy, gdy problemy, które próbujesz rozwiązać, korzystają ze wspólnej reprezentacji.

Możesz go użyć, jeśli trenujesz klasyfikatorów do podobnych zadań lub trenujesz nowe zadanie z niewielką ilością danych, w którym masz już przeszkolony klasyfikator na większym, podobnym zestawie danych.

Poza Go jest często używany do rozpoznawania obrazów. Głęboko wstępnie przeszkolone sieci, takie jak te z zawodów ImageNet ILSVRC , są powszechnie stosowane jako punkt wyjścia. Są klasyfikatorami, którzy zostali przeszkoleni (od tygodni!) Na ponad milionie zdjęć.

Następnie powiedz, że chcesz utworzyć sieć, aby rozpoznać swoją ulubioną markę rowerów, zacznij od ogólnego potoku rozpoznawania obrazów przeszkolonego w ImageNet, odetnij ostatnie warstwy, które dokonały faktycznej klasyfikacji („to Border Collie”) i dodaj mały nowy klasyfikator do wybierania tylko rowerów, na których Ci zależy.

Ponieważ wstępnie wyszkolony klasyfikator zapewnia już koncepcje obrazów wysokiego poziomu, które są dobrymi elementami składowymi do rozpoznawania obrazów (klasyfikuje 200 kategorii), pozwala to zaoszczędzić wiele treningu i czyni z niego bardzo solidny klasyfikator.

Oczywiście istnieje wiele przypadków, w których problemy nie mają użytecznych wspólnych reprezentacji, a zatem nie korzystają z połączonej sieci. Niemniej jednak jest to przydatne narzędzie w odpowiednich sytuacjach.

Wyszukaj Transfer Learning lub Multi-Task Learning, aby dowiedzieć się więcej na ten temat.


Jeśli ktoś chce zastosować zasady inżynierii oprogramowania do analizy architektury tej sieci neuronowej, chciałbym również zwrócić uwagę, że sieć bloków szczątkowych, na której spoczywają wartości i szefowie polityk, szanuje zasadę DRY. Zależnie od tego samego komponentu (sieć bloków rezydualnych) do wstępnego przetwarzania danych przed przekazaniem tych danych do innych komponentów w potoku (wartości i szefów strategii), gwarantują one, że każdy przetworzy tę samą reprezentację oryginalnego wejścia. Powielenie tego przetwarzania za pomocą dwóch oddzielnych sieci prawie gwarantuje rozbieżność w czasie.
sadakatsu
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.