Kuidas on korraldatud hĂŒbriidne mĂ€ngu tehisintellekt ja millised on selle eelised?

JÀtkates meie blogis kunagi tÔstatatud teemat mÀngu tehisintellektist , rÀÀgime, kui rakendatav on masinÔpe ning millisel kujul. Oma kogemuse ja valikute pÔhjal jagatud on tehisintellekti ekspert Apex Game Tools'is Jakob Rasmussen.

Kuidas on korraldatud hĂŒbriidne mĂ€ngu tehisintellekt ja millised on selle eelised?

Viimastel aastatel on tĂ”statatud palju arutelusid selle ĂŒle, et masinĂ”pe toob mĂ€ngutööstusesle suuri muutusi, sest see tehnoloogia on juba paljude muude digitaalse rakenduse puhul lĂ€birÀÀkimise hetkel. Kuid Ă€rgem unustagem, et mĂ€ngud on palju keerukamad kui auto juhtimise simulaator, drooni juhtimise programm vĂ”i nĂ€otuvastus algoritmid pildil.

Praegu mĂ€ngutööstuses kasutatakse endiselt traditsioonilisi tehisintellekti meetodeid, nagu lĂ”ppautomaatide meetod, kĂ€itumispuud ja — ĂŒha enam — kasu pĂ”hine tehisintellekt (kasutuse hoidvad sĂŒsteemid). Selliseid tehisintellekte nimetatakse ka disaini pĂ”histeks (tehisdisaini intellekt) vĂ”i ekspert-sĂŒsteemideks. Kuid jĂ€rjest selgemaks on saanud — eelkĂ”ige mĂ€ngijatele — et need sĂŒsteemid sobivad ĂŒha vĂ€hem tĂ”eliselt arenenud vastaste, kes suudaksid imiteerida mĂ€ngijate kĂ€itumist, loomiseks. EelkĂ”ige puudutab see loomingulisi lahendusi. Seda on vĂ”imalik selgitada sellega, et tehisintellekti arendajad ei suuda arvesse vĂ”tta kĂ”iki vĂ”imalikke taktikaid ja kĂ€itumistrateegiaid ning neid traditsioonilistes tehisintellekti sĂŒsteemides edukalt rakendada. MĂ€ngijate jaoks tĂ€hendab see sageli, et mĂ€ng vastasega, kelle kĂ€itumisjoon on kergesti meeles pidatav, muutub igavaks ja ettearvatavaks.

Selle tulemuseni viivad mitmed pĂ”hjus, kuid ĂŒks peamisi on tehisintellekti Ă”ppimisvĂ”ime puudumine. SeetĂ”ttu tuleb tehisintellekti arendamisel silmas pidada lahendust masinĂ”ppe suunas, mis on paljudes teistes rakendustes end tĂ”estanud. Siiski on mitmeid nĂŒansse, mida tasub arvesse vĂ”tta. Nimelt peab mĂ€ngu tehisintellekt suutma kohaneda iga olukorraga ja kasutama selle eeliseid, samuti olema vĂ”imeline kohanema erinevate vastaste mĂ€ngustiilidega — olgu need siis elavad mĂ€ngijad vĂ”i teised tehisintellektid.

Kuidas asjad praegu on

Briti ettevĂ”te DeepMind, mis tegeleb tehisintellekti arendamisega, tutvustas hiljuti, kuidas tehisintellekt suudab iseseisvalt mĂ€nge mĂ€ngida, omandada nende reegleid ja leida viise, kuidas mĂ€ng lĂ€bi mĂ€ngida vĂ”i selles vĂ”ita — tĂ”si kĂŒll, seni ainult lihtsate mĂ€ngude, nagu varasemad mĂ€ngud, nĂ€itel. Atari — nĂ€iteks ĆĄahh ja Jaapani loogikamĂ€ng go. Saadud tulemused nĂ€itavad, et tehisintellekt suudab endale luua adekvaatse hinnangu toimuvale mĂ€ngulaual. Kui aga rÀÀkida tehisintellekti kohandamisest erinevate vastaste mĂ€ngustiilidega, siis tulemused ei ole seni nii muljetavaldavad.

