Ist es möglich, ein neuronales Netzwerk ohne Backpropagation zu trainieren?


94

Viele Bücher und Tutorials zu neuronalen Netzen verbringen viel Zeit mit dem Backpropagation-Algorithmus, der im Wesentlichen ein Werkzeug zur Berechnung des Gradienten darstellt.

Nehmen wir an, wir bauen ein Modell mit ~ 10K Parametern / Gewichten. Ist es möglich, die Optimierung mit einigen gradientenfreien Optimierungsalgorithmen durchzuführen?

Ich denke, die Berechnung des numerischen Gradienten wäre zu langsam, aber wie wäre es mit anderen Methoden wie Nelder-Mead, Simulated Annealing oder einem genetischen Algorithmus?

Alle Algorithmen leiden unter lokalen Minima, warum mit Gradienten besessen?



6
@FranckDernoncourt Ich interpretierte die andere Frage als "Warum nicht globale Optimierungstechniken zum Trainieren neuronaler Netze verwenden?", Wohingegen diese Frage eher "Warum nicht ableitungsfreie Optimierer verwenden ..." lautet.
GeoMatt22

6
Bei 3 Antworten scheint dies nicht allzu umfassend zu sein, um für mich verantwortlich zu sein.
Gung

5
Ja, Sie müssen sich keine großen Sorgen machen, dass Nelder-Mead auf ein lokales Minimum beschränkt bleibt, denn Sie haben Glück, wenn es irgendwo nützlich wird.
Mark L. Stone

1
Übrigens, ultra L-BFGS, geben Sie dem einen Wirbel. es mag gut sein, aber es ist so dunkel, dass es wahrscheinlich noch niemand in neuronalen Netzen ausprobiert hat. Siehe Gleichung 2.9 auf Seite 12 (Sie müssen jedoch die vorhergehenden Seiten lesen, um die Formel zu verstehen) von maths.dundee.ac.uk/nasc/na-reports/NA149_RF.pdf (im Artikel nicht als Ultra-BFGS bezeichnet) Holen Sie sich eine "L" -Version (Limited Memory), um Ultra-L-BFGS statt Ultra-BFGS zu sein. Die Nicht-L-Version ist in der Zeitung aufgeführt. Ultra BFGS ist im Grunde ein aufgemotztes ("hot rod") BFGS - kann schneller sein, ist aber möglicherweise etwas wilder.
Mark L. Stone

Antworten:


80

Die ersten beiden von Ihnen genannten Algorithmen (Nelder-Mead und Simulated Annealing) gelten in Optimierungskreisen im Allgemeinen als ziemlich veraltet, da es viel bessere Alternativen gibt, die sowohl zuverlässiger als auch kostengünstiger sind. Genetische Algorithmen decken einen weiten Bereich ab, und einige davon können vernünftig sein.

In der breiteren Klasse der DFO-Algorithmen (Derivative-Free-Optimization) gibt es jedoch viele, die deutlich besser sind als diese "Klassiker", da dies in den letzten Jahrzehnten ein aktives Forschungsgebiet war. Könnten einige dieser neueren Ansätze für tiefes Lernen sinnvoll sein?

Ein relativ neuer Artikel, der den Stand der Technik vergleicht, ist der folgende:

Rios, LM & Sahinidis, NV (2013) Derivatfreie Optimierung: Überprüfung von Algorithmen und Vergleich von Softwareimplementierungen. Journal of Global Optimization.

Dies ist ein schönes Papier, das viele interessante Einblicke in die neuesten Techniken bietet. Die Ergebnisse zeigen zum Beispiel deutlich, dass die besten lokalen Optimierer alle "modellbasiert" sind und unterschiedliche Formen der sequentiellen quadratischen Programmierung (SQP) verwenden.

