STEM

Sztuczna inteligencja – kolejny etap

Właśnie zakończył się pojedynek między Lee Sedolem, Koreańczykiem, którego można nazwać wicemistrzem świata w go i programem AlphaGo opracowanym przez firmę DeepMind, należącą obecnie do Google. Lee Sedol to trzydziestotrzyletni gracz z Korei Południowej szczycący się 9. danem w go i 18 tytułami mistrzowskimi (więcej tytułów ma tylko inny Koreańczyk Lee Chang-ho).

Komputer (a w zasadzie komputery) wygrał mecz stosunkiem 4:1, przegrywając tylko jedną rundę. Pojedynek trwał od 9 do 15 marca w Seulu. Program AlphaGo opracowany w firmie DeepMind należącej obecnie do Google uruchomiony był na serwerach Google Computing Engine ulokowanych w USA. W czasie gry wykorzystywał 1920 procesorów i 280 akceleratorów graficznych z chmury obliczeniowej Google. Co ciekawe, programy w chmurze obliczeniowej Google działają na wirtualnych maszynach zgodnych z architekturą Intela x86-64, a sam program działa pod kontrolą Linuksa. Wnioskując z tego, co widać było w czasie gry transmitowanej przez YouTube, jest to dystrybucja Ubuntu.

Gra go jest starochińską grą planszową, której korzenie datowane są na 2000 lat przed naszą erą. Rozgrywa się ją na planszy 19 rzędów na 19 linii wyglądającej jak kartka papieru w kratkę. Zasady przypominają znaną zapewne każdemu ze szkoły grę w kropki, która tak naprawdę jest przeniesieniem go na kartkę papieru (co wymusiło pewne zmiany zasad – w go np. można zdejmować kamienie z planszy). Zasady są na tyle proste, że można nauczyć grać w go nawet trzyletnie dzieci. Ale prostota zasad wcale nie oznacza prostej gry. Jako że liczba możliwych kombinacji jest rzędu 10 do potęgi 761, co zawstydza nie tylko szacunkową liczbę atomów w obserwowalnym Wszechświecie (10 do potęgi 82), ale również stopień skomplikowania szachów, których liczba możliwych układów na planszy wynosi raptem 10 do potęgi 120.

Tak wielki stopień skomplikowania gry w go sprawia, że do niedawna komputery wcale nie radziły sobie w niej dobrze. Gdy komputer ma do czynienia z jakąś prostszą grą, na przykład kółkiem i krzyżykiem, jest w stanie policzyć wszystkie możliwe kombinacje i wybierać te, które prowadzą do zwycięstwa. W przypadku go (czy szachów) nie da się wygrać na siłę, trzeba stosować sztuczki, które pozwolą komputerowi wybierać strategię wygrywającą. Do niedawna większość programów grających w gry planszowe (szachy, warcaby, go) wykorzystywała algorytm Monte Carlo Tree Search (MCTS), który polegał mniej więcej na tym, że komputer wybierał losowo jeden z możliwych ruchów, a później symulował możliwe ruchy przeciwnika i własne odpowiedzi, wybierając najlepszą możliwą strategię. Problem w tym, że w go możliwości wykonania ruchu jest mnóstwo – plansza ma 361 punktów przecięcia linii (19×19), kamień można położyć na dowolnym z nich, a nawet na pozór przypadkowo położony kamień może mieć ogromne znaczenie dla rozwoju gry kilkanaście ruchów później. Dość powiedzieć, że największe fory, jakie może dostać niewprawny gracz, to ułożenie 9 kamieni w ściśle określonych miejscach planszy.

Stolik do gry w go (za Wikipedia)
Stolik do gry w go (źródło: Wikipedia)

Twórcy programu zmodyfikowali algorytm MCTS, powierzając część pracy dwóm sieciom neuronowym. Jedna z nich wybierała miejsce, w którym warto postawić kamień, a druga oceniała, jaką ruch będzie miał wartość ze względu na dalszy przebieg gry. Najważniejszy w całym systemie był proces uczenia algorytmu – na początku komputer przeanalizował zapisy 30 milionów ruchów wykonywanych przez graczy w go. Gdy nabrał wystarczającej biegłości w przewidywaniu reakcji człowieka, zaczął grać sam ze sobą, doskonaląc w ten sposób swe umiejętności – niczym samotny mnich medytujący w pustelni.

Twórcy programu deklarują, że algorytmy wykorzystane przy pisaniu programu AlphaGo pozwolą w przyszłości budować inne systemy wspomagające podejmowanie decyzji oparte na uczeniu się maszyn. Z pewnością to działa, bo jeszcze na początku 2015 roku AlphaGo ledwo był w stanie zmierzyć się z programami komputerowymi, pod koniec wygrał z europejskim mistrzem go, a na początku 2016 pokonał jednego z najbardziej utytułowanych graczy na świecie. Po turnieju Korea Baduk Association (baduk to nazwa go w języku koreańskim) przyznało programowi AlphaGo certyfikat zdobycia 9. dana w uznaniu jego możliwości i stylu gry. Słowem, byle kto z nim w go nie wygra…

Na nasze szczęście program został zaprojektowany do gry w go, tylko to umie robić i tylko tę umiejętność potrafi doskonalić, więc nie musimy (jeszcze) się obawiać, że tak jak Skynet podejmie w pewnym momencie kłopotliwą dla nas decyzję. Jak pamiętamy z filmowego cyklu “Terminator”, Skynet uznał, że najlepszą strategią przerwania będzie wycięcie w pień rodzaju ludzkiego.

Udostępnij ten artykuł

Podobne tematy

Granie

Przeczytaj w następnej kolejności