Robotterne kommer!
Vi har hørt det gang på gang. I film og bøger er der sjældent lang tid tilbage, før vi mennesker bliver erstattet af robotter. Men hvis du har haft science fiction-brillerne på fra dag ét, så sidder du nok efterhånden med dybe indhak i næseryggen.
Kunstig intelligens har nemlig historisk set skiftet mellem at være en teknologisk revolution, som var lige på trapperne, til at være en dødssejler med intet andet end uindfriede forventninger ombord.
Da man i 1950’erne lykkedes med at bygge de første skakcomputere, var optimismen stor, og der var nærmest ingen grænser for, hvad kunstig intelligens kunne udrette.
Der ville kun gå 20 år, før de kunne det samme som os mennesker, lød en forudsigelse fra nobelprisvinderen Herbert Simon i 1957.
»Machines will be capable, within twenty years, of doing any work that a man can do,« sagde han.
I dag, 60 år senere, venter vi stadig. Men hvad er det egentlig, vi venter på? Det har Videnskab.dk sat sig for at undersøge.
»Det der med at lave kunstig intelligens i form af robotter, der går rundt ude i verden, har vist sig at være uhyre svært. For at komme nogen vegne er man nødt til enten at lave en robot, der ikke kan så meget, eller gøre verden simplere. Det sidste er det, man gør i spil,« siger Thomas Bolander, der er lektor på DTU og forsker i logik og kunstig intelligens.

Computerspil er oplagt til at teste AI
Og lige præcis inden for spil er der sket en stor fremgang.
Siden IBM’s computer Deep Blue første gang slog verdensmesteren Gary Kasparov i skak i 1996, har Googles AlphaGo vundet over verdensmesteren i det 2.000 år gamle kinesiske spil Go, og Elon Musks OpenAI har slået de bedste spillere i det konkurrenceprægede computerspil Dota 2.
»Computerspil er et af de bedste domæner for tests af kunstig intelligens. Du kan køre tests meget hurtigt, og du kan fokusere på læringen, som for mig er det vigtige aspekt, frem for eksempelvis at bruge tid på en motor, der er gået i stykker,« siger Sebastian Risi, der er lektor i Machine Learning på IT-Universitetet.
Her har han sammen med ph.d-studerende Niels Justesen for nylig afholdt en workshop for unge programmører og IT-interesserede, der ville prøve kræfter med at udvikle kunstig intelligens i det populære computerspil StarCraft.

