Mjukglass i strut, med strössel på

Självlärande AI – vad kan det betyda?

En förvirring jag ofta stött på, eller jag kanske borde kalla det för en fråga där vi inte alltid har samma bakomliggande antaganden, är om och hur en AI lär sig över tid. Ibland hör jag både av föreläsare och dialogparter att AI har en exponentiell förbättring. Den löser sina problem allt bättre bara vi ger den tid. Verkligheten är absolut inte så enkel att sammanfatta.

Jag tänkte att det kunde vara värt att bena ut några varianter av hur en AI tar till sig kunskap.

GOFAI: En expert lär maskinen = inte självlärande

GOFAI står för Good Old-Fashioned AI och kallas också för expertsystem eller ibland symbolisk AI. Det här med ‘symbolisk’ är på sätt och vis en egen diskussion, men kortfattat betyder det att det enda som händer är att maskinen manipulerar symboler. Symboler som i digitalt påtagliga objekt en människa kan relatera till. Att programmera är att ge en maskin en algoritm, ett recept, full av symboler.

Inom GOFAI är det en människa som handgripligen instruerar en maskin, lär upp den på maskinens egna villkor. Detta är inte ett självlärande system men det hindrar dem inte från att fungera väldigt bra till det de är designade att göra.

Maskininlärning: Att lära sig baserat på data/signaler

Definitionen av maskininlärning är en maskins förmåga att lära sig utan att uttryckligen ha blivit programmerad. Det kan låta konstigt men handlar om att maskinen/AI:n tar emot någon form av data och “på egen hand” omvandlar det till något användbart. Till skillnad från metoden GOFAI har ingen beskrivit de exakta reglerna för hur den ska agera eller komma fram till en slutsats. Men det här är i mitt tycke inte en så självklar gräns som man först kan tro. Det finns nämligen olika varianter av maskininlärning och vissa av dem gränsar till att människor satt upp regler, om än inte lika statiska som inom GOFAI.

Dessa varianter är; förstärkt inlärning, övervakad inlärning, samt oövervakad inlärning. Låt oss gå igenom dem.

Förstärkt inlärning (Reinforcement learning)

Förstärkt inlärning har inspiration från spelteori. Det finns faktiskt ett sorts regelverk, eller om du hellre kallar det för ett system för belöning och straff som ger återkoppling på om något är värt att göra.

Jag har ibland kört med exemplet att lära sig cykla. Hos många av oss finns en önskan, ett sug eller en drivkraft att lära oss cykla. Det är målet. Att behärska att cykla till en så liten kostnad som möjligt.

Belöning

Belöningsfunktionen är att vingla fram längre och längre. Att klara av en utmaning. Troligen belönas vi människor rent kemiskt genom att hjärnan producerar en omgång lyckohormoner, som sätter igång positiva känslor och föregår den mer medvetna upplevelsen av upprymdhet.

Kostnad / straff

Kostnadsfunktionen är att cykla omkull. Det vill vi undvika och det lär vi oss väldigt snabbt i processen. Det gör ont. Det kan upplevas förödmjukande och nedslående. Säkert kommer en kemisk återkoppling från hjärnan även här.

Drivkraft + belöning - kostnad

Balansen mellan drivkraften, belöningen och kostnaden reglerar beteendet. Anekdoten om min glassletande treåring är ett exempel på en högst mänsklig drivkraft - jakten på kolhydrater. I forntiden var ekvationen en annan, det fungerade bättre än idag. Ville du ha honung behövde du utsätta dig för risken att bli stucken av bin före du fick belöningen. Kanske valde vissa trots det hellre honung än det mindre belönande att leta rätt på några blåbär, andra nöjde sig säkert med blåbär.

Hyperparameter - individuella skillnader

Varierande riskbenägenhet är också en del av människors olika inställning till kostnaden. Detta kallas inom maskininlärning för en hyperparameter, en inställning som finns innan inlärningen som påverkar utfallet och hur andra parametrar ska tolkas.

