KI‑Kompass
Kompass

Aktivierungsfunktionen

ReLU, GELU, SiLU und warum Sigmoid tiefe Netze zwanzig Jahre lang unbrauchbar machte: die Funktion, die über den Gradientenfluss entscheidet.

·2 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Idee

Nach jeder gewichteten Summe steht eine kleine Funktion, die das Ergebnis verformt. Sie ist der Grund, warum ein Netz mehr kann als eine Gerade zu ziehen.

Die einfachste und heute übliche lautet: alles Negative wird null, alles Positive bleibt. Sie heißt ReLU.

Die üblichen Funktionen

FunktionVerlaufHeute verwendet für
ReLU0 für negativ, sonst identischStandard in CNN und Netzen allgemein
GELUWie ReLU, aber weichTransformer
SiLU / SwishWie GELU, etwas anders geformtModerne Bildmodelle, Transformer
SigmoidStaucht auf 0 bis 1Nur am Ausgang bei binärer Klassifikation
TanhStaucht auf −1 bis 1Selten, in rekurrenten Netzen
SoftmaxVektor auf WahrscheinlichkeitenImmer am Ausgang bei Mehrklassen

Warum Sigmoid scheitert

import numpy as np

def sigmoid(x): return 1 / (1 + np.exp(-x))
def sigmoid_grad(x): s = sigmoid(x); return s * (1 - s)

for x in [-6, -2, 0, 2, 6]:
    print(f"x={x:3d}  sigma={sigmoid(x):.4f}  Ableitung={sigmoid_grad(x):.4f}")
# x=  0 liefert die groesste Ableitung: 0,25.
# Ueber 20 Schichten: 0,25^20 = 9e-13. Der Gradient ist weg.

Die maximale Ableitung des Sigmoids ist 0,25. Jede Schicht dämpft den Gradienten also um mindestens den Faktor vier. ReLU hat im positiven Bereich die Ableitung exakt eins und dämpft dort gar nicht.

Tote Neuronen vermeiden

  • He-Initialisierung verwenden, nicht Xavier, wenn ReLU eingesetzt wird.
  • Die Lernrate nicht zu groß wählen; ein zu großer Schritt kann ein Neuron dauerhaft in den negativen Bereich schieben.
  • Den Anteil der Nullen je Schicht überwachen. Über 90 Prozent ist ein Warnsignal.
  • Bei anhaltendem Problem auf GELU oder Leaky ReLU wechseln, die auch im negativen Bereich einen kleinen Gradienten haben.

Die Formeln

Die vier wichtigsten Aktivierungen

ReLU(x) = max(0, x) GELU(x) = x · Φ(x) ≈ 0,5·x·(1 + tanh(√(2/π)·(x + 0,044715·x³))) SiLU(x) = x · σ(x) softmax(z)ᵢ = exp(zᵢ) / Σⱼ exp(zⱼ)

ReLU schneidet ab, GELU und SiLU tun dasselbe weich, Softmax normiert einen ganzen Vektor.

x
der Eingangswert
Φ
die Verteilungsfunktion der Standardnormalverteilung
σ
die logistische Funktion

Warum GELU in Transformern gewann

Drei Eigenschaften, die zusammen wirken:

  • Glatt. Die Ableitung ist überall stetig, was die Optimierung mit adaptiven Verfahren stabilisiert.
  • Nicht monoton. Für leicht negative Werte ist GELU minimal negativ statt null. Das erhält einen kleinen Gradienten und verhindert tote Einheiten.
  • Selbstregulierend. Der Faktor Φ(x) lässt sich als Wahrscheinlichkeit lesen, den Eingang durchzulassen: eine deterministische Variante von Dropout.

Der gemessene Unterschied zu ReLU ist klein, meist unter einem Punkt Perplexität, aber er ist konsistent und kostet nichts.

Gated Linear Units

Moderne Sprachmodelle verwenden in der Zwischenschicht meist keine einfache Aktivierung mehr, sondern ein Tor:

SwiGLU

SwiGLU(x) = ( SiLU(x·W) ⊙ (x·V) ) · W₂

Ein Zweig wird aktiviert, der andere bleibt linear, und beide werden elementweise multipliziert.

W, V, W₂
drei Gewichtsmatrizen statt zwei
elementweises Produkt

Das kostet eine dritte Matrix, weshalb die Zwischenbreite üblicherweise von 4h auf 8h/3 gesenkt wird, um die Parameterzahl konstant zu halten. Der gemessene Gewinn rechtfertigt diesen Tausch bei praktisch allen aktuellen Modellen.

Der numerische Punkt bei Softmax

Softmax wird nie allein berechnet, sondern immer zusammen mit dem Logarithmus für die Kreuzentropie. log_softmax ist numerisch stabil, log(softmax(x)) ist es nicht, weil kleine Wahrscheinlichkeiten vorher auf null unterlaufen. Siehe Zahlen im Rechner.

Passende Kurse und Quellen

WerkzeugKostenlosEN

TensorFlow Playground

Ein neuronales Netz im Browser, mit Reglern für Schichten, Aktivierung und Lernrate. Man sieht in Sekunden, was jede Stellschraube tut.

Für alle, die sehen wollen, was Lernrate, Schichten und Aktivierung tatsächlich bewirken.

War diese Seite hilfreich?
Aktivierungsfunktionen