Emulacja sieci neuronowej w Grand Theft Auto.
Ty wskazujesz kierunek a sztuczna inteligencja „kieruje”
GAN Theft Auto to fork projektu GameGAN należącego do Nvidii. Generalnie GameGAN służy do badania zastosowań sieci neuronowych w dynamicznych środowiskach gier – tutaj mamy to zastosowane na przykładzie popularnego Grand Theft Auto.
Kilku badaczy odtworzyło „prostą” scenę z Grand Theft Auto: samochód jeżdżący po autostradzie. Różnica w stosunku do oryginalnej gry polega na tym, że samochód i otaczające go środowisko przestrzegają zasad nie napisanych wcześniej przez silnik gry, ale przez samą sieć neuronową . Tak więc za każdym razem, gdy naciśniesz lewy lub prawy klawisz aby sterować samochodem, sieć neuronowa zajmie się resztą. A pod tą „resztą” kryje się bardzo dużo: obracanie kołami, poruszanie samochodem i radzenie sobie z fizyką, w tym kolizjami z innymi samochodami lub przedmiotami.
Każdy piksel, który widzimy jest generowany przez sieć neuronową. Przywykliśmy już do oglądania AI grających w różnych środowiskach ale tutaj to sztuczna inteligencja jest środowiskiem. To model opracowany w Pythonie, który pobiera klawisze i wyświetla określone piksele.
Innymi słowy, bawimy się w sieci neuronowej opartej na GameGAN, którym jest model uczący się wizualnie naśladować pożądaną grę, przyswajając scenariusz i działania klawiatury podczas treningu. Po naciśnięciu klawisza przez gracza GameGAN „renderuje” następny ekran.
Taka grafika na taki sprzęcie
No dobra, grafika nie powala ale nie o to tu chodzi.
Sieć GameGan zasłynęła pierwotnie z PacMana. Sieć neuronowa została bowiem przeszkolona na 50 000 sesji w tą ponadczasową grę i od tego czasu była już w stanie wygenerować w pełni funkcjonalną wersję gry. Powiedzmy to sobie wprost: można było zacząć grać w PacMana mimo, że nie było żadnego silnika gry, żadnego kodu odpowiadającego za jej mechanikę, grafikę czy interakcję z użytkownikiem.
Harrison Kinsley i Daniel Kukiela poszli o krok dalej, chcąc aby sieć GameGAN wygenerowała grywalną wersję demonstracyjną odcinka autostrady w Grand Theft Auto. Uzyskali w tym zamierzeniu wsparcie Nvidia, która udostępniła im stację DGX, składającą się z 4 80-cio gigabajtowych kart GPU A100. 320 GB pamięci VRAM jest niestety niezbędne - trenowanie sieci neuronowych to kosztowny biznes.
A żeby wytrenować model, nasi dwaj zapaleńcy potrzebowali wielu, naprawdę wielu danych. Oczywiście „ręczne” granie w oryginalną grę GTA było zbyt czasochłonne więc zdobyli niezbędne dane, zaprzęgając do pracy… oczywiście sztuczną inteligencję. 12 zawodników AI jeździło więc po autostradzie karmiąc sieć neuronową informacjami o tym jak działa gra. Nie trzeba dodawać, że pierwsze wersje modelu były bardzo prymitywne: zderzenia z samochodami policyjnymi skutkowały podzieleniem ich na pół ale za to wjechanie w ścianę powodowało, że model był jedynie nieco „zdezorientowany”.
Ale ostatnie próby poprawiły wydajność modelu tak bardzo, że twórcy zaobserwowali nawet nieprzewidywalne dla nich wcześniej konsekwencje. Na przykład sieć sprawiała, że tło wydawało się bliższe, gdy jechałeś w jego kierunku!
Co to dla nas oznacza na przyszłość? Najwyraźniej będziemy mogli tworzyć silniki gier, które uczą się na przykład fizyki świata rzeczywistego, nie będąc w ogóle poinstruowanym o tym jakie zasady fizyki w tym świecie obowiązują. Może to dotyczyć oczywiście nie tylko gier, ale także symulacji i całkiem poważnych narzędzi. Ilość pracy w tej dziedzinie będzie więc chyba coraz większa. Bylebyśmy nie zaufali przesadnie tym całym sieciom neuronowym.