Warum Gradientenabstieg bei neuronalen Netzen verwenden?

22
  1. Wenn ein neuronales Netzwerk unter Verwendung des Back-Propagation-Algorithmus trainiert wird, wird das Gradientenabstiegsverfahren verwendet, um die Gewichtsaktualisierungen zu bestimmen. Meine Frage ist: Anstatt die Gradientenabstiegsmethode zu verwenden, um den Minimalpunkt in Bezug auf ein bestimmtes Gewicht langsam zu lokalisieren, warum setzen wir nicht einfach die Ableitung und finde den Wert des Gewichtsw,der den Fehler minimiert?d(Error)dw=0w

  2. Warum sind wir uns auch sicher, dass die Fehlerfunktion bei der Rückübertragung ein Minimum ist? Kann es nicht sein, dass die Fehlerfunktion stattdessen maximal ist? Gibt es eine spezielle Eigenschaft der Squashing-Funktionen, die garantiert, dass ein Netzwerk mit einer beliebigen Anzahl von versteckten Knoten mit willkürlichen Gewichten und Eingabevektoren immer eine Fehlerfunktion liefert, die einige Minima aufweist?

Minaj
quelle
2
Alle Caps-Titel sind hier nicht Standard (bitte schauen Sie sich um) und hier und anderswo weitestgehend als unerwünschtes SHOUTING missbilligt.
Nick Cox
@ Nick Cox Entschuldigung
Minaj
Es ist interessant zu sehen, wann immer verborgene oder latente Variablen in maschinellen Lernmodellen verwendet werden, die Optimierung (fast?) Immer nicht linear, nicht konvex und nur schwieriger zu optimieren.
Vladislavs Dovgalecs

Antworten:

30
  1. Weil wir nicht können. Die Optimierungsfläche in Abhängigkeit von den Gewichten w ist nichtlinear und für d S ( w ) existiert keine geschlossene LösungS(w)w.dS(w)dw=0

  2. Gradientenabstieg steigt per Definition ab. Wenn Sie nach dem Abstieg einen stationären Punkt erreichen, muss dieser ein (lokales) Minimum oder ein Sattelpunkt sein, jedoch niemals ein lokales Maximum.

Marc Claesen
quelle
Wenn die Funktion konkav wäre, würde der Gradientenabfall für immer abnehmen, da der einzige Weg nach unten ist. Wollen Sie damit sagen, dass die Fehleroberfläche garantiert nicht konkav ist? Außerdem ist mir nicht klar, warum die Ableitung der Fehlerfunktion keine geschlossene Lösung haben würde. Ist das nicht der Fehler der Form wo K eine Konstante ist? Diese Funktion sieht ziemlich differenzierbar aus und der resultierende Ausdruck ist analytisch lösbar. Bitte helfen Sie mir zu klären, da es etwas gibt, das ich eindeutig nicht sehe. K11+eΣwx
Minaj
8
Dies kann nicht passieren, da alle häufig verwendeten Fehlerfunktionen ein striktes theoretisches Minimum von 0 haben. Fehler können niemals negativ werden.
Marc Claesen
2
Eine andere mögliche Interpretation von 1. lautet: "Genau das tun wir, die Gleichung wird durch Gradientenabstieg gelöst."
Matthew Drury
1
Es gibt eindeutig eine geschlossene Form für den Gradienten (so führen wir den Gradientenabstieg effizient durch). Das Problem ist keine geschlossene
Formwurzel
@ seanv507 das wollte ich sagen, sorry für die verwirrung. Hat meinen Beitrag bearbeitet.
Marc Claesen
10

In Bezug auf die Antwort von Marc Claesen glaube ich, dass der Gefälleabstieg in Situationen, in denen Sie sich auf ein lokales Maximum initialisieren, an einem lokalen Maximum anhalten könnte oder Sie zufällig aufgrund von Pech oder eines falsch eingestellten Ratenparameters dort enden. Das lokale Maximum hätte einen Gradienten von Null und der Algorithmus würde annehmen, dass es konvergiert hat. Aus diesem Grund führe ich häufig mehrere Iterationen von verschiedenen Startpunkten aus durch und verfolge dabei die Werte.

Jared Becksfort
quelle
1
Ich habe Ihren Präambelkommentar überarbeitet, da Sie anscheinend bereits einige positive Stimmen erhalten haben! Willkommen auf der Seite!
Matthew Drury
Vielen Dank! Ich war mir nicht sicher, ob es sich um einen Kommentar oder eine Antwort handeln sollte, und wollte nicht, dass meine erste Antwort allein aufgrund dessen in Vergessenheit gerät.
Jared Becksfort
6

