Neuronale Netze: Optimierer und vollständig verbundene Schichten

SGD (Stochastischer Gradientenabstieg)

Der Optimierungsalgorithmus des stochastischen Gradientenabstiegs wird in der wissenschaftlichen Forschung und Industrie sehr häufig verwendet.

Viele theoretische und technische Probleme können in mathematische Probleme zur Minimierung einer Zielfunktion umgewandelt werden.

Beispiel: Gradient Descent ist wie eine Person, die von einem hohen Berg zum tiefsten Punkt eines Tals laufen und den schnellsten Weg nutzen möchte, um den tiefsten Punkt zu erreichen.

Die Formel von SGD:

Impulsformel:

Der grundlegende Mini-Batch-SGD-Optimierungsalgorithmus hat beim Deep Learning viele gute Ergebnisse erzielt. Allerdings gibt es auch einige Probleme, die gelöst werden müssen:

  1. Die Wahl einer angemessenen anfänglichen Lernrate ist schwierig.
  2. Die Strategie zur Anpassung der Lernrate unterliegt vorab festgelegten Anpassungsregeln.
  3. Auf jeden Parameter wird die gleiche Lernrate angewendet.
  4. So vermeiden Sie, dass Sie während des Optimierungsprozesses von stark nicht konvexen Fehlerfunktionen in eine große Anzahl lokaler suboptimaler Lösungen oder Sattelpunkte geraten.

AdaGrad (adaptiver Gradient)

AdaGrad-Optimierungsalgorithmus (Adaptive Gradient, adaptiver Gradient), der unterschiedliche Lernraten für jeden einzelnen Parameter anpassen, sich häufig ändernde Parameter mit einer kleineren Schrittgröße aktualisieren und spärliche Parameter mit einer größeren Schrittgröße aktualisieren kann.

AdaGrad-Formel:

gt , i g_{t,i}Gt , ichrepräsentiert θ i \theta_{i} zum Zeitpunkt tichichGradient.

G t , ii G_{t,ii}Gt , iiStellt den Parameter θ i \theta_{i} zum Zeitpunkt t darichichDie Summe der quadrierten Steigungen.

Der Hauptunterschied zu SGD besteht darin, dass bei der Berechnung der Aktualisierungsschrittgröße der Nenner hinzugefügt wird: die Quadratwurzel der kumulativen Summe der quadratischen Gradienten . Dieses Element kann jeden Parameter θ i \theta_{i} akkumulierenichichDas Quadrat des historischen Gradienten. Wenn der Gradient häufig aktualisiert wird, wird der akkumulierte Nenner allmählich größer, sodass die Aktualisierungsschrittgröße relativ kleiner wird, während der spärliche Gradient dazu führt, dass der entsprechende Wert im akkumulierten Nennerterm kleiner wird. Daher wird die Aktualisierungsschrittgröße kleiner. Je länger sie ist, desto größer ist sie.

AdaGrad kann sich automatisch an unterschiedliche Lernraten für verschiedene Parameter anpassen (der Nennerterm der Quadratwurzel entspricht der automatischen Anpassung der Lernrate α und der anschließenden Multiplikation mit diesem Gradienten). Die meisten Framework-Implementierungen verwenden die Standardlernrate α = 0,01. das heißt, es kann eine bessere Konvergenz erreicht werden.

Vorteile: In Szenarien mit spärlicher Datenverteilung können spärliche Gradienteninformationen besser genutzt und effektiver konvergiert werden als mit dem Standard-SGD-Algorithmus.

Nachteile: Der Hauptfehler liegt in der kontinuierlichen Akkumulation des Quadrats des Gradienten im Nennerterm. Mit zunehmender Zeit wird der Nennerterm immer größer, was schließlich dazu führt, dass die Lernrate zu klein wird, um effektiv aktualisiert zu werden.

RMSProp

RMSProp kombiniert den exponentiellen gleitenden Durchschnitt des quadratischen Gradienten, um Änderungen in der Lernrate auszugleichen. Bei instabiler Zielfunktion kann eine gute Konvergenz erreicht werden.

Berechnen Sie den Gradienten zum Zeitpunkt t:

Berechnen Sie den exponentiellen gleitenden Durchschnitt des quadratischen Gradienten (exponentieller gleitender Durchschnitt), γ \gammaγ ist der Vergessensfaktor (oder die exponentielle Abklingrate). Erfahrungsgemäß beträgt die Standardeinstellung 0,9.

Beim Aktualisieren des Gradienten ähnelt es AdaGrad, außer dass es die Erwartung des Quadrats des Gradienten (exponentielles gleitendes Mittel) aktualisiert, wobei ε = 1 0 − 8 \varepsilon = 10^{-8}e=1 08 , um eine Division durch 0 zu vermeiden. Standardlernrateα = 0,001 \alpha = 0,001A=0,001

