ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Relevanta dokument
729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

Linköpings universitet

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

729G43 Artificiell intelligens / Maskininlärning 1. Marco Kuhlmann

Artificiella Neuronnät

729G43 Artificiell intelligens (2016) Maskininlärning 1. Marco Kuhlmann Institutionen för datavetenskap

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

729G43 Artificiell intelligens Maskininlärning. Arne Jönsson HCS/IDA

Vad behövs för att skapa en tillståndsrymd?

Neuronnätsbaserad agent

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.

Att programmera en Beethoven

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

ANN fk. Örjan Ekeberg. Framåtkopplade Nät. återkopplade nät. Olika arkitekturer. BackPropagation through Time. Kalman-Filter tekniker

Artificiell Intelligens Lektion 7

Kognitiv Modellering

SELF- ORGANIZING MAPS

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

MVE035. Sammanfattning LV 1. Blom, Max. Engström, Anne. Cvetkovic Destouni, Sofia. Kåreklint, Jakob. Hee, Lilian.

Inlärning utan övervakning

Optimering av hyperparametrar till artificiella neurala nätverk med genetiska algoritmer.

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

de var svåra att implementera och var väldigt ineffektiva.

Vektorer, matriser, nätverk - några elementa

Predicted Future - att förutsäga aktiekurser med artificiella neuronnät

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

Neurala nätverk vid bildsökning

Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens

EXAMENSARBETE. En jämförande studie kring inlärning hos levande organismer och artificiell intelligens.

TDDD02 Språkteknologi för informationssökning (2016) Ordklasstaggning. Marco Kuhlmann Institutionen för datavetenskap

Neuronen 11/22/2012. Översikt. Artificiell nod. Kommunikation. Neuronen som detektor. Syftet med återstående föreläsningarna

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Modeller och simulering av språkprocessning

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Tavelpresentation. Gustav Hallberg Jesper Strömberg Anthon Odengard Nils Tornberg Fredrik Blomgren Alexander Engblom. Januari 2018

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

SF1625 Envariabelanalys Lösningsförslag till tentamen

1. Vi skriver upp ekvationssystemet i matrisform och gausseliminerar tills vi når trappstegsform,

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad a) i) Nollställen för polynomet 2x 2 3x 1:

Kandidatuppsats. Jämförelse mellan neurala nätverk baserad AI och state-of-the-art AI i racing spel. Simon Karlsson, Christopher Jensen

Tentamen i Digitalteknik, EITF65

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

HKGBB0, Artificiell intelligens

Fel- och störningsanalys

Tentamen i Analys B för KB/TB (TATA09/TEN1) kl 14 19

729G43. Neurala faltningsnät MASKINSYN PÅ SVENSKA VENDELA FOLKER ÅKERLIND

Användarverifiering från webbkamera Sami Alajarva

Inlärningens geometri Populärföreläsning SF1611, Introduktionskurs i matematik. Timo Koski

Neuronnätsbaserad identifiering av processparametrar vid tillverkning av pappersmassa

Laboration i Fourieranalys för F2, TM2, Kf2 2011/12 Signalanalys med snabb Fouriertransform (FFT)

Fel- och störningsanalys

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

14. Minsta kvadratmetoden

KOKBOKEN 1. Håkan Strömberg KTH STH

Mer om analytisk geometri

= 0 vara en given ekvation där F ( x,

Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts.

Probabilistisk logik 2

NEURAL MASKINÖVERSÄTTNING

Googles sidrankning - linjär algebra värt en förmögenhet

Självlärande Othello-spelare

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

ÖVN 6 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF Nyckelord och innehåll. a n (x x 0 ) n.

Artificiella neurala nätverk

DIGITAL KOMMUNIKATION

Träning av Artificiella Neuronnät med Motexempel Utvalda av Expertpanel (HS-IDA-EA )

6.1 Skalärprodukt, norm och ortogonalitet. TMV141 Linjär algebra E VT 2011 Vecka 6. Lärmål 6.1. Skalärprodukt. Viktiga begrepp

Vektorgeometri för gymnasister

Tavelpresentation - Flervariabelanalys. 1E January 2017

Regression med Genetiska Algoritmer

Programmering eller Datalogiskt tänkande

Statistisk mönsterigenkänning

Föreläsningsplanering och lektionsplanering 764G01

P Q = ( 2, 1, 1), P R = (0, 1, 0) och QR = (2, 2, 1). arean = 1 2 P Q P R

Ett Neuralt Nätverk Tittar På Kläder

1. Gradient och riktningsderivata till funktioner av två variabler (2.7) 2. Gradient och riktningsderivata till funktioner av tre variabler (2.

(a) Bestäm för vilka värden på den reella konstanten c som ekvationssystemet är lösbart. (b) Lös ekvationssystemet för dessa värden på c.


MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

A B C D E F A B C D E F (3) Svar: Tabellen ger grafen:

Lösningsförslag till övningsuppgifter, del V

Miniprojekt: Vattenledningsnätet i Lutorp 1

Veckoblad 1, Linjär algebra IT, VT2010

Repetition, Matematik 2 för lärare. Ï x + 2y - 3z = 1 Ô Ì 3x - y + 2z = a Ô Á. . Beräkna ABT. Beräkna (AB) T

Sammanfattning av föreläsning 4. Modellbygge & Simulering, TSRT62. Föreläsning 5. Identifiering av olinjära modeller

Dagens ämnen. Linjära ekvationssystem: Successiv elimination Vektorer Definitionen Grundläggande räkneoperationer Bas och koordinater Ortsvektorer

x +y +z = 2 2x +y = 3 y +2z = 1 x = 1 + t y = 1 2t z = t 3x 2 + 3y 2 y = 0 y = x2 y 2.

Lösningar till MVE021 Linjär algebra för I

Artificiella neurala nätverk för punktabsorberande vågkraftverk: Energiuppskattning och aktiv styrning.

SF1625 Envariabelanalys

Vektorgeometri för gymnasister

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Algoritmer och maskininlärning

Välkomna till TSRT19 Reglerteknik M Föreläsning 9

Transkript:

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 $ No No Thai 30 60 No 3 No Yes No No Some $ No No Burger 0 10 Yes 4 Yes No Yes Yes Full $ No No Thai 10 30 Yes 5 Yes No Yes No Full $$$ No Yes French >60 No 6 No Yes No Yes Some $$ Yes Yes Italian 0 10 Yes 7 No Yes No No None $ Yes No Burger 0 10 No 8 No No No Yes Some $$ Yes Yes Thai 0 10 Yes 9 No Yes Yes No Full $ Yes No Burger >60 No 10 Yes Yes Yes Yes Full $$$ No Yes Italian 10 30 No 11 No No No No None $ No No Thai 0 10 No 12 Yes Yes Yes Yes Full $ No No Burger 30 60 Yes

Klassificering Klassificering är en övervakad maskininlärningsuppgift som går ut på att tilldela ett indatum en klass. Exempel: Givet en situation, vilken aktion ska agenten utföra? Datamängden består av par (datum, klass). Exempel: (restaurangsituation, värd att vänta?) Under träningen ser systemet både datumet och dess klass. I testfasen ser systemet endast datumet och ska predicera klassen.

MNIST MNIST-databasen består av 70 000 handskrivna siffror (bilder) tillsammans med ett facit (rätt siffra) för varje bild.!! Hur bygger man ett system som tar in en bild och identifierar vilken siffra bilden föreställler?

Översikt Perceptroner Perceptroninlärning Sigmoid-neuroner Inlärning i neurala nät Backpropagation

Perceptroner

Perceptroner Perceptronen är en av de enklaste artificiella neuroner. Modellen utvecklades kring 1960 av den amerikanska psykologen och datalogen Frank Rosenblatt. Perceptronen är inspirerad av neurobiologiska arbeten, men är själv ingen neurobiologisk utan en datalogisk modell.

En neuron dendriter synapser med andra neuroner axon cellkropp

Kommunikation mellan neuroner Neuroner kan kommunicera via synapser, kopplingar mellan en sändande och en mottagande neuron. En neuron mottar signaler via dess dendriter. De mottagna signalerna ackumuleras i cellkroppen. Om den ackumulerade signalen är tillräckligt stor alstras en nervimpuls. Nervimpulsen alstrar signaler till andra neuroner.

Perceptron-modellen in-signal x 1 w 1 viktad koppling y ut-signal, aktivering x 2 w 2 1. Beräkna invärdet som den viktade summan av alla in-signaler. 2. Beräkna ut-signalen med en aktiveringsfunktion.

Stegfunktionen med tröskelvärde y 1 tröskelvärde 0 in

Exempel in-signal x 1 w 1 viktad koppling y ut-signal, aktivering x 2 w 2 in = w 1 x 1 + w 2 x 2 y = f(in) = f(w 1 x 1 + w 2 x 2 )

In-signaler och vikter som vektorer Vi modellerar in-signaler och vikter som vektorer. Med detta perspektiv är invärdet identisk med skalärprodukten av viktvektorn w och in-signalvektorn x: in = =

Bias istället för tröskelvärde med tröskelvärde y = 0 om 1 om w x w x > tröskelvärdet tröskelvärdet med bias b y = 0 om 1 om w x + b 0 w x + b > 0

Perceptron med bias 1 x 1 w 1 b bias y x 2 w 2 in = w 1 x 1 + w 2 x 2 + b y = f(in) = f(w 1 x 1 + w 2 x 2 + b)

Stegfunktionen y 1 0 in

Exempel: NAND Perceptron med w 1 = w 2 = 2 och b = 3 x1 x2 w1 x1 + w2 x2 + b y 0 0 0 1 1 0 1 1

Exempel: NAND Perceptron med w 1 = w 2 = 2 och b = 3 x1 x2 w1 x1 + w2 x2 + b y 0 0 3 1 0 1 1 1 1 0 1 1 1 1 1 0

Perceptroninlärning

Perceptroninlärning Perceptroner kan lära sig linjärt separerbara problem. Inlärningen går ut på att lära sig vikterna (= viktvektorn).

Förenkling För att beskriva inlärningsalgoritmerna bortser vi från bias; den kan modelleras som en extra insignal som alltid är på.

Inlärningsalgoritm Börja med att sätta w 0 (nollvektorn). För varje par (x, y*) i träningsmängden: 1. Beräkna utsignalen: y f(w x) 2. Uppdatera vikterna: w w + (y* y)x

Analys av inlärningsalgoritmen Fall 1: y* = y w w + 0 Vikterna förblir oförändrade. Fall 2: y* = 1, y = 0 Fall 3: y* = 0, y = 1 w w + x w w x Vikterna flyttas bort från träningsexemplet, i riktning mot guldstandarden.

Skalärprodukt w = (+1, +1) x = (+1, +1) w x = +2

Skalärprodukt w = (+1, +1) x = ( 1, 1) w x = 2

Skalärprodukt x = ( 1, +1) w = (+1, +1) w x = ±0

Skalärprodukt w w x > 0 w x < 0 w x ± 0

Korrekt klassificerat negativt exempel y y 0 0 w 0 1 1 0 1 1 x

Korrekt klassificerat positivt exempel y y 0 0 0 1 1 0 w 1 1 x

Felaktigt klassificerat negativt exempel y y 0 0 x 0 1 1 0 w 1 1 x

Felaktigt klassificerat negativt exempel y y 0 0 w 0 1 1 0 1 1 x

Felaktigt klassificerat positivt exempel y y 0 0 w 0 1 1 0 +x 1 1 x

Felaktigt klassificerat positivt exempel y y 0 0 0 1 1 0 w 1 1 x

Analys av inlärningsalgoritmen Fall 1: y* = y w w + 0 Vikterna förblir oförändrade. Fall 2: y* = 1, y = 0 Fall 3: y* = 0, y = 1 w w + x w w x Vikterna flyttas bort från träningsexemplet, i riktning mot guldstandarden.

Generalisering till flera klasser x 1 x 2 x 3 x 4 1. en perceptron för varje klass 2. ingen stegfunktion utdata är en vektor 3. predicerad klass = perceptron med högst aktivering

Generalisering till flera klasser x 1 a x 2 x 3 x 4 b c score(a) = w a x score(b) = w b x score(c) = w c x

Generalisering till flera klasser x 1 a x 2 x 3 x 4 b c score(a) = w a x score(b) = w b x score(c) = w c x

Generalisering till flera klasser x 1 a x 2 x 3 x 4 b c score(a) = w a x score(b) = w b x score(c) = w c x

Generalisering till flera klasser x 1 a x 2 x 3 x 4 b c score(a) = w a x score(b) = w b x score(c) = w c x

Generalisering till flera klasser x 1 a x 2 x 3 x 4 b c score(a) = w a x score(b) = w b x score(c) = w c x predicerad klass = argmax x score(x)

Inlärningsalgoritm Börja med att sätta w 0 (nollvektorn). För varje par (x, y*) i träningsmängden: 1. Beräkna utsignalen: y w x 2. Uppdatera vikterna: w w + (y* y)

Sigmoid-neuroner

Sigmoid-neuroner Sigmoid-neuroner har samma uppbyggnad som perceptroner, men en annan aktiveringsfunktion. De kan inte bara signalera 0 eller 1 som perceptroner, men godtyckliga reella tal i denna intervall.

Sigmoidfunktionen y 1 (in) = 1 1 + in 0 in

Jämförelse av aktiveringsfunktionerna y y 1 1 0 in 0 in stegfunktionen sigmoidfunktionen

Vad kan ett neuralt nät lära sig? perceptroner sigmoid-neuroner linjärt separerbart inte linjärt separerbart

Flerlagersnätverk indatalagret (input layer) utdatalagret (output layer) dolda lagret (hidden layer)

Ett enkelt flerlagersnätverk w 12 w 23 1 2 3 y 1 in 2 y 2 in 3 y 3

Ett enkelt flerlagersnätverk w 12 w 23 1 2 3 y 1 in 2 y 2 in 3 y 3 y 1 = x in 2 = w 12 y 1 y 2 = σ(in 2 ) in 3 = w 23 y 2 y 3 = σ(in 3 )

Inlärning i neurala nät

Grundidé Vid övervakad inlärning består träningsdatan av par (x, y*) där x är ett indatum och y* är målvärdet. Idé för en inlärningsalgoritm: Prova att ändra vikterna och testa om nätets utsignal kommer närmare målvärdet. Sigmoid-funktionens jämna form gör att små ändringar i vikterna resulterar i endast en liten ändring i utsignalen.

Att mäta hur mycket fel nätet gör Vi behöver kunna mäta hur bra vårt nät har lärt sig. För att göra detta mäter vi avvikelsen mellan målvärdet och nätets utsignal, dvs. hur mycket fel nätet gör. Ett konkret mått är mean squared error som kvantifiera felet för utsignalen y relativt till målvärdet y som () = 1 2 2

Mean squared error E y* y

Gradient descent: Intuition Vi vill ändra nätets vikter på ett sådant sätt att felet minimeras. Utan vidare information kan vi bara ändra vikterna på måfå och hoppas att felet blir mindre med tiden. Men om felfunktionen är snäll (deriverbar) så kan vi räkna ut dess gradient och gå i den riktningen.

Gradient descent: Intuition w 23 felets dal w 12

Gradient descent: Intuition w 23 felets dal gradient w 12

Gradient descent, matematiskt Om vi förflyttar oss en liten bit Δw 12 i w 12 -riktningen och en liten bit Δw 23 i w 23 -riktningen, då ändras felet E som så: 12 + 12 23 23 partiell derivata av E med avseende på w12

Gradient descent, matematiskt Gradient descent väljer Δw 12 och Δw 12 så att ΔE blir negativt, dvs. felet blir mindre över tiden:!! 12 = 12 23 = 23 Värdet η heter inlärningsparametern. Genom att höja eller sänka den kan man ta inflytande över hur stora steg gradient descent tar.

Hur man räknar ut gradienten w 23 E w 12

Hur man räknar ut gradienten w 23 E/ w 23 E/ w 12 w 12

Gradient descent Börja med en godtycklig viktvektor w. Upprepa följande steg tills felet blir tillräckligt litet: Givet den aktuella viktvektorn w, räkna ut E. Sätt den nya viktvektorn till w η E.

Stochastic gradient descent Vid gradient descent måste man gå över hela träningsdatan för att beräkna uppdateringen till vikterna. Vid stochastic gradient descent tar man ett datum i taget. En kompromiss är att dela upp data i små buntar (minibatches) och uppdatera efter att ha sett all data i en bunt.

Backpropagation

Backpropagation-algoritmen Backpropagation-algoritmen är en effektiv algoritm för att räkna ut gradienten E, vektorn med alla partiella derivator E/ w i.

Ett enkelt flerlagersnätverk w 12 w 23 1 2 3 y 1 in 2 y 2 in 3 y 3 y 1 = x in 2 = w 12 y 1 y 2 = σ(in 2 ) in 3 = w 23 y 2 y 3 = σ(in 3 )

Ett enkelt flerlagersnätverk w 12 w 23 y 1 σ σ E in 2 y 2 in 3 y 3 e x y Vi vill beräkna E/ w 12 och E/ w 23.

Kedjeregeln till hjälp Kedjeregeln för derivator ger oss följande ekvationer: = 3 in 3 23 3 in 3 23 = 3 in 3 2 in 2 12 3 in 3 2 in 2 12 Viktigt: Alla funktioner i nätet måste vara deriverbara! 3 = 3 3 in 3 = (in 3 )(1 (in 3 )) in 3 23 = 2 in 3 2 = 23

Backpropagation-algoritmen Forward pass: räkna ut alla invärden (in 2, in 3 ) och aktiveringar (y 2, y 3 ) Backward pass: räkna ut alla partiella derivata (använder forward-värdena)

Backpropagation-algoritmen Beräkningarna av de partiella derivatorna kan återanvända partiella derivator som räknats ut tidigare i backward pass. Man kan därför räkna ut gradienterna lager för lager, med utlagret som början. Detta är effektivt även för djupa nät. Beräkningstiden är linjär i antalet lager.

Översikt Perceptroner Perceptroninlärning Sigmoid-neuroner Inlärning i neurala nät Backpropagation