Në vazhdim të temës së ngritur dikur në blogun tonë do të flasim për sa e aplikueshme është mësimi i makinerisë në këtë fushë dhe në çfarë forme. Ekspert për çështjet e IA në Apex Game Tools, Jakob Rasmussen, do të ndSharejë përvojën e tij dhe zgjidhjet e bazuara në të. ekspert i çështjeve të AI në Apex Game Tools Jakob Rasmussen.

Në vitet e fundit, ka pasur shumë biseda rreth asaj se si mësimi i makinerisë do të ndryshojë rrënjësisht industrinë e lojërave, sepse kjo teknologji tashmë është bërë revolucionare në shumë aplikacione të tjera dixhitale. Por nuk duhet harruar se lojërat janë shumë më komplekse se sa një simulator makine, një program për menaxhimin e dronëve ose algoritme për njohjen e fytyrave në imazhe.
Ndërsa industria e lojërave ende preferon të përdorë metoda tradicionale të IA, siç janë metodat e automatikëve të fundmë, pemët e sjelljes dhe, së fundi, gjithnjë e më shpesh, IA e bazuar në utilitet (sistemet e bazuara në ndihmë). Këto IA quhen gjithashtu IA të dizajnuar ose sisteme ekspertizë. Por po bëhet gjithnjë më e qartë—dhe për lojtarët në radhë të parë—se këto sisteme po bëhen gjithnjë e më pak të përshtatshme për krijimin e kundërshtarëve të avancuar që mund të imitojnë sjelljen e lojtarëve. Kjo vlen sidomos për zgjidhjet kreative. Kjo mund të shpjegohet me faktin se zhvilluesit e inteligjencës artificiale nuk janë në gjendje të marrin parasysh të gjitha taktikat dhe strategjitë e sjelljes dhe t'i realizojnë ato me sukses në sistemet tradicionale të IA. Për lojtarët, kjo shpesh shfaqet si një përvojë e mërzitshme dhe e parashikueshme kur luajnë me një kundërshtar të cilin e zbulojnë lehtë.
Ky rezultat vjen si pasojë e shumë arsyeve, por një nga shkaqet kryesore është paaftësia e IA për të mësuar. Prandaj, kur krijohet inteligjenca artificiale për kundërshtarët, natyrshëm aderon zgjidhja e kalimit në mësimin e makinerisë, i cili ka pasur rezultate të shkëlqyera në shumë aplikacione të tjera. Por ka disa nuanca që duhen marrë parasysh. Kështu, IA e lojërave duhet të jetë në gjendje të adaptohet ndaj çdo situate dhe të përdorë përfitimet që ajo i sjell, si dhe t'u përshtatet stileve të ndryshme të lojës së kundërshtarëve—lojtarë të gjallë dhe IA të tjera.
Si si ndodhin gjërat tani
Kompania britanike DeepMind, e angazhuar në zhvillimin e inteligjencës artificiale, së fundmi tregoi se si IA mund të mësojë vetë të luajë lojëra, të mësojë rregullat dhe të gjejë mënyra për të përfunduar lojën ose për të fituar—eshte e vërtetë, deri tani vetëm për lojëra të thjeshta, si lojërat —për shembull, shpella dhe loja logjike japoneze go. Rezultatet e arritura për to tregojnë se inteligjenca artificiale është në gjendje të formojë një vlerësim të qartë për atë që po ndodh në fushën e lojës. Nëse flasim për adaptimin e IA ndaj stileve të ndryshme të lojës së kundërshtarëve, rezultatet deri tani nuk janë aq impresive.
Në ditët e sotme, rrjetet nervore tashmë kanë mësuar të njohin imazhet dhe të drejtojnë makina. Por këto funksione mund të realizohen edhe me arkitektura relativisht të thjeshta, edhe nëse si rezultat ato do të rezultojnë mjaft të thella dhe të mëdha. Për shembull, IA për njohjen e imazheve në Facebook ka një thellësi prej rreth 100 shtresash, duke e bërë atë të ngjashme me trurin biologjik—për numrin dhe kompleksitetin e ndërveprimeve midis neuroneve që formojnë një rrjet të madh.
IA e lojërave
Sa i përket përdorimit të mësimit të makinerisë në industrinë e lojërave, ekzistojnë disa kufizime që nuk lejojnë gjithmonë përdorimin e këtij lloji të arkitekturës. Këto përfshijnë kërkesat sistemore, të cilat lidhen posaçërisht me CPU-në, të cilat përcaktojnë aftësinë e kompjuterit për të përpunuar struktura komplekse lojrash dhe përshtatshmërinë e tij për tregimin e lojërave dhe gameplay.
Kështu, rezulton se në shumë lojëra nuk ka mundësi për të zhvilluar një sistem komplekse të inteligjencës artificiale falë infrastrukturës së nevojshme dhe, akoma më shumë, një klaster serverash, i cili ekziston, për shembull, për rrjetet e njohjes së imazheve në Facebook. Ndonjëherë, disa IA gjithashtu duhet të punojnë paralelisht—jo vetëm në kompjuterë, por edhe në pajisje mobile dhe në platforma më pak produktive. E gjithë kjo imponon kufizime në madhësinë dhe kompleksitetin e arkitekturës së mësimit të makinerisë, sepse të gjitha llogaritjet gjithashtu duhet të realizohen me një afat kohor prej rreth 1 ose 2 milisekondash. Sigurisht, mund të përdoren teknologji të ndryshme optimizimi dhe shpërndarjeje të ngarkesës midis кадrove, por ende nuk bëhet e mundur që të eliminohen plotësisht këto kufizime.
Problemet serioze për AI mund të shkaktohet nga kompleksiteti i lojës. Në lojëra si StarCraft II, mekanika e lojës është shumë më e ndërlikuar se ajo e lojërave Atari. Prandaj, nuk duhet pritur që, me një frekuencë kadrash të caktuar dhe me kërkesat e njohura të sistemit, mësimi makinë të përballojë të studiuar të gjitha gjendjen e lojës në mënyrë të plotë dhe të mund të ndërveprojë me të. Ashtu si një lojtar shpesh drejtohet nga intuicioni në fazat e hershme të lojës, AI gjithashtu duhet të mësojë përpunimin fillestar të gjendjes së lojës për të lehtësuar kalimin e mëtejshëm. Për shembull, në një nga të fundit në hartat shfaqet vetëm ajo informacion që zhvilluesit e konsiderojnë të rëndësishëm: në një rast AI përdorte një pamje të zvogëluar të gjithë territorit të hartës, ndërsa në rastin tjetër, si një lojtar, ai mund të lëvizte kamerën dhe atëherë perceptimi i tij kufizohej në informacionin në ekran.

