Neural Networks: Architectures and Applications for NLP

Ähnliche Dokumente
Neuronale Netze mit mehreren Schichten

Künstliche Neuronale Netze und Data Mining

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Kapitel LF: IV. IV. Neuronale Netze

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2016

Inhalt. 2. Caffe meets Java

Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und

Multivariate Analysis

Softcomputing Biologische Prinzipien in der Informatik. Neuronale Netze. Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF

Neuronale Netze (I) Biologisches Neuronales Netz

Handschrifterkennung mittels Multilayer Perceptron und Bagging auf dem Android Betriebssystem

Machine Learning - Maschinen besser als das menschliche Gehirn?

Einführung in neuronale Netze

Kapitel LF: IV. Multilayer-Perzeptrons und Backpropagation. Multilayer-Perzeptrons und Backpropagation. LF: IV Machine Learning c STEIN

Wirtschaftsmathematik für International Management (BA) und Betriebswirtschaft (BA)

Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 5. Aufgabenblatt: Neural Network Toolbox 1

Algorithmentheorie Randomisierung. Robert Elsässer

Simulation neuronaler Netzwerke mit TIKAPP

Hochschule Regensburg. Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer

Jan Parthey, Christin Seifert. 22. Mai 2003

Ein Vergleich von Methoden für Multi-klassen Support Vector Maschinen

Structurally Evolved Neural Networks for Forecasting

Computer Vision: AdaBoost. D. Schlesinger () Computer Vision: AdaBoost 1 / 10

Customization (Zuschneiden)

Neuronale Netze. Prof. Dr. Rudolf Kruse Christoph Doell, M.Sc.

Proseminar - Data Mining

Rechnerische Komplexität

IBM SPSS Neural Networks

Technische Universität. Fakultät für Informatik

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Inhaltsverzeichnis. 1 Lineare Algebra 12

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

18 Höhere Ableitungen und Taylorformel

Künstliche Neuronale Netze als Neues Paradigma der Informationsverarbeitung

Einführung in Neuronale Netze

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

Algorithmen und Datenstrukturen 2

Proseminar - Data Mining

3.4 Asymptotische Evaluierung von Sch atzer Konsistenz Konsistenz Definition 3.4.1: konsistente Folge von Sch atzer

Wirtschaftsmathematik Plus für International Management (BA) und Betriebswirtschaft (BA)

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Lernstrategien für Neuronale Netze - Der Backpropagation-Algorithmus

Algorithmen II Vorlesung am

Entwicklung einer Entscheidungssystematik für Data- Mining-Verfahren zur Erhöhung der Planungsgüte in der Produktion

Skriptum zum ersten Teil der Einführung in die Wissensverarbeitung

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren Thomas Brox, Fabian Kuhn

Elementare Bildverarbeitungsoperationen

LEHRPLAN MATHEMATIK SPORT- UND MUSIKKLASSE

Das Perzeptron. Künstliche neuronale Netze. Sebastian Otte. 1 Grundlegendes. 2 Perzeptron Modell

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme

Zeit- und Ressourcenplanung leicht gemacht - Unterstützung durch Simulation

Fachcurriculum Mathematik Klasse 9/10

Optimierung. Florian Jarre Josef Stoer. Springer

Algorithms for Regression and Classification

Funktionen mehrerer Variabler

Programmieren in natürlicher Sprache: Alice-Kontrollstrukturen

x 2 x 1 x Lernen mit Entscheidungsbäumen

Kernel, Perceptron, Regression. Erich Schubert, Arthur Zimek KDD Übung

Computational Intelligence I Künstliche Neuronale Netze

Thema 4 Limiten und Stetigkeit von Funktionen

Data Mining mit der SEMMA Methodik. Reinhard Strüby, SAS Institute Stephanie Freese, Herlitz PBS AG

Kern- und Schulcurriculum Mathematik Klasse 9/10. Stand Schuljahr 2009/10

Bioinformatik I (Einführung)

Vorlesung 3 MINIMALE SPANNBÄUME

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

weitere Modelle und Methoden

Nichtlineare Gleichungssysteme

2. Repräsentationen von Graphen in Computern

Übersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen

Künstliche Neuronale Netze (KNN)

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Principal Component Analysis (PCA)

Machine Learning - Maschinen besser als das menschliche Gehirn?

