13.02.2017
10 min læsetid

Machine Learning: Forstå teknologien bag kunstig intelligens

Uden Machine Learning - ingen kunstig intelligens. IDA ser nærmere på en af tidens vigtigste felter inden for it. De seneste år har for alvor bragt begrebet kunstig intelligens fra forskningsinstitutterne og ud i mainstreammedierne.

Rene Pedersen

af Rene Pedersen

Vi kan nævne Watson, IBM's robot der slog verdens skarpeste Jeopardy-hjerner, kan scanne hundredvis af scanningsbilleder eller analysere kriminaliteten i et geografisk område. Vi kan også nævne de selvkørende biler, som så småt begynder at rulle ud på vores veje som forsøg. Eller vi kan nævne Googles AlphaGo, som besejrede den kinesiske mester i Go. Et spil, som de færreste europæere forstår, men som i modsætning til skaks 20 mulige ryk i første runde indeholder 361 og efter sigende har flere mulige udfaldsmuligheder, end der findes atomer i universitetet.

Tre nylige eksempler på, at den kunstige intelligens på nogle områder overgår mennesker, og at teknologien har flyttet sig mærkbart i de seneste år. Men i virkeligheden er der tale om gradvise fremskridt og ikke en revolution inden for Machine Learning og de forskellige grene af området, mener Christian Igel, der er professor ved Datalogisk Institut på Københavns Universitet, DIKU og forsker i Machine Learning.

Han fortæller, at der har været konstante videnskabelige forbedringer inden for kunstig intelligens og Machine Learning, men der har ikke været tale om fundamentale gennembrud de seneste år. Det betyder ikke, at de seneste års udvikling ikke har været opsigtsvækkende, men det kan vi vende tilbage til.

Først giver det mening at definere, hvad Machine Learning og Deep Learning er, og hvordan metoderne hænger sammen med kunstig intelligens. For selvom der ikke er global enighed om én fælles definition på kunstig intelligens, er det svært at nævne begrebet uden også at sige Machine Learning.

"Uanset hvilken definition af kunstig intelligens, du bruger, er læring en essentiel del. Så om du kalder det kognitiv teknologi eller andet, så er det klart at et system, der ikke er i stand til at lære, ikke er ret intelligent. Så Machine Learning-algoritmer er en essentiel del af kunstig intelligens," siger Christian Igel.

Machine Learning har til gengæld en ret klar definition som et felt inden for datalogien og anvendt statistik, hvor man arbejder med at bygge algoritmer eller computersystemer, som bliver bedre til deres opgave baseret på de erfaringer, de får fra data. Og inden for Machine Learning findes der en række underfelter, hvor f.eks. Deep Learning er blevet en populær metode de seneste år.

"Ordet Deep Learning refererer til Machine Learning-metoder, som behandler data i forskellige faser og lag. Så du kan sige, at systemet har forskellige lag af ikke-lineær behandling af data. Hvis du ser på disse skridt eller lag, kan du sige, at det er et 'deep system', fordi du har en kæde af behandling af data," siger han.

De fleste Deep Learning-systemer bygger på neurale netværk, og derfor er metoden også blevet næsten synonym med neurale netværk. Men du kan også sagtens finde Deep Learning-systemer, der ikke bygger på neurale netværk. Dybe neurale netværk bliver ofte sammenlignet med måden, hjernebarken behandler data fra et lag til det næste hos et menneske.

Mange forskellige metoder med forskellige formål

Deep Learning er altså ikke et alternativ til Machine Learning, men én blandt flere Machine Learning-metoder. Og de forskellige metoder har hver deres styrker og svagheder, så det er afgørende, hvad formålet er, når du vælger algoritmer. Som eksempel nævner Christian Igel convolutional neural networks (CNN eller ConvNet), som er en meget populær tilgang til Deep Learning-arkitektur, der især bliver brugt til billeder, lyde og tale og sprog. Altså formål hvor rækkefølgen betyder noget.

"Hvis vi har et billede, som består af pixels, så har det en struktur, hvor det er afgørende, hvilke pixels der er naboer. Hvis vi har en lydfil, så betyder rækkefølgen over tid noget. Og hvis jeg har en sætning, så betyder rækkefølgen af ordene noget," forklarer Christian Igel.

