Lärande genom interaktion Förstärk inlärning, specifikt Q-learning Ebba Algvere 729G43 Artificiell Intelligens Linköpings Universitet 2017
Abstract This report will provide the reader with an understanding of reinforcement learning, specifically Q-learning. A literature study has been conducted in order to create a deeper understanding of Q-learning. Major principles within reinforcement learning have been studied and presented, as well as how these are of relevance in Q-learning. The algorithm for Q-learning has been presented, explained and applied on a problem. Finally, advantages and disadvantages have been presented and discussed. Denna rapport kommer att ge läsaren en förståelse för förstärkt inlärning, specifikt Q- learning. En litteraturstudie har genomförts i syfte att skapa en djupare förståelse för Q- learning. Huvudsakliga principer inom förstärktinlärning har studerats och presenterats, samt hur dessa är av betydelse för Q-learning. Algoritmen för Q-learning har presenterats, förklarats samt applicerats på ett problem. Slutligen har fördelar och nackdelar diskuterats. Key words: Reinforcement learning, Q-learning, Markov Decision Process, Policy, Temporal Difference, Exploration, Exploitation Ebba Algvere ebbal714 729G43 Artificiell Intelligens 2
Innehållsförteckning Innehållsförteckning 2 Förstärkt Inlärning 4 Delar inom förstärkt inlärning 5 Markov Beslutsprocess 5 Optimala grundprinciper 6 Temporal Difference 7 Off-policy 7 Exploration vs exploitation 7 Q-learning 8 Q- learning agent 9 Algoritm 9 Räkneexempel 11 Nackdelar 15 Fördelar 15 Mina Tankar 16 Referenser 17 Ebba Algvere ebbal714 729G43 Artificiell Intelligens 3
Förstärkt Inlärning Det som presenteras i följande avsnitt är vad som ligger till grund för Q-learning och är därför viktigt att förstå. Förstärkt inlärning (eng. reinforcement learning) handlar i huvudsak om lärande genom interaktion (Callan, 2003). Inom detta finns det en agent som lär sig samt fattar beslut om vilka handlingar som ska utföras i miljön. Miljön ger belöningar, i form av nummer. Callan förklarar att förstärkt inlärning kartlägger situationer, även kallade tillstånd (eng. state), och handlingar (eng. actions) för att kunna uppnå ett beräkeligt tillvägagångssätt av hur agenten lär sig genom interaktion med sin omgivning (se figur 1). Tillstånd beskriver, enligt Callan, hur världen ser ut nu, medan handlingar är övergången mellan ett tillstånd till ett annat. Detta görs genom att agenten får återkoppling från sin omgiving i form av belöning eller bestraffning, alltså äger ingen explicit övervakning rum. Målet är att maximera den totala belöningen (Sutton & Barto, 1998). Denna typ av inlärnings ger agenten kunskap om konsekvenser som uppstår efter vissa handlingar, och kan därför uppmuntra vissa handlingar och därmed förstärka (eng. reinforce) dessa (Russell & Norvig, 2014). Vidare kan denna återkoppling ske både i kontinuelig form, som i pingis, eller i slutet, som i schack. Agenten kommer efter ett tag att hitta förbättrade lösningar om hur den ska uppnå sitt explicita (Sutton & Barto, 1998) mål efter att ha integrerat med och därmed lärt sig med om miljön den beginner sig i (Callan, 2003). Vidare kombinerar agenten både tidigare erfarenhet samt utforskande vid val av handling (Russell & Norvig, 2014) någonting denna text återkommer till. Agent Belöning Handling Tillstånd Miljö / omgivning Figur 1 Visar hur agenten och miljön integrerar med varandra i förstärkt inlärning (Sutton & Barto, 1998). Ebba Algvere ebbal714 729G43 Artificiell Intelligens 4
Delar inom förstärkt inlärning Enligt Sutton & Barto (1998) finns det, förutom agenten och omgivningen, flertalet subdelar som har stor betydelse för ett förstärktinlärningssystem. Dessa är grundprinciper (eng. policy), belöningsfunktion (eng. reward function), värdefunktion (eng. value function) och modell av miljön (eng.model of the enviroment). Dessa kommer kort att beskrivas i enlighet med Sutton & Barto: Grundprinciper definierar agenten sätt att bete sig för varje given tidpunkt, och styr därför val av handling. Detta genom en kartläggning från uppfattade tillstånd av miljön till handlingar som bör utföras vid de specifika tillstånden (Callan, 2003). Sutton & Barto menar att grundprinciperna är kärnan inom förstärkt inlärning eftersom de är tillräckligt för att avgöra agentens agerande i visst tillstånd. Belöningsfunktionen definierar målet i inlärningsproblemet och vad som är bra respektive dåliga händelser för agenten. En kartläggning för varje uppfattat tillstånd ( eller tillstånds-handlingspar) till miljön och ett nummer som representerar belöningen för tillståndet avgör hur önskvärt ett visst tillstånd är. Som tidigare nämnts, strävar agenten efter att maximera sin belöning långsiktigt, och en belöningsfunktion är därför nödvändig för att kunna räkna på just detta. Eftersom agenten vill maximera sin belöning långsiktigt, bör måltillståndet ha högst belöningsvärde (Callan, 2003). Vidare kan grundprinciperna ändras beronde på belöningsvärdet ett visst tillstånd genererar, i syfte att generera en bättre belöning i framtiden (Sutton & Barto, 1998). Värdefunktionen definerar vad som är bra långsiktigt. Detta innebär att värdet av ett tillstånd är vad agenten kan förvänta sig från tillståndet den är i nu och i framtiden. En modell av miljön används för planering, eftersom de efterliknar omgivingens beteende. Markov Beslutsprocess Den huvudsakliga uppgiften för en Markov beslutprocess (eng. Markov Decision Process) är att finna optimala grundprinciper. Enligt Sutton & Barto (1998) är en Markov beslutsprocess en förstärktinlärningsuppgift som uppfyller Markov egenskapen (eng. Markov property). Markov egenskapen är de samlade egenskaperna av miljön och dess tillståndssignaler som är särskilt intressanta. Alltså ett tillstånd som har all information som är relevant. En miljö som har Markov egenskapen möjliggör för oss att förutspå nästa tillstånd och dess belöning givet nuvarande tillstånd och handling. Enligt Watkins (1989) består en Markov beslutsprocess av Ebba Algvere ebbal714 729G43 Artificiell Intelligens 5
fyra delar; en tillståndsrymd S (eng. state-space), en funktion som ger alla möjliga tillstånd för varje möjligt tillstånd A (eng. function), en övergångsfunktion T (eng. transition function) och en belöningsfunktion R (eng. reward function). Dessa fyra delar integrerar på det sätt att en agent befinner sig i ett tillstånd där en funktion med alla nya möjliga tillstånd presenteras. Agenten kan då välja en handling för att ta dig till ett nytt tillstånd, genom en övergångsfunktion. Slutligen räknar belöningsfunktionen ut den belöning agenten får för att ha förflyttat sig, från detta börjar agenten om tills det att måltillståndet är uppnått. I ett tillstånd där agenten kan välja mellan flertalet handlingar, använder den sina grundprinciper för att välja handling (Sutton & Barto, 1998). En Markov beslutsprocess representeras med en tupel på följande vis (Otterlo & Wiering): < A, S, T, R > Optimala grundprinciper En optimal grundprincip (eng. optimal policy) definierar vilken handling som bör utföras vid varje tillstånd (Callan, 2003) eftersom den maximerar totalt förväntad belöning (Russell & Norvig, 2014). Detta innebär att belöningar kan användas för att definiera optimala grundprinciper i Markov beslutsprocesser (Russell & Norvig, 2014). Genom sin interaktion med omgivningen, försöker alltså en Q-learning agent att finna en optimal grundprincip att välja för sina val av handlingar. Agenten gör detta genom att samla data från sin historia, kan agenten lära sig vad den ska göra. När agenten rör sig i världen skapas en tillstånd (s) handling (a) belönings (r) sekvens: < s0,a0, r1, s1, a1, r2, s2, a2, r3 > Detta innebär att när agenten var i tillstånd s0 och utförde handling a0 vilket resulterade i belöningen r1 och tillstånd s1. Detta kan simplifieras till tupeln: < s,a, r, s > Detta blir till datan som agenten använder sig av för att lära sig och därmed finna optimala grundprinciper och därmed använda vid val av handling. Datan defineras i Q-värden (eng. Q- values) (Poole & Mackworth, 2010) som representerar samt retunerar nyttan (eng.utility) för varje tillstånd-handlingspar = Q( s, a). Russel & Norvig (2014) menar att detta visar värdet av att göra handling a i tillstånd s. Detta är nödvändigt för att definiera en optimal grundprincip, efterson nyttan indikerar hur önskvärt ett tillstånd är (Callan, 2003). Q ( tillstånd s * handling a) à värde (Luger, 2009) Värdet V för tillstånd s under grundprincipen p kan representeras på följande vis: Vp(s) Ebba Algvere ebbal714 729G43 Artificiell Intelligens 6
På samma vis representeras Q-värdet för handling a i tillstånd s under grundprinicpen p: Qp(s, a) (Eden, Knittel, & Uffelen, 2017) Temporal Difference Temporal skillnadsinlärning (eng. temporal difference learning) ses ofta som den centrala grundidén inom förstärkt inlärning. Temporal skillnadsinlärning kan lära sig från sina erfarenhet, utan att behöva en modell av världen Detta används inom förstärkt inlärning. Temporal skillnadsinlärning kombinerar dynamisk programmering (eng. dynamic programming) och Monte Carlo metoder (eng. Monte Carlo methods). Dynamisk programmering gör nuvarande uppskattningar baserat på vad som tidigare etablerats för varje steg, detta kallas bootstrapping.vidare använder Monte Carlo metoder ett urval av datan för att lära sig enligt sina grunsprinciper. Metoden lär sig alltså direkt från episoder av den summerade erfarenheten vilket betyder att den inte behöver en modell av världen för att lära sig (Silver) (Sutton & Barto, 1998). Kombinationen av dessa gör att temporal skillnadsinlärning inte behöver en modell av världen och systemet lär sig från direkt interaktion med omgivingen där uppdateringar från sitt lärande görs, detta genom bootstrapping (Silver) (Kunz). Off-policy En agent som följer en avvikande-grundprincip (eng. off-policy) innebär att de grundprinciperna som agenten lärt sig, inte nödvändigtvis är de som används vid val av handling (Sutton & Barto, 1998). Dock lär sig agenten den optimala grundprincipen oberoende av agenten handlingar (Poole & Mackworth, 2010). Exploration vs exploitation Utforskande (eng. exploration) och utnyttjande (eng. exploitation) handlar i huvudsak om agenten ska prova en ny handling, som kanske inte är optimal, eller utföra den handling som agenten för tillfället tror är bäst givet ett tillstånd (Shrum, 2015). Ebba Algvere ebbal714 729G43 Artificiell Intelligens 7
Q-learning Det som presenterats i tidigare avsnitt har varit det som utgör grunden i Q-learning och används därefter. Följande stycken kommer att knyta an till tidigare presenterade kunskaper och dessa är därför nödvändiga för förståelsen för kommande avsnitt. Q-learning är en förstärktinlärningsmetod, specifikt en variant/typ av en temporal skillnadsmetod (Luger, 2009), och därmed även en blandning Monte Carlo metoder och dynamisk programmering (Sutton & Barto, 1998). Q-learning används för att hitta en optimal grundprincip för en begränsad Markov beslutsprocess, detta genom sina belöningar (Russell & Norvig, 2014). Vidare lär sig agenten utan en modell, alltså modell-fri, eftersom Q- funktionen inte kräver en modell för val av handling eller inlärning (Russell & Norvig, 2014). Q-learning är även en off-policy metod vilket innebär, som tidigare nämnts, att agenten kommer alltid att lära sig den optimala grundprincipen. En Q-learning agent använder sig en värdefunktion eller tillstånd-handlingspar funktion för att räkna ut ett Q-värde (Russell & Norvig, 2014). Q värdet indikerar hur önskvärt ett visst tillstånd är agenten kan därmed lära sig utan att från början ha en modell av världen. För att skapa sig en uppfattning av världen, genom etablering av Q värden, agerar agenten först slumpartat (Luger, 2009). Detta innebär att agenten lär sig genom interkation med sin omgiving. Agenten kommer, efter flertalet interaktioner med omgivingen, att hitta en optimal grundprincip. När en optimal grundprincip är nådd kommer agenten att kunna finna den optimala vägen från ett starttillstånd till ett måltillstånd. Agenten strävar efter att maximera sina belöningar långsiktigt och agerar därefter (Sutton & Barto, 1998). När Q-learning agenten intregerar med omgivingen måste den göra en avvägning mellan hur mycket det ska utforska (eng. exploration) och hur mycket den ska uttnyttja (eng exploitation) sina erfarenheter vid val av handling. Agenten vill bara lära sig bra handlingar som den tror tar den närmare måltillståndet, men i början av agentens interaktion med omgivingen vet den inte vilka dessa handlingar är givet tillståndet den befinnner sig i. Agenten måste prova alla handlingar för ett givet tillstånd ett antal gånger och ibland utföra en handling den inte tror är bäst. Denna avvägning mellan utforskande och utnyttjande avvägs av e (epsilon). e reprsenterar den procentuella andelen gånger som agenten kommer att utforska en ny handling istället för att utföra den handling den tror är bäst. Om e = 0.1, kommer agenten att Ebba Algvere ebbal714 729G43 Artificiell Intelligens 8
utföra en slumpartat handling 10% av gångerna och 90% av gångerna utföra den handling som dess Q-värden säger är bäst, medan den lär sig. e är nödvändig eftersom det alltid finns en risk att det agenten lärt sig är felaktigt, vidare kan agenten inte ignorera en viss handling för evigt. Det gör ingenting om handlingen som utförs på grund av e inte är optimal eftersom algoritmensinlärningsuppdatering ( r t +1 + maxq(s t + 1, a) se fullständig algoritm nedan) lär sig en grundprincip som är baserad på den bästa handlingen för varje tillstånd. Q-learning är alltså en avvikande-grundprincip (eng. off-policy). Detta innebär att agenten använder sig av en grundprincip när den lär sig, specifikt kallas e-greedy grundprincip (eng. e-greedy policy), i detta fall där agenten utför en slumpad handling 10% av gångerna. Trots detta kommer den grundprincip som reflekteras från Q-värderna att vara optimal (Shrum, 2015) (Sutton & Barto, 1998). Q- learning agent En agent är den som lär sig samt den som fattar beslut om vilka handlingar som ska utföras (Sutton & Barto, 1998). För agenten är uppgiften inom förstärktinlärning att använda sig av observerbara belöningar i syfte att lära sig en optimal policy för miljön den befinner sig i (Russell & Norvig, 2014). Algoritm I ett förstärktinlärningsproblem finns det en agent, tillstånd S och ett antal handlingar A per tillstånd. När agenten utför en handling a A, kan agenten förflytta sig mellan tillstånd och får därmed en belöning. Belöningarna R varierar beroende på tillstånd, detta eftersom tillstånd har olika belöningar. Högre belöning innebär att tillståndet är med önskvärt, tillståndet med högst belöning är därmed måltillståndet. Agenten vill därmed maximera sin totala framtida belöning eftersom detta leder till att agenten hamnar i måltillståndet. Genom att räkna ut ett Q värde kan agenten finna en optimal grundprincip för varje tillstånd, det vill säga vilken handling som ska utföras. Detta leder sedan agenten från starttillståndet till måltillståndet genom en handlingssekvens. Belöningen räknas ut genom summan av förväntade värden av alla framtida steg, med start från nuvarande tillstånd. Ebba Algvere ebbal714 729G43 Artificiell Intelligens 9
Genom att räkna ut ett Q-värde för varje tillstånd-handlingspar kan en komplett belöningstabell skapas. Q(S x A) à R Q(tillstånd x handling) à belöning För Q-learning har vi följande algoritm för att kunna räkna ut ett Q-värde: Q(s t, a t ) ß Q(s t, a t ) + a(r t +1 + maxq(s t + 1, a) Q(s t, a t )) a För denna funtion räknar vi ut Q värdet för handling a i tillstånd s vid tid t, som leder till tillstånd s t+1. Följande stycken förklarar algoritmens delar: Q(s t, a t ) är tillståndet agenten är i nu samt den handling agenten utförde. Pilen (ß ) betyder att vänster uppdateras till det som är på höger sida, Q-värdet för tillstånd s och handling a uppdateras alltså med värdet funktionen räknar ut. a är inlärningsparametern (eng. learning rate), och har ett värde mellan 0 < a > 1. Inlärningsparametern representerar hur snabbt agenten lär sig och därmed Q-värderna uppdateras, det vill säga hur mycket Q-värdet uppdateras vid varje handling. Är a nära 0 uppdateras inte Q-värderna, medan de uppdateras snabbt vid ett värde nära 1. Vi måste ha en inlärningparamenter som är godtycklig för inlärningsproblemet. Har vi en inlärningparamenter som är = 1, uppdaterar Q-värdet (Q(s t, a t )) med det kommande värdet ((r t +1 + maxq(s t + 1, a) för mycket vilket innebär att det till en början, när agenten inte lärt sig, a blir felaktigt. Inlärningsparametern reglerar därför hur mycket av funktionen a(r t +1 + maxq(s t + 1, a) Q(s t, a t )) som ska uppdateras för att agenten ska kunna ta sig till målet a långtisktigt. r t +1 är belöningen vid nästa tidpunk.(r t är den direkta belöningen) är diskonteringsfaktorn (eng. discount factor) och väger vikten mellan omedelbar belöning och framtid belöning. kan vara mellan 0 <= => 1, där framtida belöningar anses vara viktigare ju nä rmare är 1 och direkta belöningar anses vara viktigare när är närmare 0. I Q-learning vill agenten se till de totala framtida belöningarna framför direkta, vi vill därmed att ska vara nära 1. I denna rapport är = 1. Ebba Algvere ebbal714 729G43 Artificiell Intelligens 10
MaxQ(s t + 1, a) är det maximala Q-värdet som kan nås från nästa tillstånd från a nuvarande tillstånd och alla möjliga handlingar som kan utföras i det tillståndet. När agenten var i Q(s t, a t ), alltså tillstånd s t och utförde handling a t ledde det till tillstånd s t + 1. Agenten håller nu i alla möjliga handlingar a för tillstånd s t + 1 ( = MaxQ(s a t + 1, a)). Ageten kommer att titta på alla möjliga handlingar a från tillstånd s t + 1, där den handling med högst värde kommer att bli värdet för hela delen MaxQ(s t + 1, a). a (Russell & Norvig, 2014) (Eden, Knittel, & Uffelen, 2017) (Schrum, 2015) Sammanfattningsvis är de faktiska stegen för algoritmen (med matriser) följande: - Skapa en R matris utifrån belöningar - Skapa och nollställ en Q matris för agenten Q-värden - Bestäm värde för inlärningsparametern och diskonteringsfaktorn - För varje episod (från intitialtillstånd till måltillstånd) gäller: o Agenten utför en handling, antingen den som agenten tror är bäst eller som e sannolikheten tvingar den slumpa. o Räkna ut Q-värde för tillstånd och handling givet viss tid. o Uppdatera Q matrisen med Q-värdet o Nästa tillstånd blir nuvarande tillstånd tills det att måltillståndet uppnåtts, då avslutas episoden och en ny börjar. (Tekonomo, 2005) (Nyman, 2017) Räkneexempel Följande Q-learning exempel, med viss modifiering, kommer från Teknomo (2005) och Nyman (2017) och använder matriser för att visa på hur en agent lär sig om en miljö med hjälp av Q-learning. Agenten har ingen tidigare kunskap om miljön och inlärningsprocessen är oövervakad. I exemplet finns det fem rum, där agentens mål är att befinna sig i rum 5. Rummen har dörrar mellan sig som visar på hur agenten kan handla i utrymmet. Det är endast rum 4 och 1 som leder till målrummet 5. Detta kan representeras på två vis: Ebba Algvere ebbal714 729G43 Artificiell Intelligens 11
I syfte att representera miljön och vad agenten lär sig genom interaktion skapas två matriser. I matriserna representeras tillståndet (eng. state) i rader och handlingar (eng. actions) i kolumner. Målet är att lära agenten gå till rum 5, detta genom att ge rum 5 den högsta belöningen. Vi vill därför tilldela de olika rummen olika belöningsvärden (matris R). I matris R representerar tilldelar vi vägarna till rum 5 ett direkt belöningsvärde (eng. instant reward) av 100, ogiltiga vägar -1 och andra vägar 0. Vi vill även skapa ett minne för agenten som uppdatering genom interaktion med miljön (matris Q), detta initialiseras till 0. Två matriser skapas: För att fylla i Q matrisen baserad på agenten interaktion med omgivningen används följande funktion: Q(state, action) = R(state, action) + Gamma * Max [ Q(next state, all actions) ] Förklaring av funktion: - Q(state, action) och R(state, action) finner vi i respektive matriser - Gamma är inlärningsparametern, mellan 0 <= Gamma => 1. Ju närmare siffran är 0, ju mer övervägs direkta belöningar. Samt ju närmare siffran är 1, ju mer övervägs framtida belöningar vilket gör agenten villig till att vänta med belöningen. - Max [ Q(next state, all actions) ] är maximala värdet från alla möjliga framtida tillstånd utifrån nuvarande tillstånd. Ebba Algvere ebbal714 729G43 Artificiell Intelligens 12
Agenten kommer att utforska världen tills det att den uppnår måltillståndet, detta kallas för en episod (eng. episode). Varje episod börjar med ett slumpat initialtillstånd och agentens handling slumpas genom hela episoden. För varje episod uppdateras Q matrisen. Steg för uppdatering av Q matrisen: 1. Nuvarandetillstånd = initialtillstånd 2. Hitta handlingen med högst Q-värde ( Q(tillstånd, handling) ) utifrån nuvarande tillstånd 3. Nuvarandetillstånd = nästatillstånd 4. Upprepa steg 2 och 3 tills det att nuvarande tillstånd = måltillstånd Detta kommer att returnera en sekvens av tillstånd som går från initialtillståndet till måltillståndet. Dessa matriser har skapats för rum-problemet där målet är för agenten att ta sig till rum 5: Vi sätter inlärningsparametern, Gamma, till 0.8. Initialtillståndet slumpas till 1. R matrisen visar vilka handlingar som finns från tillstånd 1. Dessa är att gå till rum 3 = belöning 0 eller rum 5 = belöning 100 (rummen med värde -1 är icke-handlingar). Slumpen väljer handlingen 5. Nu föreställer vi oss att vi är i rum 5. Vi ser då till rad 5 i R matrisen och finner att möjliga handlingar är 1, 4 och 5. Vi applicerar funktionen från tillstånd 1 till handling 5 och tar värden ifrån R matrisen: Q(state, action) = R(state, action) + Gamma * Max [ Q(next state, all actions) ] Q(1, 5) = R(1, 5) + 0.8 * Max [ Q(5, 1), Q(5, 4), Q(5, 5) ] = 100 + 0.8 *Max( 0, 0,0 ) = 100 Det nuvarande tillståndet blir 5, men eftersom det är måltillståndet avslutas denna episod. Detta gör att vi kan uppdatera vår Q matris med Q(1, 5) = 100. Ebba Algvere ebbal714 729G43 Artificiell Intelligens 13
Nästa episods initialstillstånd slumpas till 3. Enligt R matrisen kan vi från tillstånd 3 generera handling 1, 2 eller 4. Slumpen gör att 1 blir vald handling. Möjliga framtida handlingar från tillstånd 1 är enligt R matrisen 3 och 5. Vi kan nu räkna ut Q-värdet för Q(3, 1) enligt: Q(state, action) = R(state, action) + Gamma * Max [ Q(next state, all actions) ] Q(3, 1) = R(3, 1) + 0.8 * Max [ Q(1, 3), Q(1, 5)] = 0 + 0.8 * Max (0, 100) = 80 Vi kan nu uppdatera vår Q matris med Q(3, 1) = 80. Nästa initialtillstånd blir 1 och vi fortsätter eftersom vi ännu inte uppnått måltillståndet, och algoritmen körs igen. Agenten fick ingen belöning för att gå från tillstånd 3 till 1 eftersom R(3, 1) = 0. Agenten uppdaterade dock sitt Q-värde för Q(3, 1) vilket, för tillfället enligt Q matrisen, indikerar att den är på rätt väg för att komma till mål. Från tillstånd 1 finns handlingarna 3 eller 5. 5 väljs slumpvis. Vi tittar nu på möjliga framtida handlingar från tillstånd 5, dessa är 1, 4 och 5. Q värdet för Q(1, 5). Den direkta belöningen är 100 (från R(1, 5) eftersom den andra delen av ekvationen 0.8 * Max [ Q(5, 1), Q(5, 4), Q(5, 5) ] = 0 som vi tidigare visat), och vi uppdaterar därför inte Q matrisen. Agentens Q matris ser nu ut på följande sätt och en ny episod startar: Efter flertalet episoder kan vi få en Q matris som ser ut på följande sätt (notera att Q(1, 5) får ett högre värde trots att vi i exemplet räknade det till 100 två gånger. Detta är för att Q- värdena som används i del två av ekvationen för uträkning a Q(1, 5), alltså 0.8 * Max [ Q(5, 1), Q(5, 4), Q(5, 5) ] kommer att ändras med tiden och då påverka värdet för Q(1, 5) : Genom att dela alla tal som är <0 med det högsta värdet (= 500) kan vi normalisera matrisen, det vill säga göra om det till procentenheter: Ebba Algvere ebbal714 729G43 Artificiell Intelligens 14
När Q matrisen kommit tillräckligt nära konvergens (eng. convergence), inlärningskurvan förändras ej, vet vi att agenten har lärt sig de mest optimala vägarna från ett starttillstånd till ett måltillstånd. Vi kan enkelt måla ut dessa vägar genom att följa de vägarna med högst värden. Skulle initialtillståndet vara 2, kommer agenten att välja handling 3. Från tillstånd 3 har både handling 1 och 4 samma Q värde = 80. Antingen väljs handling 1 eller 4. Från tillstånd 1 respektive 4 väljs handling 5 eftersom det har högst Q värde (= 100), jämfört med tillexempel handling 3 respektive 0 ( = 64). Med detta kan vi skapa en handlingssekvens som maximerar framtida belöningar och är därmed även optimal: 2 3 1 5 eller 2 3 4 5 Nackdelar En begränsning inom Q-learning är att metoden endast fungerar för små världar. Vid större världar krävs större matriser, vilket ökar komplexiteten och tidsåtgången för en löning anmärkningsvärt. Vidare måste en Q-learning agent utforska samma tillstånd-handlingspar ett flertal gånger, vilket inte heller verkar optimalt (Sutton & Barto, 1998). Fördelar Fördelen med Q-learning är att den inte behöver en modell av sin omgivning (Sutton & Barto, 1998), vilket återspelar hur verkligheten ofta ser ut. Vidare uppdateras Q-learning agentens kunskap om världen kontinuerligt under interaktion, detta till skillnad från andra metoder. Detta är en fördel då en episod kan vara lång och en uppdatering i slutet kan därför ta lång tid (Sutton & Barto, 1998). Ebba Algvere ebbal714 729G43 Artificiell Intelligens 15
Mina Tankar Jag anser att kunskap inom förstärkt inlärning och Q-learning kommer att vara värdefullt både idag och i framtiden. Förstärkt inlärning används idag för utveckling inom robotteknik, navigationsteknik och spel (Nyman, 2017), där en förståelse för detta och även Q-learning är fördelaktigt. Den modell-fria metoden Q-learning, inlärning via interaktion, är lik det sätt människan lär sig och skapar en uppfattning om sin omgiving. Att kunna skapa en algoritm för inlärning som också efterliknar människans, anser jag är av stor betydelse för utveckling och förståelse för artificiell intelligens, särskillt när vi försöker skapa intelligenta system/agenter med männisligt beteende. Kan vi med hjälp av detta skapa intelligenta agenter som efterliknar människan, kanske vi tillochmed kan skapa agenter som genom sitt männskliga beteende prestrerar bättre än människan, tillexempel dataprogrammet AlphaGo (DeepMind, 2018). Vidare har detta fördjupningsarbete givit mig personligutdelning då jag finner en större förståelse och därmed även intresse för detta, samt andra, områden inom artificiell intelligens. Ebba Algvere ebbal714 729G43 Artificiell Intelligens 16
Referenser Callan, R. (2003). Artificial Intelligence. New York: Palgrave MacMillan. DeepMind. (2018). AlphaGo. Hämtat från The story of AlphaGo so far: https://deepmind.com/research/alphago/ Eden, T., Knittel, A., & Uffelen, R. (2017). Reinforcement Learning. Hämtat från http://www.cse.unsw.edu.au/~cs9417ml/rl1/index.html Kunz, F. (u.d.). An Introduction to Temporal Difference Learning. Department of computer science. TU Darmstadt. Luger, G. (2009). Artificial Intelligence Structures and Strategies for Complex Problem Solving (Vol. 6). Pearson. Nyman, J. (2017). Stories of a Software tester. Hämtat från Testing and Machine Learning, Part 2: http://testerstories.com/2017/11/testing-and-machine-learning-part-2/ Otterlo, M., & Wiering, M. (u.d.). Reinforcement Learing and Markov Decision Processes. University of Groningen och Katholike Univeriteit Leuven, Artificial Intelligence, Nederländerna och Belgien. Poole, D., & Mackworth, A. (2010). Artificial Intelligence Foundations of Computional Agents. Canada. Reinforcement Learning 3 - Q learning (2015). [Film]. Russell, S., & Norvig, P. (2014). Artificial Intelligence A Modern Approach (Vol. 3). England: Pearson. Silver, D. (Artist). (u.d.). Model-free Prediction. UCL Course on RL, London. Sutton, R., & Barto, A. (1998). Reinforcement Learning. England: The MIT Press. Tekonomo, K. (2005). Revoledu. Hämtat från Q-Learning Algorithm: http://people.revoledu.com/kardi/tutorial/reinforcementlearning/q-learning- Algorithm.htm Watkins, C. (1989). Learning from Delayed Rewards. Thesis, King's College. Ebba Algvere ebbal714 729G43 Artificiell Intelligens 17