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

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

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

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

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

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

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

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

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

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

Artificiella Neuronnät

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

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

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

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

Artificiell Intelligens Lektion 7

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

Att programmera en Beethoven

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

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

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

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

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

Linköpings universitet

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

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

HKGBB0, Artificiell intelligens

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

Probabilistisk logik 2

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

Ett Neuralt Nätverk Tittar På Kläder

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

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

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

Word2Vec. Högkvalitativa vektorrepresentationer av ord tränat på stora mängder data. Innehåll LINKÖPINGS UNIVERSITET. 1. Inledning...

LARS ULVELAND HOPFIELDNÄTVERK FÖR IGENKÄNNING AV DEGRADERADE BILDER OCH HANDSKRIVNA TECKEN

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

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

MVE051/MSG Föreläsning 14

Neuronnätsbaserad agent

Härledning av Black-Littermans formel mha allmänna linjära modellen

F18 MULTIPEL LINJÄR REGRESSION, FORTS. (NCT

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

Kognitiv Modellering

Modeller och simulering av språkprocessning

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

Liswi948, Lisa Widerberg, liswi948 Fördjupningsarbete Linköpings Universitet 729G43, Artificiell Intelligens

Matcha rätt hjärta till rätt patient med AI. Dennis Medved

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

NEURAL MASKINÖVERSÄTTNING

Algoritmer, datastrukturer och komplexitet

Bestämning av tryckfallsfunktioner för T-stycke i T-system med mätdata

TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?

Algoritmer och maskininlärning

Tentamen i tmv036c och tmv035c, Analys och linjär algebra C för K, Kf och Bt A =, = det(a λi) = e 2t + c 2. x(t) = c 1. = c 1.

Självlärande Othello-spelare

Objective:: Linjärt beroende och oberoende version 1.0

Algoritmer, datastrukturer och komplexitet

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret Lektion 1

Exempel ode45 parametrar Miniprojekt 1 Rapport. Problemlösning. Anastasia Kruchinina. Uppsala Universitet. Januari 2016

Föreläsning 11. Slumpvandring och Brownsk Rörelse. Patrik Zetterberg. 11 januari 2013

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Interaktiva berättelser med Twine

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

Vinjetter TDDC91 Datastrukturer och algoritmer

1b) Om denna överstiger det kritiska värdet förkastas nollhypotesen. 1c)

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

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

SF1626 Flervariabelanalys

DATAANALYS OCH AVANCERADE ALGORITMER MÖJLIGHETER MED UTÖKAD MÄTINFRASTRUKTUR

Strukturoptimering baserad på metamodeller

Regression med Genetiska Algoritmer

Adaptiva algoritmer och intelligenta maskiner, 2005 Hemtentamen

Stokastiska processer med diskret tid

!"# $ $ $ % & ' $ $ ( ) *( + $', - &! # %. ( % / & ) 0

Optimering och simulering: Hur fungerar det och vad är skillnaden?

Fel- och störningsanalys

Mälardalens högskola Akademin för utbildning, kultur och kommunikation

Linjärisering, Jacobimatris och Newtons metod.

Föreläsning 8. NDAB02 Statistik; teori och tillämpning i biologi

Ordinära differentialekvationer,

SELF- ORGANIZING MAPS

Optimering med bivillkor

Krafts olikhet. En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om. 2 l i. 1 i=1

TATA42: Föreläsning 9 Linjära differentialekvationer av ännu högre ordning

Fel- och störningsanalys

Ickelinjära ekvationer

Neuronnätsbaserad identifiering av processparametrar vid tillverkning av pappersmassa

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

av envariabelfunktionen g(t) och flervariabelfunktionen t = h(x, y) = x 2 + e y.)

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

Lektionsanteckningar 11-12: Normalfördelningen

kl Tentaupplägg

Höftledsdysplasi hos dansk-svensk gårdshund

Stokastiska Processer och ARIMA. Patrik Zetterberg. 19 december 2012

För studenter i Flervariabelanalys Flervariabelanalys MA012B ATM-Matematik Mikael Forsberg

Uppgift 1 ( Betyg 3 uppgift )

Konsten att lösa icke-linjära ekvationssystem

Föreläsning G60 Statistiska metoder

Tänk på följande saker när du skriver tentan:

Transkript:

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 beräknar följande: x0 x1 x2 y 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

Beslutsgräns θ klass 0 klass 1

Perceptroninlärning Börja med att sätta θ 0 (nollvektorn). För varje särdragsvektor x och målvärde y i träningsmängden: 1. Beräkna h(x): h(x) f(θ x) 2. Uppdatera parametervektorn: θ θ (h(x) y)x Upprepa tills klassifikationsfelet är tillräckligt litet.

Begränsningar av perceptronen x 2 x 2 0 1 0 1 0 0 x 1 1 0 x 1 linjär separerbar inte linjär separerbar

Nya särdrag till hjälp! x 2 0 1 1 x 3 x 3 = 0 0 x 1

Nya särdrag till hjälp! x 2 0 1 x 3 1 0 x 1 x 3 = 1 om x 1 = x 2, annars 0

Nya särdrag till hjälp! Nästan alla problem blir linjärt separerbara om man bara kan hitta på bra särdrag. Detta mappar det ursprungliga problemet till en ny särdragsrymd. Problemet är att man måste hitta på dessa särdrag för hand. feature engineering En Support Vector Machine är en klassificerare som automatiskt lär sig nya särdrag som gör problemet linjärt separerbart. Lite andra tricks också; läs Jurafsky och Martin 18.9.

Logistisk regression

Logistisk regression kombinerar den linjära modellen med den logistiska funktionen 3 1 1 2,25 1,5 0,75 + = 0,5 0,75 0,5 0,75 0,25 0,25 0 0 0,5 1 1,5 2 2,5 3 0-6 -3 0 3 6 0 0 0,5 1 1,5 2 2,5 3

Linjär regression 700 Husets pris i tusentals dollar 525 350 175 0 1000 2000 3000 4000 5000 Husets storlek i kvadratfot

Logistisk regression 700 Husets pris i tusentals dollar 525 350 175 0 1000 2000 3000 4000 5000 Husets storlek i kvadratfot

Den logistiska funktionen 1 0,75 0,5 0,25 0-6 -4,5-3 -1,5 0 1,5 3 4,5 6

Neuronmodell x 1 θ 1 Σ f h(x) x 2 θ 2 1. Beräkna den viktade summan av alla in-signaler: z = θ x. 2. Beräkna ut-signalen med den logistiska funktionen: h(x) = σ(z).

Logistisk regression som probabilistisk modell Vi kan tolka värdet h(x) som sannolikheten att x tillhör klass 1. Vad är då sannolikheten att x tillhör klass 0? Logistisk regression ger oss en probabilistisk modell: Hur sannolikt är det att den stokastiska variabeln y tar värdet 1, givet särdragsvektorn x och modellparametrarna θ?

Klassifikation med logistisk regression värde mellan 0 och 1 mittvärde

Felfunktion för logistisk regression I samband med linjär regression mätte vi felet för en enskild datapunkt som det kvadrerade avståndet mellan det predicerade värdet h(x) och målvärdet y. Hur ser denna kurva ut för logistisk regression? fel 2 1,5 1 0,5 0-1,25 0 1,25 avstånd

Felfunktion för logistisk regression Vid logistisk regression är det maximala avståndet mellan det predicerade värdet h(x) och målvärdet y, och därmed även det maximala felet, lika med 1. Detta eftersom både predicerat värde och målvärde är tal mellan 0 och 1. fel 2 1,5 1 0,5 0-1,25 0 1,25 avstånd

Felfunktion för logistisk regression 3 3 2,25 2,25 fel 1,5 fel 1,5 0,75 0,75 0 0 0,25 0,5 0,75 1 0 0 0,25 0,5 0,75 1 h(x) h(x) y = 1 y = 0

Uppdateringsregeln för gradientsökning Vi får exakt samma uppdateringsregel för gradientsökning! (Trots att vi ändrat både modellen och felfunktionen!)

Gradientsökning Vandra ner i felets dal. Steg 0: Börja med ett godtyckligt värde för θ. Steg 1: Räkna ut felfunktionens gradient i den punkt som motsvarar den aktuella modellparametern θ. Steg 2: Gå i motsatt riktning av gradienten. Multiplicera med en steglängdsfaktor. Upprepa steg 1 2 tills felet blir tillräckligt litet.

Varianter på gradientsökning Minibatch gradient descent Uppdatera baserat på mindre delar av träningsdatan. Kan öka hastigheten med vilken inlärningsprocessen konvergerar. Stochastic gradient descent Kasta omkull träningsdatan slumpmässigt efter varje iteration. Kan förhindra att inlärningsprocessen fastnar i lokala optima.

Olika felfunktioner 0/1-fel (L0) L 0 (p, y) = 0 om p = y, annars 1 Absolut avstånd (L1) L 1 (p, y) = p y Kvadrerat avstånd (L2) L 2 (p, y) = (p y) 2 Felfunktionen för logistisk regression

Artificiella neurala nätverk

Generisk neuronmodell x 0 θ 0 Σ f h(x) x n θ n 1. Beräkna den viktade summan av alla in-signaler: z = θ x 2. Beräkna ut-signalen med aktiveringsfunktionen: h(x) = f(z)

Linjär neuron aktiveringsfunktion: identitetsfunktionen 3 2,25 1,5 0,75 0 0 1 2 3

Perceptron aktiveringsfunktion: tröskelfunktionen 1 0,75 0,5 0,25 0-1 0 1

Rectified Linear Unit aktiveringsfunktion: tröskelfunktionen 6 4,5 3 1,5 0-6 -4,5-3 -1,5 0 1,5 3 4,5 6

Sigmoid-neuron aktiveringsfunktion: den logistiska funktionen 1 0,75 0,5 0,25 0-6 -4,5-3 -1,5 0 1,5 3 4,5 6

Tanh-neuron aktiveringsfunktion: tangens hyperbolicus 1 0,5 0-0,5-1 -6-4,5-3 -1,5 0 1,5 3 4,5 6

Neuronnät Ett neuronnät kopplar ihop flera neuroner till en större struktur. Precis som en enskild neuron kan ett neuronnät ses som en funktion som mappar indata till utdata. Det finns många olika arkitekturer för neuronnät som skiljer sig med avseende på vilka funktioner de kan modellera. Men också med avseende på hur svårt det är att träna dem.

Feedforward-nät in-lager dolt lager ut-lager

Feedforward-nät Ett feedforward-nät (FF-nät) består av flera lager av neuroner: ett in-lager, ett ut-lager, och ett eller flera dolda lager. Kallas djupa om det finns fler än ett dolt lager. Informationen flyter i ett enda svep från in-lagret genom alla dolda lager till ut-lagret. FF-nät är fullt anslutna: Neuronerna i varje lager skickar sina utdata till alla neuroner i nästa lagret.

Exempel: Sifferigenkänning Vi vill bygga ett feedforward-nät som tar in en bild på en handskriven siffra och predicerar vilken siffra det rör sig om. Vilken typ av inlärningsproblem är detta?

FF-nät för sifferigenkänning en neuron för varje pixel en neuron för varje siffra 28 28 20 10

Hur man använder nätet Varje bild översätts till en vektor x med 28 28 komponenter där komponent x i är gråvärdet för pixel i i bilden. Gråvärdet är ett flyttal mellan 0 (svart) och 1 (vitt). För att presentera nätet med en bild aktiverar vi varje neuron i inlagret med respektive värde ur särdragsvektorn. Då kommer nätet aktivera varje neuron i ut-lagret i någon grad. Den siffra vars ut-neuron får högst aktivering vinner.

Varför behöver vi dolda neuroner? Neuronnät utan dolda neuroner kan endast modellera enkla sammanhang mellan indata och utdata. Ett sätt att göra neuronnät kraftfullare är att lägga till lager med extra särdrag; men att hitta bra särdrag är en konst. Nya särdrag måste skapas för varje specifik tillämpning. Neuronnät med dolda neuroner kan lära sig själv vilka särdrag som kan vara användbara.

Vad är det nätet lär sig? Källa: Kylin-Xu

Djupa nät hittar olika typer av särdrag Källa: NVIDIA

Rekursiva nät En neuron kan skicka utdata till sig själv, kanske via omvägar.

Hur tränar man nätet? En stor fördel med sigmoid-neuroner är att vi kan använda gradientsökning för att träna upp dem. Detta eftersom den logistiska funktionen är deriverbar. Detta gäller även om vi har långa kedjor av sigmoid-neuroner som är kopplade till varandra, som i ett FF-nät. kedjeregeln för derivator Standardalgoritmen för att räkna ut alla gradienter på ett effektivt sätt heter backpropagation-algoritmen.

Backpropagation Presentera nätet med ett träningsexempel och låta det predicera den siffra som bilden föreställer. Hur ska vi förändra vikterna på kopplingarna mellan neuronerna för att vandra ner i felets dal? vikterna = θ Idee: Räkna ut gradienterna för vikterna i det yttersta lagret. Använd sedan resultatet för nästa lager, och så vidare. backwards

Backpropagation (skiss) 2 1 1 2

Backpropagation (skiss) 1 3 2 2 1 3

Att träna sifferigenkänningsnätet För att träna nätet använder vi MNIST-databasen, som består av 70 000 handskrivna siffror tillsammans med ett facit för varje bild. Varje facitsiffra översätts till en vektor y med 10 komponenter där komponent y i är 1 om siffran är lika med i och 0 annars. Exempel: För siffran 3 är y 3 = 1, alla andra noll För att träna nätet med en facitsiffra sätter vi målvärdet för varje neuron i ut-lagret till respektive värde ur särdragsvektorn.

Maskininlärning Introduktion till maskininlärning Linjär regression med en variabel Linjär regression med flera variabler Perceptroninlärning Logistisk regression Artificiella neurala nätverk