Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

GELU (Gaussian Error Linear Unit)

Découvrez comment la fonction d'activation GELU améliore les modèles de transformateur tels que GPT-4, en stimulant le flux de gradients, la stabilité et l'efficacité.

L'unité linéaire d'erreur gaussienne (GELU) est une fonction d'activation largement adoptée. d 'activation largement adoptée qui est devenue pierre angulaire des architectures architectures modernes de réseaux neuronaux (NN), en particulier en particulier celles qui impliquent des transformateurs. Contrairement aux fonctions traditionnelles qui imposent un seuil dur aux entrées, GELU assure une transition plus douce et non monotone. Cette caractéristique Cette caractéristique unique lui permet de pondérer les entrées en fonction de leur ampleur, comblant ainsi le fossé entre la non-linéarité déterministe et la régularisation stochastique. déterministe et les techniques de régularisation stochastique. Son utilisation répandue dans des modèles majeurs tels que la série GPT et les modèles de BERT met en évidence sa capacité à aider les systèmes à apprendre des modèles complexes dans des ensembles de données importants.

Fonctionnement de GELU

À un niveau fondamental, GELU sert de gardien pour les informations qui circulent dans un modèle d'apprentissage profond (DL). modèle d'apprentissage profond (DL). Alors que les anciennes fonctions comme l'unité Rectified Linear Unit (ReLU), coupent radicalement les valeurs négatives en les mettant à zéro, GELU adopte une approche plus nuancée. les valeurs négatives en les mettant à zéro, la GELU adopte une approche plus nuancée. Elle multiplie la valeur d'entrée par la fonction de distribution cumulative (FDC ) de la de la distribution gaussienne standard.

Ce processus signifie que l'activation perd de l'information de manière probabiliste à mesure que l'entrée diminue, mais elle le fait avec une courbe douce plutôt qu'un angle aigu. une courbe douce plutôt qu'un angle aigu. Ce lissage améliore le flux d'informations pendant la rétropropagation, ce qui permet d'atténuer l'effet de l'activation. rétropropagation, ce qui permet d'atténuer le problème du gradient de fuite qui peut entraver le bon fonctionnement du système. gradient qui peut entraver l'apprentissage des réseaux profonds. formation des réseaux profonds. En incorporant les propriétés de la distribution gaussienne, GELU introduit une forme de courbure qui permet au modèle de s'adapter à l'évolution de l'environnement. courbure qui permet au modèle de mieux capturer les relations complexes entre les données par rapport aux alternatives linéaires.

GELU vs. autres fonctions d'activation

Pour comprendre la place de la GELU, il faut la distinguer des autres fonctions d'activation courantes que l'on trouve dans le glossaire de l'IA.

  • GELU vs. ReLU: ReLU est efficace d'un point de vue informatique et crée de la rareté en réduisant à zéro les entrées négatives. Cependant, son "coin" aigu à zéro peut bloquer l'apprentissage. "à zéro peut bloquer la formation. La courbure lisse de GELU évite ce problème, ce qui se traduit souvent par une plus grande précision dans les tâches complexes. plus grande précision dans les tâches complexes.
  • GELU contre Leaky ReLU: Le Leaky ReLU tente de réparer les neurones morts en autorisant une petite pente négative constante. une petite pente négative constante. En revanche, la GELU est non linéaire et non monotone, ce qui signifie que sa pente change en fonction de l'ampleur de l'entrée, offrant ainsi une capacité de représentation plus riche. en fonction de la magnitude de l'entrée, offrant ainsi une capacité de représentation plus riche.
  • GELU vs. SiLU (Swish): L'unité linéaire sigmoïde (SiLU) est structurellement très similaire à la GELU et partage ses propriétés lisses et non monotones. Alors que la GELU est dominante dans le traitement du langage naturel (NLP), la SiLU est une unité linéaire sigmoïde. traitement du langage naturel (NLP), SiLU est souvent préférée dans les architectures de vision par ordinateur, telles que l'unité linéaire sigmoïde. Ultralytics YOLO11 le modèle de détection d'objets d'Ultralytics, en raison légers gains d'efficacité dans les couches convolutives.

Applications concrètes

GELU fait partie intégrante de certaines des applications les plus avancées de l'intelligence artificielle (IA). l'intelligence artificielle (IA).

  • Grands modèles linguistiques (LLM): La courbure spécifique de GELU aide les modèles à comprendre les nuances linguistiques. Par exemple, dans l'analyse des sentiments ou résumé de texte, la fonction d'activation d'activation garantit que les signaux contextuels subtils sont préservés au plus profond des couches du réseau, ce qui permet de générer des textes cohérents dans les chatbots modernes. cohérente observée dans les chatbots modernes.
  • Transformateurs de vision (ViT): Au-delà du texte, GELU est utilisé dans les transformateurs de vision, qui appliquent des mécanismes d'auto-attention à la classification des images. à la classification des images. En facilitant la descente de gradient stable, GELU permet à ces modèles de descente de gradient stable, GELU permet à ces modèles de d'identifier des objets dans des scènes encombrées avec une grande précision.

Mise en œuvre en Python

L'intégration de GELU dans un modèle personnalisé est simple à réaliser à l'aide de cadres modernes tels que PyTorch ou TensorFlow. L'exemple suivant montre comment instancier une couche GELU dans un composant de modèle PyTorch .

import torch
import torch.nn as nn

# Define a sample input tensor (batch_size=1, features=5)
input_data = torch.tensor([[-3.0, -1.0, 0.0, 1.0, 3.0]])

# Initialize the GELU activation function
gelu_layer = nn.GELU()

# Apply GELU to the input data
output = gelu_layer(input_data)

# Output demonstrates the smooth suppression of negative values
print(f"Input: {input_data}")
print(f"Output: {output}")

Cet extrait utilise torch.nn.GELU, documenté dans le API officielle PyTorch GELUpour pour transformer les données d'entrée. Remarquez que les valeurs négatives sont supprimées sans être ramenées à zéro, ce qui permet de maintenir un flux de gradient régulier, essentiel pour l'apprentissage de méthodes robustes. flux de gradient régulier, essentiel à l'apprentissage de l'apprentissage machine (ML) modèles. Pour plus d'informations sur les fondements mathématiques, le document de recherche original sur les fondements mathématiques, l'article de recherche original, "Unités linéaires d'erreur gaussienne (GELU)fournit un contexte théorique complet.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant