Gradient¶
Der Gradient ist ein Vektor, der die Richtung des steilsten Anstiegs einer Funktion angibt. Beim Training neuronaler Netze nutzen wir Gradienten, um zu wissen, wie wir Parameter anpassen müssen.
Intuition¶
Stell dir vor, du stehst in einer hügeligen Landschaft (Loss-Landschaft) und willst ins Tal (minimaler Loss):
- Der Gradient zeigt bergauf
- Wir gehen entgegen dem Gradienten → bergab
- Wiederhole bis wir im Tal sind
Mathematisch¶
Für eine Funktion \(f(x, y)\):
\[
\nabla f = \begin{pmatrix} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y} \end{pmatrix}
\]
Jede Komponente ist die partielle Ableitung – wie stark ändert sich \(f\), wenn wir nur \(x\) (oder \(y\)) ändern.
Gradient Descent¶
Der Optimierungsalgorithmus:
\[
\theta_{neu} = \theta_{alt} - \eta \cdot \nabla_\theta L
\]
- \(\theta\) = Parameter (Gewichte)
- \(\eta\) = Learning Rate (Schrittgröße)
- \(\nabla_\theta L\) = Gradient des Loss nach den Parametern
Varianten¶
| Methode | Beschreibung |
|---|---|
| SGD | Stochastic Gradient Descent – ein Sample pro Update |
| Mini-Batch | Batch von Samples pro Update |
| Adam | Adaptiver Optimizer mit Momentum |
Siehe auch¶
- Backpropagation – Wie Gradienten berechnet werden
- Loss Function – Was wir minimieren
- Parameter – Was optimiert wird