Glossar

GELU (Gaussian Error Linear Unit)

Entdecke, wie die GELU-Aktivierungsfunktion Transformatorenmodelle wie GPT-4 verbessert und den Gradientenfluss, die Stabilität und die Effizienz erhöht.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Die Gaussian Error Linear Unit (GELU) ist eine leistungsstarke Aktivierungsfunktion, die in modernen neuronalen Netzen (NN), insbesondere in Transformatormodellen, weit verbreitet ist. Die von Dan Hendrycks und Kevin Gimpel in der Arbeit"Gaussian Error Linear Units (GELUs)" vorgeschlagene GELU führt einen probabilistischen Ansatz für die Neuronenaktivierung ein und weicht damit von der deterministischen Natur von Funktionen wie ReLU ab. Sie gewichtet die Eingaben nach ihrer Größe und nicht nur nach ihrem Vorzeichen und kombiniert damit Eigenschaften von Dropout, Zoneout und ReLU.

Wie GELU funktioniert

GELU bestimmt die Ausgabe eines Neurons, indem es den Eingabewert mit dem Wert der kumulativen Standardverteilungsfunktion (CDF) von Gauß multipliziert, die auf diese Eingabe angewendet wird. Das bedeutet, dass die Aktivierung stochastisch ist und vom Eingabewert selbst abhängt. Im Gegensatz zu ReLU, das negative Werte scharf abschneidet, liefert GELU eine sanftere Kurve. Eingaben mit größeren Werten werden eher beibehalten, während Eingaben, die näher bei Null liegen, eher herausgenommen werden. Diese glatte, probabilistische Gewichtung ermöglicht eine reichhaltigere Darstellung und einen besseren Gradientenfluss während der Backpropagation, was für das Training von tiefen Netzen entscheidend ist.

Vergleich mit anderen Aktivierungsfunktionen

GELU bietet im Vergleich zu anderen gängigen Aktivierungsfunktionen besondere Eigenschaften:

  • ReLU (Rectified Linear Unit): ReLU ist rechnerisch einfach (der Output ist der Input, wenn er positiv ist, ansonsten Null). GELU ist glatter und nicht monoton (sie kann bei negativen Werten mit steigendem Input abnehmen), was manchmal helfen kann, komplexere Muster zu erfassen. Allerdings ist GELU rechenintensiver als ReLU.
  • Sigmoid und Tanh: Diese Funktionen teilen die Eingaben in einen festen Bereich ein (0 bis 1 für Sigmoid, -1 bis 1 für Tanh). Sie sind zwar in bestimmten Kontexten nützlich (z. B. Ausgangsschichten für Wahrscheinlichkeiten), können aber in tiefen Netzen unter dem Problem des verschwindenden Gradienten leiden. GELU hat wie ReLU keine Obergrenze, wodurch dieses Problem für positive Werte gemildert wird.
  • SiLU (Sigmoid Linear Unit) / Swish: SiLU ist eine weitere glatte, nicht monotone Aktivierungsfunktion, die den Input mit ihrem Sigmoid multipliziert. Sie hat Ähnlichkeiten mit GELU in Bezug auf Form und Leistung und wird oft als naheliegende Alternative betrachtet. Beide haben gute empirische Ergebnisse gezeigt.

Vorteile von GELU

  • Glattheit: Die glatte Kurve ermöglicht eine bessere Dynamik des Gradientenabstiegs als der scharfe Punkt in ReLU.
  • Nicht-Monotonizität: Ermöglicht eine komplexere Funktionsannäherung.
  • Probabilistische Interpretation: Bezieht die Größe des Inputs stochastisch in die Aktivierungsentscheidung ein.
  • Hochmoderne Leistung: Wird häufig in Hochleistungsmodellen verwendet, insbesondere in Transformatoren.

Nachteile und Überlegungen

  • Berechnungsaufwand: Die Berechnung der Gaußschen CDF ist teurer als die einfachen Operationen in ReLU. In der Praxis werden oft effiziente Näherungen verwendet.
  • Komplexität: Etwas komplizierter zu verstehen und von Grund auf zu implementieren im Vergleich zu einfacheren Funktionen wie ReLU.

Anwendungen und Bedeutung

GELU ist aufgrund seiner starken empirischen Leistung zu einer beliebten Wahl in vielen fortgeschrittenen Deep Learning-Modellen geworden:

Die Fähigkeit der Funktion, glatte Nichtlinearität zu bieten und die Größe der Eingaben in die Aktivierungsentscheidungen einzubeziehen, macht sie für das Training von tiefen Netzen effektiv. Sie ist zwar etwas rechenintensiver als ReLU, aber ihre Leistungsvorteile rechtfertigen oft ihren Einsatz in großen Modellen, die mit Frameworks wie PyTorch und TensorFlow. Mit Tools wie Ultralytics HUB kannst du verschiedene Modelle untersuchen und trainieren.

Alles lesen