Vizualizimi i lojës AI AlphaStar kundër lojtarit në StarCraft II: në ekran shfaqen "të dhënat" fillestare të vëzhgimeve, aktiviteti i rrjetit neural, disa nga veprimet e mundshme dhe koordinatat, si dhe rezultati i parashikuar i ndeshjes.
Ky është një aspekt veçanërisht aktual në rastin e lojërave. Shpesh, metodat e zakonshme të zgjidhjes së problemeve të mësimit të makinerive nuk janë të zbatueshme për inteligjencën artificiale të lojës. Për shembull, zakonisht ai nuk është i detyruar të fitojë ose të bëjë gjithçka për të siguruar fitoren, siç ndodhte në rastet e lojërave Atari. Më shpesh, roli i AI është të bëjë kalimin e lojës më tërheqës. Ai mund të ketë nevojë të luajë një rol dhe të sillet ashtu siç e kërkon karakteri për të cilin është përgjegjës. Në këtë mënyrë, AI-të e lojës janë më shumë të lidhur me dizajnin e lojës dhe tregimin e historisë dhe duhet të kenë mjetet e nevojshme për të menaxhuar sjelljen e tyre për të arritur qëllimin e caktuar. Mësimi i makinerive në formë të pastër nuk është gjithmonë i përshtatshëm për këtë — prandaj, është e nevojshme të kërkohet një zgjidhje tjetër.
Problemet praktike të mësimit të makinerive
Këto probleme dolën gjatë zhvillimit të inteligjencës artificiale të bazuar në mësimin e makinës për , ku AI duhet të sillet si lojtarët e zakonshëm — pra, të jetë po aq fleksibël dhe shpikës.
Si në Starcraft II, Unleashed është shumë më e ndërlikuar se shahu dhe go për Atari. Procesi i lojës është intuitiv dhe lehtësisht i zotëruari, por për të arritur vërtet sukses, nevojiten disa aftësi menaxhimi të metave. Lojtari duhet të ndërtojë labirinte, të dërgojë monsters mbi armiqtë dhe të zhvillojë strategjinë e tij për ekonominë, sulmin dhe mbrojtjen e strukturave gjatë gjithë lojës. Për këtë, ai duhet të përgënjeshtrojë dhe të parashikojë lëvizjet e të tjerëve, si dhe të menaxhojë metafikën psikologjike — pikërisht ajo e bën pokerin diçka më shumë se një lojë statistike.