Wie jedoch in ihrer Zusammenfassung angemerkt, "stellen wir fest, dass die Fähigkeit all dieser Löser, gute Lösungen zu erhalten, mit zunehmender Problemgröße abnimmt." Um eine Vorstellung von den Zahlen zu bekommen, erhielten die Löser für alle Probleme ein Budget von 2500 Funktionsauswertungen, und für die Optimierung der Problemgrößen wurden maximal ~ 300 Parameter verwendet. Abgesehen von O [10] -Parametern zeigten nur sehr wenige dieser Optimierer eine sehr gute Leistung, und selbst die besten zeigten einen merklichen Leistungsabfall, da die Problemgröße zunahm.

Bei sehr hochdimensionalen Problemen sind DFO-Algorithmen einfach nicht mit Derivaten konkurrierend. Um eine Perspektive zu geben, ist die PDE-basierte Optimierung (partielle Differentialgleichung) ein weiterer Bereich mit sehr hohen Dimensionsproblemen (z. B. mehrere Parameter für jede Zelle eines großen 3D-Gitters mit finiten Elementen). In diesem Bereich ist die " adjungierte Methode " eine der am häufigsten verwendeten Methoden. Dies ist auch ein Gradientenabstiegsoptimierer, der auf der automatischen Unterscheidung eines Vorwärtsmodellcodes basiert.

Am nächsten an einem hochdimensionalen DFO-Optimierer liegt möglicherweise der Ensemble Kalman-Filter , mit dem Daten in komplexe PDE-Simulationen, z. B. Wettermodelle, integriert werden. Interessanterweise ist dies im Wesentlichen ein SQP-Ansatz, jedoch mit einer Bayesianisch-Gaußschen Interpretation (das quadratische Modell ist also eindeutig positiv, dh es gibt keine Sattelpunkte). Ich glaube jedoch nicht, dass die Anzahl der Parameter oder Beobachtungen in diesen Anwendungen vergleichbar ist mit dem, was man beim Deep Learning sieht.

Randbemerkung (lokale Minima): Ausgehend von dem, was ich über tiefes Lernen gelesen habe, glaube ich, dass es eher Sattelpunkte als lokale Minima sind, die für hochdimensionale NN-Parameterräume am problematischsten sind.

Die jüngste Übersicht in Nature besagt beispielsweise, dass "die jüngsten theoretischen und empirischen Ergebnisse stark darauf hindeuten, dass lokale Minima im Allgemeinen kein ernstes Problem darstellen. Stattdessen ist die Landschaft mit einer kombinatorisch großen Anzahl von Sattelpunkten gefüllt, bei denen der Gradient Null ist Oberfläche krümmt sich in den meisten Dimensionen nach oben und im Rest nach unten. "

Ein ähnliches Anliegen betrifft die lokale vs. globale Optimierung (zum Beispiel diese Frage, auf die in den Kommentaren hingewiesen wurde). Während ich nicht tief lerne, ist eine Überanpassung meiner Erfahrung nach definitiv ein berechtigtes Anliegen. Meiner Meinung nach sind globale Optimierungsmethoden am besten geeignet für das Engineering Design Probleme , die auf „natürliche“ Daten nicht stark hängen. In der Datenassimilation Problemen, alle aktuellen globalen Minima leicht bei Zugabe von neuen Daten ändern könnten (Einschränkung: Meine Erfahrung ist in geowissenschaftlichen Problemen konzentriert, wo die Daten im Allgemeinen „spärlich“ in Bezug auf Modellkapazität).

Eine interessante Perspektive ist vielleicht

O. Bousquet & L. Bottou (2008) Die Kompromisse des groß angelegten Lernens. NIPS.

Dies liefert semitheoretische Argumente dafür, warum und wann eine ungefähre Optimierung in der Praxis vorzuziehen ist.

Endnote (Meta-Optimierung): Während gradientenbasierte Techniken für Trainingsnetzwerke anscheinend dominant sind, kann DFO eine Rolle bei den zugehörigen Meta-Optimierungsaufgaben spielen.

Ein Beispiel wäre die Optimierung von Hyperparametern. (Interessanterweise können die erfolgreichen modellbasierten DFO-Optimierer von Rios & Sahinidis als wesentliche Lösung einer Folge von Design-of-Experiments / Response-Surface- Problemen angesehen werden.)

