1 / 30

Mehrschichtige Neuronale Netze

Mehrschichtige Neuronale Netze. Delta-Regel Back-Propagation of Errors Back-propagation through time / Rekurrente Netze. Die “XOR-Problematik”. AND. XOR. ?. Einfache Folgerungen:. Es gibt Probleme, die nur mit mehrschichtigen Netzen gelöst werden können

neci
Download Presentation

Mehrschichtige Neuronale Netze

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. Mehrschichtige Neuronale Netze Delta-Regel Back-Propagation of Errors Back-propagation through time / Rekurrente Netze

  2. Die “XOR-Problematik” AND XOR ?

  3. Einfache Folgerungen: • Es gibt Probleme, die nur mit mehrschichtigen Netzen gelöst werden können • Es muß noch erörtert werden, wie dies im Einzelnen geschehen kann

  4. Ein neuronales Netz, mit dem man XOR lösen könnte: …fehlen nur noch die richtigen Gewichte.

  5. Die Idee von Back-Propagation • Das Netz soll “selbstständig” lernen, seine Gewichte anzupassen • Dieses Anpassen der Gewichte erfolgt so lange, bis die gewünschte Funktion erlernt ist

  6. Wie sieht das ungefähr aus? 1) 2) Backward Propagation of Errors Forward Propagation of Input Signals

  7. Was passiert im Netz? (6.1) (6.2) (6.3) (6.4)

  8. Berechnungen im 1. Layer (6.1) (6.2)

  9. Berechnungen im 2. Layer (6.3) (6.4)

  10. Gradientenverfahren

  11. Eine neue Fehler-Funktion (6.5) wird zu: (6.6)

  12. Gradienten-Berechnung (1) (6.7) (6.8)

  13. Gradienten-Berechnung (2) (6.9) (6.10)

  14. Die allgemeine Back-Propagation Update-Regel (6.11) Delta für Hidden-to-output Neuronen: (6.8) Delta für Input/Hidden-to-hidden Neuronen (6.10)

  15. Vorgehensweise für Back-Propagation • Wir initialisieren die Gewichte mit kleinen Zufallszahlen…. • …wählen ein Muster als Eingabe…. • …berechnen die Auswirkungen der Eingabe auf das Netz… • …und erhalten schließlich die Abweichung der Ausgabe vom gewünschten Wert (im Idealfall natürlich = 0 !)

  16. Der eigentliche Clou: • Wir berechnen die Fehler der anderen Gewichte (z.B. input-to-hidden), indem wir sie von dem Fehler der Ausgabe ableiten! • Nachdem wir alle Fehler berechnet haben, updaten wir alle Gewichte…. • …und machen mit dem nächsten Pattern bei Step 2 weiter. :-)

  17. Genaueres zu den Steps 4) und 5) : “Backward propagation of errors”

  18. Was macht diese Vorgehensweise so vorteilhaft? • Verwendet man eine günstige Aktivierungsfunktion, muss man keine Ableitungen mehr berechnen! • Günstig heißt in diesem Fall, man kann die Ableitung der Funktion durch die Funktion selbst darstellen (z.B. Sigmoid oder tanh) • Mit bekanntem Output O=g(h) ist dann auch die Ableitung bekannt

  19. Nochmal ins Detail: Der Output ist uns bekannt und die Delta-Regel ebenso: Wir verwenden eine sigmoide Funktion, deren Ableitung g’ man wieder mit g beschreiben kann: Mit b=1/2 wird aus

  20. Optimierungsmöglichkeiten für den Algorithmus • Verwendung von anderen Fehler-Funktionen • Momentum-Terms • Verschiedene andere Minimierungsverfahren • Vermeidung von lokalen Minima

  21. Beispiele für die Anwendung von Backprop • Verallgemeinerung von XOR (Parity) • Sonar: Zielerkennung • Navigation eines Fahrzeugs • Bildkomprimierung • Erkennung von handgeschriebenen PLZ-Nummern • Spracherkennung (nur sehr eingeschränkt)

  22. Rekurrente Back-Propagation • Erweiterung des Back-Propagation-Algorithmus auf beliebige Netze • Bedingung: das Netz muss in einen stabilen Zustand konvergieren

  23. Zwei Beispiele:

  24. Aus eins wird zwei

  25. Wie funktioniert Back-Propagation bei rekurrenten Netzen? • Pattern auswählen, Eingaben ins Netz “schicken” • Warten, bis das Netz in einen stabilen Zustand konvergiert • Berechnung der Ausgabe-Fehler • Fehler ins zugehörige error-propagation-Netz “schicken” und warten bis dieses in einen stabilen Zustand konvergiert • Mit den Ausgaben dieses Netzes die neuen Gewichte berechnen

  26. Lernen von zeitlichen Abfolgen • Sequenzerkennung • Reproduktion von Mustern • Zeitliche Zuordnung

  27. “Back-Propagation through time” • Modellierung eines voll rekurrenten Netzes durch ein reines Feed-Forward-Netz • Nur beim Umgang mit kleinen Sequenzen sinnvoll • Für jeden Zeitschritt t = 1, 2, …, T werden die Einheiten des rekurrenten Netzes dupliziert (also T-mal) • Im Feed-Forward-Netz werden in jedem Layer die Original-Gewichte verwendet

  28. Ein konkretes Beispiel: t = 4 t = 3 t = 2 t = 1

  29. Was bringt das? • Das resultierende Feed-Forward-Netz kann mit Back-Propagation trainiert werden • Hat man einmal die Gewichte berechnet, kann man wieder das rekurrente Netz benutzen

  30. Resumé • Back-Propagation ist eine interessante Methode um “Supervised Learning” zu ermöglichen • Back-Propagation ist allerdings nur bei stark eingegrenzten Problemfeldern effizient einsetzbar • Es gibt Bereiche, in denen Back-Propagation trotzdem nicht mit “herkömmlichen” Algorithmen mithalten kann

More Related