Kako je strukturiran hibridni igrivi AI i koje su njegove prednosti

Nastavljajući temu o kojoj smo nekada govorili na našem blogu, igračkog umjetnog inteligenta, razgovarat ćemo o tome kako se strojno učenje može primijeniti na njega i u kojem obliku. Svojim iskustvom i rješenjima temeljenim na njemu podijelio je stručnjak za AI u Apex Game Tools, Jakob Rasmussen.

Kako je strukturiran hibridni igrivi AI i koje su njegove prednosti

U posljednjim godinama mnogo se govori o tome kako će strojno učenje drastično promijeniti gaming industriju, jer je ova tehnologija već postala revolucionarna u mnogim drugim digitalnim aplikacijama. No, ne treba zaboraviti da su igre mnogo složenije od simulatora vožnje automobila, programa za upravljanje dronom ili algoritama za prepoznavanje lica na slici.

Dok se u gaming industriji i dalje koriste tradicionalne metode AI-a, poput metoda konačnih automata, stabala ponašanja i — u posljednje vrijeme — sve češće AI-a temeljenog na korisnosti. Takve AI sustave nazivamo također dizajniranima (artificial design intelligence) ili ekspertni sustavi. No, postaje sve očiglednije — prvenstveno igračima — da su ovi sustavi sve manje primjereni za stvaranje zaista naprednih protivnika koji bi mogli imitirati ponašanje igrača. To se posebno odnosi na kreativna rješenja. To se može objasniti time da programeri umjetne inteligencije nisu u stanju uzeti u obzir sve moguće taktike i strategije ponašanja i uspješno ih implementirati u tradicionalne AI sustave. Za igrače to često rezultira time da je dosadno i predvidljivo igrati protivnika čija se linija ponašanja lako pamti.

Takvom rezultatu doprinosi mnogo razloga, ali jedan od glavnih je nesposobnost AI-a za učenje. Stoga, kada se stvara umjetna inteligencija za protivnika, dolazi do rješenja o prelasku na strojno učenje, koje se pokazalo iznimno uspješnim u mnogim drugim aplikacijama. No, postoje neki nijansi koje treba uzeti u obzir. Naime, gaming AI mora biti sposoban prilagoditi se svakoj situaciji i iskoristiti prednosti koje ona pruža, kao i prilagoditi se različitim stilovima igre svojih protivnika — živih igrača i drugih AI-a.

Kako stoje stvari sada

Britanska tvrtka DeepMind, koja se bavi razvojem umjetne inteligencije, nedavno je pokazala na koje načine AI može samostalno učiti igrati igre, usvojiti njihova pravila i pronaći načine kako proći igru ili pobijediti u njoj — iako za sada samo na primjeru jednostavnih igara, poput ranih igara Atari — kao što su šah i japanska logička igra go. Rezultati dobiveni za njih pokazuju da umjetna inteligencija može stvoriti adekvatnu procjenu događaja na terenu. Kada se govori o prilagodbi AI različitim stilovima igre protivnika, rezultati za sada nisu toliko impresivni.

U naše vrijeme, neuronske mreže su već naučile prepoznavati slike i voziti automobile. No, te se funkcije mogu ostvariti i uz pomoć relativno jednostavnih arhitektura, čak i ako su u konačnici prilično duboke i opsežne. Primjerice, AI za prepoznavanje slika na Facebooku ima dubinu od oko 100 slojeva, zbog čega podsjeća na biološki mozak — po broju i složenosti međusobnih veza između neura, koji čine jednu veliku mrežu.

Igrački AI

Što se tiče primjene strojnog učenja u industriji igara, ovdje postoje određena ograničenja zbog kojih nije uvijek moguće koristiti ovu vrstu arhitekture. To uključuje sistemske zahtjeve, posebice one koji se odnose na CPU, koji definiraju sposobnost računala za obradu složene strukture igre i njegovu prikladnost za pripovijedanje i gameplay.

Stoga, u mnogim igrama ne postoji mogućnost organizacije potrebne hardverske opreme za implementaciju složenog sustava umjetne inteligencije, a kamoli klastera servera koji postoji, na primjer, za mreže prepoznavanja slika na Facebooku. Ponekad može biti potrebno da više AI sustava radi simultano — ne samo na računalima, već i na mobilnim uređajima i na drugim manje snažnim platformama. Sve to postavlja ograničenja na veličinu i složenost arhitekture strojnog učenja, jer se svi proračuni moraju izvršavati unutar trajanja okvira od oko 1 ili 2 milisekunde. Naravno, moguće je koristiti različite tehnologije optimizacije i distribucije opterećenja među okvirima, ali se i dalje ne može potpuno izbjeći ova ograničenja.