TĂ€napĂ€eval on nĂ€rvivĂ”rgud juba Ă”ppinud pilte Ă€ra tundma ja autosid juhtima. Kuid neid funktsioone saab rakendada ka suhteliselt lihtsate arhitektuuride abil, isegi kui lĂ”pptulemus on ĂŒsna sĂŒgav ja mahukas. NĂ€iteks Facebooki piltide tuvastamise tehisintellekt on ligikaudu 100 kihti sĂŒgav, mistĂ”ttu meenutab see bioloogilist aju — neuronite vaheliste seoste arv ja keerukus moodustavad ĂŒhe suure vĂ”rgu.

MĂ€ngu tehisintellekt

Mida puutub masinĂ”ppe kasutamisse mĂ€ngutööstuses, siis on siin mitmeid piiranguid, mis teevad keeruliseks selle arhitektuuri rakendamise. Nendeks on sĂŒsteeminĂ”uded, eelkĂ”ige CPU-ga seotud, mis mÀÀravad arvuti vĂ”ime töötelda keerulisi mĂ€ngustruktuure ning sobivuse mĂ€nguloome ja mĂ€ngimise jaoks.

Nii et paljude mĂ€ngude puhul ei ole keerulise tehisintellekti sĂŒsteemi rakendamiseks vĂ”imalik korraldada vajalikke riistvaravahendeid, rÀÀkimata serveriklustritest, nagu nĂ€iteks Facebooki pildituvastuse vĂ”rkudes. MĂ”nikord peab samaaegselt töötama mitu IAd — mitte ainult arvutites, vaid ka mobiilseadmetes ja teistel vĂ€hem vĂ”imsatel platvormidel. KĂ”ik see seab piirangud masinĂ”ppe arhitektuuri suurusele ja keerukusele, kuna kĂ”ik arvutused peavad toimuma 1 vĂ”i 2 millisekundi piires. Loomulikult on vĂ”imalik kasutada erinevaid optimeerimise ja koormuse jaotamise tehnoloogiaid, kuid nendest piirangutest ei suuda siiski tĂ€ielikult vabaneda.

AI vĂ”ib tĂ”siseid probleeme kohtuda mĂ€ngu keerukuse tĂ”ttu. NĂ€iteks, nagu StarCraft II, on mĂ€ngumehaanika kordades keerulisem kui Atari mĂ€ngudes. SeetĂ”ttu ei tasu oodata, et masinĂ”pe suudab antud kaadrisageduse ja teadaolevate sĂŒsteeminĂ”uetega tĂ€ielikult mĂ€ngu seisundit Ă”ppida ja sellega suhelda. Nii nagu mĂ€ngijad sageli juhinduvad oma intuitsioonist mĂ€ngu varasemates etappides, peab ka AI Ă”ppima mĂ€ngu seisundi algset töötlemist, et lihtsustada edasist mĂ€ngimist. NĂ€iteks ĂŒhes viimaste Starcraft II API kaartidel kuvatakse ainult see teave, mille arendajad on oluliseks pidanud: ĂŒhes juhul kasutas AI kogu kaardi territooriumi vĂ€hendatud vaadet, teises - nagu mĂ€ngija, sai ta kaamerat liigutada ja siis piirdus tema tajumine ekraanil oleva teabega.

Kuidas on korraldatud hĂŒbriidne mĂ€ngu tehisintellekt ja millised on selle eelised?
AI AlphaStar mÀngu visualiseerimine mÀngija vastu StarCraft II-s: ekraanipildil on kujutatud "tooreid" algseid vaatlusi, nÀrvivÔrgu aktiivsust, mÔningaid selle vÔimalikke toiminguid ja koordinaate ning eeldatavat mÀngu lÔpptulemust.

See especially relevant aspect in the case of games. Often, conventional methods for solving machine learning problems are not applicable to game artificial intelligence. For example, it doesn’t typically have to win or do everything possible to secure a victory, as was the case with Atari games. More often, the role of AI is to make the game more engaging. It may need to act in alignment with the character it represents and behave as expected. Thus, game AIs are more tied to game design and storytelling and must possess the necessary tools to manage their behavior to achieve the desired goals. Pure machine learning isn’t always suitable for this — hence, alternative solutions must be sought.

Practical machine learning challenges

These challenges arose during the development of machine learning-based artificial intelligence for Unleash, where AIs must behave like ordinary players — that is, be as flexible and resourceful.

