Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

GELU (Gaussian Error Linear Unit)

GELU (unité linéaire d’erreur gaussienne) pondère chaque entrée selon la fonction de répartition de la loi normale. Cette activation lisse est utilisée dans BERT, GPT-2 et les transformers de vision. Avec du code.

L'unité linéaire d'erreur gaussienne (GELU) est une fonction d'activation définie par GELU(x) = x · Φ(x), où Φ est la fonction de répartition de la loi normale standard. Elle pondère chaque entrée selon la probabilité qu'une variable normale standard lui soit inférieure : les grandes valeurs positives passent presque sans changement, les grandes valeurs négatives sont ramenées à presque zéro et les valeurs proches de zéro sont réduites d'environ moitié. Dan Hendrycks et Kevin Gimpel l'ont présentée dans leur article de 2016 Unités linéaires d'erreur gaussienne (GELUs). GELU est devenue la fonction d'activation standard des modèles transformer tels que BERT, GPT-2, GPT-3 et le transformer de vision (ViT), où elle se trouve entre les deux couches linéaires de chaque bloc feed-forward.

Fonctionnement de GELU#

Hendrycks et Gimpel ont dérivé GELU de la régularisation stochastique. Imagine que chaque entrée x soit multipliée par un masque aléatoire qui la conserve avec une probabilité Φ(x) et la met à zéro sinon, comme avec le dropout, mais avec une probabilité de conservation qui augmente avec l'entrée. GELU est l'espérance de cette opération, Φ(x) · x ; elle filtre donc progressivement les entrées selon leur valeur, alors que ReLU les filtre abruptement selon leur signe.

La courbe obtenue présente trois propriétés importantes pour l'entraînement :

  • Lisse partout : GELU et sa dérivée sont continues, sans angle en zéro ; de petits changements de poids entraînent donc de petits changements de sortie pendant la rétropropagation.
  • Non monotone : Pour les entrées négatives, la sortie diminue d'abord, puis remonte vers zéro, atteignant un minimum d'environ −0,17 à x ≈ −0,75.
  • Gradient pour les entrées négatives : Les unités dont les entrées sont modérément négatives reçoivent toujours un gradient ; elles continuent donc d'apprendre, contrairement aux unités ReLU.

Comme Φ fait intervenir la fonction d'erreur, deux approximations sont courantes. La forme tanh, 0.5x(1 + tanh(√(2/π)(x + 0.044715x³))), reste à environ 0,0005 de GELU exacte et a été utilisée dans GPT-2. La forme sigmoïde, x · σ(1.702x), s'en écarte d'environ 0,02 et correspond à QuickGELU, utilisée dans CLIP d'OpenAI. nn.GELU de PyTorch calcule la forme exacte par défaut et la forme tanh avec approximate="tanh" :

import torch
from torch import nn

x = torch.tensor([-3.0, -1.0, -0.75, 0.0, 1.0, 3.0])

# Exact GELU: x * Phi(x), where Phi is the standard normal CDF
exact = nn.GELU()(x)

# Tanh approximation, as used in GPT-2
approx = nn.GELU(approximate="tanh")(x)

print(f"GELU exact: {[round(v, 4) for v in exact.tolist()]}")
print(f"GELU tanh:  {[round(v, 4) for v in approx.tolist()]}")
print(f"ReLU:       {nn.ReLU()(x).tolist()}")

GELU exacte affiche [-0.004, -0.1587, -0.17, 0.0, 0.8413, 2.996], la forme tanh [-0.0036, -0.1588, -0.17, 0.0, 0.8412, 2.9964] et ReLU [0.0, 0.0, 0.0, 0.0, 1.0, 3.0]. GELU produit −0,17 à son minimum près de −0,75, associe 0,8413 à 1 puisque Φ(1) = 0,8413, et correspond presque à ReLU à ±3. Les deux formes de GELU ne diffèrent qu'à la quatrième décimale.

Où GELU est utilisée#

  • Modèles GPT : Le premier GPT d'OpenAI utilisait GELU en 2018, et GPT-2 et GPT-3 l'ont conservée.
  • BERT : Après GPT, le modèle BERT de Google a choisi GELU plutôt que ReLU, et la plupart des encodeurs de type BERT l'utilisent encore.
  • Transformers de vision : ViT applique GELU dans le MLP de chaque bloc encodeur, et de nombreux backbones de vision ont suivi, notamment ConvNeXt, qui a remplacé ReLU par GELU en modernisant ResNet.
  • Transformers de détection : Dans le package Ultralytics, l'encodeur transformer AIFI de RT-DETR, le transformer de détection en temps réel de Baidu, applique GELU entre ses deux couches feed-forward.

De nombreux grands modèles de langage (LLMs) récents sont passés de GELU simple à des couches feed-forward avec portes. Gemma de Google utilise GEGLU, qui multiplie une projection activée par GELU par une seconde projection linéaire, tandis que Llama, PaLM et Qwen utilisent SwiGLU, fondée sur SiLU.

  • ReLU : max(0, x) coûte moins cher, produit des zéros exacts et présente un angle en zéro. L'article sur GELU a fait état de gains par rapport à ReLU et ELU sur toutes les tâches de vision par ordinateur, de traitement automatique du langage naturel et de reconnaissance vocale qu'il a évaluées.
  • SiLU (Swish) : x · σ(x) a une forme générale similaire, avec un minimum plus prononcé d'environ −0,28. GELU est le choix habituel dans les transformers, tandis que SiLU est plus courante dans les détecteurs convolutifs.
  • Leaky ReLU : Conserve une pente linéaire fixe pour les entrées négatives, alors que la partie négative de GELU forme une courbe qui revient à zéro.
  • GEGLU : Cette variante avec porte ajoute une seconde projection apprise. Dans la comparaison de Noam Shazeer publiée en 2020 sur T5, les couches feed-forward GEGLU ont atteint une log-perplexité de 1,633 sur les données de validation, contre 1,679 pour GELU et 1,677 pour ReLU, à nombre de paramètres égal.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique