Sieci neuronowe grają ze sobą w chowanego i wypracowują strategie, które zaskakują ich twórców
Konkurencja jest wszędzie. Konkurują ze sobą jednostki, grupy społeczne, narody, wreszcie całe gatunki. To jeden z mechanizmów ewolucyjnych i koło napędowe cywilizacji. Jak się okazuje, to także świetna metoda szkolenia sieci neuronowych.
Dobrze znana naszym czytelnikom firma OpenAI (autorzy głośnego algorytmu GPT-2) prowadzi badania nad systemami wieloagentowymi, to znaczy takimi, w których w interakcję wchodzi ze sobą kilka niezależnych sieci neuronowych. W ramach tych badań spece od sztucznej inteligencji wzięli na tapetę… grę w chowanego.
Jak czytamy na blogu OpenAI, zespół wykorzystał „algorytm uczenia ze wzmocnieniem ogólnego zastosowania” (general purpose reinforcement learning algorithm). To na nim bazowały wcześniejsze sieci neuronowe stworzone przez OpenAI: OpenAI Five oraz Dactyl. Ta pierwsza była w stanie pokonać ludzkich graczy w „Dota 2”. Druga odpowiada za działanie robotycznego ramienia, które nauczyło się operować fizycznymi przedmiotami.
Kto się nie schowa, ten kryje!
Eksperyment OpenAI miał na celu wyuczenie kilku sieci neuronowych gry w chowanego w trójwymiarowym środowisku symulującym realną przestrzeń. Zabawa rozgrywała się w losowo wygenerowanych pokojach, w których były rozstawione nieruchome przeszkody. Występowały przeciwko sobie dwuosobowe drużyny szukających i chowających się. Na początku każdej z kilkuset milionów rozegranych rund chowający się mieli chwilkę, podczas której szukający byli unieruchomieni. Obie drużyny miały do dyspozycji ruchome elementy – kostki i pochylnie, które mogły przesuwać i blokować w miejscu. Jak łatwo się domyślić, szukający byli nagradzani, kiedy przeciwnik znalazł się w ich linii wzroku, podczas gdy chowający dostawali punkty, gdy udało im się tego uniknąć.
W czasie pierwszych (kilkuset tysięcy) rozgrywek niewiele się działo – uczestnicy zabawy poruszali się w losowych kierunkach. Pierwszą strategię opracowali szukający – nauczyli się gonić chowających się. Ci w odpowiedzi nauczyli się przesuwać pudełka i blokować nimi wejścia do wydzielonej części pokoju, co pozwoliło im schować się przed wzrokiem przeciwników.
Na odpowiedź nie trzeba było długo czekać. Szukający wkrótce poznali zastosowanie ramp – podstawiali je pod ściany i przechodzili przez nie, by dostać się do pokoików zajmowanych przez chowających się. Ci dość szybko wypracowali kontrstrategię – zanim zabarykadowali się w pokoju, zabierali ze sobą rampę, przez co szukający nie mogli jej użyć. Co więcej, podzielili się obowiązkami – każdy z nich obstawiał jedne drzwi, pomagali też sobie nawzajem, podając sobie kostki. Było to ostateczne zwycięstwo chowających się.
Następnie naukowcy podnieśli poprzeczkę – kolejne symulacje były przeprowadzane w otwartej przestrzeni. Uczestników było więcej – nawet trzech w każdej drużynie, doszedł też kolejny ruchomy element – przesuwana ściana.
Wirtualni oszukańcy
Zaczęło się podobnie – od przypadkowych ruchów. Wkrótce szukający nauczyli się… szukać, a chowający – budować z kostek i ruchomych ścian prowizoryczne schrony. Odpowiedź była do przewidzenia – szukający wykorzystali rampy, by przeskakiwać ściany schronów. Chowający i na to znaleźli sposób. Nauczyli się odsuwać rampy daleko od schronów i tam je blokować.
Wtedy wydarzyło się coś, czego naukowcy nie przewidzieli – gracze zaczęli wykorzystywać błędy w środowisku. Okazało się, że kiedy podsunie się pudełko do zablokowanej rampy i wykorzysta ją, by na nie wejść, można potem przejechać na nim do schronu przeciwników i sforsować go. Szukający odkryli, że jeśli wjedzie się rampą w narożnik pokoju, to zostanie ona wypchnięta poza planszę gry. Z kolei przeciwnicy wykorzystywali inny błąd, który pozwolił na użycie pochylni do wybicia się wysoko w powietrze.
Współzawodnictwo doprowadziło zatem do sytuacji, w której wirtualni gracze wychodzili poza ramy eksperymentu, hakowali go, by osiągnąć zamierzone cele.
Po co to wszystko? Zespół OpenAI chciał pokazać, jak skuteczną metodą nauki sieci neuronowych jest ich współzawodnictwo. Kiedy sieci występują przeciwko sobie, cały czas tworzą i testują nowe strategie. Kiedy któraś okaże się skuteczna, to automatycznie wywołuje presję na przeciwnikach i wyznacza im nowe zadania – jest to motywacja do rozwoju kolejnej, jeszcze lepszej strategii.
Naukowcy z OpenAI wierzą, że zastosowanie podobnego podejścia w bardziej złożonym i różnorodnym środowisku przyniesie podobne rezultaty i doprowadzi do rozwoju niezwykle złożonych, bardzo „ludzkich” zachowań.