28.09.2013 Aufrufe

Neuronale Netze - D. Kriesel

Neuronale Netze - D. Kriesel

Neuronale Netze - D. Kriesel

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!