O[N2]nOtL1 könnte jedoch meta-optimiert sein.)


1
Die von Ihnen zitierte Rezension stammt von den wichtigsten Befürwortern neuronaler Netze. Ich würde die Behauptung über lokale Minima in Frage stellen - eine bekannte theoretische Kritik an NNs ist genau, dass jedes komplexe Modell nicht durch Gradientenabstieg optimiert werden kann, da es in lokalen Minima stecken bleibt. Es ist nicht klar, ob es nur die Erfolge von nns sind, die im Hintergrund gelöst werden können, und Sie hören nichts von den Fehlern.
Seanv507

2
@ GeoMatt22 Kontrastive Divergenz ist eine spezielle Annäherung an den Gradienten einer speziellen Klasse von Modellen, unter die RBMs fallen. Es ist anzumerken, dass RBM Wahrscheinlichkeitsmodelle sind, die eine bestimmte Art von Verteilung implizieren, für die der Gradient der Maximum-Likelihood-Schätzung nicht praktikabel ist. Neuronale Netze sind Rechenmodelle, die ohne jeden probabilistischen Ausgangspunkt verwendet werden können, z. B. durch Optimierung eines Gelenkverlusts. Kurz gesagt, CD ist kein allgemeines Mittel zur Optimierung neuronaler Netze.
Bayerj

2
@ seanv507 Während der Anspruch von den wichtigsten Befürwortern geltend gemacht wurde, gibt es von Experten begutachtete Artikel von Top-Konferenzen des maschinellen Lernens, die diese Ansprüche rigoros bewerten, z . B. arxiv.org/abs/1406.2572 . Mittlerweile ist diese Behauptung in der ML-Community allgemein anerkannt, hauptsächlich aufgrund ihrer überlegenen theoretischen Argumente und empirischen Beweise. Ich denke nicht, dass ein Ad-Hominem-Argument hier angemessen ist.
Bayerj

1
Ich stimme zu, dass die DL-Theorie fehlt. Trotzdem muss man anerkennen, dass Artikel wie dieser das vorantreiben. Wenn Sie der Meinung sind, dass der Artikel falsche Ergebnisse angibt und die Schlussfolgerungen (z. B. "Lokale Minima sind weniger problematisch als Sattelpunkte") ungültig sind, sollten Sie diesmal einen weiteren Ad - Hominem - Angriff angeben, der sich an das richtet ML-Community als Ganzes.
Bayerj

1
Jüngste Arbeiten zeigen, dass bei einer zufälligen Initialisierung der Gradientenabstieg auf ein lokales Minimum (und nicht auf einen Sattelpunkt) konvergiert. Aufsatz hier: arxiv.org/abs/1602.04915 und Blogpost hier: offconvex.org/2016/03/24/saddles-again Auf der anderen Seite gibt es eine (weniger) aktuelle Hypothese, dass in großen neuronalen Netzen die lokalen Minima sind ungefähr so ​​gut wie die globale, hier diskutiert: stats.stackexchange.com/questions/203288/…
DavidR

12

Es gibt alle möglichen lokalen Suchalgorithmen. Die Rückübertragung hat sich gerade für komplexere Aufgaben im Allgemeinen als am effizientesten erwiesen . Es gibt Umstände, unter denen andere lokale Suchanfragen besser sind.

Sie könnten das Bergsteigen mit zufälligem Start in einem neuronalen Netz verwenden, um schnell eine gute Lösung zu finden, aber es wäre nicht möglich, eine nahezu optimale Lösung zu finden.

Wikipedia (ich weiß, nicht die größte Quelle, aber immer noch) sagt

Bei Problemen, bei denen das Auffinden des genauen globalen Optimums weniger wichtig ist als das Auffinden eines akzeptablen lokalen Optimums in einer festgelegten Zeitspanne, kann simuliertes Tempern Alternativen wie Gradientenabstieg vorzuziehen sein.

Quelle

