Skip to main content

Overfitting

FÜR AI-AGENTENChatGPTClaude

Ein grundlegendes Problem im maschinellen Lernen: Das Modell passt sich übermäßig an den Trainingsdatensatz einschließlich dessen spezifischem Rauschen an und verliert dabei die Fähigkeit zur Generalisierung auf neue Daten. Analyse der Divergenz der Verlustfunktionen, Regularisierungstechniken und Early Stopping im Code.

1. Konzeptüberblick und mathematische Essenz

Das primäre Ziel jedes Machine-Learning-Modells besteht nicht darin, die Vergangenheit zu reproduzieren, sondern Wissen erfolgreich auf unbekannte zukünftige Daten zu extrapolieren – also Generalisierungsfähigkeit (Generalization) unter Beweis zu stellen.

Wenn die parametrische Kapazität des Modells (Anzahl der Gewichte) die informationale Komplexität des Trainingsdatensatzes deutlich übersteigt, tritt das Phänomen des Overfitting (High Variance) auf. Anstatt invarianten Gesetzmäßigkeiten zu extrahieren, identifiziert das neuronale Netz zufällige Korrelationen im Rauschen der Daten.

Mentales Modell: Ein Student, der vor einer Prüfung auswendig die genauen Antwortnummern am Ende des Lehrbuchs lernt, statt die Formeln zu verstehen: Er erzielt bei Testfragen 100 %, scheitert jedoch an der ersten realen Ingenieursaufgabe mit anderen Zahlenwerten.

┌─────────────────────────────────────────────────────────────┐
│                 КРИВА ДИВЕРГЕНЦІЇ ПЕРЕНАВЧАННЯ              │
├─────────────────────────────────────────────────────────────┤
│ LOSS (Похибка)                                              │
│   ▲                                                         │
│   │   Underfitting     ІДЕАЛЬНА ТОЧКА     Overfitting       │
│   │                          │                              │
│   │                          ▼ (Early Stopping Trigger)     │
│   │   \                      /                              │
│   │    \                    / ═══════════════════════ Val   │
│   │     \                  /                         Loss   │
│   │      \───────...──────/                                 │
│   │       \                                                 │
│   │        \───────────────────────────────────────── Train │
│   │                                                  Loss   │
│   └────────────────────────────────────────────────────────►│
│                            ЕПОХИ НАВЧАННЯ (Epochs)          │
└─────────────────────────────────────────────────────────────┘

2. Praktische Umsetzung: Early Stopping im PyTorch-Trainingszyklus

So implementieren Ingenieure das automatische Beenden des Trainings im Code, um eine Degradation des Modells zu verhindern:

import torch

class EarlyStopping:
    def __init__(self, patience: int = 3, min_delta: float = 0.001):
        self.patience = patience          # Скільки епох чекати після зупинки прогресу
        self.min_delta = min_delta        # Мінімальне покращення loss
        self.counter = 0
        self.best_loss = float('inf')
        self.should_stop = False

    def check(self, val_loss: float) -> bool:
        if val_loss < self.best_loss - self.min_delta:
            self.best_loss = val_loss
            self.counter = 0              # Скидаємо лічильник: є покращення!
        else:
            self.counter += 1
            if self.counter >= self.patience:
                self.should_stop = True
                print(f"[ALERT] Overfitting виявлено! Зупинка навчання на eval_loss: {val_loss:.4f}")
        return self.should_stop

Beim Fine-Tuning mit dem Hugging Face Trainer lässt sich dies buchstäblich durch zwei Zeilen Konfiguration steuern:

from transformers import EarlyStoppingCallback, TrainingArguments

training_args = TrainingArguments(
    eval_strategy="epoch",
    save_strategy="epoch",
    load_best_model_at_end=True,
    metric_for_best_model="eval_loss",
    weight_decay=0.01  # L2 регуляризація
)
callbacks = [EarlyStoppingCallback(early_stopping_patience=2)]

