Neuronale Netze - D. Kriesel
Neuronale Netze - D. Kriesel
Neuronale Netze - D. Kriesel
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
diesen Parameter niedriger setzen, um ausschließlich sehr vorsichtige Updateschritte<br />
zu erlauben. Kleine Updateschritte sollten in jedem Fall erlaubt sein, also setzen wir<br />
ηmin = 10 −6 .<br />
Bleiben die Parameter η ↑ und η ↓ . Fangen wir mit η ↓ an: Wenn dieser Wert zum Einsatz<br />
kommt, haben wir ein Minimum übersprungen, von dem wir nicht genau wissen, wo<br />
auf der übersprungenen Strecke es liegt. Analog zur Vorgehensweise der binären Suche,<br />
wo das Zielobjekt ebenfalls oft übersprungen wird, gehen wir davon aus, es läge in der<br />
Mitte der übersprungenen Strecke. Also müssen wir die Lernrate halbieren, weswegen<br />
sich ein η ↓ = 0.5 kanonischerweise anbietet. Wenn der Wert η ↑ zum Einsatz kommt,<br />
sollen Lernraten umsichtig vergrößert werden, hier können wir also nicht die binäre<br />
Suche generalisieren und einfach den Wert 2.0 verwenden, sonst besteht das Lernraten-<br />
Update nachher fast nur noch aus Richtungswechseln. Problemunabhängig hat sich<br />
ein Wert von η ↑ = 1.2 als erfolgsversprechend erwiesen, wobei leichte Änderungen die<br />
Konvergenzgeschwindigkeit nicht signifikant beeinflusst haben. So konnte auch dieser<br />
Wert einfach als Konstante gesetzt werden.<br />
Mit fortschreitender Rechengeschwindigkeit der Computer ist eine immer größere Verbreitung<br />
von sehr tiefen Netzwerken (Deep networks) , also Netzwerken mit sehr<br />
vielen Schichten, zu beobachten. Für solche <strong>Netze</strong> ist Rprop dem originalen Backpropagation<br />
unbedingt vorzuziehen, weil Backprop, wie schon angedeutet, auf Gewichten<br />
fern der Ausgabeschicht sehr langsam lernt. Bei Problemen mit kleineren Schichtenzahlen<br />
würde ich empfehlen, das verbreitete Backpropagation (sowohl mit offline- als<br />
auch mit online-Lernen) und das weniger verbreitete Rprop zunächst gleichwertig zu<br />
testen.<br />
SNIPE: Resilient Backpropagation wird in Snipe über die Methode<br />
trainResilientBackpropagation der Klasse NeuralNetwork unterstützt. Wahlweise kann<br />
man hier auch noch eine weitere Verbesserung zu Resilient Propagation zuschalten, die in<br />
dieser Arbeit jedoch nicht weiter behandelt wird. Für die verschiedenen Rprop-Parameter<br />
finden sich Getter und Setter.<br />
5.6 Backpropagation wurde auch außerhalb von Rprop<br />
vielfach erweitert und variiert<br />
Backpropagation ist vielfach erweitert worden – viele dieser Erweiterungen kann man<br />
einfach als optionale Features von Backpropagation implementieren, um größeren Testspielraum<br />
zu haben. Ich möchte im folgenden einige von ihnen kurz beschreiben.