Belernen eines Neuronalen Netzes mit Hilfe des Backpropagation-Algorithmus
- Der Backpropagation-Algorithmus ist eine Art modifiziertes Gradientenverfahren für Neuronale Netze.
- Wie bereits erwähnt wird bei diesem Algorithmus in einem Optimierungsschritt der Fehler am Ausgang nach bestimmten Regeln anteilig Schicht für Schicht negativ auf die Gewichte verteilt.
- Es kann sich um den Fehler handeln, der aus der Summe aller Testfälle resultiert, oder nur aus einem einzelnen.
- Man unterscheidet dazwischen, ob ein Gewicht direkt zu einem Ausgangsneuron führt, oder zu einem Neuron einer Zwischenschicht.
|
- Regel zur Bestimmung des neuen Gewichts für ein Gewicht auf einer Zuleitung zu einem Ausgangsneuron:
|
Bild 0-1: Backpropagation Gewichtsbestimmung am Ausgang.
- f'(u): Ableitung der (stetigen) sigmoiden Funktion nach dem Eingang u.
- x: Aktivierung (Eingangssignal) der Leitung dessen Gewicht gerade betrachtet wird.
|
- Regel zur Bestimmung des neuen Gewichts für ein Gewicht auf einer Zuleitung zu einem Neuron einer Zwischenschicht oder der Eingangsschicht:
|
Bild 0-2: Backpropagation Gewichtsbestimmung am Eingang.
- Qk: Q-Werte Aller vom Zielneuron abgehenden Gewichtsleitungen (Nachfolgeschicht). Diese sind bekannt, da Backpropagation am Ausgang beginnt und dann Schicht für Schicht zum Eingang hin weitergeführt wird.
- wneu k: Neu berechnete Gewichtswerte aller vom Zielneuron abgehenden Gewichtsleitungen.
|
Übung
- Implementieren Sie den Backpropagation-Algorithmen für das in der vorangegangenen Übung erweiterte Neuronale Netz.
- Testen und Verbessern Sie den Algorithmus durch Vorgabe variierender zufälliger Anfangsgewichte und der Variation des Lernfaktors.
|