3. Die vier wichtigsten Methoden zur Bekämpfung von Overfitting

  1. Gewichtsregularisierung (Weight Decay / $L_2$): Bestraft das Modell in der Loss-Funktion für zu große absolute Werte der Gewichte ($Loss = Loss_{orig} + \lambda \sum w_i^2$). Dies zwingt das Modell dazu, glatt zu bleiben und robust gegenüber lokalen Ausreißern zu sein.
  2. Dropout (Zufälliges Deaktivieren von Neuronen): Während des Trainings werden zufällig 10–20 % der Neuronen in jeder Schicht temporär auf Null gesetzt. Dies verhindert „Ko-Adaptation“ zwischen Neuronen und zwingt das Netzwerk, redundante, robuste Signalpfade zu finden.
  3. Reduktion der parametrischen Kapazität (LoRA Rank Reduction): Wenn der Anpassungs-Datensatz klein ist (z. B. 200 Beispiele für einen Unternehmensstil), führt die Einstellung r=64 in LoRA fast garantiert zu katastrophalem Overfitting. Eine Reduktion des Ranges auf r=8 oder r=16 fungiert als starker Regularisierer.
  4. Data Augmentation und synthetische Daten: Künstliches Hinzufügen von Rauschen, Paraphrasierung durch Sprachmodelle und Inhaltserweiterung, um spezifische Formulierungen zu verwischen.

4. Zusammenfassende ingenieurtechnische Schlussfolgerung

Overfitting ist der Preis für die hohe Ausdruckskraft moderner neuronaler Netze. Ein professioneller ML-Ingenieur orientiert sich niemals an schönen Zahlen beim Trainings-Loss, sondern hält stets einen strengen Validierungsdatensatz außerhalb des Trainingskontexts bereit.

/ Häufig gestellte FragenSchema.org FAQPage

FAQ: Overfitting

Am Punkt der Divergenz: Der Trainingsfehler (Train Loss) sinkt weiterhin monoton, während der Validierungsfehler (Validation Loss) sein Minimum erreicht und anschließend wieder ansteigt. Genau in diesem Moment hört das Modell auf, allgemeine Regeln zu lernen, und beginnt, konkrete Samples auswendig zu lernen.
/ Interne Links
Alle Begriffe
Modelle & Inference

Pre-Training

Die initiale Phase der Entwicklung eines Basismodells (Foundation Model). Dabei wird ein neuronales Netz über Monate hinweg auf Clustern mit Tausenden von Grafikkarten an Billionen von Wörtern aus dem Internet, Büchern und Code trainiert – ein Prozess, der Kosten in Höhe von Hunderten Millionen Dollar verursacht.

Begriff lesen
Modelle & Inference

Fine-Tuning

Der Prozess der Anpassung eines bereits trainierten großen Modells an eine spezifische Aufgabe oder einen bestimmten Stil mithilfe eines kleinen, hochwertigen Datensatzes (Supervised Fine-Tuning, SFT). Ermöglicht das Training von KI-Modellen auf medizinische Terminologie, unternehmensspezifischen Tonfall oder die Formatierung von speziellem Code innerhalb weniger Stunden.

Begriff lesen
Modelle & Inference

Katastrophales Vergessen (Catastrophic Forgetting)

Ein grundlegendes Problem künstlicher neuronaler Netze, bei dem aktualisierte Gewichte beim Training auf eine neue Aufgabe oder Sprache frühere Verbindungen überschreiben und zu einem plötzlichen sowie vollständigen Verlust zuvor erworbener Fähigkeiten führen.

Begriff lesen
Modelle & Inference

Gewichte und Biases neuronaler Netze (Weights & Biases)

Die fundamentale Natur eines trainierten neuronalen Netzes. Gewichte (Weights) sind Matrixkoeffizienten, die die Stärke der Verbindung zwischen künstlichen Neuronen bestimmen, während Biases Aktivierungsschwellen darstellen. Erläuterung von Speicherformaten (.safetensors, bfloat16, fp8) sowie Inspektion der Gewichte über Python und CLI.

Begriff lesen