Vorteile: Es kann das Problem der starken Gradientenreduzierung in AdaGrad überwinden und hat in vielen Anwendungen hervorragende Fähigkeiten zur Anpassung der Lernrate gezeigt. Insbesondere unter instabilen (instationären) Zielfunktionen ist die Leistung besser als die Basisfunktionen SGD, Momentum und AdaGrad.

Adam

Der Adam-Optimierer vereint die Vorteile der beiden Optimierungsalgorithmen AdaGrad und RMSProp. Die Aktualisierungsschrittgröße wird berechnet, indem die Schätzung des ersten Moments (d. h. der Mittelwert des Gradienten) und die Schätzung des zweiten Moments (d. h. die nicht zentrierte Varianz des Gradienten) des Gradienten umfassend berücksichtigt werden.

Adams Vorteile:

  1. Die Implementierung ist einfach, die Berechnung effizient und erfordert wenig Speicher.
  2. Die Aktualisierung der Parameter wird durch die Skalierungstransformation des Gradienten nicht beeinflusst.
  3. Hyperparameter sind sehr gut interpretierbar und erfordern oft nur wenig oder gar keine Anpassung.
  4. Die Aktualisierungsschrittgröße kann auf einen groben Bereich (die anfängliche Lernrate) begrenzt werden.
  5. Der Step-Annealing-Prozess (automatische Anpassung der Lernrate) kann auf natürliche Weise realisiert werden.
  6. Es eignet sich sehr gut für Szenarien mit umfangreichen Daten und Parametern.
  7. Geeignet für instabile Zielfunktionen.
  8. Es eignet sich für Probleme, bei denen der Gradient spärlich ist oder viel Rauschen aufweist.

Adams Implementierungsprinzip:

Berechnen Sie den Gradienten zum Zeitpunkt t:

Berechnen Sie dann den exponentiellen gleitenden Durchschnitt des Gradienten, m 0 m_{0}M0Auf 0 initialisiert.

Ähnlich wie beim Momentum-Algorithmus wird der zuvor akkumulierte Gradientenimpuls umfassend berücksichtigt.

β 1 \beta_{1}B1Der Koeffizient ist eine exponentielle Abfallrate, die die Gewichtsverteilung von Impuls und Stromgradient steuert und normalerweise einen Wert nahe 1 annimmt. Der Standardwert ist 0,9.

Berechnen Sie als Nächstes den exponentiellen gleitenden Durchschnitt des quadratischen Gradienten, v 0 v_{0}v0Auf 0 initialisiert.

β 2 \beta_{2}B2Der Koeffizient ist eine exponentielle Abfallrate, die den Einfluss des vorherigen Gradientenquadrats steuert. Der Standardwert ist 0,999.

Ähnlich wie beim RMSProp-Algorithmus wird ein gewichteter Durchschnitt der quadrierten Gradienten durchgeführt.

Da m 0 m_{0}M0Auf 0 initialisiert, ergibt mt m_{t}MtVoreingenommen gegen 0, insbesondere in den frühen Phasen des Trainings.

Daher müssen wir hier den Gradientenmittelwert mt m_{t} berechnen.MtFühren Sie eine Bias-Korrektur durch, um die Auswirkungen von Bias auf die Anfangsphase des Trainings zu reduzieren.

Gleichzeitig v 0 v_{0}v0Führen Sie außerdem eine Bias-Korrektur durch:

Die endgültige Gesamtformel lautet wie folgt:

wobei die Standardlernrate α = 0,001 \alpha = 0,001 istA=0,001ε = 1 0 − 8 \varepsilon = 10^{-8}e=1 08 verhindert, dass der Divisor 0 wird.

Aus dem Ausdruck ist ersichtlich, dass die aktualisierte Schrittgrößenberechnung aus den beiden Perspektiven Gradientenmittelwert und Gradientenquadrat adaptiv angepasst werden kann, anstatt direkt durch den aktuellen Gradienten bestimmt zu werden.

Adams Mängel:

Obwohl sich der Adam-Algorithmus zu einem gängigen Optimierungsalgorithmus entwickelt hat, werden in vielen Bereichen (z. B. Bilderkennung in Computer Vision und maschineller Übersetzung in NLP) immer noch die besten Ergebnisse durch die Verwendung von SGD mit Schwung erzielt.

Die Rolle der vollständig verbundenen Schicht

Die vollständig verbundene Schicht ordnet die durch Faltung erlernten hochdimensionalen Merkmale dem Etikettenraum zu und kann als Klassifizierungsmodul des gesamten Netzwerks verwendet werden.

Obwohl die Parameter der vollständig verbundenen Schicht redundant sind, können sie eine große Modellkapazität aufrechterhalten, wenn das Modell Transferlernen durchführt.

Derzeit verwenden viele Modelle Global Average Pooling (GAP), um die vollständig verbundene Schicht zu ersetzen und so die Modellparameter zu reduzieren und dennoch die SOTA-Leistung zu erreichen.

Supongo que te gusta

Origin blog.csdn.net/weixin_51390582/article/details/134980649
Recomendado
Clasificación