Reinforcement Learning
Vi har sett hur övervakad inlärning lär sig från ett facit och hur oövervakad inlärning hittar mönster i ostrukturerad data. Nu är det dags för den tredje stora pelaren inom maskininlärning: Reinforcement Learning (RL), eller förstärkningsinlärning.
Här är inlärningsprocessen helt annorlunda. Istället för att passivt analysera en färdig datamängd, lär sig en RL-modell genom att aktivt agera i en miljö och lära sig av konsekvenserna av sina handlingar. Det är en process av trial-and-error, precis som när ett barn lär sig att gå eller en hund lär sig ett trick.
Kärnkomponenterna: Agent, Miljö, Belöning
Kärnan i Reinforcement Learning kan kokas ner till några grundläggande koncept:
- Agenten: Vår AI-modell, den som ska lära sig.
- Miljön: Den värld, verklig eller simulerad, som agenten agerar i.
- Tillstånd (State): En ögonblicksbild av miljön.
- Handling (Action): De möjliga beslut agenten kan ta.
- Belöning (Reward): En omedelbar signal från miljön som talar om för agenten om dess handling var bra eller dålig.
Men för att en agent ska kunna lära sig systematiskt behöver vi ett formellt sätt att beskriva detta samspel. Vi behöver en karta och en regelbok för agentens värld.
Byggsten 1: Spelets Regler (Markov Decision Process)
Innan en agent kan lära sig den bästa strategin, måste vi definiera "spelet" den spelar. Inom RL görs detta med ett matematiskt ramverk som kallas Markov Decision Process (MDP). En MDP är en formell beskrivning av miljön och består av fyra huvudingredienser:
- En uppsättning Tillstånd (S): Alla möjliga situationer agenten kan befinna sig i. I schack är detta alla giltiga positioner för pjäserna på brädet.
- En uppsättning Handlingar (A): Alla möjliga drag agenten kan göra. I schack är detta alla lagliga drag från ett givet tillstånd.
- En övergångsmodell (P): Reglerna för hur miljön förändras. Den specificerar sannolikheten att hamna i ett nytt tillstånd (s') om agenten utför en viss handling (a) i ett visst tillstånd (s). För de flesta spel (som schack eller en labyrint) är detta deterministiskt: om du flyttar pjäsen till ruta E4, hamnar den på ruta E4 med 100% sannolikhet. I mer komplexa miljöer, som robotik, kan det finnas osäkerhet (robotarmen kanske bara lyckas greppa objektet 95% av gångerna).
- En belöningsfunktion (R): Specificerar belöningen. Denna funktion är kritisk och dess design är en hel vetenskap. Den kan vara gles (sparse), där agenten bara får en belöning vid slutet av spelet (t.ex. +1 för vinst, -1 för förlust, och 0 för alla hundratals drag däremellan). Detta gör inlärningen mycket svår, eftersom agenten sällan får feedback. Mer vanligt är att man designar en tät (dense) belöningsfunktion som ger omedelbar, mindre feedback för fördelaktiga handlingar, som att ta en av motståndarens pjäser eller förbättra sin position på brädet. Detta vägleder agenten och snabbar på inlärningen avsevärt. Det som verkligen definierar en MDP är dock en fundamental egenskap som kallas Markov-egenskapen (The Markov Property).
Markov-egenskapen: Schackbrädesprincipen
Markov-egenskapen säger att framtiden är oberoende av det förflutna, givet nuet.
Det låter abstrakt, men är extremt intuitivt om vi tänker på ett schackbräde. För att bestämma ditt bästa nästa drag behöver du bara känna till den nuvarande positionen av alla pjäser. Det spelar absolut ingen roll vilka drag som ledde fram till den positionen. Hela historien är komprimerad i det nuvarande tillståndet. Du behöver inte komma ihåg att "motståndaren flyttade sin springare för fem drag sedan". All relevant information finns på brädet just nu.
Detta är "minneslöshetsegenskapen". Agenten behöver inte komma ihåg hela sin historia för att fatta ett optimalt beslut; den nuvarande observationen är tillräcklig.
När ett problem kan beskrivas som en MDP (med tillstånd, handlingar, övergångar, belöningar och Markov-egenskapen), har vi en väldefinierad struktur. Målet för Reinforcement Learning blir då att hitta en optimal policy (π*). En policy är helt enkelt agentens strategi – en regelbok som talar om vilken handling som är bäst att utföra i varje givet tillstånd för att maximera den totala framtida belöningen.
Byggsten 2: Agentens Minne (Q-tabellen)
Hur hittar agenten denna optimala policy? Den måste ha ett minne för att komma ihåg vilka handlingar som tenderade att vara bra i vilka situationer. En av de mest grundläggande metoderna för detta kallas Q-learning, och den använder en enkel tabell som agentens "hjärna".
Denna tabell kallas en Q-tabell. Tänk dig den som ett fuskblad för livet. Raderna representerar varje möjligt tillstånd (State) och kolumnerna representerar varje möjlig handling (Action). Siffran i varje cell, Q-värdet, är agentens uppskattning av den totala framtida belöningen den kommer att få om den utför den handlingen i det tillståndet.
Analogin: Musen i labyrinten Föreställ dig en mus (agent) i en labyrint (miljö) som följer reglerna i en MDP. Målet är att hitta osten (stor belöning). Vissa rutor har en elektrisk stöt (negativ belöning). Musens Q-tabell skulle kunna se ut så här i början (allt är 0, den vet ingenting):
Tillstånd (Position) | Gå Upp | Gå Ner | Gå Vänster | Gå Höger |
---|---|---|---|---|
Start (A1) | 0 | 0 | 0 | 0 |
Ruta A2 | 0 | 0 | 0 | 0 |
... | ... | ... | ... | ... |
Byggsten 3: Lärande genom Uppdatering (Bellman-ekvationen)
Nu börjar inlärningen. Musen rör sig slumpmässigt.
- Första steget: Musen är i Start (A1) och väljer slumpmässigt att Gå Höger till Ruta A2. Miljön är neutral, så den får belöningen
0
. - Andra steget: Från A2 väljer den att Gå Ner och hamnar i Ruta B2. JACKPOTT! Den hittar osten och får en belöning på
+100
. - Lärdomen (Uppdateringen): Nu händer magin. Musen uppdaterar sin Q-tabell. Den tänker baklänges: "Att jag Gick Ner när jag var i A2 var en fantastisk idé! Det ledde direkt till +100 i belöning." Agenten uppdaterar därför Q-värdet för kombinationen (Tillstånd:
A2
, Handling:Gå Ner
) till ett högt positivt värde.
Den exakta formeln (förenklat kallad Bellman-ekvationen) ser ut ungefär så här:
Nytt Q-värde = Gammalt Q-värde + Lärandefaktor * (Omedelbar belöning + Framtida belöning - Gammalt Q-värde)
Det viktiga här är termen Framtida belöning. Agenten tittar på det nya tillståndet den hamnade i (B2, osten) och frågar: "Vad är det bästa jag kan göra härifrån?". Detta gör att belöningar kan "propagera bakåt" genom labyrinten. Efter tusentals försök kommer höga Q-värden att ha spridit sig från osten bakåt längs den optimala vägen.
Som exempel, låt oss följa musen i labyrinten. Musens Q-tabell är helt tom från början (alla värden är 0).
Försök #1: Den Lyckliga Slumpen
- Musen vandrar helt slumpmässigt. Den tar en massa meningslösa steg.
- Till slut, av ren tur, befinner den sig i ruta C3, precis bredvid osten.
- Den väljer slumpmässigt att gå Höger och hamnar i ruta D3 (osten!).
- AHA-ÖGONBLICKET! Miljön ger den en belöning på
+100
. Nu sker den allra första inlärningen. Algoritmen uppdaterar en enda cell i Q-tabellen:Q(tillstånd: C3, handling: Höger)
sätts till ett högt värde, låt oss säga+100
.
- Musen har nu lärt sig en enda, specifik sak: "Om du någonsin är i ruta C3, är det en fantastisk idé att gå höger." Resten av labyrinten är fortfarande ett totalt mysterium.
Försök #2: Den Första Brödsmulan
- Musen startar om och vandrar slumpmässigt igen.
- Efter ett tag hamnar den, återigen av en slump, i ruta B3.
- Den väljer slumpmässigt att gå Ner och hamnar i ruta C3.
- INLÄRNINGSÖGONBLICKET: Vad händer nu?
- Omedelbar belöning: Att gå från B3 till C3 ger
0
i belöning. C3 är bara en tom ruta. - MEN... nu kickar "Framtida belöning"-delen in. Innan algoritmen uppdaterar värdet för
Q(B3, Ner)
, tittar den på den ruta musen landade i (C3) och frågar: "Vad är det bästa möjliga värdet jag kan få från C3 och framåt?" - Den slår upp detta i sin Q-tabell. Och se på fan! Den vet ju redan att
Q(C3, Höger)
är+100
. Det är det högsta värdet den kan få från ruta C3. - Algoritmen resonerar då så här: "Aha! Att gå Ner från B3 gav mig ingen omedelbar belöning, men det tog mig till en plats (C3) som jag vet är ett steg från en stor belöning. Därför måste handlingen 'Gå Ner' från 'B3' också vara värdefull!"
- Omedelbar belöning: Att gå från B3 till C3 ger
- Algoritmen uppdaterar nu
Q(B3, Ner)
med ett värde som är en skugga av värdet från nästa steg (ofta lite mindre, t.ex. 90% av 100, vilket är+90
).
Vad har hänt? Värdet +100
från osten har nu "smittat av sig" eller propagerat bakåt ett steg, från ruta C3 till ruta B3. Vi har nu lämnat en brödsmula i B3 som pekar mot C3.
Försök #3, #4, #5... Ekots spridning
Denna process upprepar sig. Nästa gång musen råkar gå från A3 till B3, kommer den att upptäcka att B3 har ett högt framtida värde (+90). Då kommer Q(A3, Ner)
att få ett positivt värde (t.ex. 90% av 90, vilket är +81
).
Efter tusentals försök har värdet från osten spridit sig bakåt genom hela labyrinten, som ringar på vattnet, och skapat en "motorväg" av höga Q-värden som leder från starten hela vägen till målet.
Det är så en framtida belöning formar nuvarande beslut – inte genom magi, utan genom en stegvis, bakåtgående inlärningsprocess över många repetitioner. När musen sedan startar ett nytt försök behöver den inte längre gissa. I varje ruta tittar den bara på sin Q-tabell, ser vilken handling som har det högsta värdet (den ljusaste "brödsmulan"), och följer den. Den har lärt sig en optimal policy.
Dilemmat: Utforska eller Utnyttja? (Exploration vs. Exploitation)
I början av träningen står agenten inför ett kritiskt val. Ska den utnyttja (exploit) den kunskap den redan har och välja den handling som den tror är bäst? Eller ska den utforska (explore) genom att testa en slumpmässig handling, med chansen att hitta en ännu bättre väg? En bra agent börjar med att utforska mycket och övergår gradvis till att utnyttja sin kunskap mer.
Byggsten 4: Från Fuskblad till Generalist
Q-tabellen, vårt fuskblad för musen i labyrinten, har en fundamental svaghet: den kan inte hantera situationer den aldrig sett förut. Den är som en telefonkatalog. Om du vill ha numret till frisörsalongen på Storgatan 5 kan du slå upp exakt den kombinationen och hitta svaret. Men om du frågar "Vad är numret till frisörsalongen på en gata som liknar Storgatan?" har telefonkatalogen inget svar. Den kan inte generalisera.
För ett spel som Go, med fler möjliga brädpositioner än atomer i universum, är det omöjligt att skapa en telefonkatalog som täcker alla möjliga brädpositioner, alltså tillstånd, och de tillåtna handlingarna i varje tillstånd. Agenten kommer alltid att stöta på helt nya, unika situationer. Att memorera (Q-tabellen) är en återvändsgränd. Vi behöver en agent som kan resonera.
Här sker den stora revolutionen. Istället för en gigantisk telefonkatalog, ger vi agenten en "hjärna" som kan titta på en situation och uppskatta hur bra den är. Denna hjärna är ett neuralt nätverk.
Från att Slå Upp till att Uppskatta (Approximera)
Tänk dig skillnaden så här:
- Q-tabellen (Telefonkatalogen): Lagrar ett exakt, inlärt värde för varje specifik situation den har upplevt. Den slår upp svaret.
- Neurala Nätverket (Hjärnan): Lär sig de underliggande mönstren som gör en situation bra eller dålig. När den ser en helt ny brädposition, kan den titta på pjäsernas placering, maktbalansen och hoten, och sedan göra en kvalificerad gissning – en approximation – av hur värdefull situationen är. Den räknar ut en uppskattning.
Det är precis detta som menas med att nätverket "approximerar" Q-värdena. Det lagrar dem inte, det beräknar en rimlig uppskattning av dem i realtid, baserat på den generella kunskap den har byggt upp.
Varför "Djupt"?
För att kunna göra en bra uppskattning av en komplex situation som ett Go-parti, räcker det inte med ett enkelt neuralt nätverk. Experten måste kunna se mönster på flera olika nivåer, precis som vi diskuterade i det första kapitlet.
- Ett grunt nätverk (med få lager) kanske bara kan se de mest grundläggande mönstren: "Jag har tre pjäser på rad."
- Ett djupt nätverk (med många lager) kan bygga en hierarkisk förståelse:
- Lager 1: Ser enskilda pjäser.
- Lager 5: Kombinerar pjäser till formationer ("en stark försvarsmur").
- Lager 10: Känner igen strategiska koncept ("motståndaren försöker omringa mig på högerkanten").
Djupet gör att nätverket kan gå från att se pixlar på en skärm till att förstå den strategiska innebörden av vad som händer.
Deep Reinforcement Learning: Den nya superkraften
När vi kombinerar dessa två idéer – en agent som lär sig genom trial-and-error (Reinforcement Learning) och som använder ett djupt neuralt nätverk som sin "hjärna" (Deep Learning) – får vi Deep Reinforcement Learning (DRL).
Så här fungerar det i praktiken:
- Input: Agenten tar in det nuvarande tillståndet (t.ex. en bild av Go-brädet) och matar in det i sitt djupa neurala nätverk.
- Output: Nätverket fungerar nu som en "drag-utvärderare". För varje möjligt lagligt drag, spottar nätverket ur sig en siffra – dess uppskattning (approximation) av Q-värdet för just det draget.
- Beslut: Agenten väljer det drag som nätverket gav högst poäng.
- Inlärning: Efter att draget är gjort, ser agenten vad som händer. Den kanske vinner partiet några drag senare. Denna nya information används för att träna nätverket. Med Backpropagation skickas en signal tillbaka genom nätverket som säger: "Dina uppskattningar för de drag som ledde till denna vinst var för låga. Justera dina interna vikter så att du värderar liknande situationer högre i framtiden."
Det är denna kraftfulla kombination – förmågan att lära sig från erfarenhet och förmågan att generalisera till nya situationer – som gjorde AlphaGo och AlphaStar möjliga. Det löste problemet med de oändliga tillstånden och öppnade dörren för AI att bemästra uppgifter som tidigare ansetts vara omöjliga. Detaljer om AlphaGo och AlphaStar täcks i senare stycken.
Det psykologiska perspektivet: Den digitala Skinner-boxen
Denna process är en nästan perfekt digital implementation av behaviorism, en skola inom psykologin som blev känd genom B.F. Skinner. Skinner visade att han kunde lära råttor och duvor komplexa beteenden genom att belöna dem med matpellets när de utförde önskade handlingar. Hans berömda "Skinner-box" var en miljö designad för just detta.
På samma sätt är en RL-agent en digital råtta i en digital Skinner-box. Den har inget "förnuft" eller "förståelse" i mänsklig mening. Den är enbart driven av ett enda mål: att maximera sin belöningssignal. Detta enkla, men kraftfulla, koncept har visat sig vara otroligt effektivt för att lösa problem där det finns ett tydligt mål och tydliga regler.
Allt en RL-agent gör, gör den för att maximera sin belöning. Detta är både dess styrka och dess svaghet. Om belöningsfunktionen är väl utformad kan den uppnå fantastiska resultat. Men om den är dåligt utformad kan det leda till helt oväntade och oönskade beteenden, ett problem som kallas reward hacking. En agent som belönas för att "plocka upp skräp" kan lära sig att det enklaste sättet att maximera belöningen är att välta en soptunna och sedan plocka upp samma skräp om och om igen.
Genombrottet: AlphaGo
Under lång tid var brädspelet Go en svår och krävande utmaning för AI-forskare. Schack hade besegrats av IBM:s Deep Blue redan 1997, men Go var en helt annan utmaning. Med sitt enkla bräde och få regler har Go fler möjliga spelpositioner än det finns atomer i det observerbara universumet. Den kombinatoriska explosionen var total. Att lösa Go med rå beräkningskraft var omöjligt. Det krävde något mer – en form av intuition.
År 2016 chockade DeepMind, ett brittiskt AI-företag, världen när deras program AlphaGo besegrade Lee Sedol, en av världens absolut bästa Go-spelare, med 4-1 i en match på fem partier.
AlphaGo var en hybrid. Den hade tränats på en enorm databas av mänskliga expertpartier (övervakad inlärning), men dess verkliga styrka kom från att den sedan spelade miljontals partier mot sig själv (reinforcement learning). Med hjälp av ett djupt neuralt nätverk för att utvärdera brädpositioner (en värdefunktion) och föreslå drag (en policy), upptäckte den nya strategier och lösningar som ingen människa någonsin hade tänkt på.
Drag 37: Den kreativa maskinen?
Det mest berömda ögonblicket i matchen kom i det andra partiet. AlphaGo gjorde ett drag – drag 37 – som till en början fick mänskliga experter att klia sig i huvudet. Det ansågs vara ett misstag, ett närmast amatörmässigt drag som gick emot århundraden av mänsklig Go-visdom. Men draget visade sig vara genialt. Det var ett kreativt, oväntat och, som kommentatorerna uttryckte det, "vackert" drag som lade grunden för AlphaGos seger i partiet.
En stiliserad bild av ett Go-bräde. De flesta stenarna är vita och svarta. En enda sten, "Drag 37", är markerad med en stark, glödande färg och en spotlight-effekt. Runt brädet syns silhuetter av förvånade åskådare. Bilden ska fånga det dramatiska och oväntade i ögonblicket.
Detta ögonblick tvingar fram en djup filosofisk fråga: Var draget genuint kreativt, eller var det bara ett statistiskt optimalt men mänskligt överraskande val från en maskin som utforskade möjligheter bortom vår fattningsförmåga? Om en handling inte har någon avsikt eller medvetenhet bakom sig, kan den då kallas kreativ? Samtidigt, om resultatet är både originellt och värdefullt, vad är det då om inte kreativitet?
Nästa nivå: Från brädspel till digitala världar
Efter den historiska segern i Go, ställde DeepMind in siktet på en ännu större utmaning: realtidsstrategispelet StarCraft II. Detta var ett gigantiskt kliv i komplexitet. Till skillnad från Go, som har perfekt information (båda spelarna ser hela brädet), spelas StarCraft II med ofullständig information (du vet inte vad din motståndare gör förrän du skickar ut enheter för att spana). Spelet sker i realtid, kräver långsiktig strategisk planering och snabba, precisa, taktiska beslut.
DeepMinds nya agent, AlphaStar, tränades på ett liknande sätt som AlphaGo. Den började med att imitera mänskliga expertspelare (övervakad inlärning). Därefter skapades en hel liga där olika versioner av AlphaStar fick tävla mot varandra dygnet runt i en accelererad, digital evolution (reinforcement learning). Agenterna spelade motsvarande 200 år av StarCraft-matcher varje dag.
Resultatet var en agent som inte bara kunde mäta sig med, utan fullständigt dominera de bästa professionella StarCraft II-spelarna i världen. AlphaStar visade att Reinforcement Learning inte var begränsat till turordningsbaserade brädspel. Principen om att lära sig genom trial-and-error, driven av en belöningssignal och approximerad av djupa neurala nätverk, var tillräckligt kraftfull för att bemästra även de extremt komplexa, dynamiska och oförutsägbara miljöer som finns i moderna datorspel.
Perspektiv på Reinforcement Learning
Det biologiska & evolutionära perspektivet
Reinforcement Learning är kanske den AI-metod som har den starkaste kopplingen till biologin. Processen där en agent genom trial-and-error maximerar sin belöning är en form av snabbspolad, digital evolution. Agentens slumpmässiga försök är de genetiska mutationerna (variationen), och belöningsfunktionen är det naturliga urvalet som bestämmer vilka "beteenden" som överlever och förs vidare.
Det kroppsliga & fysiska perspektivet
Samtidigt belyser RL de enorma skillnaderna mellan digital och fysisk inlärning. Tänk på hur ett barn lär sig att gå. Det är också en process av trial-and-error. Men konsekvenserna av ett misstag är verkliga – barnet ramlar och slår sig. Denna smärta är en rik och omedelbar feedbacksignal. Barnet får också en enorm mängd sensorisk data från balanssinnet, trycket mot fotsulorna och synintryck.
En RL-agent i en simulation har inget av detta. Konsekvensen av ett misstag är bara en negativ siffra i en ekvation. Den fysiska världen, med sina lagar och risker, formar och begränsar vår inlärning på ett sätt som en simulation ännu inte kan replikera. Detta är en av de största anledningarna till att de mest imponerande RL-resultaten fortfarande sker i de digitala, väldefinierade miljöerna av spel och brädspel.
Ett av de hetaste forskningsområdena just nu är "Sim-to-Real". Idén är att först träna en robot i en säker och snabb simulering (där den kan krascha miljontals gånger utan kostnad) och sedan överföra den inlärda kunskapen till en verklig, fysisk robot. Att överbrygga klyftan mellan den rena simulationen och den stökiga verkligheten är en enorm utmaning.