StarCraft mere realistisk end skak
Sebastian Risi arbejder på IT-Universitetet med at udvikle en kunstig intelligens, der ikke bare kan spille et enkelt spil, men lære at tilpasse sig mange forskellige situationer. Og her er spillet StarCraft et godt udgangspunkt, mener han.
»I Skak og i Go, er der et meget veldefineret problem. Der er et stort rum af muligheder, men der er ikke noget skjult information. Hvis jeg viser dig brættet og brikkernes positioner, så har du i princippet alt, hvad du skal bruge for at beslutte dit næste træk,« siger han.
StarCraft er til gengæld langt sværere for en computer. Blandt andet, fordi meget af banen er dækket af en mørk tåge, som gør dig ude af stand til at se, hvad din modstander laver.
»Det er så udfordrende. Meget information er skjult, så du ved ikke alt, hvad modstanderen gør. Der er også vildt mange forskellige valg. Du kan vælge at bygge noget, forske i noget, eller sende enheder ud til forskellige steder. Der er hundreder til tusinder af ting, du kan gøre hvert sekund,« siger han.
Sebastian Risi sammenligner usikkerhederne i StarCraft med kortspillet poker, hvor der er visse sandsynligheder for, hvad dine modstandere har på hånden, men hvor du sjældent kan vide det med sikkerhed.
»Den slags spil er meget sværere end skak og Go, selvom Go allerede er meget avanceret. Der er faktisk flere mulige træk i Go, end der er atomer i universet.«
Thomas Bolander er enig.
»Reglerne i skak kan du jo skrive ned på en serviet. I StarCraft sker der flere ting, og der er flere aspekter af problemløsning, som ligner virkeligheden, end der er i skak og Go.«
Efter to timer spiller computeren Breakout helt fejlfrit, og efter tre timer ligner det næsten, at den er blevet doven. Den har nemlig regnet ud, at hvis man får bolden op bag brikkerne, behøver man ikke redde den. (Video: Two Minute Papers)
Computerne har lært af deres fejl
En af grundene, til at computerne pludselig er blevet bedre til at spille spil, er selvfølgelig, at de har fået mere regnekraft. Men der er faktisk også en anden væsentlig årsag. De er nemlig blevet mere ‘menneskelige’.
De første skakcomputere fungerede ved at udnytte deres regnekraft til at forudse alle mulige positioner inden for eksempelvis de tre, fem eller ti næste træk.
Derudover kunne de beslutte, om et træk var godt eller dårligt ved hjælp af en evalueringsfunktion. I sin simpleste form kunne det være, at de talte, hvor mange brikker de havde i forhold til modstanderen. Her ville de dog nok ikke komme langt, medmindre de også kunne vurdere, hvilke brikker der er bedre end andre.
»Den slags programmer bliver kaldt narrow AI (snæver kunstig intelligens, red.), og de indeholder typisk en masse regler for, hvordan et godt skakbræt ser ud, og hvilke træk der er gode,« siger Sebastian Risi.
Men den slags computerprogrammer er tilbøjelige til ofte at gøre det samme, når de spiller, og de lærer ikke noget. De er det, som programmører kalder ‘scriptede’ (forudplanlagte, red.).
Computere bliver klogere over tid
Den slags computerprogrammer, som Sebastian Risi arbejder med, er derimod designet til selv at lære af deres fejl. En metode, der kaldes ‘reinforcement learning’.
»Den grundlæggende idé er, at computeren udfører nogle bestemte handlinger i spillet. Nogle fører måske til en belønning, mens andre fører til en straf. Hvis den ser, at bestemte handlinger hele tiden leder til negative konsekvenser, så vil den ændre sin strategi eller opførsel til noget, som måske leder til flere belønninger,« siger han.
Selvom det typisk tager længere tid for computerprogrammerne at lære at spille ligeså godt som mennesker, kan de ofte blive bedre end mennesker, hvis bare de får tid nok.
(Se for eksempel, hvordan Google Deepmind lærer sig selv at spille Breakout i videoen længere oppe)
Botten Mar/O er baseret på evolutionen, og hver generation af kunstig intelligens kommer et stykke længere i banen, fordi de uhensigtsmæssige ‘gener’ bliver sorteret fra. Det kan du læse mere om længere nede i artiklen. (Video: SethBling)
Computer-robotter har mange, små hjerner
At en computer kan lære af sine fejl, kan virke primitivt for os mennesker.
Men det er faktisk et enormt skridt for computere, da de ikke længere behøver at få alt at vide af programmørerne.
Det betyder, at en programmør, der ikke selv er god til et spil, kan lave et computerprogram, der kan lære at blive bedre end ham selv.
En populær måde at gøre dette på er ved at lave et neuralt netværk. Det er en form for meget simpel model af, hvordan vores hjerner fungerer.
I modellen simulerer systemets ‘neuroner’ vores hjerneceller, og de er tilknyttet forskellige inputs og outputs.
Sådan kan den kende forskel på hund og kat
For at forstå, hvordan det virker, skal man holde tungen lige i munden, og derfor har Videnskab.dk også spurgt Thomas Bolander om hjælp.
Thomas Bolander beder os om, at vi forestiller os et program, der skal lære at kende forskel på billeder af katte og hunde.
»Her kommer der så billeder, som får talværdier og farver, som computeren kan forholde sig til, ind i den ene ende. I den anden ende har du to output-neuroner. Én til katte og én til hunde. I starten har programmet ingen forståelse, og den sender bare billederne i en vilkårlig kategori,« siger han.
»Men så justerer du på forbindelserne, så der kommer flere katte-billeder i kattekategorien. Langsomt begynder programmet at kende nogle mønstre i billederne, og den justerer selv, så flere kattebilleder ryger i kattekategorien.«
\ Hvad er Reinforcement Learning og Supervised Learning?
Neurale netværk kan oplæres på forskellige måder. Blandt andet kan man benytte sig af Reinforcement Learning eller Supervised Learning.
I Reinforcement learning oplæres computeren ved hjælp af belønning og straf, mens Supervised Learning er baseret på, at du selv retter computerens fejl, indtil den selv ved, hvad der er er rigtigt og forkert.
Reinforcement Learning er praktisk, hvis du ikke selv ved, hvad det rigtige svar er på det, du vil finde ud af. Det kræver til gengæld, at du ved, hvilken opførsel der er god eller dårlig for programmets fremskridt.
For eksempel i spillet Breakout, der går ud på at fjerne en gruppe brikker i toppen af skærmen med en bold og et bræt i bunden af skærmen. Her ved du, at bolden ikke må ryge forbi brættet, og at det er godt at få point ved at ramme brikkerne – men måske ved du ikke, hvad den bedste taktik er for at få point.
Supervised Learning er til gengæld smart, hvis du allerede har alle de data, du vil bruge, og dit program ganske enkelt skal gætte rigtigt.
For eksempel hvis du vil have et program til at kunne kende forskel på katte og hunde. Her ved du selv, hvilke billeder der er katte, og hvilke der er hunde. Her kan du så justere på programmet, indtil den finder ud af give de resultater, du gerne vil have.
Kunstig intelligens udvikler sig evolutionært
Hvis du nu sidder og bliver urolig for, om forskerne laver intelligent liv inde i computere, så de kan begynde at tænke helt selv, kan du tage det helt roligt. Der er vi slet ikke. Endnu.
For selvom de kunstige neurale netværk er inspireret af vores hjerneceller, så fungerer de ikke på samme måde. Blandt andet, fordi vi endnu ikke helt ved, hvordan vores hjerneceller fungerer, er neuronerne i de neurale netværk forsimplede modeller.
Derudover menes vore hjerner at indeholde omkring 86 milliarder hjerneceller. Og så avancerede neurale netværk er ganske enkelt umulige at lave med nutidens computerkraft.
Men der er faktisk en måde, den kunstige intelligens alligevel har en vis lighed med noget levende.
For sammen med de neurale netværk benyttes indimellem en teknologi, der kaldes for evolutionær komputation. Teknikken tager, som navnet antyder, udgangspunkt i den evolutionære proces, der ifølge Sebastian Risi er den eneste måde, vi kender til, hvormed intelligens er opstået.
»Ideen er at genskabe processen i en simplificeret form. Vi simulerer simpelthen processen inde i en computer. Der er forskellige simple, kunstige hjerner, der konkurrerer mod hinanden i at udføre bestemte opgaver. Den bedste bliver valgt, og de får lov til at ‘formere sig’ til næste generation og spille igen.«
Den ‘bedste’ får simpelthen lov at overleve, hvis den er fordelagtig i forhold til computerprogrammets mål.
I et spil som Super Mario kan målet for eksempel defineres som at komme så langt fra venstre mod højre i banen som muligt.
Som du kan se i videoen længere oppe, får de neurale netværk, der hjælper Mario videre i banen, lov at overleve, mens de andre netværk dør sammen med Mario.
Efter mange forsøg har de neurale netværk udviklet sig til at kunne få Mario sikkert gennem banen uden at dø.
Hvad kan computerspillene hjælpe med?
Nu spørger du måske, hvad dælen alt det her skal bruges til. Det giver jo ikke meget mening, at vi udvikler spil for så derefter at udvikle computere, der selv kan spille dem uden os.
Isoleret set giver det måske ikke så meget mening, men ifølge Sebastian Risi er spillene en rigtig god platform til at udvikle kunstig intelligens, der kan hjælpe os på mange andre måder, blandt andet fordi den ikke har menneskets fordomme.
»Evolutionær komputation (teknik, der tager udgangspunkt i den evolutionære proces, red.) har blandt andet udviklet en antenne, der virker meget bedre end andre antenner. Den så virkelig mærkelig ud, for programmet havde ikke alle de her fordomme om, hvordan en antenne skal se ud, men den var langt mere effektiv. Den blev vist sendt ud i rummet,« siger Sebastian Risi.
Sebastian Risi fortæller også, at Googles kunstige intelligens AlphaGo, der vandt over verdensmesteren i Go, fandt nye måder at spille på ved at træne mod sig selv.
Det kunne den, fordi erfarne Go-spillere (af den menneskelige slags) ifølge Sebastian Risi har en forudindtaget idé om, hvilke træk der er gode og dårlige.
Selvsamme AlphaGo har sidenhen været brugt til at reducere energiforbruget på Googles datacentre.
Sebastian Risi fortæller også, at han forestiller sig, at strategierne, som computerprogrammer opdager i spil, vil kunne bruges indenfor andre felter.
»I fremtiden ser jeg mennesker og maskiner løse problemer sammen, som ingen af dem kunne hver for sig. For eksempel inden for sundhed, hvor du skal lave meget komplicerede beslutninger, selv om du måske ikke ved så meget om patienten. Så der er flere ligheder mellem de to domæner,« siger Sebastian Risi.
Hvornår kommer robotterne?
Men robotterne er her altså ikke endnu. Og de kan heller ikke det samme som dig og mig.
Ifølge Thomas Bolander kan der være lang vej endnu.
»Vi er ikke der, hvor Herbert Simon sagde, vi ville være. De kunstige neurale netværk har ikke i nærheden af samme kompleksitet, som de rigtige. Så vi kan ikke bare lade algoritmerne træne, og så vågner de op og er bevidste en dag,« siger han.
Men når det så er sagt, så er der i øjeblikket et stort fokus på området, og så længe der forskes i området, kan der ske ting og sager.
»Præcist hvor lang tid der går, kan være svært at sige noget om. Der skal forskes i det, og noget af den forskning vil være frugtbar. Hvilken kan man ikke vide på forhånd. Det kan være, at der pludselig kommer en genial idé, som sætter skub i tingene.«
I mellemtiden er udfordringen for Sebastian Risi dog at gøre kunstig intelligens i stand til at slå de bedste menneskelige computerspillere i komplekse spil som StarCraft.
»Den er ikke i nærheden af de bedste endnu. Den kan godt vinde over amatører, men når spillerne er bedre, har den ikke en chance,« siger han.