Zurück zu den Texten

Zur Geometrie von Verlustfunktionen

1 Min. Lesezeit

Warum Konvexität wichtiger ist als man denkt — und was passiert, wenn sie fehlt.

Auf Englisch lesen (English)

Dieser Beitrag zeigt, was das System kann: Prosa, Code, Mathematik und Bilder, frei gemischt. Er kann gelöscht werden, sobald etwas Echtes geschrieben ist.

Man beachte: Der Slug dieses Beitrags unterscheidet sich vom englischen. Verbunden werden die beiden allein über translationKey im Frontmatter.

Das Problem

Betrachten wir eine Funktion f:RnRf: \mathbb{R}^n \to \mathbb{R}, die wir minimieren möchten. Die zentrale Frage lautet: Wann konvergiert der Gradientenabstieg, und wie schnell?

f(x)=0und2f(x)0\nabla f(x^*) = 0 \quad \text{und} \quad \nabla^2 f(x^*) \succ 0

Ist die Hesse-Matrix 2f(x)\nabla^2 f(x) LL-Lipschitz-stetig und ff μ\mu-stark konvex, so konvergiert der Gradientenabstieg mit Schrittweite η=1L\eta = \tfrac{1}{L} linear:

f(xk+1)f(x)(1μL)k(f(x0)f(x))f(x_{k+1}) - f(x^*) \leq \left(1 - \frac{\mu}{L}\right)^k \left(f(x_0) - f(x^*)\right)

Die Konditionszahl κ=L/μ\kappa = L/\mu bestimmt alles. Ein gut konditioniertes Problem konvergiert schnell; ein schlecht konditioniertes kriecht.

Implementierung

import numpy as np


def gradient_descent(f, grad_f, x0, lr=0.01, tol=1e-6, max_iter=1000):
    """Minimiert f mittels Gradientenabstieg."""
    x = x0.copy()
    history = [x.copy()]

    for _ in range(max_iter):
        g = grad_f(x)

        # Konvergenz prüfen
        if np.linalg.norm(g) < tol:
            break

        # Aktualisierungsschritt
        x = x - lr * g
        history.append(x.copy())

    return x, history

Wichtige Erkenntnisse

  • Konvexität garantiert ein globales Minimum — keine Sattelpunkte.
  • Die Konvergenzrate hängt vollständig von der Konditionszahl κ=L/μ\kappa = L/\mu ab.
  • Die Schrittweite ist entscheidend: zu groß divergiert, zu klein kriecht.
  • Vorkonditionierung kann die Konvergenz drastisch verbessern.

Die Mathematik hier hängt direkt mit maschinellem Lernen zusammen: Jedes Mal, wenn ein neuronales Netz mit SGD trainiert wird, läuft eine stochastische Variante genau dieses Verfahrens. Die Verlustlandschaft ist nicht konvex, aber die lokale Geometrie entscheidet weiterhin darüber, ob man konvergiert oder oszilliert.