Sigmoid
Eine Aktivierungsfunktion, die jeden Wert auf den Bereich 0-1 abbildet – klassisch für binäre Klassifikation und Wahrscheinlichkeiten.
Die wichtigsten Aktivierungsfunktionen für neuronale Netze – ReLU für Effizienz, GELU für Transformer und moderne Architekturen.
ReLU und GELU sind Aktivierungsfunktionen – sie entscheiden, wie stark ein Neuron “feuert”.
ReLU: f(x) = max(0, x)
│
y │ /
│ /
│ /
0 │───●
│
└─────────────
0 x
GELU: f(x) = x × Φ(x) (Φ = Normalverteilung CDF)
│
y │ _/
│ _/
│ _/
0 │__/
│
└─────────────
0 x
import numpy as np
def relu(x):
return np.maximum(0, x)
def gelu(x):
# Approximation (schneller)
return 0.5 * x * (1 + np.tanh(np.sqrt(2/np.pi) * (x + 0.044715 * x**3)))
# PyTorch
import torch.nn.functional as F
F.relu(x)
F.gelu(x)
| Funktion | Formel | Vorteile | Nachteile |
|---|---|---|---|
| ReLU | max(0,x) | Schnell, einfach | Dying ReLU |
| Leaky ReLU | max(0.01x, x) | Kein Dying | Hyperparameter |
| GELU | x×Φ(x) | Smooth, beste Performance | Langsamer |
| SiLU/Swish | x×σ(x) | Smooth, selbst-gated | Langsamer |
ReLU ist wie ein Türsteher: Negative Werte werden abgewiesen (0), positive dürfen durch. GELU ist ein freundlicherer Türsteher: Kleine negative Werte haben noch eine Chance.
ReLU: max(0, x) – einfach und effizient
GELU: x × Φ(x) – smooth, Standard in Transformern
Lösen das Vanishing Gradient Problem von Sigmoid
CNNs
ReLU ist Standard in Convolutional Networks
Transformer/LLMs
GELU ist Standard (GPT, BERT)
Tiefe Netze
Ermöglichen Training sehr tiefer Architekturen
GELU ist smooth (differenzierbar überall), hat bessere Gradienten-Eigenschaften und performt empirisch besser in NLP.
Neuronen mit negativem Input haben Gradient 0 und lernen nie wieder. Leaky ReLU oder GELU vermeiden das.