Reinforcement Learning med Q-learning LUDWIG HALVORSEN PROJEKT 729G43
|
|
- Lars-Erik Lind
- för 6 år sedan
- Visningar:
Transkript
1 Reinforcement Learning med Q-learning LUDWIG HALVORSEN PROJEKT 729G43 0
2 Innehåll 1. Introduktion Teori och begrepp Kort historia lektion om varför ANN helt plötsligt blev stort Dynamiskprogrammering Monte Carlo metoder Markov Decision Process Policy sökning GPU vs CPU, eller hur ANN räknar Q-learning Q-learning Exploration vs Exploitation, introduktionen av ε-greedy algoritmen Hinder med Q-learning i RL Funktion approximation Stokastiskt policy sökning med Q-värde representation Maximum Bias och Double Q-learning VAPS algoritmer Nackdelen med ingen KB Framtidsutsikter Referenser
3 Frågeställning : Hur fungerar Reinforcement Learning med Q-learning samt hur ser framtidsutsikterna ut för detta? Begrepp : Reinforcement Learning, Bells ekvation, Dynamisk programmering, Monte Carlo metoder, Markov Decision Process(MDP), policy sökning, Q-learning, ε-greedy policy, funktions approximation, Stokastiskt policy sökning, Maxium Bias, Double Q-learning, VAPS algoritmer 1. Introduktion Denna text förutsätter att läsaren har grundläggande begrepp kunskap om maskininlärning och neurala nät (de som tagits upp på föreläsningarna). Eftersom texten handlar om artificiella neurala nät förutsätts också att läsaren har grundläggande kunskaper inom artificiell intelligens eller likande kunskaper med det som presenteras i kap 1-14 samt kap 18 i Russel och Norvig(2014) bok Artifical Intelligence: A Modern Approach. Målet med denna studie är att introducera läsaren till hur artificiella neuronnätverk(ann) kan tränas upp med förstärkande inlärning (förkortas RL från det engelska ordet Reinforcement Learning) metoden Q-learning. Detta genom att ge läsaren kunskaper om begrepp och teori bakom idéer för att förstå hur sådana ANN fungerar. Därför kommer första delen utav studien behandla delar bakgrund, tar upp kort historia och bakgrunds teori till Q-learning. Senare kommer Q-learning att introduceras och förklaras. Fördelar med Q-learning kommer tas upp men också nackdelar med Q-learning samt hur man har gått tillväga för att lösa dessa problem. Slutligen kommer det diskuteras om framtidsutsikterna, är RL med Q-learning svaret på allt? Exempel tas upp i studien på djup förstärktinlärda neuronnätverk (Deep Reinforce Learning Neuron Network) då Q-learning oftast appliceras på sådana ANN. Djup förstärktinlärda neuronnätverk är egentligen ett annat ord för neurala nät med mer än två dolda lager. Förstärkt inlärande artificiella neuronnätverk (dvs. RL ANN) är inspirerade utav behaviorism syn på inlärning. Likt en hund som får godis när ens beteende är önskvärt får det ANN poäng när den gör rätt. Nätverken belönas om de gör rätt och bestraffas när de gör fel, istället för att nätverket/programmet får se facit om de har rätt får det istället belöning, vilket kan indirekt ses som att ANN handlande följer facit. Det finns olika sätt att lära ett djupa neurala nätverk (Deep Neural Network förkortas DNN) eftersom begreppet är så stort så kommer i denna studie endast ta upp ett alternativ nämligen Q-learning samt kommer metoden SARSA kort diskuteras. Anledningen till varför Q-learning har valts som metod är för i nuläget är det den en av de mest använda. Vid texten skrivande så är ett av de främsta ANN utvecklat av företaget Google Deep Mind och det använder just en version av Q-learning. I studien kommer deras DNN AlphaGo användas som exempel för att beskriva hu implementering utav Q-learning kan se ut, dock bör nämnas att AlphaGo inte exklusivt baseras på endast Q-learning metoder utan AlphaGo använder också Monte Carlo Tree Search(MCTM) algoritm. Artikeln som använts i denna studie finns referens har använts för att förstå och erbjuder intressant läsning dock ligger den utanför studiens frågeställning att diskutera hela AlphaGO:s ANN. Dessutom är det värt att nämna att tränade de nätet med övervakad inlärning (Supervised Learning (SL)) innan de använda sig utav RL. I studien kommer det handla om aktiv förstärkande inlärning. Med detta menas att funktionerna uppdaterar och förbättra medans passiv RL är som Russel och Norvig(2014) 2
4 förklarar är fast och programmet kan inte göra ändringar på dess policy utan passiv RL utvärderar istället endast hur bra policyn är som den följer. Det som gör att Google Deep Mind AlphaGo är det kändaste ANN att det nyligen lyckades den senaste versionen av nätet vinna över världsmästaren i brädspelet Go. Det som gör segern intressant och varför det fick AI forskare och AlphaGo entusiaster att häpna var att det var tidigare trott att det skulle ta flera år innan ett datorprogram kunde bli bättre än människan. Anledning till varför man har trott detta måste man förstå den kombinatoriska explosionen utav möjliga drag i Go är enormt. Jämfört med möjliga drag i schack så är skillnaden enorm, schack har fortfarande stort antal möjliga positioner(state) med sina olika positioner (Russel & Norvig, 2014) men antalet bleknar i jämförelse med spelet Go på ett 19x19 bräde som har möjliga positioner(allis, 1994). Antalet möjliga drag som kan göras i schack efter två drag är 400 olika drag medans i Go finns det möjliga drag(muoio, 2016). Detta gör att man schack kan använda bredden först sökning i en trädsökningsalgoritm till djup = 6 man använder s.k brute force metod för att räkna ut det bästa draget. Detta var vad IBMs Deep Blue använde när den slog Gary Kasprov 1997 (dåvarande regerande schackvärldsmästare). Även fast både hårdvara och mjukvara har utvecklats otroligt mycket sedan 1997 är det fortfarande omöjligt med dagens teknik att bredden först sök med ett djup som ger bra resultat på spelet Go, eftersom antalet möjliga tillstånd är enormt mycket mer än atomer universum består utav som är Då referenslitteraturen till denna studie är på engelska har jag därför valt att skriva inom parantes på det begrepp som jag valt att översätta eftersom då det oftast hänvisas på engelska beteckningen. Det har jag valt dessutom är för att göra det lättare att för läsaren gå tillbaka när man läser referenserna samt att läsaren förstår vad jag menar då de kan vara vana med endast den engelska beteckningen. 2.Teori och begrepp 2.1 Kort historia lektion om varför ANN helt plötsligt blev stort Även om texten föresätter att läsaren har kunskap om neurala nät skadar det inte ha lite historia. ANN har funnits i teorin sedan 1950-talet (Russel & Norvig, 2014) ändå så har maskin inlärning med ANN tagit igång de senaste 7 åren. Så man kan ställa sig frågan varför har AI forskningen plötsligt börjat intressera sig nu för ANN även om idéen har funnits i teorin i 60 år? Detta kan verka som att det nu endast en trend men det som har hänt nu är det som länge varit eftertraktat, man kunde förut inte träna ANN. Problemet med att träna ANN berodde på två faktorer. För det första hårdvara, att träna ANN krävs en stor mängd beräknings kapacitet, tekniken har inte funnits fram tills nu. Eftersom för att kunna justera alla vikter i neurala nätverk så nätverket ger önskad output behövs det utföras mycket beräkningar utföras(mer om detta i avsnitt 2.5 om varför grafikkort (GPU) är guds gåva till att träna ANN). Det andra problemet som hindrade att kunna träna ANN var att man behöver ofantligt stora mängder på data (samples) för att kunna träna näten så det blir optimala. ofantligt stora datamängder så menar jag verkligen ofantligt stora mängder till exempel skriver Silver, Huang, Maddison(2016) att AlphaGo fick först se på 30 miljoner positioner utav spelet Go (dess träningsdatan) som nätet fick träna på. Denna mängd kan ses absurd och redundant men behövs för träningen och vilka har otroligt stora mängder data och vilka satsar på ANN forskning? Google och Facebook har båda och gissa vad de investerar i? Så nu när vi har både 3
5 tekniken och träningsmängden som krävs för att träna ett RL ANN så är dem heta som aldrig förr. 2.2 Dynamiskprogrammering Dynamiskprogrammering(DP) är ett begrepp man hör när man pratar om ANN och används inom datorvetenskapen och matematiken för att lösa optimering problem. Q-learning är inspirerat för att lösa problem med hjälp utav dynamiskprogrammering. Dynamiskprogrammering innebär att man delar upp ett stort komplexproblem i små mindre delproblem och genom att lösa delproblemen var för sig och sedan summerar dem ihop kan man lösa större problem enklare. Dynamiskprogrammering optimerar också problemlösningen, agenten behöver utföra mindre beräkningar. Detta sker genom att agenten sparar ner sina lösningar på problem den har löst förr i sin kunskapsbas. Sedan när agenten stöter på nya problem jämför agenten om den har tidigare stöt på problemet och löst det. Detta gör om agenten har räknat på problemet förr och löst det så behöver den inte räkna problemet igen utan kan direkt applicerar lösningen. Ett exempel där man kan reducera både minnes och tidskomplexiteten med dynamiskprogrammering är när man programmerar ett program som räknar ut tal i den kända Fibonacci sekvensen. Exemplet som kommer beskrivas är taget från förklarat utav författaren med alias SJ(2015). SJ förklarar att dynamiskprogrammeringens reduceringar beror på att (1) i stället för att göra samma beräkning flera gånger sparas beräkningen ner första gången den görs och resultatet används sedan för att räkna på nya tal i sekvensen. Till exempel istället för att programmet ska räkna ut det fjärde talet i Fibonacci sekvensen behöver programmet endast räkna ut det tredje och andra talet, men eftersom programmet redan har räknat ut det andra och tredje talet i sekvensen så behöver programmet inte räkna ut de talen igen utan programmet kollar endast på resultatet som vi har sparat ner i minnet och använder de talen för att beräkna. Så när programmet har problemet att räkna ut ett stort Fibonacci tal så delar programmet upp det i mindre problem eftersom programmet har sparat ner tidigare tal i minnet. Denna problemlösning tillåter minneskompliteten och tidskomplexiteten att reduceras från O(2 n ) till O(n). Detta tillåter att agenter som använder dynamiskprogrammering att kunna lösa mer komplexa problem genom att bryta ner problemen för att se om det har löst dem tidigare. Till exempel att öppna dörr B är egentligen ingen större skillnad än att öppna dörr A, då det är samma typ av dörr och om agenten vet att den öppnade dörr A har den sparat ner lösningen och använder den vilket är enklare än att behöva lösa problemet igen. 2.3 Monte Carlo metoder Monte Carlo metoder (MCM) är ett matematiskt ramverk med metoder för att räkna ut matematiska problem som har en slumpfaktor i sig. Det som skiljer MCM från DP är som Sutton och Barto (2016) förklarar att agenter som använder sig utav MCM funktioner uppdaterar sina funktioner efter att agenten har upplevt istället för DP som uppdaterar sina funktioner innan. Eftersom funktionerna blir uppdaterade på upplevelser antas då världen att vara episodiskt eftersom uppdateringarna kan endast göras när en episod har avslutats därav kravet på en episodisksekvens. Det andra sättet MCM skiljer sig från DP är att MCM inte försöker att predicera värden på framtida tillstånd med tillstånd som upplevts. 4
6 2.4 Markov Decision Process Markov Decision Process(MDP) är en process som kan användas för att lösa beslutsfattande i sekventiella problem(russel & Norvig, 2014). Dock så går det att göra om formlerna så agenten kan hantera kontinuerliga miljöer. MDP ligger tillgrund för Q-learning och därför tas den upp. Exempel MDP spel som schack, backgammon, och Go. Ett MDP-tillstånd består utav en tupel på fem variabler, vilket gör att den skiljer sig från Markov Chains(MC) då MDP också dessutom tillåter val utav handlingar i ett tillstånd medans MC istället endast tillåter en handling samt också att det finns belöningar i MCP. Men som Sutton och Barto(2016) berättar är målet att reducera MDP till MC, för då betyder det att agenten har hittat den optimala beslutsekvensen. (S, A, P. (, ), R. (, ), γ) (2.1) S : Uppsättningen med tillstånd agenten kan vara i, detta är oftast finit i RL dvs det finns ett tillstånd som är agentens måltillstånd(terminal state). A: Uppsättningen/mängden med handlingar(action) agenten kan utföra i ett tillstånd. Kan därför skrivas s(a A). Pa(s, s ) : Eftersom MDP problem är stokastiska måste därför sannolikheter kunna skrivas in. Variabeln anger sannolikheten P för att handling a i tillstånd s i tidpunkten t leder till tillstånd s i tidpunkten t+1. Kan därför skrivas mer utförligt som Pr(st+1 = s st = s, at= a), givet att vid tillstånd s i tidpunkten t och agenten utför handlingen a i tidpunkten t så vet vi sannolikheten för att agenten hamnar i nästa tillstånd som är st+1 som skrivs s. Ra(s, s ): Anger den direkta belöningen agenten får för att röra sig från tillstånd s till tillstånd s när den utföra handling a i tillstånd s. γ [0,1](gamma): Anger avdragsfaktorn en agent har, avdragsfaktorn avgör om det är viktigt att tänka på långsiktiga och kortsiktiga mål eller endast kortsiktiga mål. Avdragsfaktorn är ett tal mellan 0 och 1. Mer om detta och påverkan kommer tas upp i avsnitt 2.6 Denna tupel använder MDP som sagt för att fatta en sekvens av beslut och i varje steg avgör vilket utav de möjliga besluten som ska tas och därmed tillslut reduceras ner och blir en MC. Det MDP gör är att hela tiden försöker uppskatta och avgöra vilken handling i agentens nuvarande tillstånd(state) som leder agenten till de nästkommande tillstånd som har bäst prestationsmått, dvs det nästkommande tillstånd som tar agenten närmast dess måltillstånd(terminal tillstånd). Nästa avsnitt tar upp hur detta sker Policy sökning Det som man med MDP vill lösa är att hitta den bästa beslutssekvensen, detta kallas också för den mest optimala policyn för att lösa problemet, ett utdrag från hur svenska akademin ordlista(saol) definierar ordet policy är på principer grundat på handlingar (SAOL 2016, s698). För att hitta den optimala policyn krävs det som Russel och Norvig(2016) förklarar att agenten iterativt söker i världen efter den serie tillstånd(state) som leder till måltillståndet med bästa prestationsmått. Exempel på olika prestationsmått man kan mäta en agent utefter är tid, kortast res sträcka, använt minst antal beräkningar. Symbolen som använts för att representera policy är π, samma symbol som använts för att representera talet pi. 5
7 Formel för att räkna ut den bästa policyn används formeln 2,2 och detta görs iterativt. π (s) = argmax P(s s, a)u(s ) a A(s) s För förklaring se formelförklaring för 2.3 (2.2) För att hitta den bästa policyn måste man kunna räkna på vad varje tillstånd har för värde och då måste det tas hänsyn till några egenskaper i varje tillstånd. För att göra detta används Bellmans ekvation(russel & Norvig, 2014) som ser ut : U(s) = R(s) + γ argmax P(s s, a)u(s ) a A(s) s (2.3) U(s) : Prestationsmåttet(nyttan) för agenten befinna sig i tillstånd s. R(s) : Den direkta belöningen agenten har för att befinna sig i tillstånd s, tillstånd som följer den optimala policyn har därför högst belöningar eftersom det är den bästa vägen att ta för att komma fram till målet. γ : inlärningsfaktorn kolla formel förklaringen i avsnitt 2.6 argmax: Kan ses som ett argument: hitta handlingen a utav alla möjliga handlingar A i a A(s) tillstånd s som ger högst värde. Detta sker genom att agenten går igenom alla olika tillstånd varje handling i mängden A och räknar på sannolikheten för att s givet s och a gånger tillståndet prestationsmått. P(s s, a) : Anger sannolikheten för agenten kommer i s givet om agenten befinner sig i tillstånd s och utför handling a. U(s ): Anger prestationsmåttet agenten får för att befinna sig i s. Bellman ekvationen räknar ut värden vilket gör det till en värdes-funktion. Genom att funktionen går igenom alla värden på vad alla tänkbara handlingar i det nuvarandetillståndet leder det till att agenten väljer den handling har högst prestationsmått, vilket gör att agenten är en så kallad greedy agent. Genom att göra Bellman ekvation iterativ dvs vi uppdaterar ekvationens värden ju mer agenten får verka i världen så för den närmre den optimala policyn vilket skrivs π * (Russel & Norvig, 2014). För att göra kunna uppdateringar görs Bellmans ekvationen om lite och blir en så kallad Bellman uppdateringar vilket ser ut så här: U i+1 R(s) + γ max a A(s) P(s s, a)u i (s ) s (2.4) Att hitta optimala policyn på detta sätt gör det inte spelar ingen roll vart agentens starttillstånd i världen är, för så länge agenten följer den satta policyn så kommer den att nå ett måltillstånd. Eftersom varje tillstånd är ett MDP har varje tillstånd har den informationen som kräver för agenten att nå målet på det optimala sättet, detta kallas att varje state har Markov Property egenskaper. Policynsvärde i tillstånd s har räknat ut hur mycket tillstånd värd med alla värden hädanefter till målet så därför spelar ingen roll vart agenten börjar i miljön/världen. (Sutton & Barto, 2016) 6
8 2.5 GPU vs CPU, eller hur ANN räknar Som tidigare nämnt i historieavsnittet kommer det här förklaras mer ingående varför tekniken tillåter djupt förstärkande neuronnätverk att vara bättre på grafikkort (graphical processing unit, GPU) än central processorn (central proccessing unit CPU). Även fast detta är än hårdvarufråga ligger den fortfarande i intresse för denna studie för den förklaringen hjälper att förstå hur Q-learning fungerar. Ett CPU:s fokus är att kunna utföra matematiska operationer så snabbt så möjligt och gör den gör detta seriellt. Anledningen är för att kunna reducera överföringshastighet/fördröjningen (latency) för det är viktigt att ha så låg latency som möjligt. CPU är byggt för att kunna arbeta med mycket olika sorters problem. Medans GPU:er är fokuserat på att räkna på stora matrisvektorer och kan göra massa operationer parallellt. För Q-learning metoden använder matrisvektorer datastrukturen för att spara ner datan. Matriserna består utav vektorer som Q- learning använder sig utav är samma som används för att renderar det grafiska för spel, detta var en slumpmässig tillfällighet. Vilket också gjort att grafikkorts tillverkare intresset för neurala nätverk har ökat. Därför är minnesbandbredden därmed större hos ett GPU än ett CPU. Ett CPU består endast utav få antal kärnor jämfört med GPU, en normalt CPU som är vanligt i datorer är i5 från Intel har 4 kärnor medans ett grafikkort har tusentals kärnor, dessa kärnor tillåter som sagt att mer beräkningar kan beräknas parallellt. En liknelse är att en CPU kan jämföras med ett snabbt tåg med endast några vagnar. Tåget kan snabbt leverera gods till den andra stationen medans GPU kan liknas med ett godståg med många vagnar, den kan inte leverera godsen lika snabbt som det snabba tåget men den kan ta med mer gods. 3.Q-learning Lärande utan modell eller KB. Handlings värdes funktionen alla snackar om. 3.1 Q-learning Q-learning är en blandning utav dynamisk programmering och Monte Carlo metoder. Q- learning är en handlings värdes-funktion då den räknar värden på handlingar i och inte tillstånden i världen. Sutton och Barto (2016) berättar idéerna som Q-learning bygger på som tagits från dynamisk programmering är att algoritmen uppdaterar sina uppskattade värden med inlärda värden. Det som är taget från Monte Carlo är att algoritmen gör uppdateraring på sina upplevelser som inte kräver att Q-learning agenten måste ha en modell. Q-learning är en temporal skillnad metod (eng. temporal difference (TD)). Detta innebär som Russel och Norvig(2014) skriver att den i sin uppdatering uppdaterar med skillnaden mellan det uppskattade värdet för handlingen och handlingens faktiska värde och därav namnet. Detta kommer senare visas och förklaras i ekvation en nedanför. Q-learning använder sig utav Bellmans ekvationen som tidigare visades och uppdaterar den iterativt för att göra hitta den bästa policyn (Mnih et al. 2013), policy sökning tas upp i senare avsnitt. En utav fördelarna och varför Q-learning används flitigt är som Russel och Norvig(2014) tar upp är för att Q-learning är modell fri RL metod. Med detta innebär att en Q-learning agent MCTS algoritm inte behöver inre modell över omgivningen för att lära sig att lösa problem. Just därför gör denna metod så populär då det tillåter att RL ANN göra större generaliseringar och nätverken behöver därför inte justera mycket för att utföra en annan uppgift enligt Silver et al. (2016) och Mnih et al. (2013). Midth säger detta tillät ett och samma så kallat Deep Q- 7
9 learning Network(DQN) att lära spela 18 olika Atari 2600 spel. Detta nät är också utvecklat utav företaget Google Deep Mind och AlphaGo grundar sig på framstegen gjorda med Atari DQN(Sutton & Barto, 2016). Ytterligare fördel med Q-learning är att metoden tillåter som Sutton och Barto säger att Q-learning agenter kan tränas i en miljö där modellen är okänd. Detta modellfria lärande kan ske tack vare att Q-learning inte behöver en förändringsmodell (transition model) utav miljön den agerar i, utan Q-learning agenten ser nyttan i handlingar istället för nyttan i tillstånden. Handlingarnas värden kallas Q-värden. Det kan förklaras med att Q-learning agenten lär sig en representation utav nyttan av att utföra en vis handling istället för att se nyttan i tillståndet, därför tillåts Q-learning agenten att kunna tränas mer abstrakt utan modell. Ett tillstånd har ett Q-värde som uppdateras iterativt, Q-värdet används för att avgöra vilken handling Q-learning agenten ska utföra för att få så bra prestationsmått som möjligt. Q- learning agenten försöker hela tiden uppskatta Q-värdena på nästa tillstånd i beslutssekvensen och algoritmen konvergerar när det uppskattade Q-värdet är samma värde som värde som den har efter uppdateringen. Uppskattningarna av Q-värdet görs baserat på att agenten alltid tar den handlingen i nästa tillstånd som är bäst. Detta leder till som togs upp förut i MDP avsnittet att det inte spelar någon roll vart agenten börjar så länge den följer algoritmen vilket leder till måltillståndet eftersom vanligtvis när man kör en Q-learning algoritm så körs den greedy. Eftersom Q-learning saknar en modell och har ingen representation från börjar så antar ingenting så alla handlingar samma värden och burkar sättas till 0. (Russel & Norvig, 2014) Eftersom Q-learning inte längre använder sig utav förändrings modell samt att agenten inte längre är passiv då den ändrar på värdena i sin uppdateringsfunktion måste därför också MDP ekvationer anpassas för att kunna ta hänsyn till dessa och därför också Bellmans uppdateringsregel justerar för att ta hänsyn till detta så presenterar Russel och Norvig(2014) den nya uppdateringsregeln som Q-learning använder sig utav är: Q(s t, a t ) Q(s t, a t ) + α(r t+1 + γ (max a Q(s t+1, a t+1 ) Q(s t, a t )) (3.1) Skillnaden här från Bellmans uppdatering är att uppdateringen inte tar hänsyn tillståndets sannolikhet dvs P(st+1 s, a) utan tar endast hänsyn till att handling a leder till tillstånd st+1. Notering går också att skriva nästa tillstånd med notationen s istället för s t+1, vilket bla. Russel och Norvig valt att göra. Betydelse utav formeln 3.1: Q(st,at) : Är det Q-värdet tillstånd s i tidpunkten t då handlingen i tidpunkten t man vill uppdatera. : betyder att man uppdatera VL med det som står i HL. Q(st,at) + α[ ] : Betyder att man uppdaterar med nuvarande och uppskattade värdet skillnaden med det nya värdet. α (alfa) : Alfa värdet är inlärningskvoten likt gradientsökningen steglängdsfaktor som används vid linjär regression. Alfa värdet säger hur mycket man ska uppdatera, man vill därför hålla det lågt för att den inte göra allt för stora uppdatering och undvika att agenten lär sig säregenskaper hos datan (vilket leder till överinlärning). 8
10 rt+1 : Den direkta belöningen r agenten får för att utföra handling a i tillstånd s i tidpunkten t. Kan också skrivas som R(s), där R är belöningen från tillstånd s. γ (gamma) : har samma funktion som i ekvation 1. Den anger om agenten ska vikta belöningar som ligger en nära en högst eller belöningar längre fram lika högt som belöningar som kan nås i nästa tillstånd. max Q(s t+1, a t+1 ): Denna del av funktionen gör varför Q-learning skiljer sig från SARSA a som är en annan TD metod. Det max gör är att den tar det Q-värdet i s (dvs st+1) som a är högts och använder det Q-värdet i sin uppdatering. Resonemanget är att man vet inte säkert att det finns en garanti att agenten kan välja den. SARSA algoritmens uppdateringsfunktion skiljer sig i det här fallet då den istället saknar max. SARSA a uppdaterar först efter den har besökt nästa tillstånd dvs s, medans Q-learning gör uppdateringen innan. SARSA:s uppdaterings regel istället ser därför istället ut så här Q(s t, a t ) Q(s t, a t ) + α(r t+1 + γ Qs t+1, a t+1 Q(s t, a t )) Notera dock om båda agenterna följer en greedy algoritm så skiljer inte algoritmerna från varandra eftersom då kommer båda ta den handlingen med högst Q-värde (Russel & Norvig, 2014). Sutton och Barto (2016) förklarar att SARSA följer policyn och uppdaterar efter policyn vilket gör den on-policy medans Q-learning uppdaterar efter det högsta Q- värdet vilket gör den off-policy. Ytterligare skillnad är som Russel och Norvig(2014) förklarar agenten upptäcker (exploration) då SARSA följer policyn medans Q-learning agenten istället följer det bästa Q-värdet istället. Mer om att upptäcka tas upp mer utförligt om i nästa avsnitt där också ε (epsilon) introduceras. - Q(st,at) Anledningen till varför man i slutet tar bort den nuvarande tillstånds Q värde är för att man vill räkna ut skillnaden mellan det uppskattade Q-värdet och det faktiska Q- värdet i uppdateringen. Vilket innebär att om den nya tillstånd Q-värde man uppdatera med är lika stort som innan uppdateringen blir det 0 dvs ingen uppdatering har gjorts vilket tyder på att man nått ett optimum och funktionen har därmed konvergerat. Man kan inte heller vara säker på att agenten tar den bästa handlingen i s därför gamma tar hänsyn till sannolikheten/frekvensen för att Q(st,at) tar det högsta Q-värdet i tillstånd s dvs (max Q(s t+1, a t+1 ) a Q-learning använder som tidigare beskrivet sig utav en matris (matrix) datastruktur för att spara ner data och kolla upp datan. Detta fungerar för små världar med begränsat antal tillstånd men som visas i avsnitt 3.3 är detta en ineffektiv metod att representera data för större världar. 3.2 Exploration vs Exploitation, introduktionen av ε-greedy algoritmen Lärande agenter som Russel och Norvig(2014) säger i kap 2 måste testa nya handlingar som kan leda till nya informationsrika upplevelser. Anledningen är för att förhindra att agenten fastnar på ett lokalt optimum och fortsätter använda den taktik som tog den första gången till mål tillståendet som inte behöver vara den optimala vägen till målet. Därför så introduceras därmed en slumpfaktor som skrivs som ε (elipson) i agenten. Slumpfunktion gör att agenten ibland istället för att följa handlingen a i tillstånd s som har det högsta Q- värdet istället väljer att göra en slumpmässig val av handling. Denna handling kan leda till ett tillstånd som är 9
11 bättre. Detta gör att Q-learning agenten följer en ε-greedy policy och användes av bland annat av Mnih et al.(2013) ANN. Policyn kan vilket kan skrivas: Slumpmässig funktion om q 1 π(s) = { argmax A(s) Q(s, a) q[0,1] a Om ε sätts till t ex.10 kommer agenten i 10% av fallen gå ifrån dess policy π. I längden blir det bättre för agenten att testa slumpmässiga. Q är slumpmässigt värde som kan antigen vara 0 eller 1 och om det får värdet är 1 som sker i 10% av fallen gör agenten då en slumpmässig handling. Eftersom algoritmen vet om detta kommer Q-värdena kunna att ta hänsyn till dessa om den får köras tillräckligt länge. Dock vill man som Sutton och Barto(2016) säger rekommenderas agenten att reducera ε övertid i och med att agenten lär sig mer och mer om sin omgivning och därför är inte behovet utav att upptäcka inte längre lika stort då den efter ett tag har upptäckt det som är relevant. Dock om miljön förändras över tid kan ε -värdet vara konstant eftersom då måste agenten hela tiden lära sig nya saker. 3.3 Hinder med Q-learning i RL Hinder med Q-learning från att skapa Skynet men hur vi övervinner dem och skapar skynet. Problemet med att använda sig utav en matris för att representera Q-funktionens Q-värdena är att det passar bra på små världar, men så fort det blir allt större världar med mer tillstånd och mer komplex blir också tidsåtgången hög. En matris representation kräver att Q-learning agenten måste besöka många utav det möjliga tillstånd visa till och med flera gånger vilket gör att det tar lång tid att få den bästa uppskattade Q-värdet, därför kan inte Q-learning med sin uppdateringsregel självt stå på egna ben. Än så länge så har vi inte använt den fulla kraften som ligger i DP och MCM men här används inspirationen för att lösa detta problem. Metoder funktions approximation (function approximation) eller stokastisk policy sökning används för att göra det mer effektivare sökning efter den optimala policyn. Vi överger inte Q-learning, detta är en del utav Q-learning. Agenten använder fortfarande Q-värdes representationen för att beskriva hur bra handlingarna är för att söka efter den bästa funktionsapproximation eller policyn Funktionsapproximation Funktionsapproximation går enligt Russel och Norvig(2014) ut på att istället för att ha en matris där alla möjliga tillstånd är sparade i som agenten sedan måste söka efter så parametrisera man variablerna i en vektor (symbolen för en parametriserad vektor är θ). Att spara informationen i parametrar jämfört med en matris gör att Q-learning lära sig från upplevelser (inspirerat från MCM) och göra generaliseringar på tidigare upplevelser (inspirerat från DP). Funktionsapproximation gör att man kan reducera antalet värden som behövs representeras för att agenten ska fatta beslut, genom att göra en funktion som uppskattar Q-värden. Som i fallet med Backgammon som Russel och Norvig tar upp behöver endast agenten besöka ett tillstånd i varje tillstånd för att lära sig en tillräckligt bra värdes-funktion för att kunna spela lika bra som en människa. Alltså är komprimeringen som fås utav att gå från en matris representation till en parametriserad representation enorm. Enligt Russel och Norvig kan man från skapa en schackspelande agent som spelar bra som en vanlig person på endast 20 parametrar istället för att representerar det med en matris som kräver att agenten besöker alla möjliga tillstånd och ger värdena på alla möjliga tillstånd. Genom att 10
12 parametrisera variablerna så det blir linjära kan de använda linjära gradientsökningar på funktion som är icke-linjära, så länge parametrarna är linjär. Metoder för att parametrisera variablerna dock är utanför denna studies frågeställning. Russel och Norvig (2014) påpekar dock att funktionsapproximation endast en uppskattning och ett problem med detta är att det leder till att det finns en chans att agenten väljer en bristfällig funktionsapproximation (kan ses som en hypotes) som inte generaliserar sig bra. Detta kan motverkas genom att utöka och söka i en större hypotesrymd som Russel och Norvig menar ökar chanserna att agenten hittar en bra funktionsapproximation (hypotes), dock kommer det ta längre tid tills agenten hittar den Stokastiskt policysökning med Q-värde representation Dock finns det nackdelar med att använda funktionsapproximation även om man med hjälp parametrar utav den lyckas reducera antalet tillstånd och kan göra bra generaliseringar så blir det fortfarande mycket som ska beräknas. Stokastisk policysökning använder också likt funktionsapproximation generaliseringar utifrån besökta stadier. Stokastisk policysökning används här för att hitta den bästa policyn som då agenten kommer att följa, policyn uppdateras i varje handling. Medans Q-learning med funktions approximation letar efter den optimala Q- värdet på varje Q(s, a) som skrivs Q*(s, a) letar stokastiskt policysökningen istället efter än policy som är tillräckligt bra för parameter vektorn θ. (Russel & Norvig 2014). Stokastisk policysökning kan liknas med heuristiker vi människor använder när vi ska fatta beslut, det kanske inte gör att vi fattar det mest rationella beslutet men det är tillräckligt bra för att vi ska vara nöjda. Resultatet som ges av en funktions approximation med Q-learning kan skilja sig mycket från de resultat en stokastisk policysökning ger med Q-learning på grund utav att policyn nöjer sig med Q*(s,a)/10. Notering: Anledningen till varför det inte görs back propagation på deep reinforce NN, vilket annars är vanlig metod för att fixa med hjälp utav fel-funktionen är för att som Sutton (2016) berättar deep reinforce ANN är allt för komplexa. Baxter och Bernett (2001) presenterar i sin artikel två sätt att göra stokastisk policy sökning uppdateringen på. Första sättet är att genom direkt räkna ut gradienten med hänsyn på p(θ) och räkna ut medelvärdet av belöningen och uppdatera policyns genom att ändra på dess parametrar i gradientens riktning. Det andra sättet är att uppdatera policyn indirekt då policyns parametrar består utav värde-funktioner, då istället för att minimera felet genom att gå i gradientsriktning som första alternativet justerar man värdes-funktioner direkt vilket därmed gör att indirekt uppdateras också policyn. Anledning till stokastiskt policysökning istället för den vanliga policysökning är för som säger Russel och Norvig(2014) att problemet med att göra en policysökning är för att parameter variablerna är diskontinuerliga. Med diskontinuerliga innebär det att funktionen (variabelns parameter) inte är kontinuerligt utan på ett intervall ändras värdet (det gör ett hopp) som är oändligt detta innebär att där är funktionens derivata är oändlig och gradientsökning kommer att komma till detta ställe så småningom. Istället används en stokastisk policy sökning som optimeringsstrategi för att uppdatera parametern för att optimera policyn för MDP problemet. Russel och Norvig(2014) presenterar policy sökning som man vill hitta den en tillräcklig bra policy dvs π θ (s, a). Policyvärdet skrivs p θ vilket är det direkta värdet agenten får när den utför en handling som följer policyn. Det man deriverar på i sökningen är policyn gradient vektor vilket är θp(θ). 11
13 Notering: Om p(θ) inte går att få isolerat på och inte går därmed att räkna på används emperical gradient descent vilket gör uppdateringar på vad den har upplevt. Dock är nackdelen med metoden att den kräver att omgivningen agenten handlar i är deterministiskt och inte stokastiskt för då uppstår problem. Mnih et al.(2013) berättar de ändrade på policy sökningen för deras DQN så att policyn inte uppdaterades i varje steg utan användes sig utav mini-batch strategin, dvs att samla upp en mängd handlingar innan policyn uppdateras detta för att minska påverkan varje handling hade och på så sätt göra uppdatering mer generell och minskade risken att den lär sig särdrag Maximum Bias och Double Q-learning Problemet med Q-learning är att funktionen alltid överskattar handlingarnas Q-värden så det blir ett positivt bias(sutton & Barto,2016). Som van Hasselt et al.(2015) påpekar uppdaterats Q-värdena efter tron att den har tagit den bästa handlingen dvs arg max a Q(s, a) så därför riskera den att överskatta nyttan i sin handlingar. Det skulle inte vara något problem om agenten gjorde det på varje handling säger van Hasselt et al., men dock är det inte uniformt utan i och med att agenten också utforskar och vissa handlingar är slumpmässiga, se så blir vissa uppdateringar inte helt korrekta. För att uppdaterings funktion fortfarande antar att den valde handlingen med högst Q-värde och inte en slumpmässighandling. Som Sutton och Barto (2016) tar upp i ett exempel från boken kan detta visas med figuren nedanför. Då agenten börjar i A, och måltillståndet är det gråa boxarna längst ut på varsin sida som ger 0 poäng. Att gå vänster alltså till B så får man ett värde mellan -1,1 < x > 0,9 dvs - 0,1 är medelvärdet med variansen på distributionen av möjliga värden är 1. Vilket gör att det mest logiska alternativet är för agenten att alltid gå till höger. Dock blir problemet att Q- learning har positivt bias som sagt överskattar och därför väljer i början att gå till B. Detta för att den ibland kan få ett positivt värde dock så är belöningen att nå måltillståndet och att få ett extra poäng är inte viktigt, vilket gör att det optimala beslutet att gå till höger för då finns inte risken att få minus poäng. Som diagrammet visar så lär den sig efter ett tag att det bästa beslutet är att gå till höger och inte till vänster. Dock så lär sig Double Q-learning snabbare. Figuren ovanför är taget från Sutton och Barto(s144, 2016). Lösningen på detta problem är så kallad Double Q-learning som presenteras i flera verk bla. Sutton och Barto(2016), van Hasselt et al.(2015), och Silver et al.(2016). Som Sutton och Barto presenterar är poängen med Double Q-learning en metod för att ta bort det positiva biaset agenten har på handlingar och därmed få bort maximum bias problemet. Detta sker som 12
14 namnet double Q-learning intygar på, man gör två Q-värdes uppskattningar utav handlingen a i tillstånd s där mängden A är handlingar kan väljas. Detta sker då genom att ha två Q-värdes funktioner Q1 och Q2. Q1 gör som vanligt och uppskattar den handling som har högst Q-värde : A * = arg max a Q 1 (a). Det Q2 gör är att räkna ut sannolikheten för dess värde Q2(A*) = Q2(arg max a Q1(a)) på så sätt fås en uppskattning utav Q-värde som inte är överskattat dvs det bli ingen bias (kallas också för unbias). Vi kan också få ett till Q-värde som inte är överskattat genom att låta Q1 uppskattningen utvärdera Q2 dvs. Q1(A*) = Q1(arg max a Q2(a)) och på så sätt görs ett dubbel lärande utav Q-värdena som summeras ihop eller. Detta gör dock att minneskomplexiteten som krävs blir dubbel så stort, vilket är självförklarande men tidskomplexiteten förblir densamma vilket är positivt för då kan vi på samma tid som förut beräkna Q-värden men nu utan överskattning! VAPS algoritmer En lösning som är värde och policy sökning (Value and Policy Search förkortas VASP) algoritmer som kombinerar det två funktionerna till en funktion som ger en output(baird, 1999). Här används två neuronnät, ett ANN som utför en policysökning och ett ANN som utför värdefunktionssökning. Både ANN använder sig utav Q-värdes representationer. Detta kan verka onödigt att ha två ANN när vi redan har ett policynätverk och som tidigare framställdes det som att det dög eftersom man endast är ute efter en tillräckligt bra ANN inte det optimala ANN, men det finns en bra tanke bakom det två olika ANN. Som Baxter och Barlett(2001) lägger fram är VAPS metoden ett bra sätt för att reducera och få en mindre varians på den stokastiska policy sökningen värderingar på Q-värdena. På ett sett kan detta ses som en regularisering då inlärningen sker jämnare och riskerar inte att uppdateras på ett särdrag. De ser vilket kan dras en liknelse med en lärande agent som presteras i Russel och Norvig(2014), där värdefunktions ANN kan ses som kritikern och policynätverket kan ses som utföraren. Silver et al. (2016) skriver i sin artikel när de förklarar hur AlphaGo fungerar nämner det aldrig explicit ordet VAPS algoritm men om man läser artikeln så skriver de att agenten använder sig utav ett policynätverk och värdefunktionsnätverk. Dock kombineras båda ANN med som nämnt i en MCTS algoritm för att kolla på tillstånd i löv i trädet länge fram. MCTS algoritmen används för att ytterligare reducera beräkningar som krävs för att fatta bra beslut Nackdelen med ingen KB Problemet som Russel och Norvig(2014) tar upp är att Q-learning inte använder sig utav någon representation och därmed har ingen kunskapsbas(kb). Det går bra i små världar med få dimensioner men de är osäkra på hur bra det skalar upp sig till när problemmiljöerna blir allt mer komplexa. De utrycker att ju mer komplex miljön desto tydligare blir behovet utav en KB. Det påpekar dock att det är deras personliga åsikt och att det fortfarande är ett diskuterat ämne. AlphaGo bevisar tycker jag inte bevisar att man inte behöver en modell eftersom Go är fortfarande en liten värld även om komplexiteten av att avgöra vilket drag som är bäst är enormt. 4. Framtidsutsikter Ligger AI singulariteten i RL med Q-learning? Djup förstärkt inlärda neurala nätverk (Deep Reinforce Nerual Network DRNN) är nu ett hett område eftersom fördelen att kunna lära ett ANN utan som inte hade någon kunskapsbas eller 13
15 modell från början att bli bättre än människor på ett 2500 årigt spel som Go, dessutom ser AlphaGo på spelet som ingen människa har gjort förut. Det finns fördelar och jag tycker att Silver et al. (2016) gör viktiga poänger i sin artikel då författarna anser att AlphaGo i sitt handlade går på intuition likt en människa. Att AlphaGo dessutom utvärderade mindre tillstånd i trädsökningsalgoritmen än vad IBMs Deep Blue gjorde när den slog Kasparov 1997 i schack visar tecken på någon slags intuition med tanke på hur komplexiteten skiljer sig mellan de två spelen. Det kanske viktigaste AlphaGo visade på är att man kan lära en DRNN att spela är komplex spel utan någon som helst existerade modell utan endast via övervakadoch förstärkandeinlärning. Denna studie har valt att endast fokusera på RL med Q-learning och detta har visat dock är det inte enda som finns framtidstro på vilket är positivt. En nära värdefunktionalgoritm till Q- learning är SARSA-expected som Sutton och Barto(2016) tar upp och verkar finnas hopp på för att den delar inte nackdelarna som Q-learning har. Men som Sutton och Barto kommenterar avgör problemets karaktär vilken metod man använder för att lära AI. IBM Watson som tillskillnad från RL ANN med Q-learning har kunskapsbas och använder sig utav bayesianska nätverk i sitt beslutsfattande. Genom att låta IBM Watsson få tillgång till enorma mängder information (big data) t ex medicinska tidskrifter så har Watson lyckas ställa diagnos på cancer sjukpatient som doktorerna inte kunde. Eftersom doktorerna inte kan läsa in sig på lika mycket information som Watson(Ng, 2016). Det finns därför ingen mening att inte låta Watson inte ha en KB och därför kan inte heller RL med Q-learning utan det är problemet i sig som avgör vilken inlärningsmetod som är bäst lämpad för agenten. Kritiken och nackdelen med Q-learning som förstärktinlärningsmetod är att den än så länge kräver mycket beräkningar. Åter igen jag tror det ligger något i Russels och Norvigs intuition (deras ord) att det blir svårare att skala upp Q-learning när problemen blir allt mer komplexa och får mer dimensioner, som denna studie visar måste det. Det får inte glömmas att AlphaGo inte endast var VAPS algoritmer och VAPS var kombinerat i ett MCTS algoritm. Även AlphaGo bevisar mycket så krävdes ändå extremt mycket datorkraft, enligt Silver et al.(2016) använde dem på det distribuerade systemet (som kör den bästa AlphaGo versionen)1202 CPU:er och 176 GPU:er, och då hade den ändå tränat i på ca 30 miljoner olika tillstånd utav Go innan den började med ens med RL. Detta visar tecken på att inte ha en kunskapsbas har sina nackdelar. Jag vågar inte yttra mig om AlphaGo:s ANN generaliserbarhet då det krävs en djupare kunskap inom området samt eftersom det svårt att än så länge säga dess generaliserbarhet eftersom det är så nytt. En enighet mellan författarna till båda böckerna som används i denna studie(sutton & Barto(2016) samt Russel & Norvig (2014))tycks ändå finnas, då ingen vet exakt hur långt vi kan gå RL. Min personliga syn på RL med Q-learning är att metoden utgör endast del utav alla AI agenter. Endast RL Q-learning kommer inte ensamt kunna ta oss närmare för att skapa en artificiell generell intelligens(agi), med AGI menas en generell AI som är lika bra som än människa och som till exempel skulle klarar Turing testet. Men det Q-learning (och även andra TD metoder) kan bidra med till utvecklandet utav AGI agenter är att metoderna kan användas när den ska lära sig nya saker(koncept) som vi inte har någon modell över. En oerhört relevant forskning fråga som kan studeras vidare på är hur man kan koppla RL Q- learning till physical grounding project inom kroppsligkognition(embodied Cognition) som Anderson(2003) berättar om i sin artikel. För får agenten genom att lära sig handla utan tidigare kunskap eller inre representationsmodell över miljön då också en förståelse över vad 14
16 symbolerna innebär? För genom att ANN har studerat symbolerna visuellt grundar sig symbolerna i något fysiskt. AlphaGo fick se bilder på spelade spel utav Go utan några instruktioner utan fick resonera sig fram hur spelet fungerade, AlphaGo fick bara veta vem som vann i slutet av varje match. Min tanke är att RL eventuellt kan vara en del utav lösningen på physical grounding project som enligt Anderson är fokus med kroppsligkognition. AlphaGo har gjort drag som förvånat även de bästa Go spelarna i världen, samma drag som sedan visade sig vara avgörande. Avslutningsvis kommer ett kort tankeexperiment för att visa på vad jag menar. Om vi sätter en expert på schack tillsammans med en novis och experten får lära upp novisen att spela schack tills novisen också blir expert. Dock så är båda stumma och ingen av dem kan teckenspråk så det finns ingen kommunikation mellan dem, så inget kunskapsutbyte sker. Men likt AlphaGo fick övervakad inlärning så belönar experten novisen när novisen gör rätt. Om tiden inte är en faktor så kommer novisen att förmodligen att tillslut bli lika bra som experten på schack utan att något kunskapsutbyte mellan parterna har skett. Frågan är då förstår den f.d novisen schack? Om svaret på frågan är ja, vad skiljer då den f.d novisen från AlphaGo? Betyder det att programmet genom sin inlärning också har därmed förstått symbolerna? Men kanske viktigare fråga att ställa sig: förstår den Go bättre än vi? Då AlphaGo är bättre än människans på spelet, om nej hur vet vi att vi vet Go? Eftersom AlphaGo saknar kommunikationsförmåga kommer frågan om physical grounding project var löst redan förra året än så länge förbli obesvarad. 15
17 5. Referenser Allis, L. V. (1994). Searching for solutions in games and artificial intelligence. Ponsen & Looijen. Anderson, M. L. (2003). Embodied cognition: A field guide. Artificial intelligence, 149(1), Baird III, L. C. (1999). Reinforcement learning through gradient descent (Doctoral dissertation, US Air Force Academy, US). Baxter, J., & Bartlett, P. L. (2001). Infinite-horizon policy-gradient estimation. Journal of Artificial Intelligence Research, 15, Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., & Riedmiller, M. (2013). Playing atari with deep reinforcement learning. arxiv preprint arxiv: Muoio, D. ( ). Why Go is so much harder for AI to beat than chess. Hämtad från Ng, A. ( ). IBM s Watson gives proper diagnosis for Japanese leukemia patient after doctors were stumped for months. Hämtad från Prabhavalkar, R., Alsharif, O., Bruguier, A., & McGraw, L. (2016, March). On the compression of recurrent neural networks with an application to LVCSR acoustic modeling for embedded speech recognition. In 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp ). IEEE. Russell, S. J., Norvig, P., (2014). Artificial intelligence: a modern approach (Vol. 3 International Edition). Pearson Education Limited: USA. Silver, D., Huang, A., Maddison, C. J., Guez, A., Sifre, L., Van Den Driessche, G.,... & Dieleman, S. (2016). Mastering the game of Go with deep neural networks and tree search. Nature, 529(7587), SJ. ( ). Introduction To Dynamic Programming Fibonacci Series. Hämtad från Sutton, R. S., & Barto, A. G. (2016). Reinforcement learning: An introduction Second Edition (2016sepdraft). Cambridge: MIT press. Van Hasselt, H., Guez, A., & Silver, Huang, Maddison, D. (2015). Deep reinforcement learning with double Q-learning. CoRR, abs/
med hjälp av Deep Reinforcement Learning
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
GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON
2018 GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON Innehåll Inledning & Bakgrund... 2 Förstärkt inlärning... 2 MDP... 2 Gridworld... 3 Nytta och policy... 4 Värdefunktion och Bellmanekvationer...
de var svåra att implementera och var väldigt ineffektiva.
OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan
Lärande genom interaktion
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
729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann
729G43 Artificiell intelligens / 2015 Maskininlärning 3 Marco Kuhlmann Förra gången: Perceptroninlärning Beslutsregel predicerat y-värde Exempel: AND Välj parametrar θ 0, θ 1, θ 2 sådana att perceptronen
Förstärkande inlärning med fokus på Q-learning
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
Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap
729G43 Artificiell intelligens (2016) Maskininlärning 3 Marco Kuhlmann Institutionen för datavetenskap Modell med vektornotation parametervektor särdragsvektor Perceptron kombinerar linjär regression med
Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap
729G43 Artificiell intelligens (2016) Maskininlärning 2 Marco Kuhlmann Institutionen för datavetenskap Förra gången: Gradientsökning tangentens lutning i punkt θ steglängdsfaktor Översikt Introduktion
Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann
729G43 Artificiell intelligens / 2015 Maskininlärning 2 Marco Kuhlmann Förra gången: Linjär regression Gradientsökning Vandra ner i felets dal. Steg 0: Börja med ett godtyckligt värde för θ. Steg 1: Räkna
Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap
ARTIFICIELLA NEURALA NÄT MARCO KUHLMANN Institutionen för datavetenskap Example Alt Bar Fri Hun Pat Price Rain Res Type Est WillWait 1 Yes No No Yes Some $$$ No Yes French 0 10 Yes 2 Yes No No Yes Full
Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad för att man skall
HKGBB0, Artificiell intelligens
HKGBB0, Artificiell intelligens Kortfattade lösningsförslag till tentan 3 november 2005 Arne Jönsson 1. Vad karaktäriserar dagens AI-forskning jämfört med den AI-forskning som bedrevs perioden 1960-1985.
729G43 Artificiell intelligens / Maskininlärning 1. Marco Kuhlmann
729G43 Artificiell intelligens / 2015 Maskininlärning 1 Marco Kuhlmann Introduktion Maskininlärning Tack vare maskininlärning kan AI-system idag bl.a. producera och förstå naturligt språk kontrollera maskiner,
Vad behövs för att skapa en tillståndsrymd?
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University
Neurala nätverk och språk Henli807!1 Neurala nätverk och språkigenkänning Henrik Linnarsson Linköping University Neurala nätverk och språk Henli807!2 RNN, LSTM och språkigenkänning Inledning Idag är språkigenkänning
Introduktion till programmering
Introduktion till programmering Vad är programmering? Vad gör en dator? Vad är ett datorprogram? 1 (9) Vad är programmering? För att bestämma en cirkels area måste du: 1. Dividera diametern 5 med 2. 2.
Artificial Intelligence
Omtentamen Artificial Intelligence Datum: 2013-01-08 Tid: 09.00 13.00 Ansvarig: Resultat: Hjälpmedel: Gränser: Cecilia Sönströd Redovisas inom tre veckor Inga G 10p, VG 16p, Max 20p Notera: Skriv läsbart!
Ger bilder stöd för förståelsen av och förmågan att minnas kunskapskraven?
Ger bilder stöd för förståelsen av och förmågan att minnas kunskapskraven? Inledning Många elever har svårt att förstå och minnas kunskapskraven. I utvärderingar av min undervisning får ofta frågor kopplade
Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen
1. Komplexiteten hos en agent beror mycket på vilken omgivning den skall verka i. Vad innebär det att en omgivning är stokastisk, episodisk och dynamisk? Ge exempel på en omgivning som är stokastisk, episodisk
Självlärande Hare and Hounds-spelare med Q-learning. HARALD HARTWIG och MAX WESTERMARK
Självlärande Hare and Hounds-spelare med Q-learning HARALD HARTWIG och MAX WESTERMARK Examensarbete Stockholm, Sverige 2011 Självlärande Hare and Hounds-spelare med Q-learning HARALD HARTWIG och MAX WESTERMARK
Personifierad Netflix
Linköpings universitet Personifierad Netflix Lisa Rönnqvist 2016-08-24 Sammanfattning INNEHÅLLSFÖRTECKNING 1. Inledning... 1 1.1 Bakgrund... 1 1.2 Syfte... 2 2. Netflix... Fel! Bokmärket är inte definierat.
Regression med Genetiska Algoritmer
Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet
Tänk på följande saker när du skriver tentan:
Ämne: AI med inriktning mot kognition och design Kurskod: KOGB05 / TDBB21 Datum: 2005-04-01 Antal uppgifter: 12 Skrivtid: 09:00 15:00 Max poäng: 54 Betygsgränser: 27 x
Självlärande Hare and Hounds spelare med Q-learning
Självlärande Hare and Hounds spelare med Q-learning Examensarbete inom datalogi - DD143X HARALD HARTWIG RINDÖGATAN 27, 11558 STOCKHOLM TEL.NR: 0737264340 MAX WESTERMARK
Registerforskning Oktober 2018, Stockholm City Conference Centre. Möjligheter med Artificiell Intelligens inom registerforskningen
Registerforskning 2018 17 Oktober 2018, Stockholm City Conference Centre Möjligheter med Artificiell Intelligens inom registerforskningen Peter Funk Mälardalens Högskola Vem är Peter Funk? Artificiell
Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,
Sub-symbolisk kognition & Konnektionism Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén, mats.andren@liu.se 1 Konnektionism Neutrala nät baseras på en (förenklad) modell av hur hjärnan fungerar.
Lite Kommentarer om Gränsvärden
Lite Kommentarer om Gränsvärden På föreläsningen (Föreläsning 2 för att vara eakt) så introducerade vi denitionen Denition. Vi säger att f() går mot a då går mot oändligheten, uttryckt i symboler som f()
Inledande programmering med C# (1DV402) Introduktion till programmering
Introduktion till programmering Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt
Självlärande Dots & Boxes-spelare
Självlärande Dots & Boxes-spelare ANDREAS PETTERSSON Kandidatexamensarbete inom datalogi, grundnivå Kurs 143X Handledare: Johan Boye Examinator: Mads Dam andrepet@kth.se Vintrosagatan 5 124 73 Bandhagen
TAMS79: Föreläsning 10 Markovkedjor
TAMS79: Föreläsning 0 Markovkedjor Johan Thim december 08 0. Markovkedjor Vi ska nu betrakta en speciell tidsdiskret diskret stokastisk process, nämligen Markovkedjan. Vi börjar med en definition Definition.
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,
Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping
Fuzzy Logic När oskarpa definitioner blir kristallklara Linköpings Universitet Linköping Sammanfattning I denna fördjupningsuppgift har jag fokuserat på Fuzzy Logic och försökt att beskriva det på ett
I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.
2D1432 Artificiella Neuronnät och andra lärande system Lösningsförslag till Tentamen 2003-03-06 Inga hjälpmedel. Uppgift 1 Vilka av följande påståenden är sanna? Korrigera de som är fel. 1. Potentialen
1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående
MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 1 1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta
Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät
Artificiella Neuronnät 1 Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund 2 Begränsningar Träning av enlagersnät 3 Möjliga avbildningar Backprop algoritmen Praktiska problem
Artificiella Neuronnät
Artificiella Neuronnät 2 3 4 2 (ANN) Inspirerade av hur nervsystemet fungerar Parallell bearbetning Vi begränsar oss här till en typ av ANN: Framåtkopplade nät med lagerstruktur 3 4 Fungerar i princip
Universe Engine Rapport
1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten
Föreläsning 1: Dekomposition, giriga algoritmer och dynamisk programmering
2D1458, Problemlösning och programmering under press Föreläsning 1: Dekomposition, giriga algoritmer och dynamisk programmering Datum: 2007-09-04 Skribent(er): Anders Malm-Nilsson och Niklas Nummelin Föreläsare:
KUNDCASE. Inovia gjorde sin AI-utveckling 10 gånger snabbare med Power-plattformen
KUNDCASE Inovia gjorde sin AI-utveckling 10 gånger snabbare med Power-plattformen MÖT INOVIA Inovia är ett marknadsledande bolag som är specialiserade på Big Data och AI där lösningarna utvecklas av ett
Tentamen: Programutveckling ht 2015
Tentamen: Programutveckling ht 2015 Datum: 2015-11-04 Tid: 09:00-13:00 Sal: Ansvarig: Resultat: Hjälpmedel: Maxpoäng: Betygsgränser: Anslås inom 3 veckor. Inga 40 p 20 p för G, 32 p för VG. Iakttag följande:
I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1
Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut
Föreläsning 9 Innehåll. Söndra och härska. Fibonaccitalen. Söndra och härska. Divide and conquer teknik för att konstruera rekursiva algoritmer.
Föreläsning 9 Innehåll Mer om rekursion söndra-och-härska-algoritmer dynamisk programmering backtracking Orientering om versionshantering med git Söndra och härska Divide and conquer teknik för att konstruera
1 LP-problem på standardform och Simplexmetoden
Krister Svanberg, mars 202 LP-problem på standardform och Simplexmetoden I detta avsnitt utgår vi från LP-formuleringen (2.2) från föreläsning. Denna form är den bäst lämpade för en strömlinjeformad implementering
Word2Vec. Högkvalitativa vektorrepresentationer av ord tränat på stora mängder data. Innehåll LINKÖPINGS UNIVERSITET. 1. Inledning...
LINKÖPINGS UNIVERSITET Innehåll 1. Inledning... 2 2. Terminologi... 3 3. Allmänt om Word2Vec... 3 4. Continous Skip-gram model... 4 Word2Vec Högkvalitativa vektorrepresentationer av ord tränat på stora
ANN fk. Örjan Ekeberg. Framåtkopplade Nät. återkopplade nät. Olika arkitekturer. BackPropagation through Time. Kalman-Filter tekniker
Hantering av Tid Återkopplade Återkopplade Återkopplade t Återkopplade Återkopplade Temporala signaler är svåra Gör om temporal signal till spatial t 1 t 2 t 3 t 4 Återkopplade t Enklaste formen Neuronal
Föreläsning 5: Grafer Del 1
2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första
Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar
1 Agenda Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar 2 Nuvarande AI Funktioner en grov Analogi Rekommendation,
Extramaterial till Matematik X
LIBER PROGRMMERING OCH DIGITL KOMPETENS Extramaterial till Matematik X NIVÅ TRE Programmering LÄRRE I den här uppgiften får du och dina elever en introduktion till programmering. Uppgiften vänder sig först
Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692
Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...
SF1544 LABORATION 2 INTEGRATION, MONTE-CARLO OCH BLACK-SCHOLES EKVATION FÖR OPTIONER
SF1544 LABORATION INTEGRATION, MONTE-CARLO OCH BLACK-SCHOLES EKVATION FÖR OPTIONER Avsikten med denna laboration är att: - snabbt komma igång med träning på matlabprogrammering (uttnyttja gärna alla schemalagda
729G43 Artificiell intelligens (2016) Maskininlärning 1. Marco Kuhlmann Institutionen för datavetenskap
729G43 Artificiell intelligens (2016) Maskininlärning 1 Marco Kuhlmann Institutionen för datavetenskap Introduktion Maskininlärning Tack vare maskininlärning kan AI-system idag bl.a. producera och förstå
Föreläsning 9 Innehåll. Söndra och härska. Fibonaccitalen. Söndra och härska. Divide and conquer teknik för att konstruera rekursiva algoritmer.
Föreläsning 9 Innehåll Mer om rekursion söndra-och-härska-algoritmer dynamisk programmering backtracking Orientering om versionshantering med git Söndra och härska Divide and conquer teknik för att konstruera
Autokorrelation och Durbin-Watson testet. Patrik Zetterberg. 17 december 2012
Föreläsning 6 Autokorrelation och Durbin-Watson testet Patrik Zetterberg 17 december 2012 1 / 14 Korrelation och autokorrelation På tidigare föreläsningar har vi analyserat korrelationer för stickprov
Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp
Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Dag Wedelin, bitr professor, och K V S Prasad, docent Institutionen för data- och
Tentamen MVE301 Sannolikhet, statistik och risk
Tentamen MVE301 Sannolikhet, statistik och risk 2018-05-31 kl. 8:30-13:30 Examinator: Johan Jonasson, Matematiska vetenskaper, Chalmers Telefonvakt: Ivar Simonsson, telefon: 031-7725325 Hjälpmedel: Valfri
Datormetaforen. Från människa till dator Från dator till människa o.s.v.
Datormetaforen Från människa till dator Från dator till människa o.s.v. Det mekaniska tänkandet Räknemaskin tillverkad av Pascal 1642 Hjärnan ett avancerat urverk 1800-talet Henry Colebrooke, (president
Vindkraft och ML. - hur kan vindkraft dra nytta avml
Vindkraft och ML - hur kan vindkraft dra nytta avml AI och ML Intelligens: förmågan att utnyttja kunskap för att bättre lösa en klass av uppgifter Lärande: förmågan att förbättra sin förmåga att lösa uppgifterna
Pathfinding med reinforcement learning i delvis observerbara miljöer
Pathfinding med reinforcement learning i delvis observerbara miljöer Anne Engström Joel Lidin Gustav Molander Olle Månsson Noa Onoszko Hugo Ölund Institutionen för Matematiska vetenskaper CHALMERS TEKNISKA
Introduktion till programmering SMD180. Föreläsning 9: Tupler
Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]
Monte Carlo-metoder. Bild från Monte Carlo
Monte Carlo-metoder 0 Målen för föreläsningen På datorn Bild från Monte Carlo http://en.wikipedia.org/wiki/file:real_monte_carlo_casino.jpg 1 Begrepp En stokastisk metod ger olika resultat vid upprepning
Karta över Jorden - viktigt exempel. Sfär i (x, y, z) koordinater Funktionen som beskriver detta ser ut till att vara
Föreläsning 1 Jag hettar Thomas Kragh och detta är kursen: Flervariabelanalys 1MA016/1MA183. E-post: thomas.kragh@math.uu.se Kursplan finns i studentportalens hemsida för denna kurs. Där är två spår: Spår
MVE051/MSG Föreläsning 7
MVE051/MSG810 2016 Föreläsning 7 Petter Mostad Chalmers November 23, 2016 Överblick Deskriptiv statistik Grafiska sammanfattningar. Numeriska sammanfattningar. Estimering (skattning) Teori Några exempel
Självlärande Othello-spelare
Självlärande Othello-spelare Kan en dator lära sig att spela Othello? KLAS BJÖRKQVIST och JOHAN WESTER Examensarbete Stockholm, Sverige 2010 Självlärande Othello-spelare Kan en dator lära sig att spela
MESI i Intel Core 2 Duo
MESI i Intel Core 2 Duo Sammanfattning Denna rapport beskriver en processor (Intel Core 2 Duo) vars cache coherence protokoll är MESI. Rapporten beskriver hur processorn är uppbyggd, hur många kärnor den
KOMPLEMENT TILL MATTE DIREKT BORGEN UPPLAGA
Programmering KOMPLEMENT TILL MATTE DIREKT BORGEN UPPLAGA 2 Lektion Sanoma Utbildning POSTADRESS: Box 009, 0 25 Stockholm BESÖKSADRESS: Alströmergatan 2, Stockholm HEMSIDA: www.sanomautbildning.se E-POST:
Schemaläggnings metoderna AMP & SMP i en Multiprocessor
EDT621 Datorarkitekturer med operativsystem 7,5 HP 2015-12-05 Schemaläggnings metoderna AMP & SMP i en Multiprocessor Författare: Simon Plato Sammanfattning Rapporten beskriver två schemaläggnings metoder.
PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA
PARALLELLISERING AV ALGORITMER FÖR FLERKÄRNIGA PROCESSORER 870928 3017 Johan Gustafsson 870303 4952 Gustaf David Hallberg 880525 8210 Per Hallgren 801117 0597 Wuilbert Lopez 1/7 Innehållsförteckning Table
Exempel ode45 parametrar Miniprojekt 1 Rapport. Problemlösning. Anastasia Kruchinina. Uppsala Universitet. Januari 2016
Problemlösning Anastasia Kruchinina Uppsala Universitet Januari 2016 Anastasia Kruchinina Problemlösning 1 / 16 Exempel ode45 parametrar Miniprojekt 1 Rapport Anastasia Kruchinina Problemlösning 2 / 16
Korrelation och autokorrelation
Korrelation och autokorrelation Låt oss begrunda uttrycket r = i=1 (x i x) (y i y) n i=1 (x i x) 2 n. i=1 (y i y) 2 De kvadratsummor kring de aritmetiska medelvärdena som står i nämnaren är alltid positiva.
AI och schack. En överblick
1 AI och schack En överblick Jakob Danielsson - jdn11003@student.mdh.se Sam Vaezi - svi11001@student.mdh.se Information - kunskap - vetenskap - etik 3/10/2014 2 SAMMANFATTNING Schack anses ofta vara ett
Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:
Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer
Artificiell Intelligens den nya superkraften
Artificiell Intelligens den nya superkraften Socialchefsdagarna, 4 oktober 2018 #CGINext Artificiell Intelligens Förmågan hos mjukvara att agera självständigt på ett intelligent sätt tidigare bara associerat
Tentamensinstruktioner. När Du löser uppgifterna
Matematiska institutionen Optimeringslära TENTAMEN TAOP14/TEN 1 OPTIMERINGSLÄRA GRUNDKURS för I, Ii och TB Datum: 24 augusti 2009 Tid: 8.00-13.00 Hjälpmedel: Lundgren m fl: Optimeringslära och/eller Lundgren
Grafiska pipelinens funktion
LUNDS TEKNISKA HÖGSKOLA CAMPUS HELSINGBORG Grafiska pipelinens funktion Ludvig von Sydow EDT62, HT17 Datorarkitekturer med Operativsystem Sammanfattning Denna rapport syftar till att beskriva hur en graphics
Likhetstecknets innebörd
Likhetstecknets innebörd Följande av Görel Sterner översatta och bearbetade text bygger på boken: arithmetic & algebra in elementary school. Portsmouth: Heinemann Elever i åk 1 6 fick följande uppgift:
Data på individ/hushålls/företags/organisationsnivå. Idag större datamänger än tidigare
MIKROEKONOMETRI Data på individ/hushålls/företags/organisationsnivå Tvärsnittsdata och/eller longitudinella data o paneldata Idag större datamänger än tidigare Tekniska framsteg erbjuder möjligheter till
Föreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
Stora talens lag eller det jämnar ut sig
Stora talens lag eller det jämnar ut sig kvensen för krona förändras när vi kastar allt fler gånger. Valda inställningar på räknaren Genom att trycka på så kan man göra ett antal inställningar på sin räknare.
Den räta linjens ekvation
Den räta linjens ekvation Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter dem för första gången är
Vardagssituationer och algebraiska formler
Modul: Algebra Del 7: Kommunikation i algebraklassrummet Vardagssituationer och algebraiska formler Cecilia Kilhamn, Göteborgs Universitet och Jörgen Fors, Linnéuniversitetet En viktig del av algebran
TANA17 Matematiska beräkningar med Matlab
TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall
Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige
Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >
CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA
CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde
Fyra-i-rad med förstärkt inlärning
Fyra-i-rad med förstärkt inlärning En implementation av Q-learning CHRISTOFFER JANSON och CARL LANDEFJORD Examensarbete Stockholm, Sverige 2011 Fyra-i-rad med förstärkt inlärning En implementation av Q-learning
Föreläsning 13 Innehåll
Föreläsning 13 Innehåll Exempel på problem där materialet i kursen används Hitta k största bland n element Histogramproblemet Schemaläggning PFK (Föreläsning 13) VT 2013 1 / 15 Hitta k största bland n
Hur kan du som lärare dra nytta av konjunkturspelet i din undervisning? Här följer några enkla anvisningar och kommentarer.
Konjunkturspelet Ekonomi är svårt, tycker många elever. På webbplatsen, i kapitel F2, finns ett konjunkturspel som inte bara är kul att spela utan också kan göra en del saker lite lättare att förstå. Hur
Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion
Algoritmer och datastrukturer HI1029 8,0 hp Introduktion Lärandemål Efter kursen ska studenten: Ha kunskaper om de vanligaste algoritmteknikerna och datastrukturerna I viss mån kunna utvärdera algoritmers
Sidor i boken f(x) = a x 2 +b x+c
Sidor i boken 18-151 Andragradsfunktioner Här ska vi studera andragradsfunktionen som skrivs f(x) = ax +bx+c där a, b, c är konstanter (reella tal) och där a 0. Grafen (kurvan) till f(x), y = ax + bx +
Uppsala Universitet Matematiska Institutionen Thomas Erlandsson
Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real
Rapport (1,5 HP) Lunds Universitet HT15
Rapport (1,5 HP) Lunds Universitet HT15 Cache-koherens protokoll i Intel Core i7 En rapport om cache-koherens och protokollet som används i Intel Core i7 processorer för att hålla minnet koherent Författare:
Svar till vissa uppgifter från första veckan.
Svar till vissa uppgifter från första veckan. Svar till kortuppgifter F:. Ja! Förhoppningsvis så ser man direkt att g fx) är ett polynom. Vidare så gäller det att g fα) = gfα)) = gβ) = 0. Använd faktorsatsen!
Exempelprov. Matematik Del A, muntlig del. 1abc
Exempelprov Matematik Del A, muntlig del 1abc 2 DEL A, EXEMPELPROV MATEMATIK 1ABC Innehållsförteckning 1. Instruktioner för att genomföra del A... 5 2. Uppgifter för del A... 6 Version 1 Sten, sax och