Nii nagu Starcraft II, on Unleashed tunduvalt keerulisem kui ĆĄahhi ja go Atari jaoks. MĂ€ngumehaanika on intuitiivselt arusaadav ja kergesti omandatav, kuid tĂ”eliselt eduka mĂ€ngimise jaoks on vajalikud teatud oskused metaga juhtimisel. MĂ€ngija peab ehitama labĂŒrinte, suunama vaenlastele koletisi ja vĂ€ljamĂ”tlema oma strateegiaid majanduses, rĂŒnnakutes ja kaitses kogu mĂ€ngu vĂ€ltel. Selleks peab ta bluffima ja ennustama vastaste kĂ€ike ning samuti juhtima psĂŒhholoogilist metat – just see teeb pokkerist midagi enamat kui lihtsalt statistiline mĂ€ng.

Kuidas on korraldatud hĂŒbriidne mĂ€ngu tehisintellekt ja millised on selle eelised?
Unleashed'i ekraanipilt

Otsides kĂ”ige sobivamat arhitektuuri nende eesmĂ€rkide jaoks, integreeriti mĂ€ngu peaaegu muutumatul kujul sellised tehnoloogiad nagu neuroevolutsioon ja sĂŒvaĂ”pe, ning uuriti, kuidas need algselt nĂ€htud kui tehisintellekti vastased toimivad.

See oli kohutav.

Kiiresti sai selgeks, et Unleashed vajab lahendamist paljusid globaalseid probleeme, mille jaoks on raske kohandada masinÔpet.

Üks neist on tĂ”husate labĂŒrintide loomine. Nagu paljudes mĂ€ngudes, mille eesmĂ€rk on torni kaitsmine, peavad mĂ€ngijad ehitama labĂŒrindi torni ĂŒmber, mille kaudu koletised tungivad. Need tuleb hĂ€vitada labĂŒrinti paigutatud relvade abil. Ideaalis peaks labĂŒrint olema vĂ”imalikult pikk, et jĂ”uda koletistele piisavalt kahju teha ja takistada neid torni jĂ”udmast. MĂ”ne relvatĂŒĂŒbi puhul on koletised teiste suhtes haavatavamad, seetĂ”ttu on tĂ”husam need labĂŒrindis paigutada enne kui kĂ”ik teised. Unleashi eripĂ€ra on see, et ideaalset labĂŒrinti ei eksisteeri: mĂ€ngus on nii palju erinevaid koletisi, et mingil hetkel pÀÀseb mĂ”ni neist alati labĂŒrindi mingist osast lĂ€bi. Iga labĂŒrinti tuleb kohandada uute koletiste jaoks, keda teised mĂ€ngijad kĂ€ivitavad. Seega oli vajalik mitte ainult Ă”petada tehisintellektilt labĂŒrinte ehitama — tuli Ă”ppida ka looma tĂ”husaid labĂŒrinte erinevate stsenaariumide jaoks, millega vĂ”ib kokku puutuda nii mĂ€ngu varases kui ka hilises versioonis.

Samuti pidi tehisintellekt Ă”ppima arvutama, millised koletised labĂŒrindis ilmuvad. See on teatud tĂŒĂŒpi tagurpidi probleem labĂŒrindi ehitamise suhtes. Nagu paljudes teistes mĂ€ngudes, ei piisa Unleash'is lihtsalt armee kasvatamisest ja selle vaenlase poole suunamisest: tuleb jĂ€lgida ka vaenlase kaitset ja struktureerida armee nii, et see lööks vĂ”imalikult tĂ”husalt vaenlase nĂ”rgenemist. Koletiste armee peab omavahel koostööd tegema, et kĂ”ige edukamalt labĂŒrindist lĂ€bi murda. MĂ”nikord on vajalik ka koletiste vĂ€ljastamine kindlas jĂ€rjekorras, sĂ”ltuvalt nende funktsioonidest ja rollidest. See suurendab ka erinevate kombinatsioonide arvu.

LĂ”puks, kuna mĂ€ngija peab nii labĂŒrinte looma kui ka koletiste armee koguma, peab tehisintellekt samuti Ă”ppima leidma rĂŒnnaku ja kaitse vahel tasakaalu. Samuti tuleb arvestada, et mida rohkem mĂ€ngija koletiste armee suurendab ja labĂŒrinti ehitab, seda rohkem ressursse tal selleks vajatakse. Seega on Ă”ige rĂŒnnaku strateegia ÀÀrmiselt oluline nii mĂ€ngu majanduse kui ka vĂ”idu saavutamiseks. Ja et tagada tehisintellekti konkurentsivĂ”ime, peab see suutma ressursse jaotada nii, et luua vĂ”imas koletiste armee, ohustamata samal ajal labĂŒrindi tugevust. Maksimaalselt koletistesse investeerimine vĂ”ib olla majanduslikult kasulik, kuid see suurendab riski, et vaenlaste koletised labĂŒrindi hĂ”ivavad. Kui aga panustada labĂŒrindi kaitse tugevdamisele, vĂ”ib see teie majandust nĂ”rgendada. Ükski neist stsenaariumidest ei viigi vĂ”iduni. Seega on Unleashed'i optimeerimisprobleem ulatuslikum kui malet vĂ”i Starcrafti puhul ja hĂ”lmab vajadust millegagi ohverdada ning oma kasu mitme sammu edasi planeerida.

