Grundlagen zu neuronalen Netzen Kristina Tesch 03.05.2018
Gliederung 1. Funktionsprinzip von neuronalen Netzen 2. Das XOR-Beispiel 3. Training des neuronalen Netzes 4. Weitere Aspekte Kristina Tesch Grundlagen zu neuronalen Netzen 2/27
Zielsetzung x f y Kristina Tesch Grundlagen zu neuronalen Netzen 3/27
Zielsetzung x f y Neuronales Netz: definiert Abbildung y = f (x, θ) Kristina Tesch Grundlagen zu neuronalen Netzen 3/27
Zielsetzung x f y x f y Neuronales Netz: definiert Abbildung y = f (x, θ) θ Kristina Tesch Grundlagen zu neuronalen Netzen 3/27
Zielsetzung x f y x f y Neuronales Netz: definiert Abbildung y = f (x, θ) lernt Parameter θ θ Kristina Tesch Grundlagen zu neuronalen Netzen 3/27
Zielsetzung x f y x f y θ Neuronales Netz: definiert Abbildung y = f (x, θ) lernt Parameter θ zielt auf Bestapproximation der Funktion f (x) durch f (x, θ) Kristina Tesch Grundlagen zu neuronalen Netzen 3/27
Feedforward-Netzwerke approximierende Funktion f wird aus Funktionen zusammengesetzt Beispiel: f (x) = f 2 (f 1 (x)) Kristina Tesch Grundlagen zu neuronalen Netzen 4/27
Feedforward-Netzwerke approximierende Funktion f wird aus Funktionen zusammengesetzt Beispiel: f (x) = f 2 (f 1 (x)) x f 1 f 2 y Kristina Tesch Grundlagen zu neuronalen Netzen 4/27
Feedforward-Netzwerke approximierende Funktion f wird aus Funktionen zusammengesetzt Beispiel: f (x) = f 2 (f 1 (x)) x f 1 f 2 y x 1 f 1 1 f 2 y x 2 f 1 2 Kristina Tesch Grundlagen zu neuronalen Netzen 4/27
Das XOR-Problem x 2 x 1 x 2 x 1 x 2 0 0 0 1 0 1 0 1 1 1 1 0 x 1 Kristina Tesch Grundlagen zu neuronalen Netzen 5/27
Lösung mit neuronalem Netz x Matrixmultiplikation Biasaddition elementw. Sigmoid y elementw. Sigmoid Vektormultiplikation Biasaddition Kristina Tesch Grundlagen zu neuronalen Netzen 6/27
Features im neuronalen Netz Ausgangsrepräsentation des XOR-Problems: x 2 Repräsentation durch das Hidden-Layer: a 1 2 x 1 a 1 1 Kristina Tesch Grundlagen zu neuronalen Netzen 7/27
Training des neuronalen Netzes Ziel: Anpassen der Parameter von f um f möglichst gut zu approximieren Wesentliche Elemente: Trainingsbeispiele Kostenfunktion bewertet die Güte der Approximation entsprechend der Aufgabe zu wählen Optimierungsverfahren Verbesserung der Parameter Kristina Tesch Grundlagen zu neuronalen Netzen 8/27
Beispiele für Kostenfunktionen Mittlerer quadratischer Fehler (Mean Square Error (MSE)) Klassifikationsfehler Kreuzentropie (Cross-entropy) Kristina Tesch Grundlagen zu neuronalen Netzen 9/27
Kreuzentropie H(P, Q) = E x P [log Q(x)] X : Zufallsvariable P, Q: Wahrscheinlichkeitsverteilungen x P: x unterliegt Wahrscheinlichkeitsverteilung P E: Erwartungswert Kristina Tesch Grundlagen zu neuronalen Netzen 10/27
Kreuzentropie H(P, Q) = E x P [log Q(x)] X : Zufallsvariable P, Q: Wahrscheinlichkeitsverteilungen x P: x unterliegt Wahrscheinlichkeitsverteilung P E: Erwartungswert Minimierungsproblem entspricht Maximum-Likelihood Schätzung Kristina Tesch Grundlagen zu neuronalen Netzen 10/27
Kreuzentropie als Kostenfunktion H(P, Q) = E y PY X [log Q(y x, θ)] X : Trainingsdaten Y : Label der Trainingsdaten P(y x): Verteilung der beobachteten Daten Q(y x): Verteilung des Modells Kristina Tesch Grundlagen zu neuronalen Netzen 11/27
MSE als Kostenfunktion J(θ) = E y PY X y f (x; θ) 2 2 minimiert Abstand zwischen Label und Vorhersage Maximum-Likelihood Schätzer unter Annahme P Y X = N (ˆµ, σ 2 ) feste Varianz Schätzung des Mittelwerts ˆµ = f (x, θ)...using the MSE loss makes sense if the assumption that your outputs are a real-valued function of your inputs, with a certain amount of irreducible Gaussian noise, with constant mean and variance. [1] Kristina Tesch Grundlagen zu neuronalen Netzen 12/27
Klassifikationsfehler als Kostenfunktion Anzahl der Klassifikationsfehler nicht stetig Beispiel [2]: Berechnet Label Richtig? 0.3 0.3 0.4 0 0 1 ja 0.3 0.4 0.3 0 1 0 ja 0.1 0.2 0.7 1 0 0 nein Berechnet Label Richtig? 0.3 0.3 0.4 0 0 1 ja 0.3 0.4 0.3 0 1 0 ja 0.3 0.4 0.3 1 0 0 nein Kristina Tesch Grundlagen zu neuronalen Netzen 13/27
Optimierungsverfahren Minimieren der Kosten durch Anpassung der Parameter basiert üblichweise auf dem Gradienten z.b. Stochastic Gradient Descent (SGD) Kristina Tesch Grundlagen zu neuronalen Netzen 14/27
Ableitung 4 3 f (θ) f (θ 0 ) 2 f (θ 1 ) 1 0 0.5 1 1.5 2 2.5 3 θ Kristina Tesch Grundlagen zu neuronalen Netzen 15/27
Gradient 1,000 p 500 0 0 2 4 x 6 8 10 0 5 y 10 Kristina Tesch Grundlagen zu neuronalen Netzen 16/27
Backpropagation [3] Berechnen des Gradienten der Kostenfunktion Methode: Zurückpropagieren des Fehlers durch das Netz Betrachte zunächst nur ein Trainingsbeispiel (x, y) Kristina Tesch Grundlagen zu neuronalen Netzen 17/27
Backpropagation - Fehler δ l j Layer l 1 Layer l Layer l + 1 Neuron j in Layer l Kristina Tesch Grundlagen zu neuronalen Netzen 18/27
Backpropagation - Fehler δ l j Layer l 1 Layer l Layer l + 1 Fehler δ l j := C z l j Neuron j in Layer l Kristina Tesch Grundlagen zu neuronalen Netzen 18/27
Backpropagation - Fehler δ l j Layer l 1 Layer l Layer l + 1 Fehler δ l j := C z l j δj l klein Einfluss auf die Kosten ist gering zj l hat nahezu optimalen Wert Neuron j in Layer l Kristina Tesch Grundlagen zu neuronalen Netzen 18/27
Backpropagation - Fehler δ l j Layer l 1 Layer l Layer l + 1 Fehler δ l j := C z l j Neuron j in Layer l δj l klein Einfluss auf die Kosten ist gering zj l hat nahezu optimalen Wert δj l groß Einfluss auf die Kosten ist groß zj l sollte einen anderen Wert haben Kristina Tesch Grundlagen zu neuronalen Netzen 18/27
Backpropagation - δ L j für die letzte Schicht Ziel: Berechne δ L j = C z L j für alle Ausgabeneuronen Kristina Tesch Grundlagen zu neuronalen Netzen 19/27
Backpropagation - δ L j für die letzte Schicht Ziel: Berechne δ L j = C z L j für alle Ausgabeneuronen Annahme: nur ein Ausgabeneuron Kristina Tesch Grundlagen zu neuronalen Netzen 19/27
Backpropagation - δ L j für die letzte Schicht Ziel: Berechne δ L j = C z L j für alle Ausgabeneuronen Annahme: nur ein Ausgabeneuron C(a L ) = C(σ(z L )) Kristina Tesch Grundlagen zu neuronalen Netzen 19/27
Backpropagation - δ L j für die letzte Schicht Ziel: Berechne δ L j = C z L j für alle Ausgabeneuronen Annahme: nur ein Ausgabeneuron C(a L ) = C(σ(z L )) δ L j = C z L j = C a L σ (z L ) Kristina Tesch Grundlagen zu neuronalen Netzen 19/27
Backpropagation - δ L j für die letzte Schicht Ziel: Berechne δ L j = C z L j für alle Ausgabeneuronen Annahme: nur ein Ausgabeneuron C(a L ) = C(σ(z L )) δj L = C zj L = C a L σ (z L ) Erweiterung: k Ausgabeneuronen Kristina Tesch Grundlagen zu neuronalen Netzen 19/27
Backpropagation - δ L j für die letzte Schicht Ziel: Berechne δ L j = C z L j für alle Ausgabeneuronen Annahme: nur ein Ausgabeneuron C(a L ) = C(σ(z L )) δ L j = C z L j = C a L σ (z L ) Erweiterung: k Ausgabeneuronen C(a L 1,..., al k ) = C(σ(zL 1 ),..., σ(zl k )) Kristina Tesch Grundlagen zu neuronalen Netzen 19/27
Backpropagation - δ L j für die letzte Schicht Ziel: Berechne δ L j = C z L j für alle Ausgabeneuronen Annahme: nur ein Ausgabeneuron C(a L ) = C(σ(z L )) δj L = C zj L = C a L σ (z L ) Erweiterung: k Ausgabeneuronen C(a1 L,..., al k ) = C(σ(zL 1 ),..., σ(zl k )) δj L = C zj L = C k al k zj L = C aj L σ (z L ) a L k Kristina Tesch Grundlagen zu neuronalen Netzen 19/27
Backpropagation - δ l j mit Hilfe von δ l+1 k für alle k Ziel: Berechne δ l j = C z l j Kristina Tesch Grundlagen zu neuronalen Netzen 20/27
Backpropagation - δ l j mit Hilfe von δ l+1 k für alle k Ziel: Berechne δ l j = C z l j Umschreiben mit der Kettenregel δ l j = C z l j = k C z l+1 k zl+1 k zj l Kristina Tesch Grundlagen zu neuronalen Netzen 20/27
Backpropagation - δ l j mit Hilfe von δ l+1 k für alle k Ziel: Berechne δ l j = C z l j Umschreiben mit der Kettenregel δ l j = C z l j = k Einsetzen in z l+1 k C z l+1 k zl+1 k zj l z l+1 k = j w l+1 kj aj l + b l+1 k = j w l+1 kj σ(z l j ) + bl+1 k Kristina Tesch Grundlagen zu neuronalen Netzen 20/27
Backpropagation - δ l j mit Hilfe von δ l+1 k für alle k Ziel: Berechne δ l j = C z l j Umschreiben mit der Kettenregel δ l j = C z l j = k Einsetzen in z l+1 k C z l+1 k zl+1 k zj l z l+1 k = j w l+1 kj aj l + b l+1 k = j w l+1 kj Ableitung zl+1 k zj l σ(z l j ) + bl+1 k zl+1 k zj l = zl+1 k aj l al j z l j = w l+1 kj σ (z l j ) Kristina Tesch Grundlagen zu neuronalen Netzen 20/27
Backpropagation - δ l j mit Hilfe von δ l+1 k für alle k Ziel: Berechne δ l j = C z l j Umschreiben mit der Kettenregel δ l j = C z l j = k Einsetzen in z l+1 k C z l+1 k zl+1 k zj l z l+1 k = j w l+1 kj aj l + b l+1 k = j w l+1 kj Ableitung zl+1 k zj l = k δl+1 k w l+1 kj σ (z l j ) σ(z l j ) + bl+1 k zl+1 k zj l = zl+1 k aj l al j z l j = w l+1 kj σ (z l j ) Kristina Tesch Grundlagen zu neuronalen Netzen 20/27
Backpropagation - partielle Ableitungen C b l j und C w l kj Ziel: Berechne partielle Ableitungen des Gradienten Kristina Tesch Grundlagen zu neuronalen Netzen 21/27
Backpropagation - partielle Ableitungen C b l j und C w l kj Ziel: Berechne partielle Ableitungen des Gradienten gewichteter Input z l j eines Neurons z l k = j w l kj al 1 j + b l k Kristina Tesch Grundlagen zu neuronalen Netzen 21/27
Backpropagation - partielle Ableitungen C b l j und C w l kj Ziel: Berechne partielle Ableitungen des Gradienten gewichteter Input z l j eines Neurons z l k = j w l kj al 1 j + b l k partielle Ableitung der Kostenfunktion nach dem Bias b l j C b l j = C z l j zl j b l j = δ l j zl j b l j = δ l j Kristina Tesch Grundlagen zu neuronalen Netzen 21/27
Backpropagation - partielle Ableitungen C b l j und C w l kj Ziel: Berechne partielle Ableitungen des Gradienten gewichteter Input z l j z l k = j w l kj al 1 j eines Neurons + b l k partielle Ableitung der Kostenfunktion nach dem Bias b l j C bj l = C zj l zl j bj l = δj l zl j bj l = δj l partielle Ableitung der Kostenfunktion nach dem Gewicht w k j l C w l kj = C z l j z l j w l kj = δ l j z l j w l kj = δ l j a l 1 k Kristina Tesch Grundlagen zu neuronalen Netzen 21/27
Backpropagation Eingabe: eine Menge von m Trainingsbeispielen für jedes Trainingsbeispiel x Feedforward: berechne z x,l j und a x,l k für alle k und j Fehler in der letzten Schicht: berechne δ x,l j für alle j Backpropagation des Fehlers: berechne δ x,l j für alle l für alle j Gradient der gesamten Menge (gemittelt) Gewichte: Bias: C b l j C w l kj = 1 m = 1 m x δx,l j x δx,l j a x,l 1 k Kristina Tesch Grundlagen zu neuronalen Netzen 22/27
Implikationen des Backpropagation-Algorithmus Kostenfunktion ist ein Mittel über die Kosten eines einzelnen Trainingsbeispiels Kostenfunktion ist Funktion der Ausgaben des Netzes Differenzierbarkeit der Aktivierungsfunktion Saturierung der Aktivierungsfunktion führt zu kleinen Gradienten Kristina Tesch Grundlagen zu neuronalen Netzen 23/27
Weiterführendes Initialisierung Optimierungsverfahren (z.b. Stochastic Gradient Descent, Adam etc.) Netzarchitektur (z.b. Aktivierungsfunktion, Verbindungen, Rekurrenz etc.) Hyperparameter Regularisierung Kristina Tesch Grundlagen zu neuronalen Netzen 24/27
Literatur I R. Varma, Picking Loss Functions - A comparison between MSE, Cross Entropy, and Hinge Loss. http://rohanvarma.me/loss-functions/, Januar 2018. J. D. McCaffrey, Why You Should Use Cross-Entropy Error Instead Of Classification Error Or Mean Squared Error For Neural Network Classifier Training. https://jamesmccaffrey.wordpress.com/2013/11/05/whyyou-should-use-cross-entropy-error-instead-ofclassification-error-or-mean-squared-error-for-neuralnetwork-classifier-training/, November 2013. M. Nielsen, Neural networks and deep learning. http://neuralnetworksanddeeplearning.com/index.html, 2015. Kristina Tesch Grundlagen zu neuronalen Netzen 25/27
Literatur II Y. B. Ian Goodfellow and A. Courville, Deep learning. Book in preparation for MIT Press, 2016. Kristina Tesch Grundlagen zu neuronalen Netzen 26/27
Maximum Likelihood Schätzung Ziel: Schätze den gesuchten Parameter so, dass die Beobachtung besonders wahrscheinlich wird Beispiel: Urne mit 20 Kugeln (r schwarze und 20 r weiße Kugeln) ziehe 4 Kugeln ohne Zurücklegen wiederhole das Experiment mehrmals X = [1, 1, 1, 2, 1, 0] Welchen Wert hat r? Kristina Tesch Grundlagen zu neuronalen Netzen 27/27
Maximum Likelihood Schätzung Ziel: Schätze den gesuchten Parameter so, dass die Beobachtung besonders wahrscheinlich wird Beispiel: Urne mit 20 Kugeln (r schwarze und 20 r weiße Kugeln) ziehe 4 Kugeln ohne Zurücklegen wiederhole das Experiment mehrmals X = [1, 1, 1, 2, 1, 0] Welchen Wert hat r? r 2 3 4 5 6 7 8 9 L(X, r) 0.0003 0.0013 0.0026 0.003 0.0024 0.0016 0.0007 0.0003 Kristina Tesch Grundlagen zu neuronalen Netzen 27/27