Screenshot nga Unleashed
Në kërkim të arkitekturës më të përshtatshme për këto qëllime, në fillim lojës i u hapën teknologjitë si dhe mësimi i thellë, dhe u verifikua se si do të paraqiteshin në formë të papërpunuar si një AI kundërshtar.
Ishte e tmerrshme.
Shpejt u bë e qartë se në Unleashed duhet të zgjidhen shumë probleme globale, për të cilat është e vështirë të përshtatet mësimi i makinës.
Një prej tyre është ndërtimi i një labirinti efektiv. Si në shumë lojëra që kanë si qëllim mbrojtjen e kullës, këtu lojtarët duhet të ndërtoshin një labirint përreth saj, përmes të cilit do të kalojnë monsters. Ata, nga ana e tyre, duhet të eliminohen me armët e vendosura në labirint. Idealisht, labirinti duhet të jetë sa më i gjatë për të mundur të dëmtojë të mjaftueshëm monsters dhe për të mos lejuar ata të arrijnë tek kulla. Për disa lloje armësh, monsters janë më të ndjeshëm se për të tjerat, prandaj për më shumë efikasitet, ato duhet të vendosen në labirint para të tjerave. Veçoria e Unleash është se nuk ekziston një labirint ideal: në lojë ka kaq shumë lloje monsters që ndonjëherë dikush nga ata do të kalojë pa pengesa nëpër ndonjë pjesë të labirintit. Çdo labirint duhet të përshtatet për monsters e reja që lëshohen nga lojtarë të tjerë. Prandaj, ishte e nevojshme të mësohej inteligjenca artificiale jo vetëm të ndërtonte labirinte, por të mësohej të krijonte labirinte efektive për skenarë të ndryshëm, me të cilat mund të përballej si në versionin e hershëm ashtu edhe në atë të vonshëm të lojës.
Po të njëjtën mënyrë, AI duhet të mësojë të parashikojë se cilët monstra do të shfaqen në labirint. Kjo është një lloj problemi i kundërt në krahasim me ndërtimin e labirintit. Ashtu si në shumë lojëra të tjera, në Unleash nuk mjafton thjesht të rritësh ushtrinë dhe ta dërgosh atë në kampin armik: është gjithashtu e nevojshme të spiunosh mbrojtjen armike dhe të strukturosh ushtrinë në mënyrë që të godasësh sa më efektivisht pikat e dobëta të kundërshtarit. Ushtria e monstruve duhet të bashkëpunojë në mënyrë që të kalojë me sukses përmes labirintit. Ndonjëherë është e nevojshme të lëshesh monstrat në rend të caktuar në varësi të funksioneve dhe rolit të tyre. Kjo gjithashtu rrit numrin e kombinimeve të ndryshme.
Më në fund, duke qenë se lojtari duhet të krijojë labirintet dhe të mbledhë ushtrinë e monstruve, AI gjithashtu duhet të mësojë të gjejë një balancë midis sulmit dhe mbrojtjes. Duhet gjithashtu të merren parasysh që sa më shumë që lojtari rrit ushtrinë e monstruve dhe sa më shumë ndërtuar labirint, aq më shumë resurse i nevojiten atij. Prandaj, një strategji e duhur sulmi është jashtëzakonisht e rëndësishme si për ekonominë gjatë lojës ashtu edhe për fitoren. Dhe për të siguruar konkurrueshmëri, AI duhet të jetë i aftë të menaxhojë burimet në mënyrë që të krijojë një ushtri të fuqishme monstrush, pa e rrezikuar forcën e labirintit. Investimi maksimal në monstra mund të jetë ekonomikisht i dobishëm, por kjo rrit rrezikun e kapjes së labirintit nga monstrut e armikut. Nëse vendosni të forconi mbrojtjen e labirintit, kjo mund të dëmtojë ekonominë tuaj. Asnjë nga këto skenarë nuk do të çojë në fitore. Kështu, problemi i optimizimit në Unleash është më i gjerë se në rastin e shahut ose Starcraft, dhe përfshin nevojën për të sakrifikuar diçka dhe për të parashikuar përfitimin tuaj disa hapa përpara.
Me mësimin e inteligjencës artificiale, shfaqen shumë probleme që nuk ishin marrë parasysh më parë. Në fillim, AI shpesh arrinte një nivel të caktuar zhvillimi, ku fillonte të kuptonte disa aspekte të lojës - për shembull, cilat armë në labirint janë efektive kundër tipeve të caktuara të monstruve ose cilat monstru janë më të përshtatshëm për të kaluar disa pjesë të labirintit. Por mësimi ishte i ngadaltë dhe çonte në krijimin e strategjive monotone.
Nevoja për qasje paralele
Ndërsa mësimi i AI-ve të bazuara në mësimin e makinerisë po përparonte ngadalë dhe nuk rezultonte shumë me sukses, për etapa të tjera të testimit dhe zhvillimit ishte e nevojshme një AI më i mirë dhe AI konkurruese më të besueshme. Për realizimin e tyre u përdor arkitektura Utility, që e mundëson krijimin e AI-ve të veçanta për testimin dhe verifikimin e cilësisë së lojës, testimeve brenda lojës dhe balancimit të armëve dhe monstruve, si dhe krijimin e labirinteve dhe monstruve specifike. Megjithatë, gjatë zhvillimit të Unleash, krijuesit vetë patën përmirësuar aftësitë e tyre në kalimin e saj, dhe më pas vendosën të përdorin njohuritë e fituara për të krijuar një Utility AI më të avansuar. Kështu, u kuptua se shumë probleme që shfaqen në sistemet e inteligjencës artificiale të bazuara në mësimin e makinerisë mund të zgjidhen lehtësisht me ndihmën e sistemeve Utility që përdorin njohuritë e vendosura në to, dhe anasjelltas.
Për shembull, labirintet më efektive është më mirë t'i ndërtosh me anë të AI Utility, të bazuara në bazat e njohurive të formuara nga rezultatet e testeve të brendshme. Është e lehtë të përshkruash dhe programosh një algoritëm për ndërtimin e labirintit dhe vendosjen e armëve në të në mënyrë që të ishte më e lehtë për një lojtar të mbrojë kullën nga monstru të caktuar. Por krijimi i një ushtrie monstru në bazë të njohurive për bazën e armikut është një detyrë e komplikuar për këto AI, pasi numri i kushteve dhe kombinimeve që duhet të merren parasysh ishte i frikshëm. Me këtë lloj arkitekture, kërkimi i grupeve të përshtatshme të monstruve do të zgjaste pafundësisht. Në këto rrethana, e mësuara e thellë do të ishte zgjidhja ideale për këtë detyrë.
Krijimi i AI-ve hibride
Praefat, u deshtua që të bashkohen dy qasje dhe kështu të krijohet një sistem hibrid të inteligjencës artificiale të bazuar në mësimin e makinerive dhe Utility. Ideja ishte që atje ku ishte e nevojshme të përpunoheshin sasi të mëdha kombinimesh dhe gjendjesh të lojës, ose ku kërkohej që ajo të mësohej diçka, të përdorej mësimi i makinerive. Për detyra të tjera, ku ishte më mirë të mbështeteshim në përvojën personale të zhvilluesve, u angazhuan sistemet Utility. Avantazhi i kësaj qasje është gjithashtu se, nëse nevojitet, mund të kontrollohet më mirë sjellja e AI-së për të siguruar që ajo të ndjekë saktësisht qëllimin e caktuar. Për shembull, mund të përdoret Utility AI për të siguruar ekuilibrin midis sulmit dhe mbrojtjes dhe kështu të krijohen nivele të ndryshme agresiviteti, ose mund të krijohen konfiguracione të ndryshme labirintesh për AI të ndryshme, për të formuar për to stile individuale të lojës. Gjithashtu, mund të caktohen rrjeteve nervore disa sisteme vlerash për të formuar preferenca të ndryshme në përzgjedhjen e monstrave ajrore ose tokësore dhe në këtë mënyrë të përshtaten individualitetet për AI të veçanta. Ka shumë mundësi të tjera për realizimin e zgjidhjeve projektore, dhe të gjitha ato nënvizojnë pikat e forta të çdo lloj arkitekture të AI-së.
Qasja hibride gjithashtu ishte përgjigje ndaj një pyetje tjetër që u paraqit për ekipin e zhvilluesve gjatë procesit të zhvillimit të inteligjencës artificiale për Unleash: a duhet të aplikojmë një rrjet të thellë global të vogël të bazuar në mësimin e makinerive për të marrë parasysh të dhënat hyrëse dhe dalëse, apo është më mirë të projektosh AI me një strukturë hierarkike?