Was genetische Algorithmen betrifft , würde ich Backpropagation vs Genetic Algorithm für das Training des neuronalen Netzwerks sehen

Der Hauptfall, den ich für Backprop machen würde, ist, dass es sehr weit verbreitet ist und viele großartige Verbesserungen erfahren hat . Diese Bilder zeigen wirklich einige der unglaublichen Fortschritte bei der Vanille-Rückausbreitung.

Ich würde Backprop nicht als einen Algorithmus betrachten, sondern als eine Klasse von Algorithmen.

Ich möchte auch hinzufügen, dass für neuronale Netze 10k-Parameter kleine Bohnen sind. Eine andere Suche würde gut funktionieren, aber in einem tiefen Netzwerk mit Millionen von Parametern ist dies kaum praktikabel.


12

Nun, die ursprünglichen neuronalen Netze wurden vor der Umwälzung der Ausbreitung in den 70er Jahren von Hand "trainiert". :)

Davon abgesehen:

Es gibt eine "Schule" des maschinellen Lernens, die als extreme Lernmaschine bezeichnet wird und keine Rückübertragung verwendet.

Was sie tun, ist, ein neuronales Netzwerk mit vielen, vielen, vielen Knoten zu erstellen - mit zufälligen Gewichten - und dann die letzte Schicht unter Verwendung von Mindestquadraten zu trainieren (wie eine lineare Regression). Anschließend beschneiden sie entweder das neuronale Netzwerk oder sie führen im letzten Schritt eine Regularisierung durch (wie beim Lasso), um eine Überanpassung zu vermeiden. Ich habe gesehen, dass dies nur für neuronale Netze mit einer einzigen verborgenen Schicht gilt. Es gibt kein Training, es ist also superschnell. Ich habe einige Tests durchgeführt und überraschenderweise sind diese auf diese Weise "trainierten" neuronalen Netze ziemlich genau.

Die meisten Leute, zumindest die, mit denen ich zusammenarbeite, behandeln diese "Schule" des maschinellen Lernens mit Spott und sie sind eine ausgestoßene Gruppe mit ihren eigenen Konferenzen und so weiter, aber ich denke tatsächlich, dass es ein bisschen genial ist.


Ein weiterer Punkt: Innerhalb der Backpropagation gibt es selten erwähnte Alternativen wie die elastische Backproagation , die in R im neuralnetPackage implementiert sind und nur die Größe der Ableitung verwenden. Der Algorithmus besteht aus If-else-Bedingungen anstelle der linearen Algebra. Sie haben einige Vorteile gegenüber der herkömmlichen Backpropagation, dh Sie müssen Ihre Daten nicht normalisieren, da sie nicht unter dem Problem des verschwindenden Gradienten leiden .


Sie können das Spiel (fast oder vollständig) in Ihrem vierten Absatz ausführen und dann das Ergebnis als Ausgangspunkt für eine ableitungsbasierte Optimierung zur "Feinabstimmung" verwenden.
Mark L. Stone

1
@ MarkL.Stone Ich kenne niemanden, der eine Rückausbreitung durchgeführt hat, indem er zuerst eine lineare Regression auf die letztere Ebene angewendet hat. Es klingt aber interessant.
Ricardo Cruz

1
Meines Wissens ist die Kontroverse um ELMs hauptsächlich auf ethische Aspekte zurückzuführen, nicht auf die Umsetzung. Schmidt et al. Hatten das Thema bereits 1992 mit ihrem Feedforward-Netzwerk mit zufälligen Gewichten angesprochen.
Firebug

3

Sie können so ziemlich jeden numerischen Optimierungsalgorithmus verwenden, um die Gewichte eines neuronalen Netzwerks zu optimieren. Sie können auch gemischte kontinuierliche diskrete Optimierungsalgorithmen verwenden, um nicht nur die Gewichte, sondern auch das Layout selbst zu optimieren (Anzahl der Schichten, Anzahl der Neuronen in jeder Schicht, sogar Typ des Neurons). Es gibt jedoch keinen Optimierungsalgorithmus, der in keiner Weise unter "Fluch der Dimensionalität" und lokalen Optimierungen leidet


3

Sie können auch ein anderes Netzwerk verwenden, um zu beraten, wie die Parameter aktualisiert werden sollen.

Es gibt die Decoupled Neural Interfaces (DNI) von Google Deepmind. Anstatt Backpropagation zu verwenden, werden andere neuronale Netze verwendet, um die Aktualisierung der Parameter vorherzusagen. Dies ermöglicht eine parallele und asynchrone Aktualisierung der Parameter.

Die Arbeit zeigt, dass DNI die Trainingsgeschwindigkeit und die Modellkapazität von RNNs erhöht und vergleichbare Ergebnisse für RNNs und FFNNs bei verschiedenen Aufgaben liefert.


In dem Artikel wurden auch viele andere Nicht-Backpropagation-Methoden aufgelistet und verglichen

Unser synthetisches Gradientenmodell ist am analogesten zu einer Wertefunktion, die für den Gradientenanstieg [2] verwendet wird, oder einer Wertefunktion, die für das Bootstrapping verwendet wird. Die meisten anderen Arbeiten, die auf die Beseitigung der Backpropagation abzielen, zielen darauf ab, eine biologisch plausible Kreditvergabe durchzuführen, aber dies beseitigt nicht die Aktualisierungssperre zwischen den Ebenen. Beispielsweise wird durch die Zielausbreitung [3, 15] die Abhängigkeit vom Übergang von Gradienten zwischen Ebenen beseitigt, indem stattdessen Zielaktivierungen generiert werden, die angepasst werden sollten. Diese Ziele müssen jedoch weiterhin sequentiell generiert werden, wobei sie sich rückwärts durch das Netzwerk ausbreiten. Daher sind die Ebenen weiterhin aktualisierbar und rückwärts gesperrt. Andere Algorithmen heben die Rückwärtssperre auf, indem Verluste oder Belohnungen direkt an jede Ebene gesendet werden können - z. B. REINFORCE [21] (unter Berücksichtigung, dass alle Aktivierungen Aktionen sind).1und Policy Gradient Coagent Networks [20] - bleiben jedoch weiterhin update-gesperrt, da Belohnungen von einer Ausgabe (oder einem globalen Kritiker) generiert werden müssen. Während wiederkehrendes Lernen in Echtzeit [22] oder Annäherungen wie [17] eine vielversprechende Möglichkeit zum Entfernen der Aktualisierungssperrung darstellen, müssen diese Methoden den vollständigen (oder ungefähren) Gradienten des aktuellen Zustands in Bezug auf die Parameter beibehalten. Dies ist von Natur aus nicht skalierbar und setzt voraus, dass der Optimierer den Netzwerkstatus global kennt. Indem wir dagegen die Interaktion zwischen den Ebenen als lokales Kommunikationsproblem mit DNI definieren, müssen wir nicht mehr global über das Lernsystem Bescheid wissen. Andere Arbeiten wie [4, 19] ermöglichen das parallele Trainieren von Schichten ohne Backpropagation.


2

Solange dies eine Community-Frage ist, dachte ich, ich würde eine weitere Antwort hinzufügen. "Back Propagation" ist einfach der Gradientenabstiegsalgorithmus. Dabei wird nur die erste Ableitung der Funktion verwendet, für die versucht wird, die lokalen Minima oder Maxima zu finden. Es gibt eine andere Methode namens Newtons Methode oder Newton-Raphson, bei der der Hessische berechnet wird und daher zweite Ableitungen verwendet werden. Dies kann in Fällen erfolgreich sein, in denen der Gradientenabstieg fehlschlägt. Mir wird von anderen, die mehr wissen als ich, gesagt, und ja, dies ist ein Appell an die Behörde aus zweiter Hand, dass es in neuronalen Netzen nicht verwendet wird, weil die Berechnung aller zweiten Ableitungen im Hinblick auf die Berechnung zu kostspielig ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.