Z wizytą u zespołu DeepMind StarCraft II
Kiedy StarCraft miał swoją premierę w 1998 roku, badacz sztucznej inteligencji (SI) z zespołu DeepMind, Oriol Vinyals, dorastał w Hiszpanii. Od razu zakochał się w tej grze i piął się w górę w rankingu, zdobywając nawet trzecie miejsce w kwalifikacjach World Cyber Games (WCG). Od tamtego czasu stał się jednym z czołowych badaczy SI. Jego obecny projekt? Stworzenie bota (lub też „agenta”), który będzie w stanie mistrzowsko opanować grę w StarCraft II.
///
Dziękujemy za czas poświęcony na rozmowę z nami! Mógłbyś się przedstawić?
Oriol: Nazywam się Oriol Vinyals, jestem badaczem w firmie DeepMind. Przewodzę zespołowi, który zajmuje się StarCraftem II. Moim zadaniem jest ulepszanie aktualnej technologii sztucznej inteligencji. StarCraft bardzo dobrze nadaje się do badań – sam zresztą napisałem pracę doktorską na uniwersytecie Berkley na temat StarCrafta.
Pracowałeś nad StarCraftem w ramach pracy doktorskiej?
Oriol: Jeden z moich znajomych powiedział: „Jest grupa ludzi na Berkley, którzy chcą wziąć udział w konkursie dotyczącym SI kontra SI, a ponieważ sporo grałeś w tę grę, to mógłbyś im pomóc i zobaczyć, co oni tam robią”.
Konstruowali bota, bazując na mutalisku zergów. Zacząłem grać przeciwko ich agentowi... Mam wrażenie, że nazwali mnie jego „trenerem”.
Ich projekt opierał się na regułowych systemach eksperckich. „Zbudujemy mnóstwo mutalisków i musimy stworzyć kolejkę konstrukcji, która wytrzyma kilka pierwszych natarć, a przy okazji pozwoli nam się rozwinąć na tyle, żeby kontynuować produkcję” i tak dalej. To podejście było bardzo programowe, choć udało się nauczyć system mikrozarządzania mutalistakmi. Ostatecznie wygraliśmy ten konkurs. Świetnie się przy tym bawiliśmy.
W jaki sposób tamten projekt różni się od tego, co teraz robisz w DeepMind?
Oriole: DeepMind próbuje stworzyć coś, co nazywa się „AGI”, czyli artificial general intelligence (silna sztuczna inteligencja). Nie staramy się stworzyć agenta, który będzie grał w jedną grę, ale próbujemy zrozumieć, czym jest model uczenia się, żeby agent mógł zagrać w dowolną grę, nie mając na jej temat wcześniejszej wiedzy. Sądziłem, że jednocześnie sporym wyzwaniem i niezłą zabawą będzie budowanie bota, któremu zamiast pisać zestaw reguł, damy ekran i powiemy: „Tu masz myszkę i klawiaturę. Proszę, zacznij grać i spróbuj rozwijać swoje umiejętności”.
Co przyciągnęło firmę DeepMind do gry StarCraft?
Oriol: Ta gra stawia przed SI szereg wyzwań. W Go zawsze widzisz całą planszę, podczas gdy w StarCrafcie jest ona zakryta, więc musisz ją zbadać... do tego dochodzi interfejs. To doskonałe narzędzie testowe, by zbadać, czy agent będzie w stanie obsługiwać grę na zasadzie „wskaż i kliknij” – inaczej niż w przypadku czternastu komend, które mieliśmy na Atari. To całkiem ciekawe wyzwanie.
Jak idą prace nad projektem?
Oriol: Przez wzgląd na to, jak trenuje się te modele, niektóre rzeczy są bardzo widoczne. Z punktu widzenia czasu wydają się niemal oczywiste. Na przykład, jedną z akcji jest poruszenie kamery, pozwalające rozejrzeć się po mapie. Okazuje się, że losowy agent przesunie widok mapy z dala od swojej bazy i nigdy nie wróci, żeby spojrzeć na to, na co powinien patrzeć, czyli swoją bazę – aby móc budować obiekty i tak dalej.
Dla ludzi prostym przykładem jest pojęcie kamery i zrozumienie tego, że można sobie pomóc dzięki spoglądaniu na minimapę w lewym dolnym rogu. Jednak ci agenci byli wszędzie, klikali na minimapę i nic tym nie osiągali, aż nagle przypadkowe kliknięcie pozwalało im wrócić do bazy, po czym ich następną czynnością było zaznaczenie wszystkich robotników i wysłanie ich gdzieś indziej.
Obserwowanie tego było niemal bolesne. Od tego momentu agenci muszą zacząć dostawać jakiś sygnał albo nagrodę. Być może czasami im się poszczęści i zrobią coś dobrego, a wtedy – i tylko wtedy – zaczną się uczyć. W przypadku gier na Atari w dość krótkim czasie można było zacząć robić coś sensownego. Jednak StarCraft ma ogrom możliwości, przez co trudno jest zacząć od samego początku, szczególnie przy nieograniczonych ustawieniach gry.
Stworzyliśmy kilka mini-gier, uproszczonych wersji StarCrafta. Podzieliliśmy pewne aspekty gry na mapy, które składają się tylko z „rozwijaj się i buduj robotników” albo „przemieszczaj jednostki i próbuj odkryć tak dużą część mapy, jak to możliwe” i tak dalej. Podczas tych mini-gier agenci byli się w stanie nauczyć podstaw przemieszczania jednostek albo różnych sytuacji w walce...
(Więcej szczegółów znajdziecie w artykule DeepMind przygotowanym wraz z Blizzardem na temat wczesnych odkryć dotyczących StarCrafta II).
Pojawiły się jakieś niespodzianki?
Oriol: Jest jedna mapa, na której jest dwóch marines, a ich zadaniem jest pozbierać minerały rozrzucone po całej mapie. Agentowi zaskakująco trudno jest zrozumieć, że powinien używać obu marines niezależnie od siebie. Jednak był on w stanie nauczyć się poruszania marines przy użyciu komendy patrolowania. Nie wiedziałem tego, ale patrolowanie sprawia, że marines zachowują stały odstęp, pozwalając na zbieranie dodatkowych minerałów, chociaż są kontrolowani jednocześnie. To właśnie wtedy powiedziałem sobie: okej, właśnie nauczyłem się czegoś nowego o StarCrafcie II.
(Film)
Popuśćmy trochę wodze fantazji. Czy te SI będą ostatecznie lepsze niż jakikolwiek człowiek?
Oriol: Nie wiem. Myślę, że samo podejście jest bardzo skalowalne. Jeśli zbudujesz bota, tak jak my zrobiliśmy w Berkley w 2010, to będzie on w stanie wydać jeden, dwa lub trzy rozkazy budowania, ale niezbyt się to skaluje. Koniec końców ktoś będzie mógł przeanalizować jego strategię i wykorzystać słabe strony. W naszym podejściu podoba mi się to, że jeśli wszystko pójdzie po naszej myśli, to agent pozna bardzo dużą liczbę taktyk i kontr, których nie da się zaprogramować, tak samo jak nie da się zaprogramować świetnego gracza w Go.
Czy program zdoła pokonać najlepszych – tego nie wiem. Przekonamy się. Nie jestem w stanie przewidzieć, czy będzie w stanie ich pokonać.
Photo Credit: DeepMind
Więcej artykułów na 20. rocznicę
– Scarlett, NoRegreT i dom mistrzów e-sportu
– Mike Morhaime omawia 20 lat e-sportu StarCraft