Dy arkitekturat e përdorura në Unleash: majtas — një rrjet i madh i thellë me një arkitekturë të vetme, djathtas — një sistem hierarkik ku çdo rrjet ka detyrën e vet.
Megjithatë, ishte e dëshirueshme të krijohej një qasje e përgjithshme për sistemin e inteligjencës artificiale, në arkitekturën e të cilit zhvilluesit nuk do të inkuadrojnë përvojën e tyre personale. Megjithatë, sa më shumë hyrje të bëheshin në lojë, aq më tepër rritej rrjeti nervor. Në këtë rast, nuk ishte e mundur të ndaheshin mësimi i AI-së dhe të mësonin diçka të vetme: apo mbrojtjen, apo sulmin. Dhe shfaqeshin shqetësime se një qasje më e përgjithshme do të çonte në një rritje të konsiderueshme të numrit të llogaritjeve.
Pra, lindi ideja për të krijuar një arkitekturë hierarkike, në të cilën çdo detyrë specifike do të realizohej nga një rrjet i specializuar nervor. Sipas kësaj ideje, fillimisht inteligjenca artificiale duhet të marrë një vendim për shpërndarjen e burimeve në sulm (rritjen e ushtrisë së monstrave) dhe mbrojtje (ndërtimin e labirintit). Pikërisht pasi bën këtë, kalon në katin tjetër sipas zgjedhjes së tij dhe merr akses në pjesën e nevojshme të gjendjes së lojës, pas së cilës merr vendime të detajuara për se cilat monstër të zgjedhë dhe çfarë arme të vendosë në labirint.
Përfundimi dhe hapat e ardhshëm
Me një qasje hibride, Utility AI me rrjetet e tij të bazuara në mësimin e makinerive ngjan me arkitekturën hierarkike. Dhe kjo, nga ana e saj, është e ngjashme me trurin biologjik, ku qendrat e ndryshme nervore përgjigjen për çdo detyrë.
Tani, AI i armikut në Unleash është shumë e vështirë për t'u mposhtur: ata janë në gjendje të përshtaten me çdo situatë në lojë, — por megjithatë zhvilluesit mund të ndryshojnë parametrat e tyre sipas dëshirs. Sipas autorit të artikullit, me kalimin e kohës, qasja hibride duhet të përfshijë më shumë dhe të shfaqet në shumë lojëra të tjera. Ndoshta një ditë do të jetë e mundur të integrohet një inteligjencë artificiale e bazuar në mësimin e makinerive në mënyrë të pastër në procesin e lojës. Por, është e qartë se për këtë do të nevojitet ende kohë. Për momentin, qëllimi është të gjendet një arkitekturë e tillë që përshtatet vetë me detyrat që ka përpara dhe gjen mënyra optimale për t'i zgjidhur ato.
Burimi: habr.com