Ozbiljni problemi za AI mogu nastati zbog složenosti igre. U igrama poput StarCraft II, mehanika igre je mnogo složenija nego u igrama iz vremena Atarija. Stoga ne treba očekivati da će uz zadanu frekvenciju okvira i poznate sistemske zahtjeve, strojno učenje uspješno savladati ukupno stanje igre i moći s njim interagirati. Kao što igrač često koristi intuiciju u ranim fazama igre, tako i AI mora naučiti primarnu obradu stanja igre kako bi pojednostavio daljnje prolazak kroz igru. Na primjer, u jednoj od najnovijih API za Starcraft II na kartama se prikazuje samo ona informacija koju su programeri smatrali važnom: u jednom slučaju AI je koristio smanjeni prikaz cijelog područja karte, dok je u drugom — slično igraču, mogao pomicati kameru, a tada je njegovo percepcija bila ograničena informacijama na ekranu.

Kako je strukturiran hibridni igrivi AI i koje su njegove prednosti
Vizualizacija igre AI AlphaStar protiv igrača u StarCraft II: na zaslonu su prikazana 'siromašna' početna opažanja, aktivnost neuronske mreže, neke od njenih mogućih radnji i koordinate, kao i predviđeni ishod meča.

Ovo je posebno važan aspekt u slučaju igara. Često se u igrama umjetnička inteligencija ne može primijeniti običnim metodama rješavanja problema strojnog učenja. Na primjer, obično nije obavezna pobijediti ili učiniti sve što je moguće za pobjedu, kao što je to bio slučaj s Atari igrama. Često AI treba poslovati kao dodatak igri kako bi iskustvo igre bilo uzbudljivije. Može biti potrebno da igra ulogu i ponaša se kako to zahtijeva karakter kojeg upravlja. Tako su igračke AI više vezane za game design i pripovijedanje i moraju imati neophodna sredstva kako bi upravljali svojim ponašanjem radi postizanja cilja. Strojno učenje u čistom obliku nije uvijek prikladno za ovo — stoga se mora tražiti nešto drugo.

Praktični problemi strojnog učenja

Ovi problemi su se pojavili tijekom razvoja umjetne inteligencije temeljenoj na strojnog učenju za Unleash, gdje AI treba da se ponaša kao obični igrači — to jest, biti fleksibilni i snalažljivi.

Baš kao i Starcraft II, Unleashed je mnogo složenija od šaha i goe za Atari. Igra je intuitivna i lako se savlada, ali da bi se zaista uspjelo, potrebne su određene vještine upravljanja metom. Igrač treba graditi labirinte, upadati na neprijatelje s čudovištima i smišljati svoju strategiju kroz ekonomiju, napad i obranu građevina tijekom cijele igre. Da bi to postigao, mora blefirati i predviđati tuđe poteze unaprijed, kao i upravljati psihološkom metom — upravo ona čini poker više od obične statističke igre.

Kako je strukturiran hibridni igrivi AI i koje su njegove prednosti
Screenshot iz Unleashed

U potrazi za najprikladnijom arhitekturom, prvo su u igru u gotovo nepromijenjenom obliku integrirane takve tehnologije kao što su neuroevolucija i duboko učenje, i testirali su kako će se ponašati u sirovom obliku kao AI protivnik.

To je bilo strašno.

Brzo je postalo očigledno da se u Unleashed mora riješiti mnogo globalnih problema, za koje je teško prilagoditi strojno učenje.

Jedna od njih je izgradnja učinkovitog labirinta. Kao i u mnogim igrama čija je svrha zaštita kule, ovdje igrači moraju izgraditi labirint oko nje, kroz koji će prolaziti monstrumi. Njih se, zauzvrat, treba eliminirati pomoću oružja postavljenog po labirintu. Idealno, labirint bi trebao biti što dulji kako bi se mogla nanijeti dovoljna količina štete monstrumima i spriječilo da dođu do kule. Za neke vrste oružja monstrumi su osjetljiviji nego za druge, stoga ih vrijedi postaviti u labirint prije svih ostalih radi veće učinkovitosti. Posebnost Unleasha je u tome što ne postoji idealan labirint: u igri ima toliko vrsta monstruma da će na neki način netko od njih proći neometano kroz neki dio labirinta. Svaki labirint potrebno je prilagoditi novim monstrumima koje puštaju drugi igrači. Tako je bilo potrebno ne samo poučiti umjetnu inteligenciju kako graditi labirinte, već i kako stvarati učinkovite labirinte za razne scenarije koji se mogu pojaviti u ranijim i kasnijim verzijama igre.

