ITU-forskere bruger deep learning til at skræddersy Mario-baner

Illustration: aurielaki/Bigstock
Forskere fra ITU har kombineret machine learning med evolutionære algoritmer for at lave Mario baner, som ligner rigtige baner og kan tilpasses efter spillernes præferencer.

Et hold af forskere fra ITU, har brugt machine learning og evolutionære algoritmer sammen til at generere Mario-baner, der ikke bare ligner menneskeskabte baner, men også kan udformes efter opsatte parametre.

Sebastian Risi er lektor på ITU og en af forskerne bag projektet. Illustration: Pressefoto

»Det kan for eksempel være baner som har en vis sværhedsgrad, mange fjender, eller mange huller i jorden,« fortæller Sebastian Risi, lektor på ITU og en af forskerne bag projektet.

Læs også: Supercell personliggør spilindhold med machine learning

Konkurrerende netværk træner hinanden

Banerne genereres ved brugen af en deep learning-teknik, som hedder Generative Adversarial Networks (GAN). Med GAN bruger man to machine learning-netværk, en generator og en diskriminator.

Diskriminatornetværket trænes til at genkende Mario-baner mens generatoren trænes til at lave Mario-baner.

Netværkene bliver så brugt til at træne hinanden. Generatoren laver en Mario-bane, og diskriminatoren skal vurdere, om banen ligner en ægte Mario-bane.

Generatoren får feedback fra diskriminatoren til at lære, hvordan en rigtig Mario-bane ser ud, mens diskriminatoren forbedrer sin evne til at genkende menneskeskabte Mario-baner, ud fra de baner, der bliver genereret.

I takt med at de to netværk evaluerer hinanden, bliver de bedre og bedre til deres forskellige opgaver.

Evolutionær algoritme udvælger banerne

Men generatoren lærer nødvendigvis at lave baner der er sjove eller interessante, kun baner som ligner, at de er menneskeskabte.

»Spørgsmålet er, hvordan får man generatoren til at lave en bane, som overholder bestemte kriterier,« siger Sebastian Risi.

»Generatoralgoritmen tager som sit input en tilfældig vektor, som den bruger til at generere banen. Hvis du giver den en ny vektor, får du en ny bane.«

Generatoralgoritmen bruger en samling tilfældige input. Opgaven er så, at finde ud af, hvilke input giver baner som er interessante eller lever op til andre krav, man kunne have.

Til det, bruger forskerne en evolutionær algoritme, som afprøver hundredvis af forskellige input for at komme nærmere og nærmere på det ønskede resultat.

»Vi søger gennem rummet for alle mulige baner med kunstig evolution. Hvis du sender generatoren 100 forskellige input, får du 100 forskellige baner tilbage. Nogle af de baner vil opfylde dine kriterier lidt bedre end andre. Så vores algoritme tager dem, justerer dem en lille smule, og bruger dem som basis for næste generation af baner. Den proces går du igennem igen og igen, tusinde gange, indtil du har fundet nogle inputs, som genererer en bane, der passer på, hvad du gerne vil have,« fortæller Sebastian Risi.

Ved at afsøge sammenhængen mellem forskellige input-vektorer – samlinger af 16 til 32 decimaltal – og generatorens output, kan den evolutionære algoritme finde ud af, hvilket input man skal give generatoren, for at få en bane, af en bestemt type.

»Noget, vi er meget interesserede i, er at lave en bane, som kan tilpasse sig til spilleren. Du kan forestille dig, at mens du spillede, ville spillet lære hvilken type spiller du er. Så ville det kunne generere baner, som ikke bare kunne maksimere ting som sværhedsgrad, men også hvor sjov banen er,« siger Sebastian Risi.

På den måde håber Sebastian Risi, at man lave baner som passer til den enkelte spiller.

»Den kunne lave bane, som er skræddersyet til dig, som du kan lide at spille, ved at bygge en model af spilleren,« siger han.

En kombination med mange potentialer

Forskerne på ITU, er ikke de eneste, som bruger GAN til at lave indhold til computerspil. Et lignende projekt har brugt GAN til at lave baner i Doom.

Brugen af en evolutionær algoritme til at finde ønskede outputs fra generator-delen af GAN bliver også udnyttet til andre formål. Et hold af forskere fra New York University Tandon, har brugt kombinationen til at lave et master-fingeraftryk, som kan låse flest mulige mobiltelefoner op. Du kan læse deres paper her (PDF).

Artiklen stammer fra Ingeniørens nyeste PRO-medie DataTech, som er målrettet professionelle i såvel private virksomheder som offentlige organisationer, der arbejder med data og analytics.

DataTech sætter fokus på anvendelse af data i en stadig mere digitaliseret verden. Udgivelsen følger danske virksomheder, kommuner og institutioners arbejde og strategier med at skabe mere værdi ud af data.

Du får inspiration, råd og erfaringer om, hvordan du analyserer og udnytter data, hvordan du navigerer ansvarligt og effektivt i junglen af love og regler på området, samt hvordan du udbreder værdien af dataanalyse til alle hjørner af organisationen.

DataTech giver dig viden om de nyeste teknologiske løsninger på tværs af fagområder, markeder og landegrænser. Og er medspiller i en fælles mission om at fostre etisk og sikker brug af data fordel for virksomheder og borgere.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (2)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Casper Sønderby

Nu kan man jo løse et problem på mange måder :)

"Er det fordi de har løst den her introduktion til ML at de har lavet det ? For det kræver vel ikke meget studie at lave, når opskriften ligger lige ved hånden."

Jeg vil forslå at du læser op på forskellen på Maximum Likelihood Learning, Generative Adversarial networks (GANs) samt evolutionære algoritmer før du klassificerer Sebastians Rissis arbejde som "introduktion til ML".

Ps: Til de interesserede kan jeg afsløre at den linkede blogpost bruger god gammeldags Maximum likelihood learning hvilket arbejdet fra ITU lige netop ikke gør. Om det så er en god ide er en helt anden længere diskussion

Bedst Hilsner
Casper

Log ind eller Opret konto for at kommentere
Brugerundersøgelse Version2
maximize minimize