En anekdot från min uppväxt var en bekant vid namn Joel som jag stötte på en dag i skidbacken Storstenshöjden. Jag själv hade åkt snowboard i några år och satt i backen för att samla mod inför att höja svårighetsnivån på det trick jag skulle göra på hoppet en bit längre ner i backen.
Joel kommer vinglandes på ett uppenbart nybörjarvis. Han slår sig till ro med marginal innan hoppet och börjar prata om vilka trick man kan tänkas göra när man hoppar. Jag föreslår att pröva att hoppa försiktigt, att metodiskt lära sig att hoppa lite högre och längre, för att sedan börja ta tag i brädan, vrida till den, snurra ett halvt varv eller så.

Joel var inte såld på tillvägagångssättet och bestämmer sig för att göra en bakåtvolt, vilket han sett någon annan göra tidigare under dagen. Ett för mig vansinnigt förslag med tanke på hur farligt det är att misslyckas och risken att misslyckas är enorm när man knappt lärt sig åka. Hur som helst, Joel försökte sig på en backflip. Som tur är lyckades han så dåligt att han landade på ryggen istället för på huvudet (och slapp bryta nacken). Själv hade jag många mindre farliga trick att testa innan jag var framme vid en backflip. Min hyperparameter för acceptabel risk var helt klart annorlunda jämfört med Joels.

I sammanhang innan dagens nu så tillrättalagda liv var det personer som Joel som räddade sin grupps överlevnad genom att konfrontera en hotfull björn innan de andra hunnit bestämma sig för vad de skulle göra och då kunde välja att fly.
På individnivå är denna variation, detta brus, ett sätt att provköra olika “strategier”. Utvecklingsbiologin har ett helt koncept för detta, men de slumpmässiga förändringarna i individers DNA är väl det som ligger närmast till hands för oss som inte är skolade biologer. Ibland kommer förändringar till nytta, som ljus hy för att hushålla med sparsamt solsken, ibland händer inget avgörande, men ibland är det negativt och försöket dör ut.

Övervakad inlärning (Supervised learning)

En annan variant av maskininlärning är den övervakade sorten. Även övervakad inlärning har en sorts regler, i form av att där finns en lärare som visserligen varken slår maskinen på fingrarna när den gör fel eller ger en godis när den gör rätt. Det läraren gör är att ge maskinen ett facit.

Maskinen har alltså både en mängd träningsdata att öva upp sig på men den får också lite annoterad data som hjälper till att strukturera upp sin träningsdata i enlighet med facit.

Ett populärt exempel är att klassificera bilder och gärna att det antingen är katter eller hundar på bilderna. Så hur lär sig maskinen vad som är vad, jo, den får tre olika datamängder:

  1. Träningsdata - bilder som antingen innehåller en katt eller en hund.
  2. Facitdata med katter.
  3. Facitdata med hundar.

Det finns ytterligare sorters dataset men de används inte till att träna upp maskinen. Andra dataset inom maskininlärning är testdata, valideringsdata och holdout-data. De används bland annat för att beräkna hur bra resultatet blev.


Till skillnad från tidigare nämnt GOFAI kommer en maskininlärning att mer självgående klassificera dessa bilder ur sin träningsdata efter likhet med facitbilderna på katter och hundar. Maskinen måste själv upptäcka gemensamma nämnare inom respektive grupp. Om man istället jobbat med GOFAI hade maskinen letat efter spetsiga öron och långa morrhår för att hitta katter eftersom det var vad dess expert lärt den. För hundar kanske den skulle söka efter synliga klor (som tydligen alltid är ute på hundar).

'Figur 1: Hund som anses vara en varg. Källa: Hacker Noon.'
Figur 1: Hund som anses vara en varg. (Källa: Hackernoon)

