Från labbet

AI som självlärande gamer

Genom förstärkningsinlärning ville teamet se om en AI kunde lära sig att spela Snake bättre än en människa – utan några instruktioner utöver piska och morot.

Tech used

  • Stable Baselines3
  • Gymnasium
  • PettingZoo

Press to view video

Bakgrund

Förstärkningsinlärning (reinforcement learning, eller RL) är ett område inom maskininlärning som innebär att man ger en modell i uppgift att lära sig något på egen hand genom belöningar och bestraffningar – en slags ”piska och morot”-filosofi. Tekniken kan användas inom allt ifrån spel och robotik till självkörande fordon.

Utrustade med befintliga bibliotek och algoritmer började Christina, Lucia, Balthazar, Adam, Philipp och Joakim utforska ifall man kunde bygga den här typen av modell utan någon tidigare erfarenhet inom området.

Målet var att skapa en agent som kunde lära sig ett spel bättre än en människa.

Processen & utmaningarna

Efter grundläggande research började teamet testa olika spelmiljöer från Gymnasium-biblioteket, som bygger på Open AI:s Gym-API, tillsammans med algoritmer från Stable Baselines3.

Efter att ha tränat upp modellen inom både Snake och Asteroids genom snabba iterationsloopar, insåg de snart att Asteroids-miljön krävde betydligt mer träningsdata. Med begränsad tidshorisont föll valet istället på Snake, och allt fokus riktades mot att utveckla spelmiljön för att träna upp flera agenter samtidigt.

En utmaning var att hitta en rimlig balans för belöningar och bestraffningar. Träningen tog också en del tid, vilket krävde såväl tålamod som hårdvaruresurser.

Resultat & Lärdomar

Trots att teamet inte hade tidigare erfarenhet av förstärkningsinlärning, upplevde de att det var enkelt att komma igång och testa med hjälp av de bibliotek som redan fanns tillgängliga.

Det var också möjligt att träna modellerna på egen utrustning. Även om testerna sammantaget var tidskrävande, gick det relativt fort att skapa en feedbackloop för iterationer. Trots att RL är ett brett fält, var en annan viktig lärdom att det går att utforska området ett litet steg i taget och samtidigt uppleva framåtrörelse.

Framtida Åtgärder

Teamet vill gärna bygga vidare på projektet genom att skapa flera parallella och simultana träningsmiljöer för att kunna utforska fler scenarier − och därmed utveckla mer adaptiva och självständiga agenter.

Efterhand innebär det en möjlighet att bygga mer komplexa simuleringar med fler parametrar i olika typer av kontexter, för att verkligen utmana modellernas – och teamets − fulla potential.