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 4
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund 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 4
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund (ANN) Inspirerade av hur nervsystemet fungerar Parallell bearbetning
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund (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
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund (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
Användningsområden Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Fungerar i princip som en generell Lärande låda!
Användningsområden Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Fungerar i princip som en generell Lärande låda! Klassificering Ja/Nej
Användningsområden Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Fungerar i princip som en generell Lärande låda! Funktionsapproximering [ 1, 1]
Användningsområden Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Fungerar i princip som en generell Lärande låda! Flerdimensionell avbildning
Klassiska exempel Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund
Klassiska exempel Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund ALVINN System för att styra en bil
Klassiska exempel Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund ALVINN System för att styra en bil TV bild Rattutslag
Klassiska exempel Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund ALVINN System för att styra en bil TV bild Rattutslag Tränas med riktiga förares beteende som träningsexempel
Klassiska exempel Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund NetTalk Program för talsyntes
Klassiska exempel Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund NetTalk Program för talsyntes "Hejsan" Fonem Skriven text Kodat uttal
Klassiska exempel Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund NetTalk Program för talsyntes "Hejsan" Fonem Skriven text Kodat uttal Tränas med stor databas över uttalad text
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Hur fungerar riktiga nervceller?
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Hur fungerar riktiga nervceller? Dendriter Soma Axon
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Hur fungerar riktiga nervceller? Dendriter Soma Axon Dendriter Soma (cellkropp) Axon
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Hur fungerar riktiga nervceller? Dendriter Soma Axon Dendriter Passiv mottagning av (kemiska) signaler Soma (cellkropp) Axon
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Hur fungerar riktiga nervceller? Dendriter Soma Axon Dendriter Passiv mottagning av (kemiska) signaler Soma (cellkropp) Summering, tröskling Axon
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Hur fungerar riktiga nervceller? Dendriter Soma Axon Dendriter Passiv mottagning av (kemiska) signaler Soma (cellkropp) Summering, tröskling Axon Aktiva pulser sänds till andra celler
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Nervceller kan se väldigt olika ut
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund Nervceller kan se väldigt olika ut
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund ANN-karikatyren (en förenklad bild av informationsbehandlingen)
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund ANN-karikatyren (en förenklad bild av informationsbehandlingen) Σ
Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund ANN-karikatyren (en förenklad bild av informationsbehandlingen) Σ Viktade insignaler Summering Trösklad utsignal
Begränsningar Träning av enlagersnä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 4
Begränsningar Träning av enlagersnät Vad menas med ett?
Begränsningar Träning av enlagersnät Vad menas med ett?
Begränsningar Träning av enlagersnät Vad menas med ett? Varje cell fungerar oberoende av de andra!
Begränsningar Träning av enlagersnät Vad menas med ett? Varje cell fungerar oberoende av de andra! Det räcker att förstå vad en cell kan beräkna
Begränsningar Träning av enlagersnät Vad kan en enstaka cell beräkna?
Begränsningar Träning av enlagersnät Vad kan en enstaka cell beräkna? Σ
Begränsningar Träning av enlagersnät Vad kan en enstaka cell beräkna? Σ x Indata i vektorform w Vikterna i vektorform o Utsignalen
Begränsningar Träning av enlagersnät Vad kan en enstaka cell beräkna? Σ x Indata i vektorform w Vikterna i vektorform o Utsignalen ( ) o = sign x i w i i
Begränsningar Träning av enlagersnät Geometrisk tolkning ( ) o = sign x i w i i
Begränsningar Träning av enlagersnät Geometrisk tolkning ( ) o = sign x i w i i x 2 w x 1
Begränsningar Träning av enlagersnät Geometrisk tolkning ( ) o = sign x i w i i x 2 w x 1 Separerande hyperplan Linjär separerbarhet
Inlärning i ANN Begränsningar Träning av enlagersnät Vad innebär inlärning?
Inlärning i ANN Begränsningar Träning av enlagersnät Vad innebär inlärning? Nätets struktur är normalt fix
Inlärning i ANN Begränsningar Träning av enlagersnät Vad innebär inlärning? Nätets struktur är normalt fix Inlärning innebär att hitta de bästa vikterna w i
Inlärning i ANN Begränsningar Träning av enlagersnät Vad innebär inlärning? Nätets struktur är normalt fix Inlärning innebär att hitta de bästa vikterna w i Två bra algoritmer för enlagersnät: Perceptroninlärning Deltaregeln
Begränsningar Träning av enlagersnät Perceptroninlärning
Begränsningar Träning av enlagersnät Perceptroninlärning Inkrementell inlärning
Begränsningar Träning av enlagersnät Perceptroninlärning Inkrementell inlärning Vikterna ändras bara vid felklassificering
Begränsningar Träning av enlagersnät Perceptroninlärning Inkrementell inlärning Vikterna ändras bara vid felklassificering Uppdateringsregel: w i w i + η(t o)x i
Begränsningar Träning av enlagersnät Perceptroninlärning Inkrementell inlärning Vikterna ändras bara vid felklassificering Uppdateringsregel: w i w i + η(t o)x i Konvergerar alltid om klassningsproblemet är lösbart
Begränsningar Träning av enlagersnät Deltaregeln (LMS-regeln)
Begränsningar Träning av enlagersnät Deltaregeln (LMS-regeln) Inkrementell inlärning
Begränsningar Träning av enlagersnät Deltaregeln (LMS-regeln) Inkrementell inlärning Vikterna ändras alltid
Begränsningar Träning av enlagersnät Deltaregeln (LMS-regeln) Inkrementell inlärning Vikterna ändras alltid w i w i + η(t w T x)x i
Begränsningar Träning av enlagersnät Deltaregeln (LMS-regeln) Inkrementell inlärning Vikterna ändras alltid w i w i + η(t w T x)x i Konvergerar endast i statistisk mening
Begränsningar Träning av enlagersnät Deltaregeln (LMS-regeln) Inkrementell inlärning Vikterna ändras alltid w i w i + η(t w T x)x i Konvergerar endast i statistisk mening Hittar en optimal lösning även om problemet inte är exakt lösbart
Möjliga avbildningar Backprop algoritmen Praktiska problem 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 4
Möjliga avbildningar Backprop algoritmen Praktiska problem Vad är poängen med att ha flera lager?
Möjliga avbildningar Backprop algoritmen Praktiska problem Vad är poängen med att ha flera lager?
Möjliga avbildningar Backprop algoritmen Praktiska problem Vad är poängen med att ha flera lager?
Möjliga avbildningar Backprop algoritmen Praktiska problem Vad är poängen med att ha flera lager?
Möjliga avbildningar Backprop algoritmen Praktiska problem Vad är poängen med att ha flera lager? Ett tvålagersnät kan implementera godtyckliga beslutsytor
Möjliga avbildningar Backprop algoritmen Praktiska problem Vad är poängen med att ha flera lager? Ett tvålagersnät kan implementera godtyckliga beslutsytor...förutsatt att man har tillräckligt många gömda enheter
Möjliga avbildningar Backprop algoritmen Praktiska problem Blir det ännu bättre med ännu fler lager?
Möjliga avbildningar Backprop algoritmen Praktiska problem Blir det ännu bättre med ännu fler lager? Två lager kan beskriva alla klassificeringar Två lager kan approximera alla snälla funktioner
Möjliga avbildningar Backprop algoritmen Praktiska problem Blir det ännu bättre med ännu fler lager? Två lager kan beskriva alla klassificeringar Två lager kan approximera alla snälla funktioner Tre lager kan ibland göra samma sak effektivare
Möjliga avbildningar Backprop algoritmen Praktiska problem Blir det ännu bättre med ännu fler lager? Två lager kan beskriva alla klassificeringar Två lager kan approximera alla snälla funktioner Tre lager kan ibland göra samma sak effektivare Fler än tre lager används mycket sällan
Möjliga avbildningar Backprop algoritmen Praktiska problem Hur tränar man ett flerlagersnät?
Möjliga avbildningar Backprop algoritmen Praktiska problem Hur tränar man ett flerlagersnät? Varken perceptroninlärning eller deltaregeln kan användas
Möjliga avbildningar Backprop algoritmen Praktiska problem Hur tränar man ett flerlagersnät? Varken perceptroninlärning eller deltaregeln kan användas Fundamentalt problem: När nätet svarar fel vet man inte i vilken riktning vikterna ska ändras för att det ska bli bättre
Möjliga avbildningar Backprop algoritmen Praktiska problem Hur tränar man ett flerlagersnät? Varken perceptroninlärning eller deltaregeln kan användas Fundamentalt problem: När nätet svarar fel vet man inte i vilken riktning vikterna ska ändras för att det ska bli bättre Avgörande trick: Använd trösklingsliknande kontinuerliga funktioner
Möjliga avbildningar Backprop algoritmen Praktiska problem Hur tränar man ett flerlagersnät? Varken perceptroninlärning eller deltaregeln kan användas Fundamentalt problem: När nätet svarar fel vet man inte i vilken riktning vikterna ska ändras för att det ska bli bättre Avgörande trick: Använd trösklingsliknande kontinuerliga funktioner Σ Σ
Möjliga avbildningar Backprop algoritmen Praktiska problem
Möjliga avbildningar Backprop algoritmen Praktiska problem Grundidé: Minimera felet (E) som en funktion av alla vikter ( w)
Möjliga avbildningar Backprop algoritmen Praktiska problem Grundidé: Minimera felet (E) som en funktion av alla vikter ( w) 1 Beräkna den riktning i viktrummet dit felet ökar mest: grad w (E)
Möjliga avbildningar Backprop algoritmen Praktiska problem Grundidé: Minimera felet (E) som en funktion av alla vikter ( w) 1 Beräkna den riktning i viktrummet dit felet ökar mest: grad w (E) 2 Ändra vikterna i motsatt riktning w i w i η E w i
Möjliga avbildningar Backprop algoritmen Praktiska problem Normalt utnyttjar man felet för ett exempel i taget
Möjliga avbildningar Backprop algoritmen Praktiska problem Normalt utnyttjar man felet för ett exempel i taget E = 1 2 (t k o k ) 2 k Out
Möjliga avbildningar Backprop algoritmen Praktiska problem Normalt utnyttjar man felet för ett exempel i taget E = 1 2 k Out (t k o k ) 2 Som trösklingsliknande funktion används ofta ρ(y) = 1 1 + e y 1 0.75 0.5 0.25 1 1 + e x 0 10 5 0 5 10
Möjliga avbildningar Backprop algoritmen Praktiska problem Gradienten kan uttryckas som en funktion av ett lokalt generaliserat fel δ E w ji = δ i x j
Möjliga avbildningar Backprop algoritmen Praktiska problem Gradienten kan uttryckas som en funktion av ett lokalt generaliserat fel δ E w ji = δ i x j w ji w ji + ηδ i x j
Möjliga avbildningar Backprop algoritmen Praktiska problem Gradienten kan uttryckas som en funktion av ett lokalt generaliserat fel δ E w ji = δ i x j w ji w ji + ηδ i x j Utlagret: δ k = o k (1 o k ) (t k o k )
Möjliga avbildningar Backprop algoritmen Praktiska problem Gradienten kan uttryckas som en funktion av ett lokalt generaliserat fel δ E w ji = δ i x j w ji w ji + ηδ i x j Utlagret: δ k = o k (1 o k ) (t k o k ) Gömda lager: δ h = o h (1 o h ) w kh δ k k Out
Möjliga avbildningar Backprop algoritmen Praktiska problem Gradienten kan uttryckas som en funktion av ett lokalt generaliserat fel δ E w ji = δ i x j w ji w ji + ηδ i x j Utlagret: δ k = o k (1 o k ) (t k o k ) Gömda lager: δ h = o h (1 o h ) w kh δ k k Out Felet δ propagerar bakåt genom lagren Error backpropagation (BackProp)
Möjliga avbildningar Backprop algoritmen Praktiska problem Att tänka på när man använder BackProp
Möjliga avbildningar Backprop algoritmen Praktiska problem Att tänka på när man använder BackProp Långsam Kräver normalt tusentals genomgångar av datamängden
Möjliga avbildningar Backprop algoritmen Praktiska problem Att tänka på när man använder BackProp Långsam Kräver normalt tusentals genomgångar av datamängden Gradientföljning Riskerar att fastna i lokala minima
Möjliga avbildningar Backprop algoritmen Praktiska problem Att tänka på när man använder BackProp Långsam Kräver normalt tusentals genomgångar av datamängden Gradientföljning Riskerar att fastna i lokala minima Många parametrar Steglängden η Antal lager Antal gömda enheter In- och utrepresentationen Initiala viktvärden
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 4
Näten interpolerar normalt mjukt mellan träningsdatapunkterna
Näten interpolerar normalt mjukt mellan träningsdatapunkterna 1 0.75 0.5 0.25 0 0 0.2 0.4 0.6 0.8 1
Näten interpolerar normalt mjukt mellan träningsdatapunkterna 1 0.75 0.5 0.25 0 0 0.2 0.4 0.6 0.8 1 Ger oftast bra generalisering
Risk för överinlärning!
Risk för överinlärning! Om nätet har för många frihetsgrader (vikter) är risken större att inlärningen hittar en konstig lösning
Risk för överinlärning! Om nätet har för många frihetsgrader (vikter) är risken större att inlärningen hittar en konstig lösning 1 0.75 0.5 0.25 0 0 0.2 0.4 0.6 0.8 1
Genom att begränsa antalet gömda noder får man bättre generalisering
Genom att begränsa antalet gömda noder får man bättre generalisering 1 0.75 0.5 0.25 0 0 0.2 0.4 0.6 0.8 1