Dlaczego sieci neuronowe po raz pierwszy powalają najlepszych graczy Human Go?

Komputery szybko zaczynają przewyższać ludzi w mniej więcej w każdym obszarze działania. Na przykład eksperci ds. widzenia maszynowego ujawnili niedawno algorytm, który przewyższa ludzi w rozpoznawaniu twarzy. Podobne algorytmy zaczynają dorównywać ludziom również w rozpoznawaniu obiektów. A ludzcy szachiści dawno temu zrezygnowali z walki o komputery.





Ale jest jeden obszar, w którym ludzie wciąż triumfują. To jest granie w starożytną chińską grę Go. Komputery nigdy nie opanowały tej gry. Najlepsze algorytmy osiągają poziom umiejętności bardzo silnego gracza amatora, którego najlepsi gracze z łatwością przewyższają.

Wygląda na to, że to się zmieni dzięki pracy Christophera Clarka i Amosa Storkeya na Uniwersytecie Edynburskim w Szkocji. Ci goście zastosowali te same techniki uczenia maszynowego, które przekształciły algorytmy rozpoznawania twarzy w problem znalezienia następnego ruchu w grze Go. A wyniki nie pozostawiają nadziei, że ludzie będą nadal dominować w tej grze.

Krótko mówiąc, Go to gra dla dwóch graczy, zwykle rozgrywana na siatce 19 x 19. Gracze naprzemiennie umieszczają na planszy czarne i białe kamienie, próbując po zakończeniu gry zająć większą część planszy niż ich przeciwnik. Gracze mogą usuwać kamienie przeciwnika, otaczając go własnymi.



Eksperci uważają, że są dwa powody, dla których komputery nie opanowały Go. Pierwszym z nich jest sama liczba ruchów, które są możliwe na każdym etapie gry. Gracze Go mają 19 x 19 = 361 możliwych ruchów początkowych i zazwyczaj są setki możliwych ruchów w dowolnym momencie gry. Natomiast liczba ruchów w szachach wynosi zwykle około 50.

Drugim problemem jest to, że komputery mają trudności z oceną mocnych i słabych stron pozycji na tablicy. W szachach proste zsumowanie wartości każdego pionka pozostawionego na szachownicy daje rozsądny wskaźnik siły pozycji gracza. Ale to nie działa w Go. Liczenie kamieni każdego gracza jest słabym wskaźnikiem tego, kto wygrywa, mówią Clark i Storkey.

Sposób, w jaki najnowocześniejsze algorytmy Go rozwiązują ten problem, polega na rozegraniu całej gry po każdym ruchu i zrobieniu tego na wiele różnych sposobów. Jeśli komputer wygrywa w większości tych gier, ten ruch jest uważany za dobry.



Oczywiście jest to czasochłonne i intensywne obliczeniowo zadanie. Mimo to, ogólnie rzecz biorąc, nie jest w stanie pokonać ludzkich ekspertów Go, którzy zwykle mogą ocenić stan tablicy Go tylko jednym spojrzeniem.

Wielu ekspertów uważa, że ​​sekretem ludzkiego mistrzostwa w grze w Go jest rozpoznawanie wzorców — umiejętność dostrzegania mocnych i słabych stron w oparciu o kształt, jaki tworzą kamienie, a nie patrząc kilka ruchów do przodu.

Dlatego ostatnie postępy w algorytmach rozpoznawania wzorców mogą pomóc komputerom działać znacznie lepiej. Te postępy wykorzystały ogromne bazy danych obrazów do trenowania głębokich, splotowych sieci neuronowych w celu rozpoznawania obiektów i twarzy z dokładnością, która teraz odpowiada ludzkim możliwościom. Można więc sobie wyobrazić, że ten sam rodzaj podejścia może mieć duży wpływ na automatyczną ocenę tablic Go.