Također, AI je trebao naučiti izračunati koji će monstrumi pojaviti u labirintu. Ovo je svojevrsni obrnuti problem u odnosu na izgradnju labirinta. Kao i u mnogim drugim igrama, u Unleashu nije dovoljno samo stvoriti vojsku i poslati je u redove neprijatelja: također je potrebno špijunirati neprijateljsku obranu i tako strukturirati vojsku da se maksimalno učinkovito napadne ključne točke protivnika. Armija monstruma treba međusobno surađivati na način koji omogućava najbolje probijanje kroz labirint. Ponekad je također potrebno pustiti monstrume u određenom redoslijedu, ovisno o njihovim funkcijama i ulozi. To također povećava broj različitih kombinacija.

Na kraju, budući da igrač mora istovremeno stvarati labirinte i okupljati vojsku čudovišta, i AI treba naučiti pronaći ravnotežu između napada i obrane. Također, treba uzeti u obzir da što više igrač gradi vojsku čudovišta i labirint, to su mu potrebni veći resursi za to. Stoga je ispravna strategija napada izuzetno važna kako za ekonomiju tijekom igre, tako i za pobjedu u njoj. Kako bi se osigurala konkurentnost, AI mora znati rasporediti resurse tako da stvori moćnu vojsku čudovišta, a da pritom ne ugrozi snagu labirinta. Maksimalno ulaganje u čudovišta može biti ekonomski isplativo, ali povećava rizik od osvajanja labirinta od strane protivničkih čudovišta. Ako se pak odluči na jačanje obrane labirinta, to može oslabiti vašu ekonomiju. Nijedan od ovih scenarija neće dovesti do pobjede. Tako da je problem optimizacije u Unleashed mnogo složeniji nego u slučaju šaha ili Starcrafta, i uključuje potrebu za žrtvovanjem nečega i procjenjivanjem svoje koristi nekoliko koraka unaprijed.

Kako AI napreduje, pojavljuje se mnoštvo ranije neuzetih problema. Naime, u početku je AI često dostizao određeni nivo razvoja, na kojem je počeo razumijevati neke aspekte igre — poput toga, koje oružje u labirintu je učinkovito protiv određenih tipova čudovišta ili koja čudovišta najbolje prolaze određenim dijelovima labirinta. Međutim, učenje je bilo sporo i dovelo je do razvoja monotonih strategija.

Potrebno je paralelnih pristupa

Dok je obuka AI-a temeljenog na strojnom učenju napredovala sporo i nije bila osobito uspješna, za druge faze testiranja i razvoja postao je potreban bolji AI te pouzdaniji konkurentski AI. Za njihovu realizaciju korištena je arhitektura Utility, pomoću koje je moguće stvarati specijalizirane AI za testiranje i provjeru kvalitete igre, unutarnje testove i balansiranje oružja i čudovišta te za stvaranje specifičnih labirinta i čudovišta. Ipak, tijekom razvoja Unleash, kreatori su usavršavali svoje vještine u njezinom prolasku, a zatim su odlučili iskoristiti stečeno znanje za izradu složenijeg Utility AI. Tako je postalo jasno da se mnogi problemi koji se javljaju u sustavima umjetne inteligencije temeljenim na strojnom učenju mogu lako riješiti pomoću Utility sustava koji koriste u njih ugrađeno znanje, i obrnuto.

Na primjer, učinkovitije labirinte bolje je graditi pomoću Utility AI-a koji se temelje na bazama znanja sastavljenim prema rezultatima unutarnjih testova. Lako se može opisati i programirati algoritam za izgradnju labirinta i raspored oružja u njemu na način koji bi bio lakši za obranu tornja od određenih čudovišta živom igraču. Međutim, stvaranje vojske čudovišta na temelju znanja o protivničkoj bazi bila je složena zadaća za takve AI, budući da je broj različitih uvjeta i kombinacija koje je trebalo uzeti u obzir bio nevjerojatan. S ovom vrstom arhitekture AI-a, pronalaženje odgovarajućih setova čudovišta trajalo bi beskrajno dugo. Tada bi, uz zadane ograničenja, duboko učenje bilo idealno rješenje za ovu zadaću.