Så en CNN-tilgang er altså fornuftig, hvis der er en fast struktur i data, som en tidsmæssig eller kontekst-mæssig relation, som ikke kan undværes. Men der findes også eksempler, hvor rækkefølgen ikke spiller en rolle.

"Lad os sige, at du har en patientjournal, hvor du kan se, hvad temperaturen er, hvor meget vejen patienten, hvor høj er patienten og tal som dette. Så betyder rækkefølgen ikke så meget, og så vil et CNN ikke være det rigtige valg. Så vil du måske bruge et standard neuralt netværk, en Support Vector Machine eller en Random Forest." siger han.

Så dine input er altså med til at afgøre, hvilken metode du benytter. Men det er dit output også. Ønsker du at klassificere data, eller har du brug for et numerisk output? Sagt på en anden måde, ønsker du at lave en vejrudsigt, der forudsiger temperaturen, aktiemarkedet. Eller vil du opdele ting i klasser som “Ja” eller “Nej”, “Varmt” og “Koldt” etc.? 

"Lad os sige, at du har nogle data, nogle input og nogle output. Det kan være patientjournaler, hvor du vil forudsige en sygdom, og hvor du har data for patienterne og de korrekte diagnoser, som du kan lære af, og bruge det til at generalisere for andre patienter også. Så vil det være en Supervised Learning Task," forklarer Christian Igel.

Men som sagt findes der også opgaver, hvor du ikke har input-output-par. Du har måske blot brug for at samle dine kunder i bestemte kunde-segmenter. Så er det måske tilstrækkeligt at benytte unsupervised learning.

Derudover findes der også et helt felt kaldet reinforcement learning, hvor systemet ikke har brug for en “teacher”, men lærer fra feedback. Et gammelt eksempel er en skakcomputer, som lærer ved at interagere med en menneskelig modspiller. Her får computeren sparsom feedback, som at den har vundet eller tabt, men den får ingen meldinger i forhold til, at det er en dårlig ide at angribe med kongen. Det må computeren selv lære på den hårde måde ved at lave fejlen mange gange.

Et lavpraktisk eksempel er Google Translate. Indtaster du en artikel, får du en tekst tilbage, som i varierende grad er oversat til et valgt sprog. Men du har også mulighed for selv at angive en bedre oversættelse, hvis Google har misforstået brugen af bestemte ord. Her er der tale om supervised learning, hvor du som bruger er med til at gøre systemet bedre. Men Google kunne også have nøjes med at lade dig angive om oversættelsen var brugbar eller ej, som man ser det i forbindelse med f.eks. FAQ’er eller online support-sider, og hvor du blot skal angive, om svaret var brugbart eller ej.

Samtidig er det afgørende for valg af metode, hvor meget data du har. Nogle metoder fungerer fint med et lille datasæt, men skalerer til gengæld dårligt, og andre metoder kræver et stort datasæt. Og netop datasættet er vigtigt. Ifølge Christian Igel vil det endda for mange virksomheder være arbejdet med infrastrukturen, opsamling og behandling af data, der vil kræve mest tid. Men er fundamentet først på plads, vil en dygtig datalog også kunne give dig gode resultater alene ved at holde sig til gamle og standardiserede metoder fra statistik-verdenen som en baseline og bygge på med mere avancerede algoritmer derfra.

Christian Igel, DIKU

Ingen “game changer”-teknologier

En række af de benyttede metoder er nemlig velprøvede og med en lang historie. Kunstig intelligens inden for datalogien har sine rødder i 40'erne og har i det 20. århundrede været igennem både hype-cyklusser med fornyet fokus og “AI Winters”, hvor pengene har været få. I øjeblikket er interessen dog enorm, og investeringerne i området er mere end tredoblet siden 2013. Men fra et forskningsperspektiv er udviklingskurven de sidste 10 år ikke så eksponentiel, som nogle gerne vil gøre den til.

"Der sker konstant forbedringer, og mange Machine Learning-forskere udvikler nye metoder og laver forbedringer. Men på et forskningsmæssigt niveau vil jeg sige, at udviklingen foregår gradvis. Der har ikke været et stort, fundamentalt gennembrud for nyligt," siger Christian Igel.

Han er dog helt enig i, at kunstig intelligens som felt har præsteret nogle opsigtsvækkende resultater de seneste år. Og det er der især tre grunde til. For det første er der mere data end nogensinde før. Som en unavngiven Google-ansat er citeret for at sige allerede i 2005, da Google Books blot var ét år gammel og skabte stort postyr. “We are not scanning all those books to be read by people, we are scanning them to be read by an AI”. Det er svært at sige, om det er den virkelige årsag, men der er ingen tvivl om, at Google har rigtig meget data, og at data spiller en kæmpe rolle i forhold til at træne algoritmerne bag den kunstige intelligens.

Et andet skifte er på hardware-fronten. I dag foregår de tunge beregninger på GPU’er - altså grafikprocessorer, som er designet til at vise tredimensionel grafik på en computerskærm med høj billedhastighed, men som har vist sig at være mere end almindelig velegnede til Machine Learning. Det giver hurtigere resultater, så man kan behandle mere data, og på den måde opnå kvalitativt bedre resultater.

Den tredje store årsag er ifølge Christian Igel, at ressourcestærke virksomheder som Google, Microsoft, Apple, Amazon - you name it - har kastet sig ind i et oprustningskapløb inden for kunstig intelligens, som ikke bare har bragt dem op på niveau med verdens bedste forskningsinstitutioner.

"De store firmaer bevæger sig ikke ind på området. Jeg synes, det er fair at sige, at de driver området. Firmaer som Google, Microsoft, Facebook, OpenAI er virkelig stærke spillere, og på grund af deres ressourcer, computere, data og de dygtige folk, de hyrer, er det en udfordring for universiteterne at konkurrere," siger Christian Igel.

Han fortæller, at han for nyligt har talt med en tidligere kollega, der nu arbejder hos Googles DeepMind-team, og han tester sine algoritmer på tusindvis af GPU’er. Det er langt flere, end der er til rådighed på universiteterne.

"Hvilket er OK, til det vi laver. Men der er en forskel, og de færreste universiteter har regnekraft til at konkurrere."

Når Christian Igel alligevel ikke mener, at der er sket en revolution inden for Machine Learning, er der fordi, metoderne grundlæggende er de samme. Der er ikke kommet en “game changer” som helt nye måder at skrive algoritmerne, men i forhold til tidligere er det nu for det første muligt at teste metoderne i langt større skala, og på den måde har det også vist sig, at nogle af metoderne skalerer bedre, end man måske kunne forvente. Christian Igel henviser til DeepMind, som i 2015 kastede sig over klassiske Atari-spil og sidste års store AI-historie, hvor AlphaGo slog den regerende mester i det komplekse spil Go.

"Ud fra en metodisk tilgang, er det ekstremt veludført, men ikke overraskende. På den anden side, vil jeg gerne indrømme, at hvis du havde spurgt mig for et år siden, "hvor længe vil der gå, før vi har et system, der kan slå stormesteren i GO?", så ville jeg nok sige, at det vil tage et par år," siger han.

Christian Igel pointerer, at han er ikke er ekspert i Go-spillet, men i de papers, der er skrevet i kølvandet på AlphaGos sejr, forklarer teamet, at der blev benyttet en kombination af dybe neurale netværk og en metode kaldet Monte Carlo tree search. Monte Carlo tree search bygger grundlæggende på en ide fra 1987, der igen bygger på teori fra 40erne. Og allerede flere år tidligere blev Monte Carlo tree search beskrevet som en oplagt måde at vinde i Go.

"Så overraskelsen var ikke i tilgangen. Men hidtil havde metoderne kun fungeret godt på små spilleplader, og det var usikkert, om de kunne skaleres op," siger han.

Er der behov for revolutionerede nye metoder?

De seneste års mest imponerende bedrifter inden for kunstig intelligens bygger altså ikke på revolutionerende nye måder at arbejde med algoritmer, men snarere mere regnekraft og nytænkning af gamle ideer. Inden for kunstig intelligens opererer man med et begreb, der hedder Artificial General Intelligence eller Strong AI. Altså en teoretisk computerhjerne, der kan præcist det samme som en menneskelig hjerne. Og spørgsmålet er så, om vi kan nå til det niveau, uden “game changer”-teknologier? Christian Igel fortæller, at det er et meget svært spørgsmål at besvare.

"Havde du spurgt mig, om vi havde brug for nye metoder for at vinde i GO, ville jeg måske sige ja. Men nu har det vist sig, at det bare handlede om at skalere op. Men jeg er stadig tilbøjelig til at sige, at hvis vi skal skabe Artificial General Intelligence, har vi brug for adskillige game changers. Men det er bare en hypotese," siger han.

For at nå det samme niveau som den menneskelige hjerne, er der nogle helt grundlæggende udfordringer ved Machine Learning, som skal løses. Christian Igel nævner igen DeepMinds Atari-spil som eksempel.
I spil, hvor systemet skulle reagere hurtigt, som det legendariske Pong eller Video Pinball, blev DeepMind hurtigt noget nær “superhuman”. Men der var også eksempler på spil, hvor systemet manglede evnen til at trække på den baggrundsviden eller nysgerrighed, som mennesker besidder og konstant bruger uden at tænke over det.

Det viste sig blandt andet, da DeepMind i 2015 forsøgte at spille platformspillet Montezuma's Revenge fra 1983. I korte træk skal spilleren undgå forhindringer på skærmen og hente en nøgle, som er tydelig på skærmen, og som bruges til at komme videre til næste bane. Ultra simpelt og logisk for et menneske, at en nøgle bruges til at komme videre. Men for en computer uden baggrundsviden viste spillet sig i første omgang at være umuligt at gennemskue.

I juni 2016 var DeepMind dog tilbage med et nyt forsøg og en ny teknik, som de kaldte “Intrinsic rewards”, og som gav systemet en slags nysgerrighed. Og denne gang klarede DeepMind sig langt bedre. Det ændrer dog ikke på, at Christian Igel som udgangspunkt mener, at der mangler flere trædesten på vejen mod en kunstig intelligens, der kan konkurrere med den menneskelige hjerne.

"Det afgørende er, at jeg personligt tror, at det ligger langt ude i fremtiden. For det vi pt ser som weak AI - altså specialiserede løsninger på bestemte udfordringer som at spille GO - det ligger så langt fra artificial general intelligence. Det hersker der ingen tvivl om, og derfor ser jeg det også som langt ude i fremtiden, og jeg ser, at der er så mange ting, der mangler".

Sådan kommer du i gang

Christian Igel fortæller, at nu er et godt tidspunkt at lære sig Machine Learning. Og du kommer langt med en kraftig gamer-computer, en god forståelse for matematik og nysgerrighed.

Start på Datalogi på Københavns Universitet eller et af de andre universiteter, der udbyder uddannelsen. DIKU tilbyder en særlig MSc uddannelse i data science: https://goo.gl/cgf5Zd

Arbejder du allerede med it, udbyder DIKU også Summer School-kurser, hvor du bliver introduceret, f.eks, til Deep Learning.

Der findes også en række MeetUps om Machine Learning.
Nettet rummer også et væld af online kurser. Nogle gode er:

Det er også mange gode forelæsninger på Videolectures hjemmeside

Gode bøger om machine Learning

Derudover anbefaler Christian Igel bøger som:

Learning From Data
Yaser S. Abu-Mostafa, Malik Magdon-Ismail , Hsuan-Tien Lin
Good introductory book

The Elements of Statistical Learning: Data Mining, Inference, and Prediction
Trevor Hastie (Author), Robert Tibshirani (Author), Jerome Friedman (Author)
Good introductory book if you have some background in statistics

Deep Learning
Ian Goodfellow, Yoshua Bengio, Aaron Courville
New introductory book focussing on deep learning

Pattern Recognition and Machine Learning
Christopher Bishop
Introduction to machine learning, focus on Bayesian approaches and graphical models

Foundations of Machine Learning
Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar
Advanced textbook

Understanding Machine Learning: From Theory to Algorithms
Shai Shalev-Shwartz, Shai Ben-David
Good introductory book

Hvilken software skal du bruge?

Der findes en række open source-løsninger som er frit tilgængelige.

Deep learning toolboxes:

Generelle machine learning toolboxes: