Ndërsa vazhdojmë temën që kemi shtruar dikur në blogun tonë do të flasim për sa e aplikueshme është mësimi i makinerisë për të dhe në çfarë forme. Përvojën e tij dhe zgjidhjet e zgjedhura mbi këtë bazë eksperti i çështjeve të IA në Apex Game Tools, Jakob Rasmussen.

Në vitet e fundit, ka pasur shumë diskutime se mësimi i makinerisë do të ndryshojë rrënjësisht industrinë e lojërave, pasi kjo teknologji tashmë ka bërë përparime të mëdha në shumë aplikacione të tjera digjitale. Por nuk duhet të harrojmë se lojërat janë shumë më komplekse se një simulues i vozitjes, një program për menaxhimin e droneve ose algoritmet për njohjen e fytyrave në imazhe.
Ndërkohë që industria e lojërave vazhdon të përdorë metoda tradicionale të IA-së, si metoda e automatave të fundme, drurët e sjelljes dhe — kohët e fundit gjithnjë e më shpesh — IA e bazuar në utilitet (sistemet e bazuara në dobi). Këto IA quhen gjithashtu IA të bazuar në dizajn ose sisteme ekspertizë. Por po bëhet gjithnjë e më e qartë — sidomos për lojtarët — se këto sisteme janë gjithnjë e më pak të përshtatshme për krijimin e armikëve vërtet të avancuar, të aftë për të imituar sjelljen e lojtarëve. Kjo është veçanërisht e vërtetë për zgjidhjet krijuese. 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 mundshme të sjelljes dhe të realizojnë me sukses ato në sistemet tradicionale të IA-së. Për lojtarët, kjo shpesh bëhet monotone dhe e parashikueshme të luash me një armik, linja e sjelljes së të cilit është lehtësisht e memorizueshme.
Ky rezultat vjen për shumë arsye, por një nga arsyet kryesore është pamundësia e IA-së për të mësuar. Prandaj, kur krijojmë inteligjencën artificiale të armikut, automatikisht na vjen në mendje zgjidhja e kalimit në mësimin e makinerisë, i cili ka treguar rezultate të shkëlqyera në shumë aplikacione të tjera. Por ka disa nuanca që duhet të merren parasysh. Sidoqoftë, IA e lojërave duhet të jetë në gjendje të adaptohet në çdo situatë dhe të shfrytëzojë avantazhet që ajo i ofron, si dhe të përshtatet me stile të ndryshme loje të kundërshtarëve — lojtarë të gjallë dhe IA të tjera.
Si është situata tani
Kompania britanike DeepMind, e cila merret me zhvillimin e inteligjencës artificiale, kohët e fundit tregoi se si AI mund të mësojë vetë të luajë lojëra, të shpjerë rregullat e tyre dhe të gjejë mënyra për të kaluar lojën ose për të fituar — deri tani, vetëm si shembuj me lojëra të thjeshta, si lojërat e hershme. — siç janë, për shembull, shahu dhe loja japoneze logjike go. Rezultatet e fituara për to tregojnë se inteligjenca artificiale është në gjendje të formulojë një vlerësim të përshtatshëm për atë që po ndodh në fushën e lojës. Nëse flasim për adaptimin e AI ndaj stileve të ndryshme të lojës së kundërshtarit, rezultatet deri tani nuk janë aq impresionuese.
Në ditët e sotme, rrjetet neurale kanë mësuar tashmë të njohin imazhe dhe të drejtojnë automjetet. Por këto funksione mund të realizohen gjithashtu duke përdorur arkitektura relativisht të thjeshta, edhe nëse përfundimisht ato rezultojnë të jenë mjaft të thella dhe të mëdha. Për shembull, AI për njohjen e imazheve në Facebook ka thellësi rreth 100 shtresash, duke e bërë atë të ngjashëm me trurin biologjik — për sa i përket numrit dhe kompleksitetit të lidhjeve midis neuroneve që formojnë një rrjet të madh.
AI në lojëra
Sa i përket aplikimit të mësimit të makinerive në industrinë e lojërave, këtu ekzistojnë disa kufizime, për shkak të të cilave nuk është gjithmonë e mundur të përdorin këtë lloj arkitekture. Këto përfshijnë kërkesat sistemore, veçanërisht ato që lidhen me CPU-në, të cilat përcaktojnë aftësinë e kompjuterit për të përpunuar strukturën e ndërlikuar të lojës dhe përshtatshmërinë e tij për tregimin e lojërave dhe lojën.
Kështu del që në shumë lojëra për të realizuar një sistem të avancuar të inteligjencës artificiale, nuk ka mundësi të organizohet ose pajisja e nevojshme harduerike dhe aq më pak një grup serverësh, siç ekziston, për shembull, për rrjetet e njohjes së imazheve në Facebook. Ndonjëherë, disa IA duhet të punojnë në të njëjtën kohë — dhe jo vetëm në kompjuterë, por edhe në pajisje mobile dhe në platforma më pak të fuqishme. Të gjitha këto vendosin kufizime mbi përmasat dhe kompleksitetin e arkitekturës së mësimit të makinerive, pasi të gjitha llogaritjet do të kryhen gjithashtu me një kohë të gjatë kornizash prej rreth 1 ose 2 milisekondash. Natyrisht, mund të përdoren teknologji të ndryshme optimizimi dhe shpërndarje e ngarkesës midis kornizave, por megjithatë nuk arrijmë të heqim plotësisht këto kufizime.
Problemet serioze për IA mund të shkaktohen nga kompleksiteti i lojës. Sepse në lojëra të tilla si, për shembull, StarCraft II, mekanika e lojës është shumë më e komplikuar se në lojërat Atari. Prandaj, nuk duhet pritur që me një frekuencë të dhënash të caktuar dhe me kërkesat e njohura sistemike, mësimi i makinës të ketë mundësi të studiojë të gjithë shtetin e lojës si një tërësi dhe të ndërveprojë me të. Ashtu si një lojtar shpesh drejtohet nga intuita në fazat e hershme të lojës, ashtu dhe IA duhet të mësojë përpunimin fillestar të gjendjes së lojës për ta thjeshtësuar kalimin e saj të mëtejshëm. Për shembull, në një nga të fundit në harta shfaqet vetëm ajo informacion që zhvilluesit e konsideruan të rëndësishëm: në një rast, IA përdori një pamje të reduktuar të gjithë territorit të hartës, në rastin tjetër — si një lojtar, ai mund të lëvizte kamerën, dhe kështu perceptimi i tij kufizohej në informacionin në ekran.

