Computerspillet StarCraft minner mer om virkeligheten enn det sjakk gjør, mener dataforsker. Så pass på monstrene der ute.  (Foto: sezer66 / Shutterstock / NTB scanpix)
Computerspillet StarCraft minner mer om virkeligheten enn det sjakk gjør, mener dataforsker. Så pass på monstrene der ute. (Foto: sezer66 / Shutterstock / NTB scanpix)

Dataspill kan gjøre kunstig intelligens mer menneskelig

Kunstig intelligens har vært underveis lenge, men revolusjonen har uteblitt. Dataspill kan kanskje sette fart på ting, forteller forsker.

Published

Hva er reinforcement learning og supervised learning?

Nevrale nettverk kan læres opp på ulike måter. Blant annet kan man bruke reinforcement learning eller supervised learning.

I reinforcement learning får datamaskinen belønning og straff, mens supervised learning er basert på at du retter datamaskinens feil.

Reinforcement learning er praktisk hvis du ikke selv vet hva det riktige svaret er. Det krever til gjengjeld at du vet hvilken oppførsel det er gunstig.

For eksempel i spillet Breakout, som går ut på å fjerne en gruppe brikker i toppen av skjermen med en ball og en brett i bunnen av skjermen. Her vet du at ballen ikke må passere brettet, og at det er bra å få poeng ved å treffe brikkene – men kanskje vet du ikke hva den beste taktikken er for å få poeng.

Supervised learning er smart hvis du allerede har alle de dataene du trenger, og programmet ganske enkelt skal gjette riktig.

For eksempel hvis du vil ha et program til å skille mellom katter og hunder. Her vet du selv hvilke bilder som er katter, og hvilke som er hunder. Da kan du justere på programmet til det gir deg de resultatene du vil ha.

Robotene kommer!

Vi har hørt det gang på gang. I filmer og bøker er det sjelden lenge igjen før vi mennesker blir erstattet av roboter.

Men kunstig intelligens har skiftet mellom å være en teknologisk revolusjon som var rett rundt hjørnet og en samling av uinnfridde forventninger.

Herbert Simon (til venstre) var en av de første pionerene innen kunstig intelligens, men han ble kanskje blindet av de tidlige fremskrittene da han allerede på slutten av 50-tallet spådde kunstig intelligens innen 20 år. (Foto: Carnegie Mellon University)
Herbert Simon (til venstre) var en av de første pionerene innen kunstig intelligens, men han ble kanskje blindet av de tidlige fremskrittene da han allerede på slutten av 50-tallet spådde kunstig intelligens innen 20 år. (Foto: Carnegie Mellon University)

På 1950-tallet klarte forskere å bygge de første sjakkdatamaskinene. Da var optimismen stor, og det var nærmest ingen grenser for hva kunstig intelligens kunne utrette.

Det ville bare gå 20 år før de kunne det samme som oss mennesker, var spådommen fra nobelprisvinneren Herbert Simon i 1957.

Machines will be capable, within twenty years, of doing any work that a man can do, sa han.

I dag, 60 år senere, venter vi fortsatt. Men hva er det egentlig vi venter på?

– Roboter som går rundt i verden, har vist seg å være veldig vanskelig. Vi må enten ha bedre roboter eller en enklere verden. Det siste er det man gjør i spill, sier Thomas Bolander, som er førsteamanuensis ved DTU og forsker på logikk og kunstig intelligens.

Dataspill er opplagt for å teste AI

Og akkurat innen spill har det skjedd store framskritt.

IBMs datamaskin Deep Blue slo verdensmester Gary Kasparov i sjakk i 1996, og Googles AlphaGo har vunnet over verdensmesteren i det 2000 år gamle kinesiske spillet Go. Elon Musks OpenAI har slått de beste spillerne i det konkurransepregete dataspillet Dota 2.

– Dataspill egner seg godt for tester av kunstig intelligens. Du kan kjøre tester veldig raskt, og du kan fokusere på læringen, som for meg er det viktige aspektet, i stedet for å bruke tid på en motor som har gått i stykker, sier Sebastian Risi, som er førsteamanuensis i maskinlæring ved IT-universitetet i Danmark.

Sammen med doktorgradstudent Niels Justesen avholdt han nylig et seminar for unge programmerere og IT-interesserte som ville prøve å utvikle kunstig intelligens i det populære dataspillet StarCraft.

StarCraft mer realistisk enn sjakk

I dataspillet StarCraft utkjemper man kriger med andre raser i verdensrommet. Men store deler av slagmarken er skjult, og derfor må man vurdere nøye hva motstanderne egentlig planlegger. (Screenshot: Gorekun)
I dataspillet StarCraft utkjemper man kriger med andre raser i verdensrommet. Men store deler av slagmarken er skjult, og derfor må man vurdere nøye hva motstanderne egentlig planlegger. (Screenshot: Gorekun)

