kramann.info
© Guido Kramann

Login: Passwort:










COACH2
1 Planung
2 Architektur
3 Anzeige
4 EEPROM
5 I2C
..5.1 MasterSendByte
..5.2 MasterSend2Bytes
..5.3 MasterReceiveByte
..5.4 MasterReceive2Bytes
6 UART
7 DFT
8 FFT
9 Planung2
10 Klassen
..10.1 AnzeigeTaster
..10.2 RS232
..10.3 MotorServo
..10.4 Drehgeber
..10.5 Sensor
..10.6 Funk
11 Adaption
..11.1 Programmiertechnik
..11.2 Evoopt
12 Fuzzy
..12.1 Uebungsaufgabe
..12.2 Fuzzygroesse
..12.3 Fuzzyset
..12.4 Lookuptable
13 Skript
..13.1 Funkkorrektur
..13.2 Skriptsprachen
..13.3 Anforderungen
..13.4 Agentensysteme
..13.5 Implementierung
..13.6 Experimente
14 Gesamtkonzept
..14.1 Skripterweiterung
..14.2 Makroverhalten
67 Echtzeitsysteme
..67.1 Einfuehrung
....67.1.1 Echtzeit
....67.1.2 Korrektheit
....67.1.3 Hardware
....67.1.4 Ziele
....67.1.5 Synchronprogramm
..67.2 Threads
....67.2.1 Java
....67.2.2 Synchronisierung
..67.3 COACH
....67.3.1 Kaskadenregler
....67.3.2 Zeitebene1
....67.3.3 Zeitebene2
....67.3.4 Zeitebene3
....67.3.5 Puck
....67.3.6 Puckschwarm
..67.4 RTAIlab
....67.4.1 Slax
....67.4.1 USB_Stick
....67.4.2 Sinus
..67.5 Semaphor
....67.5.1 Laufkatze
....67.5.2 Java
....67.5.3 Semaphor
..67.6 Audio
....67.6.1 wav
....67.6.2 Linux
..67.7 Lookup
....67.7.1 Fuzzy
....67.7.2 PWM
..67.8 NeuronaleNetze
....67.8.1 Neuron
....67.8.2 Backpropagation
....67.8.3 Umsetzung
....67.8.4 Winkelerkennung
..67.9 Internetprogrammierung
....67.9.1 Codegenerierung
....67.9.2 PHP_Programmierung
....67.9.3 PHP_OOP
....67.9.4 Java
....67.9.5 UDP
..67.10 DFT
..67.11 FFT
..67.12 Zustandsmaschine
..67.13 Fuzzy
....67.13.1 Fuzzylogik
....67.13.2 FuzzyRegler
....67.13.3 Uebung9
....67.13.5 Softwareentwicklung
......67.13.5.1 AgileSoftwareentwicklung
......67.13.5.2 FuzzyRegler
......67.13.5.3 Uebung
....67.13.6 Umsetzung
......67.13.6.1 FuzzyRegler
......67.13.6.2 Simulation
......67.13.6.3 Optimierung
......67.13.6.4 Uebung
....67.13.7 Haengependel
......67.13.7.1 Haengependel
......67.13.7.2 Simulation
......67.13.7.3 FuzzyRegler
......67.13.7.4 Optimierer
......67.13.7.5 Genetisch
....67.13.8 Information
....67.13.9 Energie

67.8.2 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:
Backpropagation Gewichtsbestimmung am Ausgang.

Bild 67.8.2-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:
Backpropagation Gewichtsbestimmung am Eingang.

Bild 67.8.2-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.