Evoluční schovávaná. Umělá inteligence objevila triky a nečekané chyby

  • 293
Schovka nevypadá zrovna jako vědecké bádání. Výzkumníci ale simulací miliard her na schovávanou ukázali, že se umělá inteligence může naučit složité strategie. A to doslova z ničeho. Vědci z OpenAI to považují za perfektní ukázku umělé evoluce.

Pamatujte na to, když jste si poprvé hráli na schovávanou? Možná vám byly dva tři roky, možná ještě méně. Nejspíš vám ani nikdo nevysvětlil pravidla. Před pikolou, za pikolou, už jdu! Schovali jste se za roh, hned vás našli, a bylo to.

To samozřejmě nebyla vaše poslední hra. S každým opakováním jste nacházeli lepší úkryty, lepší strategie, možná jste se dokonce šeptem dohodli s ostatními hráči, abyste se všichni neschovali na jedno místo. Učili jste se ze svých chyb. A aniž jste to postřehli, naučili jste se hodně věcí, o fyzice, o kamufláži, o sobě i o ostatních.

Umělá evoluce v počítačové simulaci

Podobný proces učení, který zažil snad každý z nás, nyní výzkumníci OpenAI simulovali v počítači (PDF). Naprogramovali jednoduché prostředí, ve kterém se samostatní agenti pohybují a mají k dispozici:

Rozhodovací algoritmus bere v úvahu: polohu, polohu okolních předmětů, polohu ostatních postaviček, polohu ramp a krabic, zorný úhel atd.

  • zrak – vidí, co je před nimi, pokud to není za překážkou
  • orientaci v prostoru – každá postavička má jakýsi „radar“, podle kterého ví, jak daleko je nejbližší překážka
  • pohyblivé objekty – postavičky mohou chytit, přemístit a pustit objekt
  • zámky – postavičky mohou zamykat objekty (takovým objektem pak druhý tým nemůže hýbat)

A to bylo vlastně vše. Pak už jen rozdělili virtuální postavičky do týmů (modří schovávači a červení hledači) a přiřadili jim incentivy v podobě bodového hodnocení. Hledači dostávali body za to, že našli schovávače, a naopak schovávači byli virtuálně odměňováni za to, že nalezeni nebyli. 

O zbytek se postaralo strojové učení s posilováním zpětné vazby. Samozřejmě opakované stokrát, tisíckrát, milionkrát. A tam, kde na začátku nebylo nic, se začalo objevovat inteligentní chování.

Od zmatku k týmové spolupráci

Na začátku algoritmus nevěděl, jaký je jeho cíl, a tak se postavičky schovávačů vůbec neschovávaly, jen náhodně pobíhaly. Hledači je tedy brzy objevili.

Náhodné pobíhání červených hledačů i modrých schovávačů

Protože však algoritmus dostal trestné body, když byla jeho postavička objevena, začal „mimoděk“ hledat strategie, jak se trestným bodům, a tedy objevení vyhnout. Nebo, řečeno jinak – ty verze algoritmu, které dostaly méně trestných bodů, měly větší šanci se v další generaci zreplikovat a prosadit. Proto výzkumníci tento proces nazývají „umělou evolucí“, protože připomíná způsob přirozeného výběru, který známe z biologie.

Trvalo dva a půl milionu generací, než se objevila první úspěšná strategie, a tou byl útěk. Modré postavičky si udržovaly přehled o tom, kde jsou červení hledači, a snažily se utíkat a dokonce se ukrývaly za objekty a zdi v prostředí.

Taková základní taktika ale na malém prostoru moc nepomůže. Pomocí strojového učení a velkého množství opakování si postupně algoritmus schovávačů vytvořil první skutečnou a účinnou strategii: postavičky využily objekty v místnosti a zabarikádovaly se před hledači během pikání, tedy během jejich počátečního náskoku.

Blokování vchodu objevily postavičky po 2,69 milionech generacích

Na tuto strategii schovávačů ale zareagoval algoritmus hledačů. Během dalších milionů opakování objevili hledači metodou pokus-omyl způsob, jak využít dostupné rampy k překonání barikád. Hledači začali mít – doslova –  navrch.

Hledači se naučili využít rampu k přeskočení barikád.

Ale ne nadlouho. Schovávači se metodou pokus–omyl naučili schovat nakloněnou plošinu, čímž hledačům vzali možnost barikády překonat. Dokonce se schovávači naučili spolupracovat a rozdělili si role tak, aby zabarikádování stihli. Podobné chování – tedy samovolný vznik koordinace mezi více aktéry – pozorovali již výzkumníci z konkurenčního týmu DeepMind (PDF).

Schovávání ramp bylo nejlepší strategií pro malé prostory.

Tím vývoj víceméně skončil. Schovávači se naučili strategii, která byla dlouhodobě nepřemožitelná. Trvalo jim to 14,5 milionů opakování, a až do konce experimentu už tuto vítěznou taktiku pouze drobně vylepšovali a pilovali koordinaci. Při pohledu na výsledek je důležité si uvědomit: programátoři nedali postavičkám nějaké instrukce nebo cíle. Na všechno si „přišly samy“.

Co to je neuronová síť a jak se učí

Umělá neuronová síť do jisté míry napodobuje způsob, jakým informace zpracovává lidský mozek