Vizualizimi i lojës IA AlphaStar kundër lojtarit në StarCraft II: në screenshot janë të paraqitura "vëzhgimet" e papërpunuara fillestare, aktiviteti i rrjetit العصبي, disa nga veprimet e mundshme të tij dhe koordinatat, si dhe rezultati i parashikuar i ndeshjes.
Kyçë i rëndësishëm ky është në rastin e lojërave. Shpesh herë, metodat e zakonshme të zgjidhjes së problemeve të mësimit të makinerive nuk janë të aplikueshme për inteligjencën artificiale të lojërave. Për shembull, zakonisht nuk është e detyruar të fitojë ose të bëjë gjithçka që është e mundur për të fituar, siç ndodhi me lojërat Atari. Më shpesh, roli i AI-së është që ta bëjë kalimin e lojës më emocionues. Ajo mund të duhet të luajë një rol dhe të sillet ashtu siç e parashikon karakteri i personazhit për të cilin është përgjegjës. Kështu, AI-të e lojërave janë më të lidhura me dizajnin e lojës dhe tregimin dhe duhet të kenë mjetet e nevojshme për të kontrolluar sjelljen e tyre për të arritur qëllimet e caktuara. Mësimi i makinerive në formën e tij të pastër nuk është gjithmonë i përshtatshëm për këtë — kështu që duhet të kërkohet diçka tjetër.
Problemet praktike të mësimit të makinerive
Këto probleme u shfaqën gjatë zhvillimit të inteligjencës artificiale të bazuar në mësimin e makinerive për , ku AI duhet të sillet si lojtarë normalë — domethënë, të jetë po aq fleksibël dhe shpikës.
Si Starcraft II, Unleashed është shumë më komplekse se shah dhe go për Atari. Procesi i lojës është intuitiv dhe lehtësisht i kuptueshëm, por për të arritur me të vërtetë sukses, nevojiten disa aftësi për të menaxhuar metën. Lojtari duhet të krijojë labirinthe, të nxisë monstruozitetin ndaj armiqve dhe të planifikojë strategjinë e tij në ekonomi, sulm dhe mbrojtje gjatë gjithë lojës. Për këtë, ai duhet të gënjejë dhe të parashikojë lëvizjet e tjerëve, si dhe të menaxhojë metën psikologjike — kjo 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, teknologjitë si dhe mësimi i thellë u inkorporuan fillimisht në lojë në një formë praktikisht të pandryshuar dhe u testuan se si do të performonin ndryshe si AI kundërshtar.
Ishte katastrofike.
Shpejt u bë e qartë se në Unleashed duhej të zgjidhnim shumë probleme globale, për të cilat ishte e vështirë të përshtatej mësimi i makinerive.
Një nga to është ndërtimi i një labirinti efektiv. Ashtu si në shumë lojëra, ku qëllimi është mbrojtja e kullës, këtu lojtarët duhet të ndërtojnë një labirint përreth saj, përmes të cilit do të depërtojnë monstruozët. Atyre, nga ana tjetër, duhet t'u bëhet ballë me armët, të shpërndara në labirint. Idealisht, labirinti duhet të jetë sa më i gjatë të jetë e mundur, për të pasur kohë për t'u shkaktuar monstruozëve një sasi të mjaftueshme dëmi dhe për të mos u lejuar atyre të arrijnë kullën. Për disa lloje armësh, monstruozët janë më të ndjeshëm sesa për të tjerat, prandaj për një efikasitet më të madh, vlen t'i vendosni ato në labirint para të tjerave. Karakteristika e Unleash qëndron në faktin se nuk ekziston një labirint ideal: në lojë ka kaq shumë lloje monstruozësh, saqë ndonjë nga ata do të kalojë pa pengesa përmes ndonjë segmenti të labirintit. Çdo labirint duhet të adaptohet për monstrat e rinj, që lëshohen nga lojtarë të tjerë. Kështu, ishte e nevojshme jo vetëm të mësohej inteligjenca artificiale të ndërtojë labirintet — ishte e nevojshme t'i mësohej asaj të krijonte labirinte efektive për skenarë të ndryshëm, me të cilat mund të përballeshin si në versionin e hershëm ashtu edhe në atë të vonë të lojës.
Po ashtu, AI duhet të kishte mësuar të llogariste se cilët monstruozë do të shfaqeshin në labirint. Kjo është një lloj problemi tërthor në lidhje me ndërtimin e labirintit. Si në shumë lojëra të tjera, në Unleash nuk mjafton thjesht të rritësh ushtrinë dhe ta dërgosh atë në vendin e armikut: është gjithashtu e nevojshme që të spiunosh mbrojtjen armike dhe të strukturosh ushtrinë në mënyrë që të godasësh sa më efektivisht pika të ndjeshme të kundërshtarit. Ushtria e monstruozëve duhet të bashkëpunojë në mënyrë që të depërtojë me sukses përmes labirintit. Ndonjëherë është gjithashtu e nevojshme të lëshohen monstruozët në një renditje të caktuar në varësi të funksioneve dhe rolit të tyre. Kjo gjithashtu rrit numrin e kombinimeve të ndryshme.
Në fund, ndërsa lojtari duhet të krijojë labirinte dhe të grumbullojë një ushtri monstruozësh, AI gjithashtu duhet të mësojë të gjejë balancën midis sulmit dhe mbrojtjes. Gjithashtu, duhet të merret parasysh se sa më shumë që lojtari të rrisë ushtrinë e monstruozëve dhe sa më shumë të ndërtojë labirentin, aq më shumë burime i nevojiten për këtë. Prandaj, një strategji e duhur sulmi është jashtëzakonisht e rëndësishme si për ekonominë gjatë lojës ashtu edhe për fitore në të. Për të siguruar konkurrencën, AI duhet të dijë si të menaxhojë burimet në mënyrë që të krijojë një ushtri të fuqishme monstruozësh pa vënë në rrezik forcën e labirintit. Investimi maksimal në monstruozë mund të jetë ekonomikisht fitimprurës, por rrit rrezikun e kapjes së labirintit nga monstruozët e kundërshtarit. Nëse bëni bast në forcimin e mbrojtjes së labirintit, kjo mund të dëmtojë ekonominë tuaj. Asnjëra nga këto skenarë nuk do të çojë në fitore. Kështu, problemi i optimizimit në Unleashed rezulton të jetë më kompleks se në rastin e shahut ose Starcraft dhe përfshin nevojën për të sakrifikuar diçka dhe për të llogaritur përfitimin tuaj disa hapa përpara.
Gjatë trajnimit të inteligjencës artificiale shfaqen shumë probleme që nuk ishin marrë parasysh më parë. Në fillim, AI shpesh arrinte një nivel të caktuar zhvillimi, në të cilin fillonte të kuptonte disa aspekte të lojës — për shembull, cilat arme në labirint janë efektive kundër llojeve të caktuara të monstruozëve ose cilët monstruozë kalojnë më mirë në disa pjesë të labirintit. Por trajnimi ishte i ngadalshëm dhe çonte në zhvillimin e strategjive të ngjashme.
Nevoja për qasje paralele
Ndërsa trajnimi i inteligjencës artificiale të bazuar në mësimin e makinerive u zhvillua ngadalë dhe nuk ishte shumë i suksesshëm, për faza të tjera të testimit dhe zhvillimit u bë e nevojshme një inteligjencë artificiale më e mirë dhe inteligjencë konkurruese më të besueshme. Për realizimin e tyre u përdor arkitektura Utility, me anë të së cilës mund të krijohen inteligjenca artificiale specifike për testimin dhe verifikimin e cilësisë së lojës, teste të brendshme të lojës dhe balancimin e armëve dhe monsterave, si dhe krijimin e labirinteve dhe monsterave specifikë. Megjithatë, gjatë zhvillimit të Unleash, krijuesit vetë shpërblenin aftësitë e tyre në kalimin e saj, dhe më pas vendosën të përdorin njohuritë e marra për të krijuar një inteligjencë Utility më të avancuar. Kështu u bë e qartë se shumë prej problemeve që paraqiten në sistemet e inteligjencës artificiale të bazuara në mësimin e makinerive mund të zgjidhen lehtësisht me anë të sistemeve Utility që përdorin njohuritë e integruara në to, dhe anasjelltas.
Për shembull, labirintet më efikase mund të ndërtohen më mirë me ndihmën e inteligjencës Utility që bazohet në bazat e njohurive të mbledhura 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ë një mënyrë, siç do të ishte më e lehtë për një lojtar të mbrojë një kullë nga monsterat specifikë. Ndërsa krijimi i një arme monsterash mbi bazën e njohurive mbi bazën e armikut paraqiti një sfidë të vështirë për këta inteligjenca, pasi numri i kushteve dhe kombinimeve të ndryshme që duhej të merreshin parasysh ishte marramendës. Me një lloj të tillë arkitekture, kërkimi i grupeve të përshtatshme të monsterave do të zinte një kohë të pafund. Atëherë, me kushtet e caktuara të dhëna, mësimi i thellë do të ishte zgjidhja ideale për këtë problem.
Krijimi i inteligjencave hibride
Pra ndaj, u vendos të kombinohen dy qasje dhe kështu të krijohet një sistem hibrid i inteligjencës artificiale i bazuar në mësimin e maqinerive dhe Utility. Ideja ishte se, atje ku ishte e nevojshme të përpunoheshin një sasi të madhe kombinimesh dhe gjendjesh të lojës, ose ku kërkohej të mësohej diçka, përdorej mësimi i maqinerive. 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 është e nevojshme, mund të kontrollohet më mirë sjellja e IA-s për të siguruar një ndjekje më të saktë të qëllimit të caktuar. Për shembull, mund të përdorim IA Utility për të siguruar një balancë midis sulmit dhe mbrojtjes dhe kështu të krijojmë nivele të ndryshme agresiviteti, ose mund të krijojmë konfiguracione të ndryshme të labirinteve për IA të ndryshme, për t'u formuar atyre stile të veçanta loje. Po ashtu, mund t'u caktomëmi rrjeteve nervore sisteme të caktuara vlerash për formimin e preferencave të ndryshme gjatë zgjedhjes së monstave ajrore ose tokësore dhe kështu gjithashtu të shtojmë individualitet për IA të veçanta. Ka ende shumë opsione të tjera për realizimin e zgjidhjeve të projektit, dhe të gjitha theksojnë pikat e forta të llojeve të ndryshme të arkitekturës së IA-s.
Qasja hibride gjithashtu ishte përgjigje ndaj një pyetjeje tjetër që i ishte paraqitur ekipit të zhvilluesve gjatë procesit të zhvillimit të inteligjencës artificiale për Unleash: a duhet të aplikohet një rrjet i thellë global i vetëm i bazuar në mësimin e maqinerive për të marrë parasysh të gjitha të dhënat hyrëse dhe dalëse, apo është më mirë të projektohet IA me një strukturë hierarkike?