Sebastian Risi utvikler kunstig intelligens som ikke bare kan spille ett enkelt spill, men lærer å tilpasse seg mange forskjellige situasjoner. Og her er spillet StarCraft et godt utgangspunkt, mener han.

– I sjakk og Go er det et veldig veldefinert problem. Det er et stort rom av muligheter, men det er ikke noe skjult informasjon. Hvis jeg viser deg brettet og brikkenes posisjoner, så har du i prinsippet alt du trenger for å bestemme ditt neste trekk, sier han.

StarCraft er mye vanskeligere for en datamaskin. Blant annet fordi mye av banen er dekket av en mørk tåke, som gjør deg ute av stand til å se hva motstanderen din gjør.

– Det er utfordrende. Mye informasjon er skjult, så du vet ikke alt hva motstanderen gjør. Det er også utrolig mange forskjellige valg. Du kan velge å bygge noe, forske på noe, eller sende enheter ut til forskjellige steder. Det er tusenvis av ting du kan gjøre hvert sekund, sier han.

Sebastian Risi sammenligner det med poker, der du ikke kan vite hva motspilleren har på hånden.

– Slike spill er mye vanskeligere enn sjakk og Go, selv om Go allerede er veldig avansert. Det er faktisk flere mulige trekk i Go enn det er atomer i universet. 

Thomas Bolander er enig.

– Reglene i sjakk kan du jo skrive ned på en serviett. I StarCraft skjer det flere ting, og det er flere aspekter av problemløsning som ligner virkeligheten enn det er i sjakk og Go. 

Etter to timer spiller datamaskinen Breakout helt feilfritt, og etter tre timer ser det nesten ut som den har blitt lat. Den har nemlig regnet ut at hvis man får ballen opp bak brikkene, trenger man ikke redde den. (Video: Two Minute Papers)

Datamaskinene har lært av feilene sine

En av grunnene, til at datamaskinene plutselig har blitt flinkere til å spille spill, er selvfølgelig at de har fått mer regnekraft. Men det er en annen viktig årsak. De har nemlig blitt mer «menneskelige».

De første sjakkdatamaskinene fungerte ved å utnytte regnekraften til å evaluere alle mulige posisjoner innen de neste trekkene.

Evalueringen kunne, i sin enkleste form, være å telle antallet brikker for hver av spillerne.

– Slike programmer blir kalt narrow AI (snever kunstig intelligens, red.), og de inneholder typisk en masse regler for hvordan en god sjakkstilling ser ut, og hvilke trekk som er gode, sier Sebastian Risi.

Men slike dataprogrammer lærer ikke noe av seg selv. De er det programmerere kaller scriptet.

Datamaskiner kan lære

Dataprogrammene Risi arbeider med, er laget for å lære av sine feil. Det er en metode som kalles reinforcement-læring.

– Den grunnleggende ideen er at datamaskinen utfører bestemte handlinger i spillet. Noen fører kanskje til en belønning, mens andre fører til en straff. Hvis den ser at bestemte handlinger leder til negative konsekvenser, vil den endre sin strategi, sier han.

Det tar lang tid før dataprogrammene blir gode, men hvis får nok tid på seg, blir de veldig gode. (Se for eksempel hvordan Google Deepmind lærer seg selv å spille Breakout i videoen lenger oppe)

Boten Mars/O er basert på evolusjonen, og hver generasjon av kunstig intelligens kommer et stykke lenger fordi de uhensiktsmessige «genene» blir sortert vekk. (Video: SethBling)

Dataroboter har mange, små hjerner

At en datamaskin kan lære av sine feil, kan virke primitivt for oss mennesker.

Men det er faktisk et enormt skritt for datamaskiner, for da trenger ikke programmererne fortelle dem om alt mulig.

Det innebærer at en programmerer kan lage et dataprogram som blir flinkere enn ham selv.

En populær måte å gjøre dette på, er å lage et nevralt nettverk. Det er en modell av hvordan hjernene våre fungerer.

Systemets «nevroner» fungerer omtrent som hjernecellene våre, og de er tilknyttet forskjellige input og output.

Slik kan den se forskjell på hund og katt

For å forstå hvordan det virker, må man holde tunga rett i munnen, og derfor har vi spurt Thomas Bolander om hjelp.

Bolander ber oss forestiller oss et program som skal lære forskjellen på bilder av katter og hunder.

– Det kommer bilder, som får tallverdier og farger, som datamaskinen kan forholde seg til, inn i den ene enden. I den andre enden har du to outputnevroner. Én til katter og én til hunder. I begynnelsen sender programmet bildene i en vilkårlig kategori, sier han.

– Men så justerer du på forbindelsene, slik at det kommer flere kattebilder i kattekategorien. Langsomt begynner programmet å kjenne igjen noen mønstre i bildene, og det gjør selv justeringer slik at flere kattebilder havner i kattekategorien. 