Počítačem simulovaná struktura pro zpracování dat – tzv. neuronová síť nebo umělá neuronová síť – se inspirovala u anatomie lidského mozku. Skládá se obvykle z vrstev velkého množství „neuronů“, což je samostatná jednotka, která má vstupy a výstupy. Více takových neuronů a vrstev znamená síť náročnější na simulaci (je třeba velký výpočetní výkon).

Neuronová síť se učí (trénuje) na základě vstupních (testovacích, trénovacích) dat a zpětné vazby. Neuronová síť může také „učit sama sebe“, což zjednodušeně znamená, že sama sobě dává otázku, na kterou zná správnou odpověď, a trénuje sama sebe tak dlouho, dokud tuto odpověď není schopna poskytnout s určitou spolehlivostí.

Ukázka jednoduché neuronové sítě se čtyřmi vrstvami po šesti neuronech. Spojnice mezi neurony ukazují „dráhy“, kudy nejčastěji proudí komunikace. Tyto dráhy se posilují nebo oslabují na základě zpětné vazby. Tedy neuron, který dává neužitečný výstup, se buď poučí, nebo zůstane nevyužit.

Příkladem může být třeba neuronová síť učící se tvořit obličeje, hrát poker, hrát go, hrát počítačové hry, analyzovat rizika nebo překládat cizojazyčné texty. Mezi problémy spojené se strojovým učením naopak patří zkreslené představy, zkreslená trénovací data nebo neschopnost rozhodnutí zdůvodnit.

Dávejte pozor na chyby, počítač jich umí využít

Ještě zajímavější byly výsledky v otevřeném prostředí, kde bylo více místa, více objektů a v některých variantách i více postaviček. To také znamenalo řádově více opakování. Barikádování se objevilo až po 22 milionech generací.

Skrývači se naučili zabarikádovat pomocí dlouhých překážek. Na to reagovali hledači tím, že se naučili využít ramp, a schovávači jim rampy zamkli, teprve poté se zabarikádovali.

Tvorba úkrytu po úspěšném zamknutí všech objektů a ramp

Původně vědci očekávali, že tato strategie bude ta závěrečná. Ale algoritmus vývojáře překvapil. Našel totiž neúmyslné chyby v simulaci prostředí. Hledači po nepředstavitelných 388 milionech opakování zjistili, že můžou vylézt na překážku a po té pak surfovat, dokud neobjeví schovávající se hráče.

Počítač objevil chybu v simulačním prostředí a dokázal ji využít.

Schovávači zase našli trik, pomocí kterého můžou vyhodit rampu úplně mimo mapu a vzít tak hledačům důležitý nástroj. Nakonec se ale výslednou strategií v otevřeném prostředí stala ta, kde schovávači napřed prohlédnou prostor, pozamykají všechny objekty a pak se před hledači koordinovaně zabarikádují. Tato strategie vydržela až do závěru testování, které vědci ukončili po 481 milionů generacích.

Vtipná byla i varianta hry (nezachycená na videu), kde výzkumící zkoušeli motivovat postavičky k pohybu pomocí „jídla“ rozmístěného po ploše. Schovávači si po velkém množství generací vytvořili taktiku, která spočívala v „odsunutí“ pikajících schovávačů do rohu, kde je uvězní barikádou. Schovávačům pak zbylo jídlo z celé mapy. Výzkumníci neskrývali svůj úžas: „Naprosto nás to překvapilo. Ukazuje to, jak komplexní chování se může objevit skrze samo-učení.“

Uvěznení hledači ve verzi s „peletkami jídla“ rozmístěnými po mapě

„Zjistili jsme, že algoritmy jsou velmi hbité v nalézání a zneužívání drobných nepřesností v simulovaném prostředí,“ varují vědci v závěru práce. „Je potřeba věnovat pozornost tomu, jak vytvořit prostředí, které netrpí chybami a nepovzbuzuje tak toto nežádoucí chování.“ Jinými slovy: když se snažíte nějaké chování natrénovat v simulaci, musíte si být jistí, že ta simulace nemá chyby. Jinak se algoritmus naučí využívat tyto chyby a jeho strategie budou v praxi nepoužitelné.

Opakování je matkou strojového učení s posílenou zpětnou vazbou.

Využití v praxi je přitom samozřejmě zlatým grálem všech podobných projektů. Tradiční poučka „těžce na cvičišti, lehce na bojišti“ dostává v pojetí strojového učení extrémní rozměry. Cvičiště se totiž může opakovat tisíckrát, milionkrát, miliardkrát, v různých kombinacích a scénářích. Algoritmy se mohou předhánět, posilovat své vazby (tzv. reinforcement learning) a nejlepší dostanou příležitost postoupit do další generace.

„Naše výsledky by měly ukázat, že více-aktérová spolupráce může vzniknout samoučením a výsledné chování je využitelné i v reálném prostředí,“ píší v závěru práce výzkumníci. Připouštějí, že schovka je hodně primitivní hra, doufají ale, že další experimenty ukážou komplexnější chování v komplexnějších situacích. Podobné učení chtějí nyní výzkumníci aplikovat na další úkoly, které mají využití v reálném světě.

Doufáme, že nedojde k situaci, kdy se budeme v reálném světě ukrývat a barikádovat před autonomními roboty. I tak je ale čím dál jasnější, že před strojovým učením se v budoucnu neschováme.

Aktualizace: Do článku jsme doplnili animace a údaje o počtu generací. Na základě tipu čtenáře jsme doplnili informace o variantě s uvěznením hledačů.