Nu är det inte säkert att maskinen lär sig på det sätt du tror om du kör med maskininlärning. Bland annat har kunskapsmodeller från maskininlärning vid inspektioner kommit till fel slutsatser på oväntade sätt. Som att skillnaden mellan hundar och vargar är förekomsten av snö i omgivningen. Ställer du då en liten frusen chihuahua i en skidbacke blir den inte plötsligt en mäktig varg, men det kanske är vad modellen från maskininlärningen skulle tro.

Oövervakad inlärning (Unsupervised learning)

Nu börjar vi närma oss det som ibland kan imponera lite. Oövervakad inlärning har till skillnad från övervakad inlärning inget facit. Den letar mönster i data utan att ha något rättesnöre att jämföra med.

Ett exempel på oövervakad inlärning som jag använt själv är klustring. Då ger man maskinen en klustringsalgoritm att använda och sedan …. app-app-app kanske du tänker nu, helt korrekt. Även här finns lite regler som en människa ger maskiner :)

Nåväl, jag säger åt maskinen att klustra en datakälla i tre grupper. Jag ger den lite data, exempelvis tiotusen personers uppmätta blodtryck, och sedan skrider maskinen till verket. Efter en stund kommer den tillbaka med ett besked. Tre distinkta grupper av blodtryck. En grupp som är låg, en medel och en hög. En viktig skillnad mot övervakad inlärning för samma ändamål är att vad som är lågt, medel eller högt i detta fallet är rent statistiskt utifrån den data som maskinen sorterade. Det har inget med någon form av medicinsk kunskap att göra. För att få det tillämpbart medicinskt hade det behövts en annoterad facitdata, vilket skulle gjort det till övervakad maskininlärning, och resultatet skulle mycket väl kunnat vara att samtliga i träningsdatakällan hade haft högt blodtryck.

Jag har ibland raljerande refererat till oövervakad inlärning som en lösning för den som undrar vilka människor som kan få prostatacancer, eller bli informerad om vilken grupp som har en tendens att bli gravida. Att insikterna som en sådan maskin kan komma med ibland är irriterande uppenbara. Det är förstås orättvist. Ifall man får ett sådant resultat har man valt fel verktyg.

Jag är själv ingen praktiker inom maskininlärning. Men tillfällen då jag haft nytta av oövervakad inlärning har det varit för att sortera information för att sedan visualisera, exempelvis blodtryck som är ett koncept många känner till. Ett liknande användningsområde har varit att kalibrera betygssystemet på Webperf. Om jag vill ha ett betygssystem från 1-5 och att varje betygsnivå ska rymma ganska exakt en femtedel fungerar exempelvis klustring bra. Ett typiskt exempel på där tillämpningen av maskininlärning inte är att ta fram en AI-tjänst, bara att komma fram till ny kunskap.

Med det lämnar vi de olika varianterna om hur maskiner lär sig och går över till när i tid de lär sig.

Online machine learning - ständigt lärande

Online machine learning är i det närmaste självlärande över tid, ungefär som vi människor. Den agerar baserat på tidigare erfarenheter och justerar ständigt sina bedömningar ju mer erfarenhet den får.

Med denna metod kommer också tankegångar om maskiner som agenter in. Om du tar tio stycken identiska maskiner i drift och låter dem lära sig på detta sätt kommer de snart att agera olika ifall de fått olika intryck. Jämför med diskussionen om arv och miljö för människor. Enäggstvillingar som växer upp i olika miljöer blir nog mer olika än de som växer upp tillsammans. Samma tänk här med maskiner.

Många verkar förutsätta att allt som kallas för AI ständigt blir bättre på det den är tänkt att utföra. För att nyansera den bilden behöver man både förstå att inte all AI designas för online learning, men också att lärandet inte nödvändigtvis behöver gå åt rätt håll hela tiden.

Måloptimering med gradient descent

En optimeringsalgoritm heter gradient descent. Den kan användas för att bedöma måluppfyllnad genom att se vilka alternativ som ger störst nytta.

