Regularisierung
Techniken, die verhindern, dass ein KI-Modell Trainingsdaten auswendig lernt (Overfitting), indem sie die Modellkomplexität einschränken.
Eine Regularisierungstechnik, die während des Trainings zufällig Neuronen deaktiviert – kann Overfitting reduzieren und Modelle robuster machen.
Dropout schaltet beim Training zufällig Aktivierungen aus. Das kann das Netzwerk dazu bringen, weniger fragile und besser generalisierende Muster zu lernen.
Training (Dropout aktiv):
[●] [○] [●] [○] [●] ← zufälliger Anteil deaktiviert
│ │ │
[●] [●] [○] [●] [○]
│ │ │
[●] [○] [●] [●] [○]
Inferenz (kein Dropout):
[●] [●] [●] [●] [●] ← Alle aktiv, Gewichte skaliert
import torch.nn as nn
class Model(nn.Module):
def __init__(self):
super().__init__()
self.fc1 = nn.Linear(input_dim, hidden_dim)
self.dropout = nn.Dropout(p=dropout_rate)
self.fc2 = nn.Linear(hidden_dim, output_dim)
def forward(self, x):
x = torch.relu(self.fc1(x))
x = self.dropout(x) # Nur aktiv wenn model.train()
x = self.fc2(x)
return x
# Training
model.train() # Dropout aktiv
# Inferenz
model.eval() # Dropout aus
| Variante | Beschreibung |
|---|---|
| Standard | Neuronen zufällig aus |
| Spatial | Ganze Feature Maps aus (CNNs) |
| DropConnect | Gewichte statt Neuronen |
| DropBlock | Zusammenhängende Regionen |
Dropout ist wie ein Team, das trainiert, auch wenn zufällig Spieler fehlen. So wird jeder Spieler wichtig und das Team funktioniert auch bei Ausfällen.
Zufällig einen Anteil der Aktivierungen pro Batch deaktivieren
Meist nur beim Training aktiv, nicht bei normaler Inferenz
Dropout-Rate hängt von Architektur, Daten und Regularisierungsbedarf ab
Overfitting verhindern
Modell kann besser generalisieren
Ensemble-Effekt
Implizit viele Subnetze trainieren
Uncertainty Estimation
Monte Carlo Dropout für Unsicherheit
Dropout reduziert Co-Adaptation: Einheiten können sich weniger stark auf bestimmte andere Einheiten verlassen. Dadurch lernt das Netzwerk oft robustere Repräsentationen.
Bei normaler Inferenz ist Dropout deaktiviert. Frameworks verwenden meist Inverted Dropout, sodass die Skalierung während des Trainings berücksichtigt wird.