1 / 38

6. Lernverfahren Backpropagation

6. Lernverfahren Backpropagation. Jörg Krone, Ulrich Lehmann, Hans Brenig, Oliver Drölle, Michael Schneider. Backpropagation der Differenz  k für die Anpassung der Gewichte. Inhalt. Prinzip Backpropagation Backpropagation-Regel Lernkurve Mögliche Probleme des Lernverfahrens

tadeo
Download Presentation

6. Lernverfahren Backpropagation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6. Lernverfahren Backpropagation Jörg Krone, Ulrich Lehmann, Hans Brenig, Oliver Drölle, Michael Schneider BackpropagationderDifferenz kfür die Anpassung der Gewichte 60 Lernverfahren Backpropagation

  2. Inhalt • Prinzip Backpropagation • Backpropagation-Regel • Lernkurve • Mögliche Probleme des Lernverfahrens • Empfehlungen für ein erfolgreiches Training 60 Lernverfahren Backpropagation

  3. Wie wird gelernt? Theoretisch mögliche Arten des Lernens • Entwicklung neuer Verbindungen • Löschen existierender Verbindungen • Modifikation der Gewichte wij von Verbindungen • Modifikation des Schwellwertes  von Neuronen • Modifikation der Aktivierungs-, Propagierungs- oder Ausgabefunktion • Entwicklung neuer Zellen • Löschen von Zellen 60 Lernverfahren Backpropagation

  4. Aktivierungsfunktionen für Backpropagation müssen diffenzierbar sein! meistens • Identität • logistische Fkt. • tanh (x) 60 Lernverfahren Backpropagation

  5. Differenzierbare Aktivierungsfunktionen ++ Bei der sigmoiden (logistischen-) und tanh-Funktion sind die Ableitungen einfach aus den Funktionswerten berechenbar (z = x aus der vorhergehenden Grafik) bzw. logistische: 60 Lernverfahren Backpropagation

  6. Logistische Funktion und ihre Ableitung 60 Lernverfahren Backpropagation

  7. tanh (x)-Funktion und ihre Ableitung 60 Lernverfahren Backpropagation

  8. Vergleich der sigmoiden Aktivierungsfunktionen 60 Lernverfahren Backpropagation

  9. Ablauf des überwachten Lernendurch Backpropagation Backpropagation führt für alle Trainingsdatensätze folgende Schritte durch: • Präsentation des Eingabemusters an den Eingabeneuronen • Vorwärtspropagierung der angelegten Eingabe durch das Netz bis Ausgabe • Vergleich der Ausgabe mit der erwünschten Ausgabe (teachinginput) -> Differenzvektor • Rückwärtspropagierung der Fehler von der Ausgabeschicht zur Eingabeberechnet Änderungen der Gewichte zur Verringerung des Differenzvektors • Änderung der Gewichte aller Neuronen des Netzes mit den berechneten Änderungen 60 Lernverfahren Backpropagation

  10. Fehlerkurve im Raum FehlerE Fehler E als Funktion der Gewichte w1 und w2 Ziel des Trainings ist es, den Fehler zu minimieren 60 Lernverfahren Backpropagation

  11. w1 Gradientenverfahren Prinzip: Orthogonal zum Gradienten (Ableitung) nach unten (-) steigen, bis ein Minimum erreicht ist w1= -  E(w1, w2) / w1 mit : Schrittweiteoder Lernfaktor oder Lernrate • w1 groß für eine große Steigung und • w1 klein für eine kleine Steigung • negatives Vorzeichen, da Minimum angestrebt wird 60 Lernverfahren Backpropagation

  12. Demo: Gradientenabstieg mit variabler LernrateMATLAB 7.1/Demos/toolboxes/nn… Kapitel 9 Performance Optimization - Steepest Descent: Einfluss der Lernrate  auf den Gradientenabstieg mit dem Ziel, das Minimum in der Mitte der gelben Fläche F = f (x1, x2) zu finden: >>nnd9sdq 12

  13. Backpropagation-Regel(MATLAB traingd) Die Backpropagation-Regel ist eine Verallgemeinerung der Delta-Regel für Netze mit mehr als einer Schicht und für Neuronen mit nichtlinearer, aber differenzierbarer Aktivierungsfunktion. Sie lautet analog wie die Delta-Regel: wij =  oi j jedoch ist die Berechnung von j etwas komplizierter: f‘j (net j) (tj – oj) falls j eine Ausgabezelle istj = f‘j (net j) k(kwjk) falls j eine verdeckte Zelle ist hierbei läuft der Summationsindex k über alle direkten Nachfolgezellen der aktuellen Zelle j (daher die Bezeichnung wjk) 60 Lernverfahren Backpropagation

  14. Gewichtsveränderung für Neuron j auf einem verdeckten Layer Die Nachfolgeneuronen auf dem Outputlayer heißen k. Dann ist das j des roten Neurons j auf dem Hiddenlayer: j = f‘j (net j) k(k wjk) falls j eine verdeckte Zelle ist 60 Lernverfahren Backpropagation

  15. Überwachung der Lernkurvefür ein MLP-Netz 0 Epochen 10 Epochen 20 Epochen 50 Epochen 100 Epochen 225 Epochen Trainingsfehlerim Graph Aktivierungund Gewichte Biasund Gewichte Validierungsfehlerim Graph 60 Lernverfahren Backpropagation

  16. E = f (Epochen) für 225 Epochen E Epochen Überwachung der Lernkurve • Abbruch, wenn der Trainingsfehler E (sw) eine vorgegebene Grenze unterschreitet • Für eine gute Generalisierungsleistung erfolgt Abbruch, bevor der Validierungsfehler (rot) bei kleinem Trainingsfehler wieder ansteigt 60 Lernverfahren Backpropagation

  17. Problem Symmetrie des Lernverfahrens Backpropagation Symmetrie von Gewichten eines Layers (alle Gewichte sind gleich) Abhilfe: Symmetry Breaking durch kleine zufällige Werte als Initialwerte der Gewichte oder Vorgabe so, dass für eine Aktivierung der Neuronen 4, 5 und 6 von 1 die Netzeingabe für Neuron 7 ebenfalls 1 ist. (z. B. w47 = 1/6, w57 = 2/6, w57 = 3/6  net7 = 1) 60 Lernverfahren Backpropagation

  18. Mögliche Probleme (LM) des Lernverfahrens Backpropagation Lokale Minima der Fehlerfläche Abhilfe: Kleine Lernrate  verwenden und wiederholtes Training mit unterschiedlichen Initialwerten der Gewichte 60 Lernverfahren Backpropagation

  19. Mögliche Probleme (Pla) des Lernverfahrens Backpropagation Flache Plateaus der Lernkurve  praktisch keine Änderung wij =  oi f‘j (net j) (tj – oj) mitf‘j (net j) sehr klein dadurch kleine Schrittweite für Änderungen vonwij Abhilfe: Modifiziertes Backpropagation mit Momentum-Term (mit a = 0,6 bis 0,9) wij (t+1) =  oi f‘j (net j) (tj – oj) + awij (t) 60 Lernverfahren Backpropagation

  20. Mögliche Probleme (Osz) des Lernverfahrens Backpropagation Oszillationin steilen Schluchten der Lernkurve wij =  oi f‘j (net j) (tj – oj) mitf‘j (net j) sehr groß dadurch große Schrittweite für Änderungen vonwij Abhilfe: kleine Lernrate oder modifiziertes Backpropagation mit Momentum-Term 60 Lernverfahren Backpropagation

  21. Mögliche Probleme (Ver) des Lernverfahrens Backpropagation Verlassen guter Fehlerminima Abhilfe: Kleine Lernrate  ohne Momentum-Term 60 Lernverfahren Backpropagation

  22. Beispiel: Gradientenabstieg mit MATLAB 7.1/Demos/toolboxes/nn… Kapitel 9 Performance Optimization - Steepest Descent: durch Variation der Lernrate lassen sich die möglichen Probleme beim Bachpropagation gut ausprobieren. Start (Klick) in einer Ecke der gelben Fläche eignet sich besonders gut: >>nnd9sdq 60 Lernverfahren Backpropagation

  23. Empfehlungen für ein erfolgreiches Training(MATLAB traingdm) • Wahl der Schrittweite • Mit Lernrate  = 0,9 beginnen und bei Bedarf langsam bis auf  = 0,02 verringern • ggf. Momentum-Term mit a = 0,6 bis 0,9 wählen • Wahl der Aktivierungsfunktion zur Erhöhung der Dynamik • Statt der logistischen [0...1] eine erweiterte logistische [-0,5 ...0,5] oder die Aktivierungsfunktion tanh (x) benutzen, da durch den Eingangbereich [-1...1] bei technisch üblichen Eingangswerten von 0 die Ableitung der Aktivierung groß bleibt. • Gewichte können so in der Umgebung von 0 wegen wij =  oi j stärker verändert werden. 60 Lernverfahren Backpropagation

  24. Aufteilung in Trainings-, Validierungs- und Testdaten • Liegen genügend Daten vor, mehr als das 3-fache der Anzahl der Gewichte des untrainierten Netzes,dann kann z.B. wie in der ersten Spalte aufgeteilt werden, sonst besser die zweite Spalte (bis) wählen:Trainingsdaten: 60% bis 90%Validierungsdaten: 20% bis 8%Testdaten: 20% bis 2% • Die Anzahl der Trainingsdaten sollte möglichst größer als die 2-fache Anzahl der Gewichte sein • Bei KNN für die Approximation oder Klassifikation kann zufällig oder verteilt ausgewählt werden. Auch die Reihenfolge der Trainingsdaten spielt bei Onlinetraining eine Rolle! • Bei KNN für die Prognose sollten die Trainingsdaten aus dem ersten Zeitbereich, Validierung- aus dem zweiten und Test- aus dem dritten Zeitbereich entnommen werden. 60 Lernverfahren Backpropagation

  25. Ua V Ue V Beispiel: Kennlinie mit Trainings-, Validierungs- und Testdaten Trainingsdaten (hier Anzahl zu niedrig) Testdaten (hier Anzahl zu hoch) Validierungsdaten (hier Anzahl zu hoch) 60 Lernverfahren Backpropagation

  26. Normierung der Trainingsdaten • Eingangs- und Ausgangswerte (Targets) können separat normiert werden. • Wird die logistische Aktivierungsfunktion benutzt, erfolgt die Normierung so, dass alle Eingang- und Ausgangswerte im Bereich [0...1] liegen. • Wird die tanh (net) Aktivierungsfunktion benutzt, erfolgt die Normierung in der Regel so, dass alle Eingang- und Ausgangswerte im Bereich [-1...1] liegen. Ausnahmen bilden Funktion mit „hochfrequentem Verlauf“ um den Ursprung (0). 60 Lernverfahren Backpropagation

  27. Normierung der Trainingsdaten • Eingangs- und Ausgangswerte (Targets) können separat normiert werden. • Wird die logistische Aktivierungsfunktion für die Neuronen auf dem Hiddenlayer benutzt, erfolgt die Normierung in der Regel so, dass alle Eingang- und Ausgangswerte im Bereich [0...1] liegen. • Wird die tanh-Aktivierungsfunktion für die Neuronen auf dem Hiddenlayer benutzt, erfolgt die Normierung in der Regel so, dass alle Eingang- und Ausgangswerte im Bereich [-1...1] liegen. • Haben die Neuronen auf dem Input- und Outputlayer eine lineare Aktivierungsfunktion (z.B. Identität), kann das KNN in der Produktionsphase dennoch Signale verarbeiten, die den Normierungsbereich überschreiten. 60 Lernverfahren Backpropagation

  28. t1 t2 t3 Normierung Ausgangssignale (Targets) normieren normieren t1 (normiert) Targetsnormiert [-1;+1] t2 (normiert) t3 (normiert) 60 Lernverfahren Backpropagation

  29. in1 in2 in3 Normierung Inputs normieren normieren in1(norm) Inputsnormiert [-1;+1] in2(norm) in3(norm) 60 Lernverfahren Backpropagation

  30. In1 In2 In n T1 T2 Tk IN HL OUT Training mit normierten Daten KNN trainieren mit normierten Trainingsdaten Inputsnormiert Targetsnormiert 60 Lernverfahren Backpropagation

  31. Ablaufdiagramm Backpropagation 60 Lernverfahren Backpropagation

  32. Beispiel: Gradientenabstieg mit MATLAB 7.1/Demos/toolboxes/nn… Kapitel 11 Backpropagation – Backprop. Calculation: der Ablauf Vorwärtsberechnung des Eingangswertes, der Fehlerermittlung Ausgang / Target und die Rückpropagation des Fehlers zum Eingang werden schrittweise gezeigt – leider nicht besonders transparent : >>nnd11bc 60 Lernverfahren Backpropagation

  33. Gewichtsänderung und Lernkurve für Beispiel Kennlinie mit 1-3-2-1-MLP • Trainingsfehler • Validierunsfehler 60 Lernverfahren Backpropagation

  34. o1(KNN) o1 o2(KNN) o2 o3(KNN) o3 Denormierung nach erfolgreichem Training Outputs denormieren denormieren Outputsnormiert Outputs [-;+] 60 Lernverfahren Backpropagation

  35. Begrenzung des Dynamikbereiches zur Erhöhung der Empfindlichkeit • Die Normierung der Ein- und Ausgänge begrenzt den Dynamikbereich für die Zahlenwerte im KNN • Eine weitere Begrenzung kann durch Vorgabe einer maximalen Differenz (tpj-opj) auf +/- 17 (Zell S. 114 unten) sinnvoll sein. • Insbesondere dann, wenn Verstärkungsfunktionen für die Differenz, z.B. atanh(tpj-opj) = [-∞ bis + ∞], eingesetzt werden, um den Fehler für Werte (tpj-opj) von > |+/- 0,5| progressiv zu verstärken. • Die Begrenzung der Differenz schützt vor einem Überlauf im Rechner. 60 Lernverfahren Backpropagation

  36. MATLAB User's Guide Neural Network Toolbox • MATLAB Printable (PDF) Documentation on the Web • A. Zell: Simulation von neuronalen Netzen • VDE/VDI GMA FA 5.14 Computational Intelligencehttp://www.iai.fzk.de/medtech/biosignal/gma/tutorial/index.html • JNNS Manual (Stuttgarter Neuronales Netz in Java) Quellenverzeichnis 60 Lernverfahren Backpropagation

  37. Fragen Fragen Sie bitte! 60 Lernverfahren Backpropagation

  38. atanh(tpj-opj) 60 Lernverfahren Backpropagation

More Related