czwartek, 25 czerwca 2020

AlphaGo - The Movie

Cztery lata temu miało miejsce doniosłe wydarzenie. Program komputerowy pokonał osiemnastokrotnego mistrza świata w Go, koreańczyka Lee Sedola. Z okazji czterolecia na kanale Deep Mind ukazał się półtoragodzinny dokument o AlphaGo. To nie będzie recenzja, raczej kilka przemyśleń i największe ciekawostki dla mnie jakie wyciągnąłem z seansu.

Zacznijmy może od wyjaśnienia dlaczego jest przepaść między szachami i go, za którą idzie analogiczna przepaść między Deep Blue (program który w 1997 pokonał Garriego Kasparowa) a Alpha Go. Szachownica liczy 64 pola. Figury mogą wykonywać precyzyjnie określone ruchy. Liczba możliwych ruchów i rozgrywek jest ogromna, ale z odpowiednio mocnym komputerem można “brutalnie”, metodycznie sprawdzać najlepsze rozwiązania. Plansza do Go liczy 361 pozycji a kamienie można układać w dowolnych miejscach. Rozwiązanie “siłowe” po prostu tu nie zadziała.

Dlatego w przypadku Go potrzebny był program, który ma/zasymuluje intuicję, kreatywne myślenie, rozmaite strategie. AlphaGo zdecydowanie jest takim programem. Niestety jego działanie opiera się na sieciach neuronowych i uczeniu maszynowym. Piszę “niestety” bo kiedy to usłyszałem, od razu pomyślałem, że nawet jeśli AlphaGo symuluje te niezwykłe cechy, to nie zrozumiemy ich z jego pomocą. Sieci neuronowe są nie jako czarnym pudełkiem, nie mamy wglądu w reguły ich działania. Dobrze się czasem mylić, bo jak ukazuje dokument twórcy AlphaGo mają wgląd w proces decyzyjny. Może nie jest to klucz do zrozumienia jak działa mózg gracza Go, ale zdecydowanie sprawiło, że śledzenie pięciu pojedynków między komputerem a Lee Sedolem było fascynujące nawet dla kogoś nie ogarniającego tej gry.

Program wygrał pierwsze trzy rozgrywki, przegrał czwartą i zakończył piątą zwycięstwem. Ciężko mi określić na ile film dramatyzuje mecze, ale z wyjątkiem trzeciej partii, gdzie koreańczyk najwyraźniej nie wytrzymał presji, każda oferuje coś ciekawego, szczególnie druga i czwarta. Pierwsza i ostatnia pokazały, że maszyna planuje na długą metę, że jej pozorne błędy były częścią planu i że potrafi bezwzględnie kalkulować. AlphaGo wie, że starczy przewaga jednego punkta by wygrać mecz.

Druga partia była szczególnie interesująca, bo udowodniła, że program jest kreatywny. Komentatorzy zachwycali się trzydziestym siódmym ruchem w grze, nazywali go unikalnym i kreatywnym. Ciekawe jest to, że choć sieć neuronowa uczyła się na podstawie gier zwykłych graczy i mistrzów, ruch ten AlphaGo wykonała mimo, że sama szacowała szanse na wykonanie takiej zagrywki przez ludzkiego gracza na 1 na 10 000. Innymi słowy uczeń przerósł mistrza.

Czwarty mecz jest jedynym, który wygrał człowiek. Tu również wygląda na to, że o wyniku zadecydował jeden genialny ruch, który przechylił szalę na korzyść Lee Sedola. Koreańczyk stwierdził, że to był jedyny ruch jaki widział w tamtym momencie. Po nim maszyna popełniła szereg ruchów źle ocenianych przez speców. Dlaczego ta partia była interesująca? Wygląda na to, że “boski ruch” nie świadczy o błędzie maszyny, która do niego dopuściła. AlphaGo raczej nie docenił przeciwnika, bo ruch ten był w przewidywanej puli, ale szansa na to, że ludzki przeciwnik go wykona została oceniona na 0,007%. Brzmi to zatem nie jak błąd tylko racjonalne działanie w obliczu znikomej szansy na konkretne zdarzenie.

Interesujące jest jednak również to, że program później wykonał szereg ruchów wyglądających na błędne. Tego jednak nie skomentowano szerzej w dokumencie. Jak wspomniałem, nie wiem ile w tym wszystkim dramatyzacji, być może zła ocena szans na boski ruch świadczy o słabości AlphaGo.

Nie mam jednak wątpliwości, że cztery lata temu stało się coś wyjątkowego. Dla mnie to kolejny dowód na to, że w ludzkim mózgu nie ma niczego magicznego. Mam nadzieję, że z czasem zbliżymy się zrozumienia tej nie-magicznej, ale diablo złożonej maszynki. Przy czym drogą do jej zrozumienia mogą nie być komputerowe sieci neuronowe. Nawiasem mówiąc warto podkreślić, że Lee Sedol jest pierwszym i ostatnim człowiekiem który pokonał AlphaGo podczas 74 oficjalnie rozegranych gier.


Link do filmu:
https://www.youtube.com/watch?v=WXuK6gekU1Y


3 komentarze:

  1. Warto może dodać, że parę lat później Sedol ogłosił wycofanie się z profesjonalnej gry w go, argumentując, że człowiek nie ma szans w starciu z rozwijającą się coraz bardziej sztuczną inteligencją

    OdpowiedzUsuń
    Odpowiedzi
    1. Ale co z tego że nie ma szans? To trochę jakby biegacz zrezygnował ze startu w zawodach, bo samochód jest dużo szybszy. W szachach nadal są mistrzowie ludzcy i są osobne mistrzostwa silników... trzeba się pogodzić z faktem że gramy w niższej lidze, i tyle :) Ale nie do końca, bo te programy jednak tworzą ludzie, podobnie jak i bolidy F1...

      Usuń
  2. Wkrótce po AlphaGo google stworzył uogólniony silnik o nazwie AlphaZero, który jest w stanie grać w wiele gier.

    AlphaZero został zaopatrzony w reguły gry w szachy, po czym po bodajże kilku godzinach treningu polegającego na grze z samym sobą był w stanie pokonać... nie, nie żadnego ludzkiego mistrza, bo to żaden wyczyn, tylko aktualnie najlepszy silnik szachowy - stockfish. Przy czym ten drugi rozwijany jest od lat i ma bardzo bogatą bibliotekę debiutów, końcówek itd. AlphaZero miał na wejściu gołe reguły i nic więcej. Ponadto, jak obliczono, Stockfish był w stanie przeanalizować liczbę pozycji większą o ok. 3 rzędy wielkości niż AZ na jednostkę czasu. Jednak AZ skupiał się "intuicyjnie" na najsilniejszych i nieraz mocno oryginalnych kontynuacjach. Jego gra nazywana jest dziwną, nieludzką, ale i inspirującą, często wbrew utartym schematom "poprawnej" gry.

    Aha, jeszcze jedno: co prawda w szachy łatwo pokonać człowieka metodą brute force, ale nie znaczy to że algorytmy są w stanie rozważać wszystkie kombinacje do końca gry, jeszcze do tego daleko.

    OdpowiedzUsuń