I to jest dokładnie to, co zrobili Clark i Storkey. Pytanie, na które ci goście wyszkolili głęboką, splotową sieć neuronową, aby odpowiedzieć, brzmi: biorąc pod uwagę migawkę gry pomiędzy dwoma ekspertami Go, czy możliwe jest przewidzenie następnego ruchu w grze?

Sposób, w jaki podeszli do tego, polega na wykorzystaniu ogromnej bazy danych gier Go do trenowania sieci neuronowej w celu znalezienia następnego ruchu. Clark i Storkey wykorzystali ponad 160 000 gier między ekspertami, aby wygenerować bazę danych zawierającą 16,5 miliona pozycji wraz z kolejnym ruchem. Wykorzystali prawie 15 milionów tych par pozycja-ruch, aby wytrenować ośmiowarstwową splotową sieć neuronową, aby rozpoznać, jaki ruch wykonali później ci eksperci. Był to proces, który trwał kilka dni.

Następnie wykorzystali resztę zestawu danych do przetestowania sieci neuronowej. Innymi słowy, przedstawili sieci pozycję na planszy z gry i poprosili ją o wybranie kolejnego ruchu. Clark i Storkey twierdzą, że wyszkolona sieć była w stanie przewidzieć następny ruch do 44 procent czasu, znacznie przewyższając dotychczasowy stan wiedzy w tym zadaniu.



Jest to interesujące nie tylko dlatego, że nowe podejście nie wykorzystuje żadnego z poprzednich ruchów do podjęcia decyzji; nie ocenia też przyszłych pozycji.

Po wytrenowaniu sieci neuronowej Clark i Storkey rozegrali ją z dwoma najlepszymi algorytmami Go. Pierwsza nazywa się GNU Go, gra na poziomie odpowiadającym średnio zaawansowanemu amatorowi z rankingiem 6-8 kyu. (Rankingi Go wahają się od początkującego z rangą 30-20 kyu do profesjonalnego eksperta z rangą 1 kyu).

Drugim był najnowocześniejszy program o nazwie Fuego 1.1, który ma ranking około 5-4 kyu. Człowiek-gracz zwykle potrzebowałby wielu lat nauki, aby osiągnąć ten poziom.

Wyniki wyraźnie sugerują, że pisanie jest na ścianie dla ludzkich graczy Go. Sieć neuronowa Clarka i Storkeya pokonała GNU Go prawie w 90% przypadków w serii 200 gier. Innymi słowy, po kilkudniowym treningu sieć neuronowa była w stanie konsekwentnie pokonywać GNU Go.

Z Fuego 1.1 wypadł gorzej, wygrywając tylko nieco ponad 10 procent swoich gier. Niemniej jest to znaczące osiągnięcie. Możliwość wygrania nawet kilku gier przeciwko temu przeciwnikowi wskazuje na wysoki poziom umiejętności, mówią Clark i Starkey.

To bardzo obiecujące. Mimo że sieci grają zgodnie z zasadą „zerowego patrzenia w przyszłość” i wykorzystują ułamek czasu obliczeniowego jako ich przeciwnicy, nadal są w stanie grać lepiej niż GNU Go i zabrać Fuego kilka gier.

I istnieje wyraźny potencjał do poprawy, na przykład poprzez połączenie tego podejścia z innymi, które wykorzystują poprzednie ruchy i patrzą w przyszłość. Jednym z pomysłów, który sugerują Clark i Starkey, jest uruchomienie splotowej sieci neuronowej równolegle z konwencjonalnym podejściem, aby pomóc przyciąć drzewo możliwych ruchów, które należy zbadać.

Clark i Storkey nie sugerują, że takie podejście pokona najlepszych graczy Go na świecie. Ale z pewnością to tylko kwestia czasu, zanim nawet gracze Go będą musieli kłaniać się swoim skomputeryzowanym władcom.

Nr ref.: arxiv.org/abs/1412.3409 : Nauczanie głębokich splotowych sieci neuronowych, jak grać w Go

ukryć