Izrada hibridnih AI

Dakle, odlučio je da spoji dva pristupa i tako stvori hibridni sustav umjetne inteligencije temeljen na strojnom učenju i Utility. Ideja je bila da se gdje god je potrebno obraditi ogroman broj kombinacija i stanja igre, ili gdje je trebalo obučiti sustav, koristi strojno učenje. Za druge zadatke, gdje je bolje osloniti se na osobno iskustvo programera, angažirane su Utility sustave. Prednost ovog pristupa je također u tome što se po potrebi može bolje kontrolirati ponašanje AI-a kako bi se osiguralo njegovo točnije praćenje zadanog cilja. Na primjer, može se koristiti Utility AI za održavanje ravnoteže između napada i obrane i tako stvoriti različite razine agresije, ili se mogu kreirati različite konfiguracije labirinta za različiti AI kako bi oblikovali njihove individualne stilove igre. Također se mogu postaviti određeni sustavi vrijednosti za neuronske mreže kako bi se formirala različita preferencija pri odabiru zračnih ili kopnenih čudovišta, čime se individualnosti također dodaju različitim AI. Postoji još mnogo drugih opcija za implementaciju projektnih rješenja, a sve one naglašavaju snage određenih vrsta arhitekture AI-a.

Hibridni pristup također je bio odgovor na drugo pitanje s kojim su se programerski tim suočili prilikom razvoja umjetne inteligencije za Unleash: treba li primijeniti jedinstvenu globalnu duboku neuronsku mrežu temeljenu na strojnom učenju kako bi se uzeli u obzir svi ulazni i izlazni podaci, ili je bolje projektirati AI s hijerarhijskom strukturom?

Kako je strukturiran hibridni igrivi AI i koje su njegove prednosti
Dvije arhitekture korištene u Unleash: lijevo — velika duboka neuronska mreža s vlastitom jedinstvenom arhitekturom, desno — hijerarhijski sustav u kojem svaka mreža ima svoj zadatak.

I dalje bismo željeli stvoriti zajednički pristup sustavu umjetne inteligencije, u arhitekturu kojeg programeri ne bi ugrađivali vlastito iskustvo. Međutim, što su više ulazili u igru, to se više širila neuronska mreža. Pri tom nije bilo moguće odvojiti učenje AI-a i poučiti ih nečemu jednom: ili obrani ili napadu. Pojavila su se strahovanja da bi općenitiji pristup doveo do značajnog povećanja broja izračuna.

Odavde se pojavila ideja o stvaranju hijerarhijske arhitekture, gdje bi svaku konkretnu zadaću obavljala specijalizirana neuronska mreža. Prema ovoj ideji, umjetna inteligencija prvo mora donijeti odluku o raspodjeli resursa za napad (povećanje vojske čudovišta) i obranu (gradnja labirinta). Kada to učini, prelazi na sljedeću razinu u skladu sa svojim izborom i dobiva pristup potrebnom dijelu stanja igre, nakon čega donosi detaljne odluke o tome koje čudovište izabrati i kakvo oružje postaviti u labirintu.

Zaključak i sljedeći koraci

Kod hibridnog pristupa Utility AI sa mrežama temeljenim na strojnome učenju podsjeća na hijerarhijsku arhitekturu. A ona, pak, nalikuje biološkom mozgu, gdje različiti živčani centri odgovaraju za vlastitu zadaću.

Trenutno je AI protivnika u Unleash-u vrlo teško pobijediti: sposobni su prilagoditi se svakoj situaciji u igri, — ali istovremeno programeri mogu mijenjati njihove postavke prema vlastitom nahođenju. Prema autoru ovog članka, vremenom će hibridni pristup dobiti širu primjenu i pojaviti se u mnogim drugim igrama. Možda će jednog dana biti moguće implementirati čistu umjetnu inteligenciju temeljenu na strojnome učenju u igri. No očito je da će za to još trebati vremena. Do tada je cilj pronaći takvu arhitekturu koja će se sama prilagoditi pred njom postavljenim zadacima i pronaći optimalne načine njihove realizacije.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster