Creating Self-Learning AI using Unity Machine Learning
Olli-Pekka Juhola · Theseus (Ammattikorkeakoulujen) · 2019
Tarkoituksena oli kehittää tekoäly yksinkertaiselle pelille käyttämällä kahta erillistä menetelmää Unity-pelimoottorin kanssa ja verrata tuloksia toisiinsa. Toteutustapoina käytettiin Unity-pelimoottorin omaa navigointi- ja polkujen hakujärjestelmää sekä Unityn valmistamaa työkalua, joka mahdollistaa koneoppimisen käytön Unityprojekteissa. Päätavoitteena oli saada aikaan toimivia prototyyppejä käyttämällä molempia menetelmiä tekoälyn etsiessä ja kerätessä kolikoita ympäristössä sekä pystyä osoittamaan, kuinka molemmat menetelmät toteutettiin. Seurauksena oli, että kehitettiin kaksi toimivaa peliä erilaisilla tekoälyn menetelmillä, ja molemmat tekoälyagentit etsivät ja keräsivät kolikot toivotulla tavalla. Koneoppimismenetelmässä käytettiin vahvistettua oppimista tekoälyn koulutuksessa, jolloin agentti ei tiennyt pelistä mitään muuta kuin miten liikkua. Tämän jälkeen se harjoitteli itsenäisesti ympäristössä satoja kertoja minuutissa saadakseen selville pelin ytimen. Unityn navigointi- ja polunmääritysmenetelmä luotiin Unityn navigointiverkkojärjestelmällä, jonka avulla tekoäly ymmärsi, minne pystyi liikkumaan ja tiesi kolikoiden sijainnin automaattisesti. Nämä kaksi menetelmää asetettiin toisiaan vastaan yksinkertaisessa testissä, jotta pystyttiin näkemään, kuinka monta kolikkoa molemmat tekoälyn menetelmät keräsivät muutaman minuutin aikana. Kullakin menetelmällä kerätyistä kolikoista koneoppinut tekoäly sai huomattavan määrän enemmän kolikoita ja pystyi lyömään Unity-moottorin oman navigointi- ja polkujärjestelmän. Koneoppimisen käyttö tekoälyn luomisessa Unity-pelimoottorissa oli vaikeampaa, mutta tulokset olivat paljon kiehtovampia