Woraus besteht die Loss Funktion?
How to Optimize
Follow the slope step by step.
Whats the Gradient?
Which gradient do we use in practice?
Whats gradient descent?
Was ist das problem beim full batch gradient descent, wie können wir dies umgehen?
Probleme beim Full Batch Gradient Descent:
Rechenintensiv: Full Batch Gradient Descent berechnet den Gradienten für den gesamten Datensatz bei jedem Schritt, was bei großen Datensätzen sehr rechenintensiv und zeitaufwendig ist.
Speicherbedarf: Erfordert viel Speicher, da alle Trainingsdaten gleichzeitig verarbeitet werden müssen.
Langsame Konvergenz: Kann zu einer langsamen Konvergenz führen, da das Modell in kleinen Schritten optimiert wird, was die Suche nach dem Minimum verlangsamen kann.
Lösung mit Stochastic Gradient Descent (SGD):
Zufällige Auswahl: SGD verwendet eine zufällige Stichprobe (einzelne Datenpunkte oder Mini-Batches) anstelle des gesamten Datensatzes, um den Gradienten zu berechnen. Dies reduziert den Rechenaufwand erheblich.
Schnellere Updates: Da SGD den Gradienten häufig aktualisiert, kann das Modell schneller auf die Trainingsdaten reagieren und Konvergenz schneller erreichen.
Bessere Exploration: Durch die zufällige Auswahl von Trainingsdaten kann SGD das Modell dazu bringen, besser durch den Parameterraum zu „wandern“, was hilft, lokale Minima zu vermeiden und das globale Minimum zu finden.
Was können probleme beim SGD sein?
Very slow progress along shallow dimension, jitter along steep direction
Zero gradient, gradient descent gets stuck —> Lokal minimum
can be noisy due to minibatches
Was ist besonders bei Nesterov Momentum?
Standard Momentum: Berechnet den Gradienten an der aktuellen Gewichtsposition, was zu Schwankungen in schmalen Minima führen kann.
Nesterov Momentum: Macht einen kleinen Schritt in Richtung des vorherigen Momentum-Terms, bevor der Gradient berechnet wird. Dadurch wird der Gradient an einer vorhergesagten Position der Gewichte evaluiert.
Vorteile von Nesterov Momentum:
Bessere Anpassung: Nutzt die Gradienteninformation effizienter und beschleunigt die Konvergenz.
Weniger Schwankungen: Führt zu stabileren und schnelleren Updates.
Was macht AdaGrad anders, welche Probleme werden so gelöst?
Adaptive Lernraten: AdaGrad passt die Lernrate für jedes Gewicht basierend auf der Häufigkeit der Aktualisierungen an, sodass häufig aktualisierte Gewichte eine kleinere Lernrate erhalten.
Akumulierung der Gradienten: Speichert die Summe der Quadrate der Gradienten, um die Lernrate dynamisch anzupassen.
Probleme, die gelöst werden:
Dynamische Anpassung: Ermöglicht eine effektivere Konvergenz, indem die Lernrate während des Trainings angepasst wird.
Bessere Handhabung seltener Merkmale: Seltene Merkmale werden nicht durch häufige Merkmale verdrängt.
Minimierung der Überanpassung: Hilft, häufige Merkmale weniger dominant zu machen.
Nachteil: Die Lernrate kann im Laufe der Zeit zu stark abnehmen, was die Konvergenz verlangsamt.
Wie kann das problem der abnehmenden Lernrate behoben werden?
RMSProp:
Ziel: Entwickelt, um die schnelle Abnahme der Lernrate von AdaGrad zu beheben.
Adaptive Lernraten: Passt die Lernrate für jedes Gewicht an, verwendet jedoch einen gleitenden Durchschnitt der Quadrate der Gradienten statt einer kumulierten Summe
Zusätzliche Hyperp. zur Steuerung der Lernrate
Vorteile:
Stabilität: Verhindert eine zu schnelle Abnahme der Lernrate.
Effektive Konvergenz: Fördert schnellere und robustere Konvergenz, besonders in nichtstationären Problemen.
was macht adam anders?
Unterschiede von Adam:
Kombination von RMSProp und Momentum: Nutzt adaptive Lernraten und Momentum.
Adaptive Lernraten: Berechnet gleitende Durchschnitte für Gradienten und deren Quadrate.
Bias-Korrektur: Reduziert Verzerrungen in den ersten Schritten.
Optimization Algorithm Comparison
Tracks first moments (Momentum):
Nutzt eine Art „Speicher“ für die vorherigen Gradienten, um die Richtung der Gewichtsaktualisierungen zu stabilisieren und schneller zu lernen.
Tracks second moments (Adaptive learning rates):
Passt die Lernrate an, je nachdem, wie oft die Gewichte aktualisiert wurden. Dadurch lernen weniger häufig aktualisierte Gewichte schneller.
Leaky second moments:
Dies bedeutet, dass der Algorithmus einen gleitenden Durchschnitt der zweiten Momente verwendet, was die Stabilität erhöht und die Lernrate flexibler macht.
Bias correction for moment estimates:
Verbessert die Schätzungen der ersten und zweiten Momente, besonders zu Beginn des Trainings, um genauer zu lernen.
SGD (Stochastic Gradient Descent):
Der einfachste Algorithmus. Er hat keine der oben genannten Funktionen und kann daher langsamer konvergieren.
SGD + Momentum:
Verwendet Momentum, um schneller zu lernen, aber keine adaptiven Lernraten.
Nesterov:
Ähnlich wie SGD + Momentum, aber es „schaut“ ein bisschen in die Zukunft, um bessere Aktualisierungen vorzunehmen.
AdaGrad:
Passt die Lernrate an, aber nutzt kein Momentum und keine Bias-Korrektur.
Nutzt adaptive Lernraten und Leaky second moments, aber keine Bias-Korrektur.
Adam:
Kombiniert alle vier Funktionen, was ihn zu einem der besten Algorithmen für das Training von neuronalen Netzwerken macht.
Was bringt momentum?
chnellere Konvergenz: Beschleunigt das Lernen durch Verstärkung der Bewegungsrichtung basierend auf vorherigen Aktualisierungen.
Reduzierung von Oszillation: Verringert Schwankungen um das Minimum und sorgt für stabilere Updates.
Überwindung von lokalen Minima: Hilft, lokale Minima zu überwinden und verbessert die Erkundung des Parameterraums.
Effektivere Nutzung des Gradienten: Speichert vorherige Gradienten, was präzisere und schnellere Updates ermöglicht.
Momentum und eigentlicher Step werden kombiniert auf Gewichte angewendet
Was ist der go-to Optimizer für neue probleme?
Adamw
Entkopplung der Gewichtsnormierung:
AdamW trennt die Gewichtsnormierung (Weight Decay) von der Optimierung. Anstatt die Regularisierung als Teil der Optimierung zu behandeln, wird sie direkt auf die Gewichte angewendet. Dies sorgt für eine genauere Kontrolle über den Einfluss der Regularisierung.
Verbesserte Regularisierung:
Durch die Entkopplung der Gewichtsnormierung können die Lernrate und der Gewichtsnormierungsfaktor unabhängig voneinander optimiert werden, was zu einer besseren Generalisierung führt.
Stabilere Konvergenz:
AdamW führt zu einer stabileren Konvergenz, insbesondere bei großen und komplexen Modellen, da die Regularisierung gleichmäßiger auf alle Gewichte angewendet wird.
Bessere Performance:
In vielen Fällen zeigt AdamW eine verbesserte Leistung im Vergleich zu Adam, insbesondere in Bezug auf die Generalisierung auf Testdaten und die Vermeidung von Überanpassung (Overfitting).
Last changed2 months ago