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

Activation Function

Une fonction d’activation est la fonction non linéaire qu’un neurone applique à son entrée pondérée, permettant aux réseaux d’apprendre des motifs courbes. Comparaison des choix courants.

Une fonction d'activation est la fonction qu'un neurone d'un réseau neuronal (NN) applique à la somme pondérée de ses entrées pour produire sa sortie. Son rôle essentiel est d'ajouter de la non-linéarité : sans elle, tout empilement de couches se réduit à une seule transformation linéaire, et la profondeur n'apporte rien. Grâce à elle, un réseau peut représenter des frontières de décision courbes, du tracé des chiffres manuscrits au contour d'un piéton dans une image de caméra. Les fonctions d'activation jouent deux rôles. Dans les couches cachées, des fonctions comme ReLU, SiLU et GELU permettent au réseau de construire des caractéristiques. Dans la couche de sortie, des fonctions comme sigmoid et softmax transforment les scores bruts en probabilités.

Pourquoi les réseaux ont besoin de non-linéarité#

Une couche sans activation calcule Wx + b. Deux couches de ce type donnent W₂(W₁x + b₁) + b₂, ce qui équivaut à (W₂W₁)x + (W₂b₁ + b₂), soit une autre couche linéaire unique. Une activation entre les couches empêche cette réduction, et le théorème d'approximation universelle montre qu'une couche cachée contenant suffisamment d'unités non linéaires peut approximer toute fonction continue sur un domaine borné.

La dérivée de la fonction d'activation compte autant que sa forme, car la rétropropagation multiplie ces dérivées couche après couche. La dérivée de sigmoid ne dépasse jamais 0,25 et celle de tanh tend vers zéro pour les grandes entrées ; les gradients diminuent donc lorsqu'ils traversent de nombreuses couches saturantes : c'est le problème de la disparition du gradient. La dérivée de ReLU vaut exactement 1 pour toute entrée positive, ce qui explique en grande partie pourquoi l'entraînement de réseaux très profonds est devenu pratique.

Fonctions d'activation courantes#

  • ReLU : max(0, x). Peu coûteuse, elle a un gradient de 1 pour les entrées positives et produit exactement zéro pour les entrées négatives. C'est la fonction d'activation cachée par défaut des CNN depuis AlexNet en 2012, mais les unités qui ne reçoivent que des entrées négatives cessent d'apprendre.
  • Leaky ReLU : Multiplie les entrées négatives par une faible pente, comme 0.01 ou 0.1, afin que chaque unité conserve un gradient.
  • SiLU (Swish) : x · σ(x), une courbe lisse qui descend légèrement sous zéro pour les entrées négatives. Elle est courante dans les CNN efficaces et les détecteurs en temps réel.
  • GELU : x · Φ(x), où Φ est la fonction de répartition de la loi normale standard. C'est la fonction d'activation standard de BERT, GPT-2 et des transformeurs de vision.
  • Tanh : Ramène les entrées entre −1 et 1 avec un centre à zéro. Elle façonne l'état caché des réseaux récurrents comme le GRU.
  • Sigmoid : Ramène les entrées entre 0 et 1, ce qui convient aux sorties binaires et mult-étiquettes ainsi qu'aux portes des cellules récurrentes.
  • Softmax : Transforme un vecteur entier de scores en une distribution de probabilités dont la somme vaut 1, pour la classification à étiquette unique et les poids d'attention.
  • SwiGLU : Couche à portes qui multiplie une projection activée par SiLU par une seconde projection apprise. Elle a remplacé l'activation simple dans les couches à propagation avant de nombreux grands modèles de langage (LLM) récents.

PyTorch fournit chaque fonction élément par élément sous forme de module dans torch.nn, ce qui permet de les comparer facilement sur les mêmes entrées :

import torch
from torch import nn

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

# Common activations, each applied element-wise to the same inputs
activations = {
    "ReLU": nn.ReLU(),
    "Leaky ReLU": nn.LeakyReLU(0.1),
    "SiLU": nn.SiLU(),
    "GELU": nn.GELU(),
    "Tanh": nn.Tanh(),
    "Sigmoid": nn.Sigmoid(),
}
for name, act in activations.items():
    print(f"{name:>10}: {[round(v, 3) for v in act(x).tolist()]}")

Pour les entrées −3, −1, 0, 1 et 3, ReLU affiche [0.0, 0.0, 0.0, 1.0, 3.0] et Leaky ReLU [-0.3, -0.1, 0.0, 1.0, 3.0]. SiLU donne [-0.142, -0.269, 0.0, 0.731, 2.858] et GELU [-0.004, -0.159, 0.0, 0.841, 2.996] : toutes deux laissent passer les petites valeurs négatives et se rapprochent de ReLU pour les grandes entrées. Tanh donne [-0.995, -0.762, 0.0, 0.762, 0.995] et sigmoid [0.047, 0.269, 0.5, 0.731, 0.953] ; toutes deux s'aplatissent à ±3, où leurs gradients sont déjà faibles.

Choisir une fonction d'activation#

Les couches cachées suivent généralement les conventions de leur famille d’architectures, et la couche de sortie dépend de la tâche. Softmax convient aux tâches où chaque entrée appartient à une seule classe, sigmoid aux étiquettes qui peuvent coexister, et les sorties de régression ne font appel à aucune fonction d’activation, ce qui leur permet de prendre n’importe quelle valeur. Le matériel peut également limiter le choix : certains accélérateurs en périphérie n’exécutent nativement que des fonctions simples telles que ReLU, Leaky ReLU et Hard-Swish. YOLO26 applique SiLU après la convolution et la normalisation par lots dans chaque bloc Conv, attribue un score à chaque classe de détection au moyen d’une sigmoid indépendante, de sorte que les scores de classe d’une boîte n’aient pas à totaliser 1, et applique softmax aux 1 000 classes ImageNet de ses modèles de classification.

  • Fonction de perte : L'activation façonne la sortie de chaque neurone pendant la propagation avant, et la perte évalue la prédiction finale du réseau par rapport à l'étiquette. Les bibliothèques fusionnent souvent la dernière activation dans la perte, comme le fait CrossEntropyLoss avec softmax, pour assurer la stabilité numérique.
  • Normalisation par lots : La normalisation par lots ou par couche remet les activations à l'échelle dans une plage stable à l'aide de statistiques et de paramètres appris. Elle se trouve à côté de la fonction d'activation, généralement juste avant celle-ci, et n'ajoute aucune non-linéarité par elle-même.
  • Activations : Employé au pluriel comme nom, « activations » désigne les valeurs de sortie produites par une couche. « Non-linéarité » et l'ancien terme « fonction de transfert » sont des synonymes de fonction d'activation. Pendant l'entraînement, les frameworks conservent en mémoire les activations de chaque couche pour la passe arrière ; c'est pourquoi le checkpointing des gradients économise de la mémoire en supprimant certaines activations puis en les recalculant pendant la rétropropagation.

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