ReLU und GELU
Die wichtigsten Aktivierungsfunktionen für neuronale Netze – ReLU für Effizienz, GELU für Transformer und moderne Architekturen.
Eine Aktivierungsfunktion, die jeden Wert auf den Bereich 0-1 abbildet – klassisch für binäre Klassifikation und Wahrscheinlichkeiten.
Sigmoid quetscht jeden Wert in den Bereich 0 bis 1 – perfekt für Wahrscheinlichkeiten.
σ(x) = 1 / (1 + e^(-x))
Input: -∞ ──────── 0 ──────── +∞
Output: 0 ──────── 0.5 ────── 1
1 │ ___________
│ /
│ /
0.5 │─────●
│ /
│___/
0 └─────────────────────
-5 0 5
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
def sigmoid_derivative(x):
s = sigmoid(x)
return s * (1 - s) # Maximum bei x=0: 0.25
# Problem: Gradient wird sehr klein
x = 10
grad = sigmoid_derivative(x) # ≈ 0.00005
# Bei tiefen Netzen: Gradient → 0
# Lösung: ReLU, GELU, oder Residual Connections Sigmoid ist wie ein Dimmer: Egal wie stark du drehst (Input), das Licht geht nie über 100% oder unter 0%. Die Änderung ist in der Mitte am stärksten.
σ(x) = 1 / (1 + e^(-x))
Output immer zwischen 0 und 1
Gradient verschwindet bei sehr großen/kleinen Werten
Binäre Klassifikation
Output als Wahrscheinlichkeit interpretieren
Gates in LSTMs
Forget/Input/Output Gates
Logistische Regression
Klassische ML-Methode
Vanishing Gradient Problem: Bei großen/kleinen Werten ist der Gradient fast 0. ReLU/GELU sind besser für tiefe Netze.
Sigmoid: Binär oder Multi-Label (unabhängige Wahrscheinlichkeiten). Softmax: Multi-Class (summiert zu 1).