Tehisintellekti Ă”petamisel kerkib esile palju varem tĂ€helepanuta jÀÀnud probleeme. Alguses saavutas AI sageli kindla arengu taseme, mille kĂ€igus ta hakkas mĂ”istma mĂ€ngu teatud aspekte — nĂ€iteks, milline relv labĂŒrindis on efektiivne konkreetsete tĂŒĂŒpi koletiste vastu vĂ”i millised koletised lĂ€bivad kĂ”ige paremini teatud labĂŒrindi osi. Kuid Ă”petamine oli aeglane ja tĂ”i kaasa ĂŒhtlase strateegiate arendamise.

Paralleelsete lÀhenemiste vajadus

Kuigi masinĂ”ppel pĂ”hineva tehisintellekti koolitus arenes aeglaselt ja ei olnud eriti edukas, muutus muude testimise ja arendamise etappide jaoks vajalikuks parema tehisintellekti ja usaldusvÀÀrsemate konkurentsivĂ”imeliste tehisintellektide olemasolu. Nende rakendamiseks kasutati Utility arhitektuuri, mille kaudu saab luua spetsiaalseid tehisintellekte mĂ€ngu testimiseks ja kvaliteedi kontrollimiseks, mĂ€ngusiseste testide ja relvade ning olendite tasakaalustamiseks, samuti konkreetsete labĂŒrintide ja olendite loomiseks. Arendamise kĂ€igus lihvisid Unleashi loojad ise oma oskusi selle lĂ€bimiseks ning otsustasid seejĂ€rel kasutada omandatud teadmisi keerukama Utility tehisintellekti loomiseks. Nii sai selgeks, et paljusid masinĂ”ppel pĂ”hinevate tehisintellekti sĂŒsteemide probleemide lahendusi on lihtne leida kasutades Utility sĂŒsteeme, mis kasutasid oma sisse ehitatud teadmisi, ja vastupidi.

NĂ€iteks on efektiivsemad labĂŒrindid parem ehitada Utility AI-de abil, mis pĂ”hinevad teadmiste baasidel, mis on koostatud sisetestide tulemuste pĂ”hjal. LabĂŒrindi ehitamise ja seal oleva relva paigutamise algoritmi on lihtne kirjeldada ja programmeerida nii, et see oleks lihtsam tornide kaitsmiseks kindlate koletiste eest elavale mĂ€ngijale. Kuid koletiste armee loomine vastavalt vaenlase teadmiste baasile osutus sellistele AI-dele keeruliseks ĂŒlesandeks, kuna arvesse vĂ”etavate tingimuste ja kombinatsioonide arv ĂŒletas kujutlusvĂ”ime. Sellise AI arhitektuuri korral tooks sobivate koletiste komplektide leidmine lĂ”putult aega. SeetĂ”ttu oleks antud tingimuste korral sĂŒvaĂ”pe ideaalne lahendus selle ĂŒlesande jaoks.

HĂŒbriidsete AI-de loomine

Otsustati ĂŒhendada kaks lĂ€henemist, et luua hĂŒbriidne tehisintellekti sĂŒsteem, mis pĂ”hineb masinĂ”ppel ja Utility’l. Idee oli, et seal, kus tuli töödelda tohutult kombinatsioone ja mĂ€ngu olekuid vĂ”i kus oli vaja seda millegagi Ă”petada, kasutati masinĂ”pet. Teiste ĂŒlesannete puhul, kus oli parem toota arendajate isiklikule kogemusele, rakendati Utility sĂŒsteeme. Selle lĂ€henemise eeliseks on ka see, et vajaduse korral on vĂ”imalik paremini juhtida AI kĂ€itumist, et tagada tĂ€psem jĂ€rgimine antud eesmĂ€rgile. NĂ€iteks saab kasutada Utility AI-d rĂŒnnaku ja kaitse tasakaalu tagamiseks ning seelĂ€bi luua erinevaid aggressiivsuse tasemeid, vĂ”i luua erinevaid labĂŒrindi konfiguratsioone erinevatele AI-dele, et kujundada neile individuaalsed mĂ€ngustiilid. Samuti on vĂ”imalik mÀÀrata nĂ€rvivĂ”rkudele teatud vÀÀrtussĂŒsteeme, et kujundada erinevaid eelistusi Ă”hu- vĂ”i maamonistrite valimisel ja seelĂ€bi lisada iga AI-le isikupĂ€ra. Veel on palju teisi vĂ”imalusi projektide lahenduste rakendamiseks, mis kĂ”ik rĂ”hutavad teatud tehisintellekti arhitektuuri tugevaid kĂŒlgi.

