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?
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?
22
Antworten:
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
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.
quelle
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.
quelle
Bei Newton-Verfahren wird bei jedem Schritt eine Lösung gefundend( Fehler )dw= 0 fü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:
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)
quelle