Maschinelles Lernen Entscheidungsbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Proposal zur Masterarbeit. Kombination der neuroevolutionären Methoden EANT mit Q-Learning und CMA-ES

Innovative Information Retrieval Verfahren

Software Maintenance. Program Slicing im Software Maintenance. Fehlerlokalisierung UNIV.-PROF. DIPL.-ING. DR. FRANZ WOTAWA

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining.

Lineare Programmierung

Exponential- & Logarithmusfunktionen

Predictive Modeling for Sports and Gaming Eine Präsentation von Manuel Wolf

Bayes sches Lernen: Übersicht

FACHCURRICULUM KL. 9. Raum und Form Figuren zentrisch strecken Üben und Festigen. Strahlensätze. Rechtwinklige Dreiecke.

Optimierung für Nichtmathematiker

IBM SPSS Neural Networks 22

Künstliche Neuronale Netze

Zusammenfassung - Mathematik

Chapter 1 : þÿ b e t a t h o m e k o s t e n l o s e r G e l d c h a p t e r

Chapter 1 : þÿ w a s i s t B a n k i e r W e t t e a u f b e t a t h o m e c h a p t e r

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg

Aufabe 7: Baum-Welch Algorithmus

x A, x / A x ist (nicht) Element von A. A B, A B A ist (nicht) Teilmenge von B. A B, A B A ist (nicht) echte Teilmenge von B.

Kapitel IR:I. I. Einführung. Retrieval-Szenarien Begriffsbildung Einordnung Information Retrieval

Aufbau und Beschreibung Neuronaler Netzwerke

Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht

Gliederung. Biologische Motivation Künstliche neuronale Netzwerke. Anwendungsbeispiele Zusammenfassung. Das Perzeptron

Transkript:

Neural Networks: Architectures and Applications for NLP Session 02 Julia Kreutzer 8. November 2016 Institut für Computerlinguistik, Heidelberg 1

Overview 1. Recap 2. Backpropagation 3. Ausblick 2

Recap

Multi-Layer-Perceptron: Regression NN(x) = σ(w 2 σ(w 1 x+b 1 )+b 2 ) Regression: NN(x) R Beispiel: W 1 R 4x3, b 1 R 3, W 2 R 3x1, b 2 R 1 3

Multi-Layer-Perceptron: Binäre Klassifikation NN(x) = σ(w 2 σ(w 1 x+b 1 )+b 2 ) Binäre Klassifikation: NN(x) R 2 Beispiel: W 1 R 4x3, b 1 R 3, W 2 R 3x2, b 2 R 2 4

Multi-Layer-Perceptron: Multinomiale Klassifikation NN(x) = σ(w 2 σ(w 1 x+b 1 )+b 2 ) Multinomiale Klassifikation: NN(x) R k k Ausgabeneuronen liefern Scores für k Klassen 5

Aktivierungsfunktionen f (z) f (z) f (z) sigmoid 1 1+exp(z) σ(z)(1 σ(z)) (0, 1) tanh hardtanh exp(2z) 1 exp(2z)+1 1 tanh 2 (z) ( 1, +1) 1 z < 1 1 z > 1 z otherwise { x 1 z 1 0 otherwise ( 1, +1) ReLU 1 max(0, z) { 1 z > 0 0 otherwise (0, ) 1 Rectified Linear Units, auch: hinge 6

Aktivierungsfunktionen 2 1 0 tanh hardtanh sigmoid ReLU 1 2 1 0 1 2 7

softmax-funktion softmax erlaubt die Interpretation der Ausgabe als Wahrscheinlichkeitsverteilung über die k Klassen: softmax(o i ) = exp(o i) k j exp(o j ) P(ŷ = i x) = softmax(o i ) k i P(ŷ = i x) = 1 8

Klassifikation: Von der Netzausgabe zum Fehler Fehlerfunktionen vergleichen Verteilungen (P(y = i x) vs. P(ŷ = i x)) oder Scores für Klassen (z.b. multinomial 1 vs. o i ). Evaluationsmaße vergleichen meist die Klassenzuordnung (y vs. ŷ). Beispiel: Klassifikation mit 4 Klassen Gegeben: korrekte Klasse y = 1 Als One-Hot-Vektor: y = [0, 1, 0, 0] Netzausgabe: ŷ = [0.08, 0.25, 0.42, 0.25] Vorhergesagte Klasse: arg max i ŷ i = 2 9

Gradient Der Gradient einer Funktion gibt die Richtung des steilsten Anstiegs an. f (x) = f x 1 f x 2. f x n Die Einträge f x i sind partielle Ableitungen von f in x i -Richtung. 10

Batch Gradient Descent Algorithm 1 Batch Gradient Descent Input: Trainingset (x i, y i ) D Output: θ = arg min R D (θ) 1: for 1 N do N epochs 2: θ γ 1 D 3: end for D i L(f θ (x i ), y i ) θ Average gradients of training loss 11

Stochastic Gradient Descent (SGD) i Algorithm 2 Stochastic Gradient Descent Input: Trainingset (x i, y i ) D Output: θ = arg min R D (θ) 1: while stopping criterion not met do 2: Sample (x i, y i ) from D 3: θ γ L(f θ(x i ), y i ) θ 4: end while Gradients of one training sample Stopping criteria: convergence, fixed number of iterations,... 12

Stochastic Gradient Descent (SGD) ii In practice: Algorithm 3 Stochastic Gradient Descent (shuffle) Input: Trainingset (x i, y i ) D Output: θ = arg min R D (θ) 1: for 1 N do N epochs 2: Shuffle D Stochasticity 3: for i = 1... D do D iterations 4: θ γ L(f θ(x i ), y i ) θ 5: end for 6: end for Gradients of one training sample 13

Minibatch Gradient Descent i Algorithm 4 Minibatch Gradient Descent Input: Trainingset (x i, y i ) D Output: θ = arg min R D (θ) 1: while stopping criterion not met do 2: Sample minibatch of size s from D 3: θ γ 1 s 4: end while s i L(f θ (x i ), y i ) θ Average gradients of minibatch 14

Minibatch Gradient Descent ii In practice: Algorithm 5 Minibatch Gradient Descent (shuffle) Input: Trainingset (x i, y i ) D Output: θ = arg min R D (θ) 1: for 1 N do N epochs 2: Shuffle D 3: Split D into minibatches of size s 4: for i = 1... D do D iterations s s 5: θ γ 1 s 6: end for 7: end for s i L(f θ (x i ), y i ) θ Average gradients of minibatch 15

Gradient Descent Varianten [Bottou, 2004] 1. Batch Garantierte Konvergenz zu einem Minimum (konvex: global, non-konvex: lokal) Redundanz bei großen Trainingsets Aufwendige Berechnung der Gradienten 16

Gradient Descent Varianten [Bottou, 2004] 1. Batch Garantierte Konvergenz zu einem Minimum (konvex: global, non-konvex: lokal) Redundanz bei großen Trainingsets Aufwendige Berechnung der Gradienten 2. Stochastic schnellere Berechnung Online-Adaption höhere Varianz der Gradienten garantierte Konvergenz mit kleiner werdendem η 16

Gradient Descent Varianten [Bottou, 2004] 1. Batch Garantierte Konvergenz zu einem Minimum (konvex: global, non-konvex: lokal) Redundanz bei großen Trainingsets Aufwendige Berechnung der Gradienten 2. Stochastic schnellere Berechnung Online-Adaption höhere Varianz der Gradienten garantierte Konvergenz mit kleiner werdendem η 3. Minibatch Varianzreduktion im Vergleich zu SGD effiziente Berechnung mit NN-Libraries zusätzlicher Hyperparameter: Größe der Minibatches 16

Ableitungsregeln f (x) f (x) Konstante c 0 Vielfaches c f (x) c f (x) Summe g(x) + h(x) g (x) + h (x) Produkt g(x) h(x) g (x) h(x) + g(x) h (x) Kettenregel g(h(x)) g (h(x)) h (x) Potenz x n n x n 1 Exponentialfunktion exp(x) exp(x) 1 Logarithmusfunktionen ln(x) x a 1 log x x ln a 17

Backpropagation

Backpropagation: Idee Lernprozess: Klassifizierungsfehler Update der Gewichte Welche Gewichte eines tiefen Netzwerks müssen wie geändert werden? Backpropagation: Kettenregel zur Berechnung der Gradienten Wiederverwenden von Zwischenergebnissen 18

Backpropagation: Beispiel 1. Berechne NN(x) =σ(w 2 h)) =σ(w 2 σ(w 1 x)) =σ( j w j h j ) =σ( j w j σ( i w ij x i )) L(NN(x), y) = 1 2 (y NN(x))2 19

Backpropagation: Beispiel 2. Berechne a) Für jedes Gewicht in der letzten Schicht: L(NN(x), y) L(NN(x), y) NN(x) = w j NN(x) w j =(y NN(x)) σ( j w j h j ) w j =(y NN(x)) σ( j w j h j ) j w j h j =(y NN(x)) σ ( j w j h j ) h j j w j h j w j 20

