Alpha Zero

User avatar Bartosz Palewicz

Programiści już od bardzo dawna zmagają się ze stworzeniem sztucznej inteligencji. Różnorakie firmy tworzą coraz to nowsze oprogramowania, które prześcigają się między sobą w konkurencjach, które niegdyś uznawane były za czysto ludzkie. Jedną z takich konkurencji jest gra w szachy. Nie wystarczy bowiem znać możliwości ruchów poszczególnych bierek, ale do efektywnej gry potrzeba również zmysłu taktycznego i uważnego rozplanowania całej rozgrywki.

Silniki szachowe przeszły długą drogę od pamiętnego meczu pomiędzy komputerem Deep Blue stworzonym przez firmę IBM, a Garrim Kasparowem. Do niedawna za najbardziej rozwinięty, a zarazem najlepszy silnik uważany był Stockfish. Tak jak większość innych tego typu programów wyszukiwał najlepsze posunięcia poprzez czystą i wyrachowaną kalkulację. Najpierw sprawdzał jakie ruchy są dostępne, analizował sytuację na planszy, po czym dokładał do tego wcześniejsze pozycje wszystkich bierek, słabości w pozycjach przeciwnika i poprzez skomplikowane algorytmy kalkulował siłę wszystkich możliwych ruchów, a następnie wybierał ten najlepszy.


Nowy zawodnik na scenie

W grudniu 2019 roku Google zaprezentowało wyniki pracy AlphaZero - programu stworzonego przez swoich naukowców z firmy DeepMind specjalizującej się w sztucznej inteligencji. AlphaZero jest oprogramowaniem służącym do trenowania sieci neuronowych poprzez tzw. machine learning, o którym więcej możecie pocztać tutaj. .

...

W skrócie - sieci neuronowe stworzone zostały na wzór ludzkiego mózgu, którego podstawowymi elementami są neurony. Neurony ułożone są warstwami i połączone ze sobą wzajemnie tworzą sieci, dzięki którym realizowane są funkcje inteligencji, pamięci i zdolności twórczych. Pojedynczy neuron przyjmuje pobudzenie od ogromnej liczby innych neuronów. Połączenia pomiędzy nimi mają określone wagi, czyli siłę z jaką przesyłają swoją odpowiedź do następnej warstwy. Poprzez dostosowywanie tych wag można szkolić takie sieci, aby wykonywały określone rzeczy z gracją bliższą człowiekowi niż jakiejkolwiek maszynie.


Spore zasoby, spore oczekiwania

Zadaniem AlphaZero w tym projekcie miało być stworzenie sieci neuronowej zdolnej do grania w szachy, ale to, jakie były tego wyniki zaskoczyło chyba wszystkich. Program uczył się mając do dyspozycji 5064 TPU (Tensor Processing Unit), czyli specjalnych komponentów stworzonych przez Google tylko do celów pracy na sieciach neuronowych.

TCP
Tensor Processing Unit

Czas na naukę

Powiadają, że aby zostać mistrzem w jakiejś dziedzinie trzeba trenować 10’000 godzin, co przekłada się na kilka lat ciężkiej pracy, jednak jak się okazało - ta reguła ma pewne wyjątki, gdyż AlphaZero już po 240 minutach uczenia się od podstaw, znając na początku tylko podstawowe zasady gry osiągnął poziom arcymistrzowski i był zapewne zdolny pokonać każdego człowieka na Ziemi bez najmniejszego problemu, jednak w towarzystwie silników szachowych ludzie już od lat nie stanowią większego wyzwania. Prawdziwym rywalem Alpha zero były inne sztuczne inteligencje specjalizujące się w grze w szachy.


TCP

Gotowy do walki

Aby przetestować możliwości nowego oprogramowania, pracownicy Google postanowili zestawić je w boju ze znanym już nam Stockfishem. Tym razem został wyposażony w jedynie 4 TPU prawdopodobnie po to, aby pokazać, że do efektywnego działania nie potrzebuje masywnego sprzętu. Jednak czy to nie przełożyło się na efektywność? W żadnym wypadku, jego moc obliczeniowa pozwalała mu na badanie około 80 tysięcy pozycji na sekundę, co i tak wypada słabo przy Stokfish’u, który tych pozycji mógł zbadać aż 70 milionów! Jednak AlphaZero robił to dużo skuteczniej zdając się na swoją wytrenowaną “intuicję” i skupiając się na ścieżkach, które według niego były najbardziej odpowiednie. Efekty mówią same za siebie, rozegranych zostało 100 partii z czego AlphaZero:

  • wygrał 28
  • zremisował 72
  • przegrał 0

Co dalej?

Był to ogromny sukces, jednak programiści z DeepMind nie zamierzali spocząć na laurach. W październiku 2019 roku światło dzienne ujrzał MuZero - następna wersja AlphaZero, jednak tym razem algorytm nie potrzebował znajomości reguł gry aby nauczyć się w nią grać. Osiągał on takie same nadludzkie wyniki, jak swój poprzednik, jednak tym razem można było go zaimplementować do różnych innych gier bez konieczności uczenia go czegokolwiek, sam do wszystkiego dochodził metodą prób i błędów.

TCP

Oceniony na 57 różnych grach Atari - kanonicznym środowisku gier wideo do testowania technik sztucznej inteligencji, z którymi historycznie zmagały się metody planowania oparte na modelach - MuZero osiągnął nowy poziom wyrafinowania i perfekcji. Oceniany na Go, szachach i shogi, bez znajomości zasad gry, MuZero utrzymał niewyobrażalną wydajność algorytmu AlphaZero.

Gdzie w tym wszystkim miejsce dla ludzi?

Czy to oznacza, że w klasycznych grach nie ma już miejsca na ludzi, którzy prześcignięci przez maszyny zostali zepchnięci do roli kibiców? Nic bardziej mylnego - dopóki międzyludzka konkurencja będzie sprawiała nam radość i satysfakcję, wciąż odbywały się będą turnieje w szachy, w Go i inne tego typu gry.

O autorze
User avatar

Uczeń technikum na kierunku informatycznym, zapalony programista, aktywny członek organizacji MDB Youth. W wolnych chwilach poza programowaniem i nauką lubi pograć na gitarze lub przeczytać dobrą książkę.

Najnowsze artykuły

MDB Youth

MDB Youth to organizacja stworzona przez młodych ludzi, których celem jest wspólna nauka programowania, technologii i przedsiębiorczości.

Dowiedz się więcej i dołącz do nas.

Dołącz do MDB Youth