HĂŒbriidne lĂ€henemine oli vastuseks ka teisele kĂŒsimusele, millega arendajate meeskond silmitsi seisis Unleash'i tehisintellekti arendamise protsessis: kas kasutada ĂŒhtset globaalselt sĂŒgavat nĂ€rvivĂ”rku, mis pĂ”hineb masinĂ”ppel, et arvestada kĂ”iki sisendeid ja vĂ€ljundeid, vĂ”i oleks parem projekteerida tehisintellekt hierarhilise struktuuriga?

Kuidas on korraldatud hĂŒbriidne mĂ€ngu tehisintellekt ja millised on selle eelised?
Kaks arhitektuuri, mida Unleash'is kasutati: vasakul — suur sĂŒgav nĂ€rvivĂ”rk oma ĂŒhtse arhitektuuriga, paremal — hierarhiline sĂŒsteem, kus igal vĂ”rgul on oma ĂŒlesanne.

Siiski soovitakse luua ĂŒldine lĂ€henemine tehisintellekti sĂŒsteemile, mille arhitektuuri arendajad ei oleks oma kogemusi sisse ehitanud. Kuid mida rohkem mĂ€ngu sisenemisi toimus, seda suuremaks muutus nĂ€rvivĂ”rk. Samas ei olnud vĂ”imalik tehisintellekti koolitamist jagada ega Ă”petada seda ainult ĂŒhele asjale: kas kaitsele vĂ”i rĂŒnnakule. Ja tekkis kartus, et liiga ĂŒldine lĂ€henemine tooks kaasa mĂ€rkimisvÀÀrse arvutuste arvu suurenemise.

Siit tekkis idee luua hierarhiline arhitektuur, kus iga konkreetset ĂŒlesannet tĂ€idab spetsialiseeritud tehisintellekt. Selle idee kohaselt peab tehisintellekt esmalt otsustama ressursside jaotamise rĂŒnnakule (koletiste armee suurendamine) ja kaitsele (labĂŒrindi ehitamine). Kui ta on selle otsuse teinud, liigub ta jĂ€rgmisse kihti vastavalt oma valikule ja pÀÀseb juurde mĂ€ngu seisundi vajalikule osale, pĂ€rast mida teeb ta ĂŒksikasjalikke otsuseid, milliseid koletisi valida ja millist relva labĂŒrinti paigaldada.

JÀreldus ja jÀrgmised sammud

HĂŒbriidses lĂ€henemises Utility AI, mis sisaldab endas masinĂ”ppe pĂ”hjal ĂŒles ehitatud vĂ”rgustikke, sarnaneb hierarhilise arhitektuuriga. See omakorda meenutab bioloogilist ajalugu, kus erinevad nĂ€rvikeskused vastutavad igaĂŒhe oma ĂŒlesande eest.

Praegu on vastase AI Unleash'iga vĂ€ga raske vĂ”ita: nad suudavad kohanduda mĂ€ngu igasuguste olukordadega, kuid samal ajal saavad arendajad nende seadeid oma Ă€ranĂ€gemise jĂ€rgi muuta. Artikli autori arvates peaks aja jooksul hĂŒbriidne lĂ€henemine saama suuremat levikut ja ilmuma paljudele teistele mĂ€ngudele. VĂ”ib-olla suudetakse kunagi puhtal kujul implementida mĂ€ngu protsessis masinĂ”pet. Kuid selgelt on selleks veel aega vaja. Seni on eesmĂ€rk leida selline arhitektuur, mis kohandub ise esitatud ĂŒlesannetega ja leiab nende lahendamiseks optimaalsed meetodid.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster