Artikel top billede

(Foto: Computerworld)

Nu begynder computeren at tænke selv

Den selvtænkende computer er en drøm – eller et mareridt som i den legendariske science fiction-film 2001. Men uanset hvad vi mener, er maskinlæring nu blevet en realitet: Computeren lærer af sine fejl og finder selv løsninger.

Af Palle Vibe, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Har du nogensinde spekuleret på, hvordan en netbutik næsten øjeblikkeligt kan poppe flere tilbud op på din skærm, ting, som måske kan interessere dig? Eller hvordan lånevirksomheder kan give dig svar på dine individuelle lånespørgsmål næsten omgående?

Svaret er, at den software, der ligger bag, omfatter machine learning – ML eller maskin-læring, som det hedder på dansk. ML er forskellige, snedigt udformede algoritmer, der sætter computere i stand til at lære og blive dygtigere uden at være specifikt programmeret til det. ML optræder flere og flere steder i vores samfund og hjælper os med at søge på nettet, lure svigagtige pengetransaktioner, beregne pris på nye produkter til nye markeder og genkende mønstre og billeder. Det er som regel også ML-algoritmer, der gør dit e-mailprogram i stand til at frasortere spammails eller sender dig en advarsel om virus-indtrængen i dit lukkede netværk.

Takket være evnen til lære af træning og fejltagelser kan ML-programmer gå ind og overtage en lang række opgaver, hvilket gør det overflødigt først at udvikle og designe specielle programmer til formålet.

Med maskinlæring kan robotter i fremtiden ikke blot eftergøre, hvad vi skriver, men også give et svar eller et modspil til det. Med maskinlæring kan robotter i fremtiden ikke blot eftergøre, hvad vi skriver, men også give et svar eller et modspil til det.



Fra klogskab til erfaring
ML-teknologien har været på banen som idé i årtier. Det er en drøm at kunne skabe den selvtænkende computer. Men det kan også være en mareridtsvision som i Stanley Kubricks og Arthur C. Clarkes legendariske science fiction-film Rumrejsen år 2001 fra 1968 – her overtager computeren på et rumskib som bekendt kontrollen over fartøjet og forsøger at slå menneskene om bord ihjel.

Når ML hidtil kun har været luftig teori, skyldes det, at manglende computerkraft har sat en afgørende begrænsning. Op gennem 1990’erne, hvor udviklingen muliggjorde stadigt større, hurtigere og mere effektive computersystemer, begyndte ML imidlertid en udvikling mod en særskilt computerviden-skab. Sigtet var i starten at skabe kunstig intelligens, AI, men med den stadigt større udbredelse af digital information, der er nem at distribuere via internettet, har fokus flyttet sig.

I dag er formålet snarere at udvikle computere, der kan udnytte alle disse digitale oplysninger til at finde svar på givne spørgsmål eller ligefrem foreslå nye smarte og nyttige metoder uden menneskelig indblanding.

Tanken er en dag at kunne give computeren en ”følelse” af eller ”fornemmelse” for, hvordan et givet problem skal løses. Men det kan den kun få gennem erfaring, og da al erfaring beror på sammenligning af opnået viden, forudsætter ML i alle tilfælde en meget stor database med baggrundsviden foruden en masse praktisk øvelse.

Opskriften på at lære
De algoritmer, som ML-programmer er opbygget af, er entydige trin for trin-opskrifter på, hvordan man løser et problem eller en opgave af en bestemt type uanset, hvordan problemet bliver præsenteret.

Ud fra et hav af data og oplysninger vil en smart udtænkt algoritme altså kunne finde et brugbart svar. Faktisk er madopskrifter, brugsvejledninger og samleanvisninger også en form for algoritmer, som dog sjældent vil være helt entydige og derfor egnet til brug for en normal ML-computer. ML gør blandt andet brug af såkaldt kunstige ”neurale netværk”, dvs. en eller flere algoritmer, der minder lidt om den menneskelige hjerne i funktion og virkemåde og eksempelvis arbejder med forbundne grupper af “kunstige nerveceller”. På det seneste har computervidenskaben også udviklet begrebet deep learning (DL), som udnytter neurale netværk opbygget af flere lag. Deep learning-algoritmer kan på den måde gennemskue selv ret komplicerede sammenhænge i meget store – men også udvalgte og relevante datamængder – og bruges eksempelvis til at finde mønstre i billeder og ord af lyd, hvilket har ført til nye gennembrud inden for både tale-, tekst- og billedgenkendelse og dermed forbedret mønstergenkendelse og maskinoversættelse.

Foreløbig fungerer ML kun på relativt konkrete og afgrænsede problemer, og de løsningsmodeller, mange ML-programmer foreslår, er bestemt ikke lige gode allesammen. Computeren har for nuværende ingen eller kun meget ringe fingerspidsfornemmelse for, om en model umiddelbart virker fornuftig eller ej. Men der forskes ihærdigt i at få computere til at lære af fejltagelser og foretage selvstændige handlinger baseret på egne erfaringer.

En ”ML-stjerne” er Watson, der allerede i 2011 besejrede adskillige eksperter på spørgsmål i paratviden ved hjælp af snedige algoritmer, og dette program repræsenterer et betydeligt skridt fremad i den udvikling.

ML og datamining
Mens mange opfatter ML som et skridt på vejen til at udvikle kunstig maskinintelligens, ser andre snarere sådanne algoritmer som et effektivt værktøj til datamining og analyse af store mængder kompleks data, også kaldet Big Data. ML og datamining nævnes ofte i flæng, og sandt er det da også, at både ML og datamining er i stand til at afsøge store datasæt og voldsomme databaser.

Forskellen er dog den afgørende, at data- mining-software ikke nødvendigvis behøver at være særlig ”smart”, da processen hovedsageligt går ud på at søge efter mulige mønstre, træk og sammenfald i et væld af mere eller mindre tilfældige data, som det så er op til andre at finde anvendelse for og betydning af. ML fokuserer derimod på at uddrage svar og løsningsmodeller på givne spørgsmål ud fra relevante data, dvs. data, der er udvalgt til formålet, og alle løsningsmodeller vil også føre til en form for resultat.

Resultatet kan være mere eller mindre anvendeligt, men processen kan gentages, så systemet udvikler mange forskellige og ofte også stadigt bedre modeller på samme datagrundlag. Det er samtidig en proces, der er let at automatisere og lade løbe, til de mest lovende løsninger er fundet.

Mens en menneskelig programmør måske vil kunne udlede en eller to af slagsen om ugen, kan ML foreslå tusind, og efterhånden vil computeren selv kunne udvælge de mest anvendelige, der dog stadig skal underlægges menneskelig vurdering. Det ultimative formål med ML er, at systemet selv kan afgøre, hvilken løsningsmodel, der fungerer allerbedst.

Maskinlæring er en hjælp til meget, men indtil videre ikke til meget mere end det, og udvikler og forfiner man ikke til stadighed algoritmerne og kontrollerer deres svar og resultater, kan det gå gruelig galt. Google har eksempelvis brændt sig flere gange ved at stole alt for meget på deres algoritmer, og har for eksempel måttet se deres automatiske billedreduceringsprogram betegne en mørkhudet kvinde som ”gorilla” på Google Photos.

Princippet i maskinlæring: Spredte data grupperes langsomt til en model. Modellen repræsenterer løsningen på et problem. Princippet i maskinlæring: Spredte data grupperes langsomt til en model. Modellen repræsenterer løsningen på et problem.

Hvad er en algoritme?
En algoritme er en entydig trin for trin-opskrift på at løse et problem af en bestemt type uanset, hvordan problemet bliver præsenteret. Ud fra et hav af data og oplysninger vil en smart udtænkt algoritme altså kunne finde et brugbart svar. Madopskrifter, brugsvejledninger og samleanvisninger er også en form for algoritmer, som dog sjældent vil være helt entydige og derfor til at bruge for en normal ML-computer, som næppe vil forstå ord som ”opbagt” eller ”smig”, medmindre den har adgang til en kæmpedatabase af baggrundsviden og forklaring af almene begreber.

Algoritmer med og uden skolelærer

Forskerne arbejder med forskellige former for ML-algoritmner

Supervised learning går i korthed ud på at ”træne” ML-algoritmer gennem eksempler. Computeren præsenteres for en række udvalgte og bearbejdede data, og programmøren beder derpå maskinen om at udlede en eller flere bestemte løsninger eller løsningsmodeller og svar ud fra disse data. Hvis løsningsmodellerne ikke kan godtages, må algoritmen forsøge at justere modellerne til at give bedre svar. Målet er at træne computeren til at foreslå bedre modeller på baggrund af sine fejl og lære af sin erfaring.
På den måde fik IBM sin berømte Watson-computer til i tv-quizzen Jeopardy at udlede meningsfyldte svar på alverdens spørgsmål ud fra en kæmpemæssig database af dokumenter, litteratur og nyhedsmedier.
De fleste ML-algoritmer (cirka 70 procent) er supervised.

En supervised algoritme er som et barn, der først får fortalt en række fakta og bagefter får stillet spørgsmål i stoffet. En supervised algoritme er som et barn, der først får fortalt en række fakta og bagefter får stillet spørgsmål i stoffet.



Unsupervised learning får en algoritme til at danne sig et overblik over en mængde udvalgte og bearbejdede data og finde visse ligheder og ensartetheder, der til sammen udgør et mønster. Computeren får med andre ord – som det også gælder ved datamining – blot lov til at gå løs på en stor mængde givne fakta, og så ser forskerne, hvad den finder frem til.
Algoritmen bliver ikke bedt om at fremkomme med bestemte svar eller løsningsmodeller, men til forskel fra datamining er der tale om udvalgte data, som forskerne i forvejen mistænker for at rumme nogle interessante svar. Computeren lærer altså, men langsommere og uden decideret ”vejledning”.
Den praktiske nytteværdi er derfor også mindre, og kun 10-20 procent af alle ML-algoritmer programmeres derfor som
unsupervised.
Semi-supervised learning har mange ligheder med supervised learning, men gør brug af såvel bearbejdede som ubearbejdede data, omend med klar overvægt af ubearbejdede data, der ikke i forvejen har været under forskellig databehandling og dermed er både dyrere og sværere at tilvejebringe i tilstrækkeligt omfang. Denne metode bruges derfor, hvor fuld ML-behandling af data vil være for kostbar, for eksempel kræve for meget maskinkraft eller for mange menne-skelige ressourcer. Ikke desto mindre kan semi-supervised learning-algoritmer sagtens give gode resultater.

Reinforcement learning er den helt simple maskinindlæringsmetode, der blot er en ”prøv-tag-fejl-og-prøv-igen”-algoritme, der møjsommeligt gennem forsøg efter forsøg finder frem til en slags fællesnævner eller overordnet opskrift på anvendelige modeller og metoder.

Deep learning: Et samarbejde mellem en eller flere algoritmer, der virker på samme måde som den menneskelige hjerne og med forbundne grupper af “nerveceller”, kaldes kunstige neurale netværk. Hvis sådanne neurale netværk er opbygget i flere lag, taler man om deep learning (DL).
Deep learning-algoritmer kan gennemskue selv ret komplicerede sammenhænge i meget store datamængder og bruges til blandt andet at finde billed- og lydmønstre i billeder og ord i lyd.
For at genkende menneskelig tale har udviklere hidtil manuelt skulle programmere systemerne til at tage højde for stemmelejet i både mande- og kvindestemmer. Men DL kan automatisere sådanne opgaver, hvis systemet først har ”fået færten” af problemet.

Kan ML udvikle sig til intelligent maskintrussel?
Datalog og medstifter af det amerikanske it-firma Magnitude Labs, Julie Pitt, er bekymret.
”Det kan blive umuligt at forudsige resultatet, når algoritmer kan lære på samme måde som vores hjerne,” forklarer hun.
Intelligent software kan nemlig fortolke data, der både er uoverskuelig og i digital form også uforståelig for et menneske.
”Det betyder, at ML-algoritmer kan bearbejde data på måder, vi ikke selv er i stand til.”
Disse data kan være informationer fra datatrafik på nettet, de finansielle markeder eller vejret. Og problemet er, mener Julie Pitt, at mennesket derfor nødvendigvis må afgive kontrol, hvilket vi skal være opmærksomme på, før vi kaster os ud i at konstruere selvtænkende programmer. Det betyder ikke, at ML-computere nødvendigvis vil tage magten fra os.
”Der kan jo sagtens vise sig at eksistere begrænsninger for, hvor intelligente systemer vi er i stand til at skabe. Det kan eksempelvis vise sig næsten umuligt at få meget specialiserede intelligente systemer til at løse en helt ny opgave uden ny, langvarig oplæring,” erklærer den amerikanske datalog.

Julie Pitt er kendt som kritisk forsker inden for maskinlæring. Julie Pitt er kendt som kritisk forsker inden for maskinlæring.

Google tilbyder svar på rede hånd
Google har lanceret om en ny, såkaldt Smart Reply-feature, en mobil e-mail-app, der tilbyder tre automatiske svar på en modtaget mail på baggrund af en ML-analyse af meddelelsens indhold. Den mulighed vil måske ikke mindst mobilbrugere på farten skønne på.
Funktionaliteten er på ægte ML-vis opbygget på en måde, så den bliver dygtigere og dygtigere til at udforme meningsfulde og kontekst-relevante svar. For Google er denne ML-funktion vigtig i kampen for at få brugerne til at vælge Gmail som postprogram. Også Microsoft anvender ML-lignende teknikker til at kategorisere e-mails i Outlook.

Smart Reply udvælger tre beskeder og foreslår et svar. Fungerer endnu kun på engelsk og kræver en app til iPhone eller Android. Smart Reply udvælger tre beskeder og foreslår et svar. Fungerer endnu kun på engelsk og kræver en app til iPhone eller Android.

Giver mere præcise søgninger
Google og andre teknologivirksomheder bruger ML til at forbedre søgninger og navngive billeder og videoer i Googles forskellige apps. Når Googles søgemaskine kan give et bud på, hvad du vil søge efter, allerede mens du skriver, så skyldes det virksomhedens ML-algoritmer.
Tidligere har Google benyttet softwaren DistBelief, men nu har amerikanerne lanceret et helt nyt open source ML-program ved navn TensorFlow. Det er et sæt koder, som er udviklet hen over flere år, og hvor man undervejs har taget det bedste med.

Med TensorFlow frigiver Google ikke blot koden, der gør det lettere at udvikle ML-algoritmer selv. Der følger også en række modeller og færdige algoritmer med, som blandt andet kan bruges til at genkende billeder, identificere håndskrevne numre og analysere tekst.
Modellerne kan desuden trænes ved hjælp af offentligt tilgængelige datasæt, så også små virksomheder og udviklere kan komme med på vognen. TensorFlow har dog en ret så væsentlig begrænsning: Programmet kan indtil videre kun fungere på én computer eller smartphone ad gangen. Google selv udnytter datakraft fra flere datacentre, men den funktion vil selskabet ikke lade omverdenen kopiere.

Softwarebiblioteket med tilhørende værktøjer og tutorials kan findes på TensorFlow.org. Softwarebiblioteket med tilhørende værktøjer og tutorials kan findes på TensorFlow.org.

ML holder øje med vindmøller til havs
Siemens Wind Power servicerer 9000 vindmøller over hele verden. Via tre millioner sensorer bliver møllerne fulgt og holdt kørende fra hovedkvarteret i Brande. Sensorerne viser møllernes rotationshastighed, temperaturen af gearolien, smøredoseringens effektivitet og andre væsentlige funktioner.
Det er kostbart at sende servicemontører ud til en offshore-vindmølle, og derfor har Siemens serviceafdeling over de seneste år udviklet et ML-system af neurale netværk kaldet MBD (Model Based Diagnostics), der kan spotte mulige fejl og fejltendenser og straks alarmere, hvis noget er galt. Da alle sensordata logges typisk 10 gange i sekundet, betyder det, at 18.000 milliarder målinger hver uge bliver sendt til en datacentral kaldet Wind Farm Data Base, som også ligger i Brande, hvor de behandles og danner grundlag for fjerndiagnose af samtlige flådens vindmøller.
Også Siemens har gjort sig den erfaring, at de bedste resultater opnås ved at kombinere løsningsmodellerne, så systemet foretager flere uafhængige tjek af de samme fænomener, og datacentralen regnes blandt de bedste i verden til modelbaseret overvågning.

18 milliarder meldinger fra Siemens-møller sendes hver uge til ML-behandling i Brande. 18 milliarder meldinger fra Siemens-møller sendes hver uge til ML-behandling i Brande.

ML-algoritmer til eksamen

Alt arbejde med ML-algoritmer omfatter tre principper:

1. Algoritmerne fremkommer med et antal mulige løsningsforslag eller løsningsmodeller.
2. En ”censor” afgør modellernes lødighed.
3. Og det skal helst ske med så få test som muligt.

Som eksempel kan man tænke sig talopgaven: 2   4   5  = 3.
Mennesker kan forholdsvis hurtigt gennemskue, at det handler om, at indsætte regnetegn mellem tallene, der herefter vil give facittet 3.
En lignende opgave kan gå ud på at finde det manglende ord i følgende sætninger:
Kan ny højteknologisk brystholder hjælpe dig til at undgå xx? Kan saccharin modvirke xx? Er fiskeolie gavnlig i kampen mod prostata-xx?

En algoritme, der skal løse den slags opgaver, vil i forvejen være programmeret til at forstå, at opgaven går ud på at finde en eller anden nøgle, der får stykket til at stemme, og så ellers gå i gang med at gennemtrævle sin database af matematikopgaver eller sundhedsfaglig viden, hvor ordet ”kræft” sandsynligvis indgår i adskillige sammenhænge.
Men nogle gange er svarene ikke så nemme og entydige. Hvordan afgør du som algoritmens ”censor”, om dens løsningsmodeller er gode eller dårlige?

Tænk som eksempel, at du skal finde en god restaurant i dit nabolag. Løsningsmulighederne tæller samtlige restauranter i området. Metoden er selvsagt at afprøve dem én for én. Men det ved du pr. ”feeling” ikke er en praktisk model. I stedet kikker du erfaringsmæssigt på menukortet udenfor, tjekker internettet eller spørger andre. Algoritmen har imidlertid kun de data til rådighed, som du har givet den. Derfor er en måde at afgøre, om en given løsningsmodel er god, at se, om den også passer med andre data, end dem du har givet computeren til rådighed. En test baseret på de løsningsmodeller, computeren (eller rettere algoritmen) foreslår på baggrund af helt andre datasæt, vil hurtigt vise dig, hvor god din algoritme er, og hvilke fejltagelser, den laver.

Forskerne arbejder naturligvis også med algoritmer, der selv kan gå på nettet og indhente ønskede, manglende oplysninger. Det betyder ikke, at alle de oplysninger, den derved indhenter, er rigtige. Men udviklingen vil givetvis føre til algoritmer, der selv vil kunne tjekke deres oplysninger og fungere som deres egen censor.