Backpropagation: Beispiel 2. Berechne b) Für jedes Gewicht in der ersten Schicht: L(NN(x), y) L(NN(x), y) NN(x) = w ij NN(x) w ij =(y NN(x)) σ( j w j σ( i w ij x i )) w ij =(y NN(x)) σ( j w j σ( i w ij x i )) j w j σ( j w j σ( i w ij x i ) i w ij x i ) w ij =(y NN(x)) σ ( j w j h j ) j w j σ( i w ij x i ) w ij =(y NN(x)) σ ( j w σ( j h j ) w i w ij x i ) j i w ij x i =(y NN(x)) σ ( j w j h j ) w j σ ( i w ij x i ) x i i w ij x i w ij 21

Backpropagation: Beispiel 2. Berechne a) Für jedes Gewicht in der letzten Schicht: L(NN(x), y) L(NN(x), y) NN(x) = w j NN(x) w j =(y NN(x)) σ( j w j h j ) w j =(y NN(x)) σ( j w j h j ) j w j h j =(y NN(x)) σ ( j w j h j ) h j j w j h j w j 22

Backpropagation: Beispiel 2. Berechne b) Für jedes Gewicht in der ersten Schicht: L(NN(x), y) L(NN(x), y) NN(x) = w ij NN(x) w ij =(y NN(x)) σ( j w j σ( i w ij x i )) w ij =(y NN(x)) σ( j w j σ( i w ij x i )) j w j σ( j w j σ( i w ij x i ) i w ij x i ) w ij =(y NN(x)) σ ( j w j h j ) j w j σ( i w ij x i ) w ij =(y NN(x)) σ ( j w σ( i j h j ) w w ij x i ) j i w ij x i =(y NN(x)) σ ( j w j h j ) w j σ ( i w ij x i ) x i i w ij x i w ij 23

Backpropagation: Deltas Gradienten der Gewichte eines Neurons setzen sich aus dem skalierten Fehler aus den oberen Schicht und dem Output der unteren Schicht zusammen: Update-Regel: L(NN(x), y) w ij = L(NN(x), y) i w ij x i i w ij x i w ij =δ j out i w ij = η δ j out i 24

Backpropagation: Algorithmus i 1. Forward Pass vom Input- zum Output-Layer: Berechne die Ausgabe out für jedes Neuron Berechne die Netzausgabe NN(x) Berechne den Fehler L(NN(x), y) 25

Backpropagation: Algorithmus ii 2. Backward Pass vom Output- zum Input-Layer: Berechne den Fehler-Term δ für jedes Neuron Berechne das Gewichtsupdate w ij = η δ j out i 26

Computation Graph Backprop Repräsentation des NN als DAG: Knoten entsprechen Tensor-Operationen oder Variablen ( tensor ) Kanten geben die Weitergabe der Werte an ( flow ) Topologische Sortierung für Backpropagation Mehr: Chris Olah s Blogpost über Backprop mit Computation Graphs 27

Computation Graph MLP Abbildung 1: Graph ohne konkretes Input [Goldberg, 2015] 28

Computation Graph MLP Abbildung 2: Graph mit konkretem Input [Goldberg, 2015] 29

Computation Graph MLP Abbildung 3: Graph mit Input und Fehlerberechnung [Goldberg, 2015] 30

Ausblick

Nächstes Mal How to train your NN Probleme NLP-Anwendungen 31

Wer nicht lesen will muss hören Machine Learning Podcasts: This Week in Machine Learning and AI Talking Machines Learning Machines 101 32

References i Bottou, L. (2004). Stochastic learning. In Advanced lectures on machine learning, pages 146 168. Springer. Goldberg, Y. (2015). A primer on neural network models for natural language processing. arxiv preprint arxiv:1510.00726.