Dy arkitektura që janë përdorur në Unleash: majtas — një rrjet i madh i thellë me një arkitekturë të vetme, djathtas — një sistem hierarkik, ku secila rrjet ka detyrën e saj.
Megjithatë, do të dëshironim të krijonim një qasje të përbashkët për sistemin e inteligjencës artificiale, në arkitekturën e të cilit zhvilluesit nuk do të integronin përvojën e tyre. Megjithatë, sa më shumë herë që hynte në lojë, aq më shumë rritej rrjeti nervor. Në këtë mënyrë, nuk ishte e mundur të ndaheshin trajnimi i AI-së dhe të mësonin diçka të vetme: ose mbrojtje, ose sulm. Dhe u shfaqën shqetësime se një qasje më e përgjithshme do të kishte një rritje të konsiderueshme të numrit të llogaritjeve.
Prej këtej lindi ideja për të krijuar një arkitekturë hierarkike, në të cilën çdo detyrë specifike do të kryhej nga një rrjet nervor i specializuar. Sipas kësaj ideje, fillimisht inteligjenca artificiale duhet të marrë një vendim për shpërndarjen e burimeve në sulm (rritja e ushtrisë së monstruzve) dhe mbrojtje (ndërtimi i labirintit). Pas vendimmarrjes, ajo kalon në shtresën tjetër sipas zgjedhjes së saj dhe merr akses në pjesën e nevojshme të gjendjes së lojës, pas së cilës merr vendime të detajuara për cilët monstruzë të zgjedhë dhe çfarë arme të vendosë në labirint.
Përfundimi dhe hapat e ardhshëm
Me qasjen hibride, Utility AI me rrjetet e tij të integruara në bazë të të mësuarit të makinerive ngjason me arkitekturën hierarkike. Kjo e fundit, nga ana tjetër, është e ngjashme me trurin biologjik, ku qendrat e ndryshme nervore përgjigjen secila për detyrat e veta.
Aktualisht, AI i armikut në Unleash është shumë e vështirë për tu mundur: ata janë në gjendje të përshtaten me çdo situatë në lojë, – por zhvilluesit mund të ndryshojnë cilësimet e tyre sipas dëshires. Sipas mendimit të autorit të artikullit, me kalimin e kohës qasja hibride duhet të bëjë më shumë përhapje dhe të shfaqet në shumë lojëra të tjera. Ndoshta, ndonjëherë do të jetë e mundur të integrohet inteligjenca artificiale e bazuar në të mësuarin e makinerive në mënyrë të pastër në procesin e lojës. Por, sigurisht, për këtë do të nevojitet ende kohë. Ndërkohë, qëllimi është të gjejmë një arkitekturë, e cila do të përshtatet vetë me detyrat që ka përpara dhe do të gjejë mënyrat optimale për t'i zgjidhur ato.
Burimi: habr.com