Tänk att du är odödlig och vill ta dig ner från Mount Everest på snabbast möjliga sätt. Du får bara välja alternativ som innebär att du tar ett steg i taget och varje steg måste ta dig nedåt. Då letar du förstås efter den riktning som har brantast vinkel ned för berget och följer den. Det är en lysande taktik att snabb komma ganska långt. Tills du är i botten på en grop. Då är du framme och handlingsförlamad även om du inte är vid bergets fot.
Hade du haft en optimeringsalgoritm som lyfte blicken och räknade på genomsnittlig nedstigning med fem steg i vardera väderstreck skulle den kunna undvika vissa gropar och i slutändan ha en bättre chans att komma ännu längre ner.

Det är svårt att sätta bra mål, eller leva med resultatet av sina önskningar

I mer filosofiska sammanhang finns problemställningen om vi verkligen kan hantera långsiktigheten och de oönskade konsekvenserna av våra val. Historien om Kung Midas i grekisk mytologi är ett exempel. Om bokstavligen allt man rör vid omvandlas till guld övergår lyckan ganska snart till problem.

Max Tegmark pratar i sin bok Liv 3.0 om en avlägsen framtid där hela universum skulle kunna vara en enda stor maskin som beräknar saker. Att ett självmedvetet datormoln skulle skala upp sig själv till att omfatta bokstavligen allt. Ett annat tankeexempel är hur en AI skulle agera om den får målet att skapa så många gem som möjligt och vara självförbättrande. Risken är att AI:n snart vill komma åt de grundämnen som utgör levande organismer, som vi människor. Skulle en sådan AI utveckla strategier för att förhindra någon att stänga av den? Om den är avstängd misslyckas den trots allt med målet att producera gem. Det kan den inte tillåta! Det är ungefär vad AI-gudfadern Marvin Minsky såg som ett hypotetiskt problem i form av instrumentell konvergens.

“Instrumental convergence is the hypothetical tendency for most sufficiently intelligent agents to pursue potentially unbounded instrumental goals such as self-preservation and resource acquisition, provided that their ultimate goals are themselves unbounded.”
Instrumental convergence (Wikipedia)

Incremental learning - lär sig i perioder

Den här varianten kanske är ganska självförklarande. Det handlar om att maskinen stötvis lär sig nya saker och förändras först därefter. Du kan se det som att dess utveckling är mer uppdelad i versioner, likt en programvara, snarare än den ständiga förändringen som online learning innebär.

Med inkrementell inlärning blir det enklare att kolla att varje förändring faktiskt är en förbättring. Vilket kan vara både svårt och tidsödande att ta reda på för en komplex lösning.

Offline learning - lär sig inte alls på egen hand

Om man jobbar med ett mer statiskt mål i sikte funkar offline learning. Den uppdaterar inte sin syn på kunskapen över huvud taget. Den är så att säga klar direkt vid produktionssättning och tillämpar det den lärde sig vid ett enda tillfälle under hela sin livstid.

Exempel på den här typen av inlärning är för medicintekniska produkter som bilddiagnostik inom röntgen. En anledning till att man väljer offline learning är på grund av regelverk som ställer krav på förutsägbarhet. En maskin som år ut och år in bara diagnosticerat friska människor ska inte ändra uppfattning om vad som är friskt eller sjukt, den ska bara jobba på. Den maskinen har CE-märkts för ett visst användningsområde, inte för att börja improvisera på egen hand.

Mer om självlärande artificiell intelligens


Publicerad: 2020-05-10
Kategori: Artificiell intelligens
Tagg: Förstärkt inlärning Övervakad inlärning Oövervakad inlärning GOFAI Maskininlärning Träningsdata Valideringsdata Dataset Klustring Annotering Online machine learning Gradient descent Inkrementell inlärning Offline learning

‹ bloggen

Hör av dig