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

GELU (Gaussian Error Linear Unit) ist eine Aktivierungsfunktion, die häufig in modernen neuronalen Netzen verwendet wird, insbesondere in Transformer-Architekturen. Sie wurde von Dan Hendrycks und Kevin Gimpel in der Veröffentlichung"Gaussian Error Linear Units (GELUs)" vorgeschlagen und soll die Eigenschaften von Dropout, Zoneout und ReLU (Rectified Linear Unit) kombinieren, um die Modellleistung zu verbessern. Im Gegensatz zu ReLU, das negative Werte scharf abschneidet, liefert GELU eine glattere Kurve und gewichtet die Eingaben nach ihrem Betrag und nicht nur nach ihrem Vorzeichen.

Wie GELU funktioniert

Die GELU-Funktion moduliert die Eingabe auf der Grundlage ihres Wertes und entscheidet so, ob ein Neuron "aktiviert" wird. Sie multipliziert den Input mit dem Wert der kumulativen Standard-Gauß-Verteilungsfunktion (CDF), die auf diesen Input angewendet wird. Intuitiv bedeutet dies, dass Eingaben, die weiter von Null entfernt sind (sowohl positive als auch negative), mit größerer Wahrscheinlichkeit erhalten bleiben, während Eingaben, die näher an Null liegen, eine höhere Wahrscheinlichkeit haben, gelöscht zu werden. Dieser probabilistische Ansatz führt eine Form der stochastischen Regularisierung ein, die dem Dropout ähnelt, aber durch den Eingabewert selbst bestimmt wird und zu einer nicht-linearen Funktion führt, die komplexere Muster in den Daten erfassen kann.

GELU vs. andere Aktivierungsfunktionen

GELU bietet Vorteile gegenüber einfacheren Aktivierungsfunktionen, was dazu beigetragen hat, dass es in modernen Modellen eingesetzt wird:

  • ReLU: ReLU ist rechnerisch einfach, kann aber unter dem "sterbenden ReLU"-Problem leiden, bei dem Neuronen bei negativen Eingaben inaktiv werden, was das Lernen behindern kann. Die glatte Kurve von GELU lässt die Gradienten leichter fließen, vor allem bei negativen Werten, was dieses Problem möglicherweise abschwächt.
  • Leaky ReLU: Während Leaky ReLU das Problem der sterbenden ReLU löst, indem es einen kleinen, von Null verschiedenen Gradienten für negative Eingaben zulässt, behält es eine einfache lineare Beziehung im negativen Bereich bei. GELU bietet eine komplexere, nicht-lineare Transformation.
  • SiLU (Swish): SiLU (Sigmoid Linear Unit) ist eine weitere glatte Aktivierungsfunktion, die oft eine ähnliche Leistung wie GELU erbringt. Die Wahl zwischen GELU und SiLU kann von der spezifischen Architektur und dem Datensatz abhängen und wird oft durch empirische Tests oder die Abstimmung der Hyperparameter bestimmt.

Anwendungen und Bedeutung

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

  1. Natürliche Sprachverarbeitung (NLP ): Sie wird häufig in transformatorbasierten Modellen wie BERT und GPT verwendet und trägt zu ihrem Erfolg bei Aufgaben wie der Texterstellung und dem Verständnis natürlicher Sprache bei.
  2. Computer Vision: GELU findet sich auch in Vision Transformers (ViT) und nachfolgenden Vision-Modellen. Komponenten wie das Generalized Efficient Layer Aggregation Network (GELAN), das in Ultralytics YOLOv9 verwendet wird, nutzen GELU, um die Merkmalsextraktion zu verbessern und die Genauigkeit bei der Objekterkennung zu erhöhen, wie im YOLOv9-Papier beschrieben.

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.

Alles lesen