LINKÖPINGS UNIVERSITET 12 januari 2017 Förstärkande inlärning med fokus på Q-learning Artificiell Intelligens, 729G43
Sammanfattning Förstärkande inlärning innebär att vi människor lär oss genom att interagera med omgivningen, på så sätt får vi en kunskap om vad våra handlingar leder till för konsekvenser, där belöningar i olika former har en stor betydelse. När vi belönas för en viss typ av handling är sannolikheten stor att vi fortsätter utföra samma handling, exempel på detta är lönen vi får när vi arbetar eller betyget vi får efter en avslutad kurs i skolan. På samma sätt kan vi lära robotar att utföra lämpliga handlingar, genom belöningar uppmuntrar vi ett visst beteende och till slut kommer roboten också lära sig det optimala tillvägagångssättet. Denna rapport har som syfte att fördjupa sig inom förstärkande inlärningen hos robotar med fokus på Q-learning. Utöver det kommer modeller som ligger till grunden för denna teknik presenteras ytligt för att slutligen gå ner i djupet på vad Q-learning är och hur dess algoritm fungerar. Nyckelord: Förstärkande inlärning, Q-learning, Markov decision process, Optimal Control, Temporal Difference learning 1
Innehållsförteckning 1 Inledning... 3 2 Förstärkande inlärning... 4 2.1 Underliggande element... 4 2.2 Exempel... 5 2.3 Utforska eller utnyttja... 6 2.4 Utforskning med ε-greedy... 6 2.5 On-policy eller off policy... 6 2.6 Credit assignment problem... 6 3 Markov Decision Process... 7 4 Optimal Control och Temporal Difference... 8 5 Q-learning... 9 5.1 Värdefunktion... 9 5.2 Inlärningshastigheten, a... 11 5.3 Diskonteringsfaktor, g... 11 5.4 ε greedy metoden... 11 5.5 Algoritmen... 12 5.6 Pseudokod för algoritmen... 12 5.7 Q-learning exempel... 13 5.7.1 Q-learning steg för steg... 16 5.8 Begränsningar... 19 6 Avslutande ord... 20 7 Referenser... 21 2
1 Inledning Människor utvecklas hela tiden och lär sig nya saker genom att interagera med omgivningen, detta med hjälp av våra sinnen som är en direkt anslutning till omgivningen. Enligt Sutton och Barto (1998) ger detta oss information om orsak och verkan, konsekvensen av en viss händelse, vilket i sin tur leder till mer kunskap om hur vi kan uppnå våra mål stora som små. Vi försöker anpassa vårt beteende efter hur omgivningen svarar på våra handlingar och på så sätt påverka vad utfallet blir. Watkins (1989) betonar dessutom att bete sig på ett sätt som genererar belöning är ett tecken på intelligens. Beröm från våra föräldrar, betyg i skolan eller lön för utfört arbete är alla exempel på hur vi människor kan belönas. Likaså, en hund kan tränas genom att den får belöning vid lämpligt uppförande och på så sätt lär den sig hur den ska bete sig då belöningen förstärker visa beteenden. Därav är interaktioner och konsekvenserna av dessa en stor källa till kunskap och en grundläggande idé bakom nästan alla teorier om lärande och intelligens. Under 1920-talet användes begreppet förstärkning för första gången inom psykologin, och begreppet byggde då på idén om att lära sig genom sina misstag. Vartefter blev idén även populär inom datavetenskapen då forskare och teoretiker insåg vikten av förstärkning inom maskininlärning för att uppnå intelligenta maskiner (Altuntas et al., 2016). Då programmering av spelförande agenter eller mobila robotar kan vara en lång och tidskrävande process, kan förstärkning komma väl till hands då agenten själv skulle kunna lära sig att utföra en uppgift. Genom att specificera vad robotens mål är och låta den lära sig detaljerna kring hur målen uppnås. Denna typ av inlärningsteknik kallas för förstärkande inlärning (eng. reinforcement learning), vilket innebär att agenten lär sig från med- och motgångar med hjälp av belöningar eller bestraffningar. Denna typ av inlärning används i många komplexa områden, detta då det är det enda möjliga sättet att träna ett program för att prestera på en hög nivå. Exempelvis, att lära en agent flyga en helikopter är extremt svårt men genom att ge lämpliga bestraffningar för att krascha, vingla eller avvika från en viss kurs kan agenten lära sig att flyga själv. Likaså, en spelförande agent kan lära sig genom att minnas vad som ledde till en vinst eller förlust, och på så skapa sig en utvärderingsfunktion som ger en uppskattning av sannolikheten för en vinst givet en viss position (Russell, & Norvig, 2010). 3
Det hela handlar om att genom interaktion med omgivningen lär sig agenten hur omgivningen fungerar och därefter hittar den allt bättre lösningar för att nå sitt mål. I denna rapport ligger fokus på belöningar, och inte bestraffningar, i en delvis okänd stokastisk omgivning. Syftet är att introducera förstärkande inlärning med en fördjupning i metoden Q-learning. I kommande kapitel förklaras begreppet förstärkande inlärning och dess innebörd, därefter nämns några av de metoder som används inom detta område för att slutligen gå in djupare på vad Q-learning är och hur dess algoritm fungerar. 2 Förstärkande inlärning Förstärkande inlärningen (Sutton & Barto, 1998) betyder att agenten lär sig vad man ska göra, kartlägger hur handlingar är kopplade till situationer för att maximera belöningen. Det handlar inte om att agenten får veta vilka handlingar som ska göras, till skillnad från de flesta former inom maskininlärning, utan måste själv upptäcka vilka handlingar som genererar mest belöning. Val av handling påverkar nödvändigtvis inte den omedelbara belöningen utan kan även påverka efterföljande situationer med tillhörande belöningar. Dessa två egenskaper kallas för trial-and-error sökning samt fördröjd belöning, vilket är de två mest utmärkande egenskaperna för förstärkande inlärning. 2.1 Underliggande element Förstärkande inlärning är en målinriktad inlärning som sker genom interaktion med omgivningen. Enligt Sutton och Barto (1998) finns det förutom agenten och omgivningen fyra underliggande element som har en stor betydelse för inlärningen: en policy, en belöningsfunktion, en värdefunktion och eventuellt en modell av omgivningen. Där en policy är kärnan för en förstärkningslärande agent, detta då en policy är tillräckligt för att bestämma agentens beteende, och definierar hur agentens ska bete sig vid en given tidpunkt. En belöningsfunktion definierar målet givet ett problem, samt vilka handlingar som ger mer eller mindre belöning. Funktionen kartlägger och ger ett värde på en situation kopplad till en viss handling, där agentens mål är att ta den handling som genererar störst belöning. Policyn styr dock valet av handling, och om handlingen följs av en låg belöning kan det hända att policyn ändras för att generera en bättre belöning i framtiden. Till skillnad från belöningsfunktion, som definierar en direkt belöning givet en handling, definierar en 4
värdefunktion vad agenten kan förvänta sig för belöning i det långa loppet. Det vill säga, att varje tillstånd agenten har att välja mellan består av en total mängd belöningar som agenten kan förvänta sig framöver. Ett tillstånd kan ha en omedelbar belöning med ett lågt värde men ha ett högt förväntat värde då efterföljande tillstånd ger en högre belöning sammanlagt. Även om belöning anses vara primär, då det inte finns några värden utan belöningar, så är vi mest angelägna om att välja de handlingar med högst värde och inte belöning. Då de handlingarna med högst värde i slutändan genererar högre belöning. Dock är det svårt att uppskatta ett värde än att fastställa belöningar, detta då belöningar ges av omgivningen medans värden måste uppskattas genom iakttagelser under en livstid. Därav är en av de viktigaste utmaningarna att hitta en effektiv metod för att skatta värden. Det fjärde underliggande elementet, en modell av omgivningen, används för planering. Detta då det är en modell som efterliknar ett beteende hos omgivningen. Den kan förutsäga vad en handling kommer resultera i för tillstånd och belöning, och kan på så sätt överväga möjliga situationer innan de upplevs. 2.2 Exempel För att förtydliga det hela presenteras här ett exempel tagit från Sutton och Barto (1998) men egen översättning: En mobil robot beslutar mellan att gå in i ett nytt rum på jakt efter mer skräp att samla in eller börja försöka hitta sin väg tillbaka till batteriladdningsstationen. Den tar ett beslut baserat på hur snabbt och enkelt den har kunnat hitta till laddaren i tidigare situationer. Exemplet visar att agenten utnyttjar tidigare erfarenheter för att förbättra framtida beslut, där interaktionen med omgivningen är en förutsättning för att förändra beteenden och utnyttja specifika funktioner i uppgiften. Alla agenter som utsätts för förstärkande inlärning har explicita mål, kan uppfatta delar av omgivningen och kan välja handlingar som påverkar den omgivning de befinner sig i (Sutton & Burto, 1998). Det handlar dock inte bara om att utnyttja tidigare erfarenheter, utan agenten måste ibland även utforska för att få den kunskap som krävs för att kunna agera optimalt i en omgivning. Denna avvägning mellan att utforska och utnyttja (eng. exploration-exploitation dilemma) är en av flera utmaningar inom förstärkningsinlärning. 5
2.3 Utforska eller utnyttja Genom att välja den handling som beräknas ha störst värde utnyttjar agenten sin nuvarande kunskap. Däremot kan det finnas handlingar med bättre värde och genom att agenten utforskar möjliga handlingar kan ett bättre värde upptäckas. Skillnaden mellan dessa tillvägagångssätt är om agenter utnyttjar nuvarande kunskap maximeras belöningen på kort sikt, men garanterar inte att den totala belöningen maximeras på lång sikt. Däremot genereras en större belöning i det långa loppet om agenten väljer att utforska möjliga handlingar, detta då agenten fyller på med ny kunskap som den senare kan utnyttja (Altuntas et al., 2016). 2.4 Utforskning med ε-greedy Då det inte är möjligt för agenten att både utnyttja och utforska i samma steg är det viktigt att hitta en balans mellan dessa två tillvägagångssätt. Det finns flera metoder för att balansera denna avvägning och den mest använda är ε-greedy metoden, som är en slags policy. Denna metod innebär att agenten vanligtvis utnyttjar sin nuvarande kunskap genom att välja giriga handlingar, dessa handlingar är de med störst uppskattat värde. Det finns dock en sannolikhet ε, som möjliggör för agenten att utforska genom att slumpmässigt välja en av de möjliga handlingarna (Altuntas et al., 2016). Detta förklaras mer i detalj i kapitlet om Q-learning. 2.5 On-policy eller off policy Förutom ε-greedy metoden finns två andra metoder för att lösa problemet med utforskning och utnyttjande, on-policy och off -policy. Där on-policy är en metod som försöker förbättra eller utvärdera en nuvarande policy för att fatta beslut. off-policy utforskar nuvarande policy men lägger ingen uppmärksamhet på att faktiskt följa policyn, den lär sig dock värdet av den optimala policyn oberoende agentens agerande (Sutton och Barto, 1998; Russell, & Norvig, 2010). 2.6 Credit assignment problem När en agent har klarat av en uppgift, exempelvis när ett spelförande program har vunnit har en sekvens med alla dess handlingar sparats som i sin tur genererade en viss belöning. I detta fall en viss poäng. På något viss måste denna belöning fördelas över vilka handlingar som ledde till vinsten, vilket kallas för credit assignment problem (Sutton och Barto, 1998). Dock 6
är det huvudsakliga problemet att till en början få en agent att agera i världen för att maximera sina belöningar, och detta kallas för förstärkningsinlärningsproblemet (Sutton och Barto, 1998). Figur 1: förstärkningsinlärningsproblemet 3 Markov Decision Process Markov Decision Process (MDP) är en metod som kan användas för att representera förstärkningsinlärningsproblemet. Detta är en process som består av fyra delar, förutom en agent placerad i en omgivning, där omgivningen är i ett visst tillstånd. Agenten kan i denna omgivning välja mellan olika handlingar, som resulterar i en numerisk belöning. Handlingen leder sedan till ett nytt tillstånd där agenten kan välja nya handlingar. Valet av handling baseras på en policy och agenten fortsätter tills målet är uppnått. Omgivningen är oftast stokastiskt, vi kan inte vara säkra på vad en handling leder till utan det är slumpen som avgör (Sutton & Burto, 1998). Figur 2: Markov Decision Process Det som utgör MDP är fyra delar; uppsättningen av tillstånd S, möjliga handlingar A för varje tillstånd, en övergångsfunktion T samt en belöningsfunktion R (Watkins, 1989). Där ett 7
tillstånd s Î S, en handling a Î A. För att komma från ett tillstånd till ett annat finns en policy som avgör agentens beteende. Denna process bildar en sekvens av episoder: Denna sekvens visar att agenten var i tillståndet s 0 och gjorde handling a 0, vilket i sin tur resulterade i belöning r 1. Agenten hamnade då i det nya tillståndet är s 1 och gjorde sedan handling a 1 som genererade belöning r 2 för att sedan hamna i det nya tillståndet s 2 etcetera. Där tiden t är siffran vid respektive bokstav. Sekvensen kan ses som agentens historia av interaktioner som i sin tur kan ses som erfarenheter, där en upplevelse är en tupel: Mer generellt, agenten var i tillståndet s och utförde handling a som genererade belöning r för att slutligen hamna i tillstånd s. Det är genom dessa erfarenheter som agenten kommer lära sig hur målen uppnås. En förstärkningsinlärningsuppgift som uppfyller Markov antagandet kallas för Markov decision process, eller begränsad MDP om varje tillstånd och handlingsutrymmen är begränsade. Markov antagandet antar att sannolikheten för nästa tillstånd inte beror på tidigare tillstånd och handlingar, utan endast de aktuella tillstånd och handlingar. Denna metod är viktig inom förstärkningsinlärning och enligt Sutton och Burto (1998) är det allt man behöver veta för att förstå modern förstärkningsinlärning. 4 Optimal Control och Temporal Difference Det finns dock fler metoder som har spelat en stor roll för framgången inom förstärkningsinlärning, bland annat metoderna Temporal Difference learning och Optimal Control. Där Temporal Difference learning förutspår framtiden baserat på tidigare erfarenheter, genom att göra kvalificerade gissningar på hur framtida händelser bör se ut. Vidare förklarar Sutton och Burto (1998) att Optimal Control fokuserar mer på att minimera eller maximera en given kostnadsfunktion. Detta med syftet att hitta ett optimalt tillvägagångssätt för ett givet problem, det i sin tur innebär att genom att ge olika tillstånd ett 8
värde blir det enklare för agenten att ta sig till ett mål på kortast tid. Kostnadsfunktionen består av en variabel som kan stå för avståndet, hastigheten eller eventuella hinder på vägen. Dessa två metoder förenades av Watkins (1989) som idag utgör grunden för Q-learning. 5 Q-learning Q-learning är en metod som används flitigt inom förstärkningsinlärning, den kan bland annat användas för att hitta en optimal policy för val av handling för en viss begränsad MDP. Enligt Watkins (1989) innebär denna metod att agenten har möjligheten att bli bättre genom att få uppleva konsekvenserna av sina handlingar. Vidare förklarar Watkins och Dayan (1992) att denna metod fungerar på så sätt att en agent i ett tillstånd testar en handling och utvärderar konsekvenserna, detta genom att se vilka belöningar eller bestraffningar handlingen genererar och på så sätt uppskattar värdet av det nya tillståndet. Då agenten testat samtliga handlingar i alla tillstånd kommer agenten slutligen lära sig vilken handling som är bäst. Det som utmärker Q-learning att det är en off-policy och modell-fri metod. Att det är en offpolicy metod innebär att oavsett vilken policy agenten följer lär sig själva metoden en optimal policy. Anledning till att det är en modell-fri metod beror på att Q-funktionen inte kräver en modell för val av handling eller inlärning (Russell & Norvig, 2010). Dessutom skiljer sig Q- learning från andra metoder genom att den har en förmåga att välja mellan omedelbara belöningar och fördröjda belöningar. Detta då målet är att hitta en sekvens av handlingar som maximerar summan av belöningar, vilket är den kortaste vägen mellan start och mål. 5.1 Värdefunktion Q-learning algoritmen specificerar inte vad agenten bör göra, utan agenten lär sig en Q- funktion som kan användas för att bestämma en optimal handling. Q-learning utnyttjar en värdefunktion för att agenten ska kunna hitta den optimala handlingen i ett givet tillstånd. Funktionen ger ett värde för alla kombinationer av handlingar och tillstånd och det baseras på den förmodade framtida belöningen. När värdefunktionen är som störst har algoritmen nått den optimala handlingen, även kallad optimal policy (Russell & Norvig, 2010). Värdefunktionen är inte alltid känd och i dessa fall uppskattar Q-learning värdefunktionen med hjälp av en Q-funktion, där allt eftersom agenten utför en handling uppdateras 9
funktionen. Q-funktion är detsamma som Q-värde. I ett tillstånd sparas värdet för alla handlingar som Q(s, a) där s står för tillstånd och a står för en handling (Russell & Norvig, 2010). Styrkan Q-learning har är att Q-funktionen konvergerar, detta bevisades av Watkins och Dayan (1992), vilket innebär att funktionen har uppnått en god uppskattning av värdefunktionen och fortsätter därför inte att uppdateras. I samband med att konvergens uppnåtts har även funktionen hittat en optimal policy (Sutton och Burto, 1998). Världen som agenten ska interagera med består av ett antal tillstånd S och handlingar A, där en handling a Î A, och genom att utföra en handling kan agenten ta sig från ett tillstånd till ett annat. Algoritmen har därför en funktion som beräknar mängden av kombinationer mellan alla tillstånd och handlingar: Innan agenten startar och börjar lära känna sin omgivning returnerar Q ett fixerat värde, som uppdateras allt eftersom agenten utforskar omgivningen vilket kallas för value iterations update. Detta innebär att den nya kunskapen agenten skaffar sig uppdaterar det gamla värdet, med tidigare tillstånd och val av handling kan även påverka hur agenten väljer handlingar i framtiden. Nedan visar ekvationen för att beräkna Q-värdet, vilket en en del i algoritmen för Q-learning: I formeln är a inlärningshastigheten (eng. learning rate) och R t+1 är den observerade belöning efter utförd handling A t i tillstånd S t. g är en diskonteringsfaktor (eng. discount factor) och maxq(s t+1, a) är en funktion som beräknar det största Q-värdet för alla handlingar i nästa tillstånd. Algoritmen slutar när S t+1 är sluttillståndet (Russell & Norvig, 2010). 10
5.2 Inlärningshastigheten, a Inlärningshastigheten a kan anta ett värde från 0 till 1 där värden närmare 0 ger mindre vikt åt ny information, vilket leder till att agenter inte lär sig något nytt. Medans värden närmare 1 skrivs den gamla informationen över av den nya informationen. I praktiken är inlärningshastigheten konstant och har ett värde på a = 0.1 för tiden t (Sutton & Burto, 1998). 5.3 Diskonteringsfaktor, g Parametern g kan, precis som inlärningshastigheten, anta ett värde från 0 till 1 och är en faktor som viktar framtida belöningar. Detta innebär att ett värde närmare 0 kommer leda till att agenten betraktar omedelbara belöningar, och ett värde närmare 1 kommer istället leda till att agenten lägger större vikt på framtida belöningar (Watkins, 1989). För att kunna prestera optimalt i det långa loppet är det viktigt att agenten inte endast fokuserar på den omedelbara belöningen, utan även överväger framtida belöningar. Då omgivningen är stokastisk kan vi aldrig vara riktigt säkra på om samma handling kommer generera samma belöning, därav är det vanligt att använda en discounted future reward. Sutton och Burto (1998) presenterar följande formel för att räkna ut detta: Där R står för belöningen t+1 står för tiden och g står för huruvida agenten ska betrakta omedelbara belöningar eller lägga större vikt på framtida belöningar. Då vi vill balansera mellan omedelbar och framtida belöningar borde diskonteringsfaktorn ligga närmare 1. Däremot om omgivningen skulle vara deterministisk där varje handling leder till samma resultat kan värdet vara 1. Det är dock en god strategi för agenten att alltid välja de handlingar som maximerar framtida belöningar. 5.4 ε greedy metoden Som tidigare nämnt använder agenten en policy för att hantera huruvida det är aktuellt att utnyttja tidigare kunskap eller utforska för att se om det finns en ännu bättre handling. Detta med hjälp av ε greedy metoden, vilket ger möjligheten för agenten att välja en handling slumpmässigt och på så sätt utforska omgivningen. Formeln ser ut som följande: 11
Parametern ε, epsilon, består av ett värde från 0 till 1 som avgör om agenten ska utnyttja eller utforska. I formeln består q av ett slumpat tal inom ett visst intervall och om den är större än ε så väljs det bästa befintliga Q-värdet, om talet däremot är mindre eller lika med ε så genererar formeln en slumpmässig handling. Både Q-värden och belöningsvärden lagras i varsin matris, där Q-värden till en början är satt till noll men uppdateras med tiden beroende på valet av handlingar (Neri, Zatelli, Santos, Dos, & Fabro, 2012). 5.5 Algoritmen Här är ett exempel på hur algoritmen kan se ut, tagit från Sutton och Barto (1998): Intialize Q(s, a), "s Î S, a Î A(s), arbitrarily, and Q(terminal-state, ) = 0 Repeat (for each episode): Initialize S Repeat (for each step of episode): Choose A from S using policy derived from Q (e.g., ε-greedy) Take action A, observe R, S Q(S, A) Q(S, A) + a[r + g max a Q(S, a) Q(S, A)] S S ; until S is terminal 5.6 Pseudokod för algoritmen Initiera R-matrisen, Q-matrisen, inlärningshastigheten samt diskonteringsfaktorn. Upprepa för varje episod: Initiera tillståndet S Upprepa för varje steg i episoden Välj en handling (med t.ex. ε-greedy algoritmen) Utför handlingen och observera belöningen och nästa tillstånd Uppdatera Q-matrisen genom att beräkna Q(S, A) Nuvarande tillstånd S = nästa tillstånd S Upprepa tills tillståndet avslutas 12
5.7 Q-learning exempel Detta enklaste sättet att lagra data inom Q-learning är med hjälp av matriser. Där agenten upprätthåller en tabell för en uppsättning tillstånd S och handling A, där Q[S, A] representerar den aktuella uppskattningen av Q(s, a) (Neri et al., 2012). Nedan presenteras ett simpelt exempel på för att förtydliga hur Q-learning fungerar taget från Kardi Teknomo (2005). I exemplet finns det en byggnad med fem rum där vissa rum är sammankopplade med dörrar som figuren nedan visar. Rummen namnges från A till E och området utanför byggnaden kallas för F. Observera att det endast finns två dörrar ut ur byggnaden, dessa går från rum B och rum E. Rummen kan även presenteras genom en graf, där varje nod representerar ett rum och varje gren representerar dörrar till respektive rum. Agentens mål är att ta sig utanför byggnaden till område F, och för att kunna sätta ett sådant mål måste dörrarna som leder till målet generera en belöning. Därför får de dörrar som leder direkt till F en belöning med värdet 100, de markeras med röda pilar i grafen nedan, medans de andra dörrarna generar en belöning med värdet 0. Det är möjligt för agenten att gå fram och tillbaka mellan rummen, exempelvis från C till D och tillbaka, därav får varje nod två pilar. Varje pil innehåller en omedelbar belöning. Dessutom skapas en loop vid F som innebär 13
att om agenten hamnar på F stannar den där, vilket också genererar en belöning med värdet 100, detta kallas absorbing goal, hamnar agenten där stannar den där föralltid. Nu är det dags att introducera agenten som ska placeras i denna omgivning, och det kommer vara en robot som kan lära sig genom erfarenhet. Den har ingen kunskap om omgivningen, därav vet den inte vilka dörrar som är bäst att välja, men den har möjligheten att ta sig från ett rum till ett annat. Agenten placeras till en början i rum C. Varje rum och området utanför byggnaden tilldelas ett varsitt tillstånd, och när agenten rör sig från ett rum till ett annat genomför den en handling. I grafen står noderna för tillstånd och pilarna för möjliga handlingar med tillhörande omedelbar belöning. 14
Eftersom agenten bara kan ta sig genom befintliga dörrar kan nu agenten endast välja rum D och därefter välja mellan att gå till tillstånd B eller tillstånd E eller återgå i tillstånd C. Nedan visas en belöningstabell, även kallat matris R, där tillståndsdiagrammet med tillhörande belöningar placerats ut. Där minustecken innebär att det inte finns någon handling för att komma till tillståndet. Exempelvis, tillstånd A kan inte gå till tillstånd B då det inte finns någon dörr mellan dessa rum. Vi skapar även en liknande matris av denna tabell som kallas matris Q. Den representerar agentens minne allt eftersom agenten interagerar med omgivningen sparas den nya kunskapen i denna matris. Då agenten startar med noll kunskap kommer matris Q initialiseras till noll, dock är tillstånden kända för att förenkla detta exempel. Som tidigare nämnt är övergångsregeln för Q-learning väldigt simpel och ser ut som följande: Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Enligt formeln ovan är ett värde som tilldelas till ett visst element i matris Q lika med summan av motsvarande värde i matris R, adderat med inlärnings parametern Gamma g som multipliceras med det maximala värdet av Q för alla tänkbara handlingar i nästa tillstånd. Observera att exemplet använder sig av en inlärningshastighet med värde 1, detta då det är en deterministisk omgivning, och därav har inte tecknet skrivits ut då det inte blir en skillnad i uträkningen. Roboten i denna värld kommer som tidigare nämnt lära sig genom erfarenhet. Detta genom att utforska tillstånd till tillstånd med målet att nå området utanför byggnaden, noden F. Varje utforskning sparas ner som en episod, som består att roboten förflyttar sig från det nuvarande tillståndet till ett måltillstånd. Varje gång agenten når måltillståndet startar en ny episod. 15
För att agenten ska lära sig av erfarenhet måste den tränas upp, detta med hjälp av matris R som representerar den omgivning som agenten ska utforska, där varje episod är likvärdig en träningsomgång. Detta sparas ner i agentens minne som representeras av matris Q, och ju mer träning desto mer optimerad blir matrisen. Om agenten sedan utnyttjar den kunskap den har kommer den till slut hitta den snabbaste vägen för att nå sitt mål. Algoritm för att utnyttja Q matrisen lyder: 1. Sätt nuvarande tillstånd till initialtillstånd 2. Från nuvarande tillstånd hitta en handling med högst Q-värde 3. Sätt nuvarande tillstånd till nästa tillstånd 4. Repetera steg 2 och 3 tills nuvarande tillstånd är måltillståndet Algoritmen kommer returnera en sekvens av tillstånd från initialtillståndet till måltillståndet. 5.7.1 Q-learning steg för steg Nedan går vi igenom varje episod steg för steg för att ytterligare förtydliga hur algoritmen för Q-learning fungerar (Teknomo, 2005). Där vi startar med att sätta diskonteringsfaktorn till 0,8 och initialtillståndet till rum B. Q-matris initialiseras till noll. I matris R ser vi att det finns två möjliga handlingar under tillstånd B vilket är tillstånd D och tillstånd F. Med hjälp av slumpen blev handlingen att gå till tillstånd F. 16
Nu är agenten i tillstånd F och om vi tittar matris R på rad F ser vi att nästa möjliga handlingar är B, E eller F. Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Q(B, F) = R(B, F) + 0.8 * Max[Q(F, B), Q(F, E), Q(F, F)] = 100 + 0.8 * 0 = 100 Varför Q(F, B), Q(F, E) samt Q(F, F)] blir noll beror på att matris Q fortfarande bara är initialiserad till noll. Q(B, F) blir 100 då den omedelbara belöningen från R(F, B) har det värdet. Nu blir F det nuvarande tillståndet, och eftersom detta är måltillståndet har agenten klarat en episod. Q matrisen uppdateras nu med den kunskap episoden har gett: Det initiala tillståndet väljs slumpmässigt ut för varje episod. Denna gång börjar vi med tillstånd D som vårt initialtillstånd. Kikar vi på fjärde raden i matris R, där finns det tre möjliga handlingar B, C och E. Slumpmässigt väljer vi tillstånd B som vår handling. Vi intalar oss att vi är i tillstånd B nu, kikar på andra raden i belöningsmatrisen R och den har två möjliga handlingar, tillstånd D och tillstånd F. Genom att räkna ut Q-värdet får vi: Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Q(D, B) = R(D, B) + 0.8 * Max[Q(B, D), Q(B, F)] = 0 + 0.8 * Max(0, 100) = 80 Resultatet blir Q(D, B) = 80 vilket sparas ner i Q matrisen, där värdena Q(B, D) = 0 och Q(B, F) = 100 sparats ner sedan tidigare. B blir nu nästa nuvarande tillstånd, eftersom B inte är vårt måltillstånd upprepar vi den inre loopen i Q-learning algoritmen. Här finns det två möjliga handlingar, tillstånd D och tillstånd 17
F. Lyckligtvis blir tillstånd F slumpmässigt valt. Nu antar vi att vi är i tillstånd F, där det finns tre möjliga handlingar B, E och F. Vi beräknar Q-värdet på dessa genom att använda maximala värdet av dessa handlingar: Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Q(B, F) = R(B, F) + 0.8 * Max[Q(F, B), Q(F, E), Q(F, F)] = 100 + 0.8 * 0 = 100 I Q matrisen är Q(F, B), Q(F, E) samt Q(F, F)] fortfarande satt till noll. Efter uträkningen blir Q(B, F) 100 då den omedelbara belöningen från R(F, B) är 100. Detta ändrar dock inte Q matrisen. Eftersom F är måltillståndet är agenten i mål och episoden är avslutad. Matrisen ser därför fortfarande likadan ut. Genom att låta agenten genomföra fler episoder blir den allt bättre, och till slut har Q matrisen uppnått ett konvergerande värde. Q matrisen kan bli normaliserad, konvertera värdena till procent, genom att dela alla poster som är mer än noll med den högsta siffra, i detta fall 500. 18
Vi vet att agenten har lärt sig den mest optimala vägen till måltillståndet när Q matrisen kommer tillräckligt nära ett tillstånd av konvergens. Spåra de bästa sekvenserna av tillstånd är så enkelt som att följa länkarna med de högsta värdena i varje tillstånd i grafen nedan. Exempelvis, genom att följa initialtillståndet C kan agenten använda Q matrisen som guide: Från tillstånd C föreslår det maximala Q-värdet handlingen att gå till tillstånd D, vidare från tillstånd D föreslår det maximala Q-värdet två alternativ: att gå till tillstånd B eller E. Vi anta att agenten väljer att gå till tillstånd B och därifrån föreslår det maximala Q-värdet handlingen att gå till tillstånd F, vilket leder till sekvensen: C D B F. 5.8 Begränsningar Trots att Q-learning i många fall är en bra och effektiv metod finns det vissa problem. I samband med att tillstånd och handlingsutrymmet ökar tappar denna metod snabbt sin funktion, och detta kan lösas med bland annat artificiella neurala nätverk. Dini & Serrano (2012) har bland annat hittat ett alternativ till användningen av matriser och förstår istället en implementering av ett artificiellt neuralt nätverk som en funktionsapproximator (eng. function approximation). Vilket Russell och Norvig (2010) förklarar är ett annat sätt att representera en Q-funktion än med matriser, där representationen ses om ungefärliga. Detta då det inte går att representera det faktiska värdet i den valda formen. Här avrundas dock denna rapport och för vidare läsning inom artificiella neurala nätverk se Dini & Serrano (2012) eller liknade studier. 19
6 Avslutande ord Det har varit spännande att fördjupa sig inom förstärkande inlärning, detta då det påminner mycket om hur vi människor fungerar. Vi interagerar konstant med vår omgivning och konsekvenserna av våra handlingar genererar hela tiden ny kunskap. Att robotar allt mer börjar efterlikna oss gör detta område ännu mer intressant, och de har sedan en tid tillbaka funnits i vår omgivning för att underlätta för oss. Då robotarna en dag troligtvis kommer att få ett utseende och ett beteende som är identiskt med människan, är det intressant att redan nu ha en liten kunskap om hur hela den resan började. 20
7 Referenser Altuntas, N., Imal, E., Emanet, N., & Öztürk, C. N. (2016). Reinforcement learning-based mobile robot navigation. Turkish Journal of Electrical Engineering and Computer Sciences, 24(3), 1747 1767. http://doi.org/10.3906/elk-1311-129 Dini, S., & Serrano, M. (2012). Combining Q-Learning with Artificial Neural Networks in an Adaptive Light Seeking Robot. Neri, J. R. F., Zatelli, M. R., Santos, C. H. F. Dos, & Fabro, J. A. (2012). A proposal of QLearning to control the attack of a 2D robot soccer simulation team. Proceedings - 2012 Brazilian Robotics Symposium and Latin American Robotics Symposium, SBR- LARS 2012, 174 178. http://doi.org/10.1109/sbr-lars.2012.35 Russell, S. & Norvig, P. (2010). Artificial intelligence (3rd ed.). Upper Saddle River, NJ: Prentice Hall. Sutton, R. & Barto, A. (1998). Reinforcement learning (1st ed.). Cambridge, Mass.: MIT Press. Teknomo, K. (2005). Q-Learning By Examples. People.revoledu.com. Retrieved 8 January 2017, from http://people.revoledu.com/kardi/tutorial/reinforcementlearning/index.html Watkins, C.J.C.H. (1989). Learning from delayed rewards. PhD Thesis, University of Cambridge, England. Watkins, C. J. C. H., & Dayan, P. (1992). Q-learning. Machine Learning, 8(3 4), 279 292. http://doi.org/10.1007/bf00992698 21