Bei Newton-Verfahren wird bei jedem Schritt eine Lösung gefunden d(Error)dw=0für eine linearisierte oder ungefähre Version des Problems. Dann wird das Problem um den neuen Punkt linearisiert und der Vorgang wiederholt sich bis zur Konvergenz. Einige Leute haben es für neuronale Netze getan, aber es hat die folgenden Nachteile:

  • Man muss sich mit zweiten Derivaten befassen (den hessischen, speziell hessischen Vektorprodukten).
  • Der "Auflösungsschritt" ist sehr rechenintensiv: In der Zeit, die zum Auflösen benötigt wird, hätte man viele Iterationen mit Gradientenabstieg durchführen können.

Wendet man eine Krylov-Methode für die hessische Lösung an und verwendet man keinen guten Vorkonditionierer für die hessische Lösung, gleichen sich die Kosten grob aus - Newton-Iterationen dauern viel länger, machen aber mehr Fortschritte, so dass die Gesamtzeit grob ist das gleiche oder langsamer als Gefälle. Hat man dagegen einen guten hessischen Vorkonditionierer, gewinnt Newtons Methode.

Vertrauensregion-Newton-Krylov-Methoden sind der Goldstandard in der modernen großtechnischen Optimierung, und ich würde nur erwarten, dass ihr Einsatz in den kommenden Jahren in neuronalen Netzen zunimmt, da die Menschen immer größere Probleme lösen wollen. (und auch wenn mehr Leute in der numerischen Optimierung sich für maschinelles Lernen interessieren)

Nick Alger
quelle
Ich denke, Sie irren sich. Die Menschen nutzen seit den 90er Jahren Netze und kennen sich mit Methoden zweiter Ordnung aus. das problem ist genau, dass nnets erfolgreich sind, wenn es viele daten gibt, die dann viele parameter unterstützen. in diesem fall sind die zeit- und speichereinschränkungen von methoden zweiter ordnung ineffektiv. siehe zb leon.bottou.org/publications/pdf/compstat-2010.pdf
seanv507 13.11.15
@ seanv507 Nicht wirklich. Die Diskussion der Methoden zweiter Ordnung in dieser Arbeit weist viele Mängel auf, da davon ausgegangen wird, dass das gesamte dichte Hessische konstruiert und invertiert werden muss, um Methoden zweiter Ordnung zu verwenden. Dies ist bei der modernen numerischen Optimierung in großem Maßstab einfach nicht der Fall. In modernen Methoden zweiter Ordnung berechnet man die Wirkung des Hessischen auf Vektoren durch Lösen von Nebenproblemen und verwendet sie in einem iterativen (Krylov) -Löser. Im Allgemeinen gibt die erste innere Iteration die Gradientenrichtung zurück, und nachfolgende Iterationen verbessern sie.
Nick Alger
Obwohl ich kein besonderer Fan dieses Papiers bin, glaube ich nicht, dass das wahr ist. Er hat zuvor diagonale und reduzierte Rangannäherungen des Hessischen diskutiert / implementiert. Und was ist mit pearlmutters 1994er Arbeit schnelle exakte Multiplikation mit dem Hessischen?
Seanv507
Recht. Sobald Sie schnelle hessische Anwendungen haben (egal ob über Pearlmutter oder was Sie haben), können Sie ungenaue hessische Lösungen mit Krylov-Methoden wie dem konjugierten Gradienten durchführen. Auf diese Weise überträgt man die schlechten Konditionierungsschwierigkeiten effektiv vom nichtlinearen iterativen Optimierer auf den linearen algebraischen iterativen Löser, für den viele Maschinen und Vorkonditionierungstechniken zur Verfügung stehen, um das Problem zu lösen. Eine gute Referenz ist der Abschnitt über die Trust-Region CG-Steihaug im Klassiker "Numerical Optimization" von Nocedal und Wright.
Nick Alger
Mein Punkt ist, dass diese Multiplikation mit hessischen und konjugierten Gradienten in der nnets-Community seit 1994 bekannt ist. Ich glaube also, dass es definitiv einen Grund gibt, warum SGD anstelle von Methoden zweiter Ordnung verwendet wird (und ich möchte mit Sicherheit eine klare Lösung, warum dies so ist )
seanv507