Agent som kan spela Atarispel bättre än människor med hjälp av Deep Reinforcement Learning Sofie Adolfsson, sofad117@student.liu.se Artificiell Intelligens Linköpings Universitet 2017-01-12
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Sammanfattning Företaget DeepMind har som mål att tänja på gränserna för Artificiell Intelligens och utveckla agenter som kan lära sig att lösa vilka komplexa problem som helst utan att man behöver förklara för dem hur det ska gå till. De lyckades utveckla en agent som helt själv lärde sig att spela 49 olika spel Atarispel. Det gjorde dem med hjälp av ett enda djupt neuralt nätverk som kallas för DQN. DQN är en blandning av en reinforcement learning algoritm som kombineras med ett convolutional neuralt nätverk för att kunna ha råa pixlar som indata. Den överträffade resultatet för alla tidigare algoritmer och lyckades uppnå en nivå som är jämförbar med en professionell mänsklig spelare. Den här rapporten har som syfte att få en förståelse för hur den Atarispelande agenten är uppbyggd. Störst fokus läggs på Reinforcement learning där Q-learning är en vanlig metod. Fördjupningen sker mest i hur Q-learning fungerar och hur dess algoritm. Nyckelord: Deep Reinforcement Learning, DQN, Reinforcement Learning, convolutional neurala nätverk, Atari 2
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Innehållsförteckning 1. Inledning... 4 2. Bakgrund... 4 2.1. Atarispel... 5 2.2. Agenten ett djupt Q-nätverk... 5 2.3. Reinforcement Learning... 6 2.3.1. Underliggande element hos Reinforcement learning... 7 2.3.2. Markov Decision process (MDP)... 8 2.4. Artificiella Neurala Nätverk... 8 2.4.1. Convolutional Neurala Nätverk... 9 3. Q-learning... 9 3.1. Diskonteringsfaktorn γ... 11 3.2. Inlärningshastigheten α... 11 3.3. Q-learning exempel... 12 3.4. Q-learning steg för steg... 15 4. Deep Reinforcement Learning... 16 5. Avslutande ord... 18 6. Referenser... 19 3
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie 1.Inledning Under tusentals år har vi försökt att förstå hur vi tänker, hur vi kan uppfatta, förstå, förutsäga och manipulera en värld som är mycket större och mer komplicerat oss själva. Artificiell intelligens (AI) tar detta ett steg längre, eftersom det inte bara försöker förstå utan också bygga intelligenta enheter (Russell & Norvig, 2010). Artificiell intelligens är idag ett hett ämne och många har antagligen ställt sig frågan om en artificiell intelligens kan vara smartare än människa. DeepMind (u.å.) är ett företag vilka har utvecklat ett program, en så kallad agent, som fick möta den koreanska världsmästaren Lee Sedol i AlphaGo. AlphaGo är ett av de mest komplexa och intuitiva spel som någonsin utvecklas då det har fler positioner och möjliga drag än vad det finns atomer i universum. Det otroliga var att agenten lyckades vinna (DeepMind, u.å.). DeepMind köptes upp av Google 2014 och är numera ledare i världen för AI forskning. De har som mål att tänja på gränserna för AI och utveckla agenter som kan lära sig att lösa vilka komplexa problem som helst utan att man behöver förklara hur det ska gå till. DeepMind lyckades också utveckla en agent, som helt själv lärde sig att spela 49 helt olika Atarispel, med endast råa pixlar (eng. raw pixels) som indata (DeepMind, u.å.). DeepMind presenterade den första deep learningmodellen som lärde sig direkt från högdimensionella sinnesintryck och detta med hjälp av Reinforcement Learning. Modellen är en convolutional neuralt nätverk som tränas med en variant av Q-learning vars indata är råa pixlar och utdata är en värdefunktion som uppskattar framtida belöningar (Mnih et. al., 2013). I denna fördjupningsstudie har jag valt att inrikta mig på Reinforcement Learning där mest fokus läggs på Q-learning och syftet är att få en överblick över hur den Atarispelande agenten är uppbyggd. 2.Bakgrund DeepMinds mål var att skapa ett neuralt nätverk som framgångsrikt kan lära sig att spela så många olika Atari spel som möjligt. Det neurala nätverket tilldelades inte någon spelspecifik information eller visuella särdrag och lärde sig endast via videoindata, belöningen, signaler som agenten får när spelet är slut samt en uppsättning av möjliga handlingar, precis som en människa skulle lära sig. Nätverket ändrades inte utan hölls konstant under alla spel (Mnih et al., 2013). 4
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie 2.1. Atarispel Målet i varje spel är väldigt olika och designade för att vara utmanande för människor. DeepMinds agent har inte tillgång till all information om spelet, men lär sig spela på samma sätt som människor gör. Den har ingen kunskap om spelet sedan tidigare utan lär sig helt själv och blir bättre och bättre. Atarispelen är som tidigare nämnt helt olika spel, de ser inte likadana ut och har olika input. Nedan visas skärmdumpar från några av spelen som användes vid träning (Mnih et al., 2013). Bild 1. Skärmdumpar från fem Atarispel. Pong, Breakout, Space Invaders, Seaquest, Beam Rider. 2.2.Agenten ett djupt Q-nätverk DeepMind agentens visuella indata (210 x 160 RGB video på 60 Hz) och dess varierade uppsättning av uppgifter var utformade för att vara svåra även för människor som spelade (Mnih et al., 2013). Agenten lär sig genom erfarenhet, utan någon som förklarar. Detta kallas för oövervakad inlärning (eng. unsupervised learning). Agenten utforskar från tillstånd till tillstånd fram till dess att målet uppnåtts, det så kallade måltillståndet (Mnemstudio, 2010). Uppgiften som agenten har betraktas som en sekvens av handlingar, observationer och belöningar i en interaktion med en omgivning, i detta fall en Atari emulator, det vill säga spelen och dess data (Mnih et al., 2013). Agenten är uppbyggd av en enda algoritm, ett djupt Q-nätverk (DQN), där en reinforcement learning algoritm kombineras med ett artificiellt neuralt nätverk. Den arbetar direkt med RGB bilder och tränas med en variant av Q-learning algoritm. Stochastic gradient descent används för att uppdatera vikterna (Mnih et al., 2013). Agenten har även en experience replay mekanism som gör att utforskade övergångar lagras under en längre tid och den gör så att reinforcement learning agenter kan minnas och återanvända erfarenheter från det förflutna. Detta leder till att algoritmens prestanda förbättras enormt (Schaul, Quan, Antonoglou & Silver, 2016). 5
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Bild 2. Experience replay datauppsättning Ett djupt neuralt nätverk där flera lager av noder gradvis byggs upp för att skapa mer abstrakta representationer av data, gör det möjligt för artificiella neurala nätverk att lära sig abstrakta begrepp så som objektkategorier (Mnih et al., 2015). Det djupa Q-nätverket resulterade i den första artificiella agenten som var kapabel till att lära sig och utmärka sig på en mängd olika utmanande uppgifter. Den överträffade resultatet för alla tidigare algoritmer och lyckades uppnå en nivå jämförbar med en professionell mänsklig spelare (Mnih et al., 2015). 2.3.Reinforcement Learning Reinforcement learning är en maskininlärningsteknik där agenten lär sig att handla efter varje tillstånd i omgivningen. För att avgöra om det är ett bra tillstånd eller inte ges med hjälp av en belöning i det tillståndet. De flesta tillstånd har väldigt liten belöning så att agenten slumpmässigt förflyttar sig i omgivningen. När agenten når ett tillstånd med en belöning så lär den sig att det tillståndet som ledde till det tillståndet också associeras med belöningen. En vanlig metod för detta är Q-learning (Schneider, Magnano & Roberts, u.å.) Reinforcement Learning handlar om att agenten lär sig det den ska göra för att maximera belöningssignalen. Agenten gör detta genom att själv upptäcka genom att prova sig fram. Handlingarna påverkar nödvändigtvis inte bara den omedelbara belöningen utan även nästa situation och alla efterföljande belöningar. Detta är de två viktigaste egenskaperna hos reinforcement learning och de kallas för trial-and-error sökning samt fördröjd belöning (Sutton & Barto, 1998). Reinforcement learning problemet för lärande handlar om interaktioner för att uppnå ett mål. Vi har en beslutsfattande agent som ska lära sig något, och den interagerar kontinuerligt med en omgivning, och väljer handlingar som omgivningen svarar på och medför nya situationer för agenten. Omgivningen tillför även belöningar, numeriska värden som agenten försöker att maximera över tid (Sutton & Barto, 1998). 6
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Bild 3. En typiskt interaktionsloop för Reinforcement Learning En utmaning med Reinforcement learning kallas för credit assignment problemet och det innebär att det kan vara svårt att definiera vilken av de föregående handlingarna som var ansvarig för belöningen samt i vilken utsträckning (Tambet, 2015). En annan utmaning med Reinforcement Learning är att en agent måste göra en avvägning mellan att utforska-utnyttja (eng. exploration-exploitation) det den vet för att maximera sin belöning. För att få mycket belöning måste en Reinforcement Learning agent föredra handlingar som den har utfört tidigare vilka har visat sig vara effektiva. Men för att kunna upptäcka dessa måste agenten testa sådana handlingar som den inte har testat förut. Agenten utnyttjar vad den redan vet för att få en belöning, men den måste även utforska nya handlingar för att göra bättre val av handlingar i framtiden (Sutton & Barto, 1998). Om en agent endast utnyttjar sin kunskap kan det leda till att agenten riskerar att fastna i gamla hjulspår, vilket därmed innebär en risk att inte upptäcka en bättre belöning (Russell & Norvig, 2010). Ett sätt att hitta en balans mellan att utforska och utnyttja omgivningen är en ε-greedy metod, som bland annat Atariagenten tränades med. Där ε är en liten sannolikhet för att slumpmässigt välja en annan handling än den som har den högst uppskattade belöningen. På så vis agerar agenten oftast genom att utnyttja sin kunskap och välja den handling som har den högst uppskattade belöningen, men ibland genom att utforska omgivningen (Mnih et al., 2015). 2.3.1. Underliggande element hos Reinforcement learning Förutom agenten och omgivningen finns det fyra vanliga underliggande element som ingår i ett Reinforcement learning system. En policy, en belöningsfunktion, en värdefunktion och en modell av omgivningen. En policy definierar hur agenten beter sig i en given situation och är en regel för hur vi väljer en handling i varje tillstånd. Belöningsfunktionen tilldelar tillstånd ett nummer som indikerar hur eftersträvansvärt det är, vilket därav är en omedelbar belöning. En agents mål är att långsiktigt maximera belöningen den får. Det är det som en 7
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie värdefunktion specificerar, det som agenten kan förvänta sig långsiktigt. Ett tillstånd kan ge en låg omedelbar belöning men fortfarande ha ett högt värde eftersom efterföljande tillstånd kan ha höga värden. Det sista elementet är en modell av omgivningen vilket innebär att den efterliknar ett beteende hos en omgivning. Det används för planering eftersom givet ett tillstånd och en handling kan modellen förutsäga det resulterande tillståndet och nästa belöning innan det utforskats (Sutton & Barto, 1998). 2.3.2. Markov Decision process (MDP) Den grundläggande idén med Markov Decision process (MDP) är att fånga de viktigaste aspekterna av de verkliga problemen en agent stöter på i interaktionen med omgivningen för att uppnå ett mål. En agent måste kunna känna av och observera tillståndet i omgivningen i en viss utsträckning och kunna vidta handlingar som påverkar tillståndet. Agenten måste även ha ett eller flera mål som relaterar till tillståndet i omgivningen. MDP formuleringen omfattar just dessa tre aspekter agenten som ska känna av omgivningen, handlingarna och målen. En metod som lämpar sig att lösa problem som dessa anses vara en Reinforcement Learning metod, vilket MDP gör (Sutton & Barto, 1998). MDP innebär en uppsättning av tillstånd och handlingar, tillsammans med regler för övergången från ett tillstånd till ett annat. En episod av den här processen bildar en ändlig sekvens av tillstånd, handlingar och belöningar. Här representerar s i tillstånd, a i handlingar och r i+1 belöningen som agenten får efter att ha utfört handlingen. Episoden avslutas med ett sluttillstånd s n när spelet är över. MDP förlitar sig på ett Markov antagande vilket innebär att sannolikheten för nästa tillstånd s i+1 endast är beroende av det nuvarande tillståndet s i och handling a i, men inte de föregående (Tambet, 2015) 2.4.Artificiella Neurala Nätverk Artificiella neurala nätverk (ANN) har inspirerats av människornas och djurens biologiska centrala nervsystem. Ett försök att simulera processen för att bearbeta och fatta beslut i nätverket av nervceller som även kallas för neuroner (Graupe, 2013). ANN är en välkänd och kraftfull maskininlärmingsteknik, som innehåller ett indatalager där man får in sensorisk data, ett antal dolda lager och ett utdatalager. Givet en tillräcklig uppsättning av uppmärkta data 8
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie kommer nätverket kunna generalisera nya indata och generera en korrekt utdata genom att lära sig olika vikter för att ge förbindelser till olika noder (Schneider, Magnano & Roberts, u.å.). Det neurala nätverket lär sig därmed att känna igen och hitta mönster i tillräckligt stora datamängder. Om man vill lära ett neuralt nätverk att spela ett spel och vi har indata i form av skärmbilder, och utdata kan ta form av tre olika handlingar; exempelvis att gå till vänster, höger eller att skjuta. Då kan man behandla det som ett klassificeringsproblem, eftersom man för varje skärmbild behöver bestämma sig för vilken handling man ska genomföra (Tambet, 2015). Det artificiella neurala nätverket används därför för att bygga upp allt mer abstrakta representationer av data, detta med hjälp av flera lager av noder (Mnih et al., 2015). De flesta neurala nätverk tränas under övervakad inlärning, där man försöker minimera antalet fel. Då är inlärningsparametern viktig eftersom ett för litet värde kan resultera i en långsam inlärning, medan ett för stort kan hindra konvergens och orsaka att systemet pendlar eller skiljer sig (Coors, 2016). Det behövs många träningsexempel, men det är inte riktigt så vi lär oss eftersom vi inte behöver någon som säger åt oss en miljon gånger vad vi ska välja vid exempelvis varje skärmbild. Vi behöver bara enstaka feedback som talar om att vi gjorde det rätta och vi kan sedan räkna ut allt annat själva (Tambet, 2015). 2.4.1. Convolutional Neurala Nätverk När man använder ett vanligt flerlagernätverk med råa pixlar som indata finns det en utmaning då antalet vikter växer snabbt även för små bilder. Tillskillnad från de vanliga flerlagernätverken reducerar convolutional neurala nätverk antalet vikter (Coors, 2016). Convolutional neurala nätverk användes i utvecklingen av den Atarispelande agenten, och det är en typ av feed-forward nätverk (information skickas enbart framåt i nätverket) (Mnih et. al., 2015). De använder convolutional lager som filtrerar indata för att få ut användbar data. Dessa convolutional lager har parametrar som har lärt sig så att dessa filter justeras automatiskt för att extrahera den mest användbara informationen för uppgiften. Exempelvis kan det vara mest användbart för att filtrera information om formen på ett objekt, men i andra samband kanske färg eller liknande. Vanligtvis används hierarkiska lager som filtrerar bilderna för en mer och mer abstrakt information efter varje lager (Dettmers, 2015) 3.Q-learning Q-learning är en temporal-difference (TD) metod, som uppdaterar beräkningar vilka baseras på tidigare händelser och därmed kan göra kvalificerade gissningar på framtida händelser kan se ut. Det är även en off-policy metod vilket innebär att agenten lär sig en optimal policy 9
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie oavsett vilket policy agenten följer (Russell & Norvig, 2010). Atariagenten i detta fall lär sig den giriga strategin a = max a Q(s,a; θ), när den följer ett beteende som garanterar en tillräcklig utforskning av tillståndsrymden (Mnih et. al., 2013). Russell och Norvig (2010) förklarar att Q-learning är en modell-fri metod då Q-funktionen inte kräver en modell för val av handling eller inlärning. Kort och gott handlar Q-learning om att en agent i ett tillstånd S och en uppsättning av handlingar A. Agenten kan då utföra en handling a A och röra sig mellan tillstånd. När agenten har utfört en handling i ett specifikt tillstånd kan agenten få en belöning R, i form av numerisk siffra. Algoritmens funktion är att räkna ut mängden av alla kombinationer mellan tillstånds och handlingar. Detta är en iterativ process eftersom Q-värdet uppdateras i samband med att agenten utforskar sin omgivning, det gamla värdet ersätts med det nya (Wikipedia, 2017). I sin enklaste form kan ett steg i Q-learning processen kan definieras som ekvationen nedan: Här definieras en funktion Q(s t, a t ) som när vi utför en handling a i ett tillstånd s vid tiden t, och fortsätter optimalt från den punkten. Funktionen maxq(s t+1, a) är det största Q-värdet för alla handlingar i nästa tillstånd. Detta subtraheras med det Q-värde som fanns i tillståndet som man precis var i. Vi vill alltid välja den handling som resulterar med den högsta poängen i slutet av spelet, och när man har en Q-funktion kan man välja den handling med det högsta Q- värdet (Tambet, 2015). Ett annat sätt att se på Q(s,a) är att det är den bästa möjliga poängen i slutet av spelet där man utfört handlingen a i tillståndet s. Det kallas för Q-funktionen eftersom den representerar kvaliteten av en speciell handling i ett givet tillstånd. Detta är dock en teoretisk konstruktion eftersom vi inte kan uppskatta poängen i slutet av spelet när vi endast vet nuvarande tillståndet och handling men inte handlingarna och belöningarna efter det. Man ska alltså välja den handling med det högsta Q-värdet maximala värdet (Tambet, 2015). 10
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Tambet (2015) förklarar vidare att om vi fokuserar på en övergång <s, a, r, s >. Kan vi uttrycka Q-värdet av tillståndet s och handling a i termer av Q-värdet hos nästa tillstånd s. Denna kallas för Bellmans ekvation och den tyder på att den maximala framtida belöningen for tillståndet och handlingen är den omedelbara belöningen adderat med den maximala belöningen för nästa tillstånd. Huvudsyftet med Q-learning är att vi iterativt kan uppskatta Q- funktionen genom att använda Bellmans ekvation. Uppskattningen blir mer och mer exakt och efter varje iteration och den uppdateras tillräckligt många gånger kommer Q-funktionen att konvergera och representera det bästa Q-värdet. Q-learning utnyttjar en värdefunktion för att hitta den optimala handlingen i ett tillstånd. Värdefunktionen tilldelar alla handlingar i alla tillstånd ett värde, beroende på den uppskattade framtida belöningen. När värdefunktionen är som störst har man hittat den optimala handlingen som även kallas för optimal policy (Russell & Norvig, 2010). 3.1.Diskonteringsfaktorn γ Diskonteringsfaktorn (eng. discount factor), även kallat Gamma, betecknas med symbolen γ. Diskonteringsfaktorn är ett tal inom räckvidden 0 γ < 1. Det är en parameter som viktar framtida belöningar. Diskonteringsfaktorn avgör hur kort- eller långsiktigt en agent agerar (Coors, 2016). För att kunna prestera bra långsiktigt måste vi även ta med de belöningar som inte är omedelbara i beräkningarna. Eftersom omgivningen är stokastisk kan vi inte vara säkra på om vi kommer få samma belöning nästa gång vi utför samma handling (Tambet, 2015). Om Gamma är närmare 0 tenderar agenten att överväga endast omedelbara belöningar. Om Gamma är närmare 1 kommer agenten överväga framtida belöningar av större vikt, därmed villig att skjuta upp belöningen (Mnemstudio, 2010) 3.2.Inlärningshastigheten α Inlärningshastigheten α (eng. learning rate) har också en räckvidd från 0 α < 1. Den avgör i vilken utsträckning ny information har på den tidigare. Ett värde på 0 hindrar agenten från att lära sig och ett värde på 1 gör att agenten enbart överväger den senaste informationen (Wikipedia, 2017) 11
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie 3.3.Q-learning exempel Terminologin i Q-learning inkluderar tillstånd s och handlingar a. De möjliga handlingarna kopplar ihop noder och bågar, exempelvis ett tillstånd avbildat som en nod och handlingarna kan representeras som pilar. Dessa kan sammanställas i en matris, ett slags diagram med värden på möjliga handlingar och vad de leder till, exempelvis om man får en belöning eller inte (Mnemstudio, 2010). Nedan kommer ett exempel som tagits från Mnemstudio.org (2010) där agenten använder oövervakad inlärning för att lära sig om en okänd omgivning. Vi kan anta att vi har ett hus med fem rum vilka numreras med en siffra. Utsidan av huset kan man tänka sig är ett enda stort rum likt bilden nedan. Vi kan då representera de olika rummen som noder och dörrarna som bågar i en graf. Om vi vill att en agent ska ta sig till utsidan av huset, rum 5, sätter vi det som måltillstånd. Varje pil nedan innefattar ett värde på belöningen. 100 indikerar en belöning som ges då agenten når måltillståndet. Resterande rum leder till en belöning med värde 0. Vi kan kalla varje rum för ett tillstånd och agentens rörelser från ett rum till ett annat för en handling. Bågarna representeras därmed som en handling istället för en dörr. Agenten börjar i tillstånd 2, och därifrån kan agenten endast gå vidare mot tillstånd 3 eftersom de är sammankopplade. Därifrån kan agenten gå vidare till tillstånd 1 eller 4 men även tillbaka till tillstånd 3. Alla möjliga tillstånd och dess belöningsvärden kan sammanställas i en matris. 12
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Matrisen har döpts till R i detta fall. När det tillstånden inte är sammankopplade visas det med värdet -1. Vi kan nu lägga till en liknande matris Q, vilket representerar minnet och det som agenten har lärt sig genom erfarenheten. Raderna i matris Q representerar det nuvarande tillståndet av agenten, och kolumnerna representerar de möjliga handlingarna som leder till nästa tillstånd. I detta exempel börjar agenten utan att veta någonting och Q-matrisen startar därmed med 0. I vissa fall då det är okänt hur många tillstånd som är involverade börjar matrisen Q med endast ett element, och de nya utforskade tillstånden läggs sedan till vartefter. Agenten lär sig genom erfarenhet och utforskar stegvis flera tillstånd tills det att målet uppnåtts. Varje utforskning kallas för en episod. Varje episod består av agentens handlingar från starttillståndet till måltillståndet och varje gång agenten når målet så går programmet över till nästa episod (Mnemstudio, 2010). Övergångmodellen för Q-learning kan beskrivas med en enkel formel: Q(state, actions) = R(state, actions) + Gamma * Max[Q(next state, all possible actions)] Enligt denna formel delas det ut ett värde till ett visst element i matris Q som är lika med summan av det motsvarande värdet i matris R som adderas med inlärningsparametern Gamma vilket multipliceras med det maximala värdet av Q för alla möjliga handlingar i nästa tillstånd. 13
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Denna algoritm är tagen från Sutton & Barto (1989) och är ett exempel på hur en Q-learning algoritm kan se ut: Med mer Pseudokod för algoritmen kan det se ut som följande: Initiera Q-matrisen, R-matrisen, diskonteringsfaktorn och inlärningsparametern Upprepa för varje episod: Initiera tillståndet s Upprepa för varje steg i episoden o Välj en handling a utifrån tillståndet s (med exempelvis -greedy algoritmen) o Utför handlingen och observera belöningen och det nya tillståndet o Uppdatera Q-matrisen genom att beräkna Q(s, a) o Sätt nuvarande tillstånd S = nästa tillstånd S Upprepa tills tillståndet avslutas Algoritmen används för att agenten ska lära sig från erfarenhet. Varje episod motsvarar en träningssession. I varje träningssession utforskar agenten omgivningen som representeras med matris R, och får en eventuell belöning tills måltillståndet uppnåtts. Syftet med träningen är att förstärka matris Q, vilket kan liknas som agentens hjärna. Ju mer man tränar nätverket desto mer optimerad blir Q matrisen. För att använda Q matrisen behöver agenten spåra sekvenser av tillstånd, från starttillståndet till måltillståndet. Detta kan man göra med följande algoritm som returnerar en sekvens av tillstånd från starttillståndet till måltillståndet: 1. Sätt nuvarande tillstånd = starttillstånd 2. Från nuvarande tillstånd, hitta handlingen med det högst Q-värdet. 3. Sätt nuvarande tillstånd till nästa tillstånd. 14
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie 4. Repetera steg 2 och 3 tills nuvarande tillstånd är detsamma som måltillståndet 3.4.Q-learning steg för steg På (Mnemstudio, 2010) tar de även upp exempel där de går igenom några episoder för att göra det lite tydligare. I det exemplet börjar de med att sätta Gamma till 0.8 och initialiserar Q matrisen till 0 samt starttillståndet i tillstånd 1 (som vi kallar för rum i detta exempel). Genom att då titta på matris R där alla möjliga tillstånd och handlingar finns samlade ser vi att från rum 1 är det möjligt att gå vidare till rum 3 eller 5. Nästa rum väljs slumpmässigt och låt oss säga att handlingen resulterar i rum 5. När vi då tittar på rum 5, ser vi att det har tre möjliga handlingar, att gå till rum 1, 4 och 5. Övergångsmodellen ser då ut som sådan: Q(1, 5) = R(1, 5) + 0.8 * Max[Q(5, 1), Q(5, 4), Q(5, 5)] = 100 + 0.8 * 0 = 100 Eftersom matrisen Q fortfarande är initialiserad till 0, så är Q(5, 1), Q(5, 4) och Q(5, 5) lika med 0. Därav blir resultatet 100 eftersom den omedelbara belöningen från R(5, 1) var 100. Nästa steg i algoritmen är att sätta nästa tillstånd, i detta fall rum 5, till nuvarande tillstånd. Rum 5 är vårt måltillstånd och därmed avslutas spelet och bildar en episod. Q matrisen uppdateras och lägger till 100 vid Q(1, 5). Se bild lite längre ned. För att starta nästa loop för nästa episod börjar vi med ett slumpmässigt utvalt starttillstånd och denna gång blir det rum 3. Matris R visar att det finns tre möjliga handlingar, att gå till rum 1, 2 eller 4. Handlingen resulterar slumpmässigt i rum 1 och därifrån har vi två möjliga handlingar att gå till rum 3 eller 5. För att beräkna Q-värdet får vi: Q(1, 5) = R(1, 5) + 0.8 * Max[Q(1, 3), Q(1, 5)] = 0 + 0.8 * Max(0, 100) = 80 Vi använde Q matrisen från första episoden och lägger till detta värde (Då Q(1, 3) = 0 och Q(1, 5) = 100). 15
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Om vår agent sedan fortsätter att lära sig på detta vis kan Q-matrisen se ut som följande: Q-matrisen kan då normaliseras genom att dividera alla tal som inte är 0 med det högsta numret i tabellen, vilket i detta fall är talet 500. Då kommer matrisen uppdateras och se ut som nedan: När Q-matrisen kommer tillräckligt nära konvergens i ett tillstånd så vet vi att agenten har lärt sig den mest optimala vägen till ett måltillstånd. Då är det bara att ha Q-matrisen som en guide och följa den sekvens av tillstånd som har de högsta värdena vid varje tillstånd (Mnemstudio, 2010). 4.Deep Reinforcement Learning Varför används både reinforcement learning och artificiella neurala nätverk? I Q-learning kan vi med mindre problem behålla de beräknade värdena på Q(s, a) i en tabell där varje par av tillståndshandlingar noteras. Detta blir dock problematiskt med tanke på den tid- och minneskomplexitet som uppstår med större och kontinuerliga tillstånd och handlingar (Coors, 2016). Problemet med Atarispel är att det finns så många olika fall och det skulle då krävas en för stor matris att spara alla tillstånds-handlings par i. Vi behöver på något vis generalisera tillstånd. 16
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Ett sätt att hantera detta på är att använda sig av funktionsapproximationen, vilket innebär att man använder någon form av representation för Q-funktionen istället för en matris (Russell & Norvig, 2010). Det är viktigt att generalisera från de erfarna tillståndshandlingsparen till de outforskade. För att kunna göra detta kan värdefunktionen beräknas med en regression och det är där artificiella neurala nätverk kommer in i bilden då de har en förmåga att kunna hantera icke-linjära funktioner. En enkel arkitektur för ett neuralt nätverk baserat på detta visas nedan. Där används det nuvarande tillståndet s t, och en handling a t som indata och utdata motsvarar Q-funktionen och dess värde. Som man kan se på bilden skiljer sig Q-funktionen från Q-learning eftersom det här har lagts till en vektor θ. Vektorn representerar vikterna från det neurala nätverket (Coors, 2016). Q- funktionen ser då istället ut som detta Q(s, a; θ) och istället för att iterativt uppdatera värdena i matrisen så uppdateras θ parametrarna iterativt av vårt neurala nätverk. En Q-learning agent kan jämföra den förväntade nyttan för sina tillgängliga val utan att behöva veta deras utfall, så den behöver inte en modell av omgivningen. Q-learning agenter kan dock inte se vart deras handlingar leder eller se framåt, vilket kan begränsa deras förmåga att lära, vilket är en annan nackdel (Russell & Norvig, 2010). Därför har DeepMind valt att lagra Q i ett neuralt nätverk eftersom det då är möjligt för nätverket att chansa på utfall som den ännu inte har stött på. De kan göra chansningar på utdata baserat på en indata som den ännu inte har observerat. 17
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie 5.Avslutande ord Det har varit ett spännande att få se hur en Reinforcement learning agent kan vara uppbyggd eftersom det liknar hur vi människor lär oss i verkligheten. En rekommendation på framtida läsning är DeepMinds utveckling av en ny agent som ska lära sig att spela StarCraft 2, vilket är ett mycket mer komplext spel än de som togs upp i den här rapporten. Detta kommer bland annat kräva effektivare användning av minnet, en förmåga att planera över en lång tid och en kapacitet att anpassa planer på ny information. 18
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie 6.Referenser Coors, B. (2016). Navigation of Mobile Robots in Human Environments with Deep Reinforcement Learning. Hämtad 2016-12-27 från http://www.divaportal.org/smash/get/diva2:967644/fulltext01.pdf 12-15 från https://deepmind.com/about/ Dettmers, T. (2015). Deep Learning in a Nutshell": Core Concepts. Hämtad 2017-01-12 från DeepMind. (u.å.). Solve intelligence. Use it to make the world a better place. Hämtad 2016- https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-coreconcepts/#convolutional-neural-network Graupe, D. (2013) Principles of Artificial Neural Networks. World Scientific Publishing Company (2nd ed.) Mnemstudio. (2010). Q-Learning.*; Step-By-Step Tutorial, (5). Hämtad 2016-12-18 från http://mnemstudio.org/path-finding-q-learning-tutorial.htm Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., & Riedmiller, M. (2013). Playing Atari with Deep Reinforcement Learning. DeepMind Technologies. Hämtad 2016-12-15 https://arxiv.org/pdf/1312.5602v1.pdf Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., Hassabis, D. (2015). Human-level control through deep reinforcement learning. Nature, 518(7540). Hämtad 2016-12-15 från http://doi.org/10.1038/nature14236 Russell, S., & Norvig, P. (2010). Artificial Intelligence: A Modern Approach (3rd ed.). Pearson Education, Inc. Schaul, T., Quan, J., Antonoglou, I., & Silver, D. (2016). Prioritized experience replay. Hämtad från 2017-01-10 från https://arxiv.org/pdf/1511.05952v4.pdf Schneider, W., Magnano, C., & Roberts, K. (u.å.). NERL%: Neural-Network Emulation of Reinforcement Learners. Hämtad 2017-01-03 från https://www.cs.swarthmore.edu/~meeden/cs81/s14/papers/chriskevinwill.pdf 19
SofieAdolfsson ArtificiellIntelligens1729G43 Sofad117 Litteraturstudie Sutton, R., & Barto, A. G. (1998). Reinforcement Learning": An Introduction (1st ed.). Cambridge, Mass. : MIT Press. Tambet, M. (2015). Guest Post ( Part I ): Demystifying Deep Reinforcement Learning. Hämtad 2016-12-18 från https://www.nervanasys.com/demystifying-deepreinforcement-learning/ Wikipedia. (2017). Q-learning. Hämtad 2017-01-12 från https://en.wikipedia.org/wiki/qlearning 20