Sofortantwort
ReLU und GELU einfach erklärt
Aktivierungsfunktionen: ReLU (einfach, schnell) und GELU (smooth, für Transformer).
- Kurz gesagt
- ReLU: max(0, x) – einfach und effizient
- Typischer Einsatz
- CNNs, Transformer/LLMs, Tiefe Netze
- Wichtig zu wissen
- Lösen das Vanishing Gradient Problem von Sigmoid
ReLU und GELU im Überblick
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
Technisch betrachtet
Implementation
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)
Vergleich
| 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 |