Kunstig intelligens utvikler seg evolusjonært

Tross de store framskrittene er det ingen umiddelbar fare for at maskinene begynner å tenke helt selv. Det er vi slett ikke.

For selv om de kunstige nevrale nettverkene er inspirert av hjernecellene våre, fungerer de ikke på samme måte. Faktisk vet vi fortsatt ikke helt hvordan hjernecellene våre fungerer, og nevronene i de nevrale nettverkene er svært forenklede.

Dessuten inneholder hjernen omkring 86 milliarder hjerneceller. Og så avanserte nevrale nettverk er umulige å lage med dagens datakraft.

Men det er faktisk en måte den kunstige intelligensen likevel har en viss likhet med noe levende.

For sammen med de nevrale nettverkene brukes noen ganger en teknologi som kalles for evolusjonær kommutasjon. Teknikken tar utgangspunkt i den evolusjonære prosessen. Det er den eneste prosessen, påpeker Risi, som vi vet har ført til utvikling av intelligens.

– Ideen er å gjenskape prosessen i en forenklet form. Vi simulerer prosessen i en datamaskin. Det er ulike enkle, kunstige hjerner som konkurrerer mot hverandre. Den beste blir valgt, og de får «formere seg» til neste generasjon og spille igjen. 

Den «beste» får overleve hvis den kan oppfylle dataprogrammets mål.

I et spill som Super Mario kan målet for eksempel defineres som å komme som langt som mulig fra venstre mot høyre i banen.

Som du kan se i videoen lenger oppe, får de nevrale nettverkene som hjelper Mario videre i banen, lov til å overleve, mens de andre nettverkene dør sammen med Mario.

Etter mange forsøk har de nevrale nettverkene utviklet seg til å kunne få Mario trygt gjennom hele banen.

Hva kan dataspillene hjelpe oss med?

Nå spør du kanskje hva alt dette kan brukes til. Det gir jo ikke mye mening at vi utvikler spill for å utvikle datamaskiner som selv kan spille dem.

Isolert sett gir det kanskje ikke så mye mening, men ifølge Sebastian Risi er spillene en god plattform for å utvikle kunstig intelligens som kan hjelpe oss på mange andre måter, blant annet fordi den ikke har våre fordommer.

– Evolusjonær kommutasjon (teknikk som tar utgangspunkt i den evolusjonære prosessen, red.) har blant annet utviklet en antenne som virker mye bedre enn andre antenner. Den så virkelig merkelig ut, for programmet hadde ikke alle disse fordommene om hvordan en antenne skal se ut, men den var mye mer effektiv. Den ble visst sendt ut i verdensrommet, sier Risi.

Risi forteller også at Googles kunstige intelligens AlphaGo, som vant over verdensmesteren i go, fant nye måter å spille på ved å trene mot seg selv.

Det kunne den gjøre fordi erfarne Go-spillere (av den menneskelige typen) ifølge Risi har en forutinntatt idé om hvilke trekk som er gode og dårlige.

AlphaGo har senere blitt brukt til å redusere energiforbruket på Googles datasenter, skriver magainet Wired.

Risi forteller også at han forestiller seg at strategiene som dataprogrammer oppdager i spill, vil kunne brukes på andre områder.

– I fremtiden ser jeg mennesker og maskiner løse problemer sammen som ingen av dem kunne hver for seg. For eksempel innen helse, der du må ta veldig kompliserte beslutninger selv om du kanskje ikke vet så mye om pasienten. Så det er flere likheter mellom de to områdene, sier Risi.

Når kommer robotene?

Men robotene er her altså ikke enda. Og de kan heller ikke gjøre alt det vi kan.

Ifølge Thomas Bolander kan det være lang vei enda.

– Vi er ikke der hvor Herbert Simon sa vi ville være. De kunstige nevrale nettverkene har ikke i nærheten av samme kompleksitet som nettverkene i hjernen. Så vi kan ikke bare la algoritmene trene, og så våkner de opp og er bevisste en dag, sier han.

Men når det så er sagt, så forskes det mye området, og da kan det skje mye.

– Akkurat hvor lang tid det tar, kan være vanskelig å si noe om. Det må forskes på det, og noe av den forskningen vil være fruktbar. Vi kan ikke vite hvilke strategier som vil være fruktbare. Det kan være at det plutselig kommer en genial idé som setter fart på ting. 

I mellomtiden er utfordringen for Sebastian Risi imidlertid å gjøre den kunstige intelligensen i stand til å slå de beste menneskelige dataspillerne i komplekse spill som StarCraft.

– Den er ikke i nærheten av de beste enda. Den kan vinne over amatører, men når spillerne er bedre, har den ikke en sjanse, sier han.

© Videnskab.dk. Oversatt av Lars Nygaard for forskning.no.