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

Sigmoid

La fonction sigmoïde transforme tout nombre réel en une valeur comprise entre 0 et 1. Au programme : sa formule, son gradient, ses sorties probabilistes, ses portes et du code PyTorch.

La fonction sigmoïde, σ(x) = 1 / (1 + e^(−x)), associe à tout nombre réel une valeur comprise entre 0 et 1, selon une courbe en S : les grandes entrées négatives donnent des sorties proches de 0, les grandes entrées positives donnent des sorties proches de 1, et une entrée égale à 0 donne exactement 0.5. En apprentissage automatique (ML), « sigmoïde » désigne presque toujours cette fonction logistique, la même courbe qui transforme un score linéaire en probabilité dans la régression logistique. Dans un réseau neuronal (NN), la sigmoïde joue trois rôles : elle a d’abord été la fonction d’activation des couches cachées, elle transforme un score final en probabilité pour les sorties binaires et multilabel, et elle agit comme un interrupteur progressif dans les portes des cellules récurrentes et d’autres couches à portes. Les couches cachées utilisent depuis d’autres fonctions, comme ReLU ; dans les modèles actuels, la plupart des sigmoïdes se trouvent donc dans les sorties et les portes.

Formule et propriétés#

La sigmoïde est symétrique autour de son point médian, σ(−x) = 1 − σ(x), et sa fonction réciproque est le logit, log(p / (1 − p)), qui convertit une probabilité en log-cote. C’est pourquoi la sortie brute d’un réseau avant une sigmoïde est appelée logit. Sa dérivée a une forme compacte, σ′(x) = σ(x)(1 − σ(x)) ; elle atteint un maximum de 0.25 pour x = 0 et tend vers zéro lorsque la courbe s’aplatit aux deux extrémités, un phénomène appelé saturation. L’extrait PyTorch ci-dessous calcule les sorties et les gradients en cinq points :

import torch

x = torch.tensor([-6.0, -2.0, 0.0, 2.0, 6.0], requires_grad=True)
y = torch.sigmoid(x)

# Backpropagate to get the derivative sigmoid(x) * (1 - sigmoid(x)) at each input
y.sum().backward()

print(f"Sigmoid:  {[round(v, 4) for v in y.tolist()]}")
print(f"Gradient: {[round(v, 4) for v in x.grad.tolist()]}")

La sortie affiche les valeurs de la sigmoïde [0.0025, 0.1192, 0.5, 0.8808, 0.9975] et les gradients [0.0025, 0.105, 0.25, 0.105, 0.0025]. Pour ±6, la sortie est à moins de 0.0025 de sa limite et le gradient est 100 fois plus faible qu’en zéro ; une entrée de cet ordre ne modifie donc presque pas les poids qui l’ont produite.

La sigmoïde dans les couches cachées#

Les premiers réseaux multicouches utilisaient la sigmoïde dans chaque couche cachée, ce qui posait deux problèmes. La rétropropagation multiplie une dérivée d’activation par couche et, comme la dérivée de la sigmoïde ne dépasse jamais 0.25, ces dérivées seules multiplient le gradient par au plus 0.25¹⁰, soit moins d’un millionième, sur dix couches sigmoïdes : c’est le problème du gradient évanescent. Les sorties de la sigmoïde sont aussi toujours positives, si bien que tous les gradients des poids d’un neurone qui les reçoit ont le même signe à chaque mise à jour ; les poids ne peuvent alors que zigzaguer vers leur optimum. Tanh centre ses sorties autour de zéro, et Xavier Glorot et Yoshua Bengio ont montré en 2010 que la moyenne positive de la sigmoïde pousse la couche cachée supérieure d’un réseau profond initialisé aléatoirement vers la saturation. ReLU a éliminé ces deux problèmes et est devenue la fonction par défaut des couches cachées. Ses successeurs lisses, comme SiLU, x · σ(x), utilisent toujours la sigmoïde comme porte interne.

La sigmoïde en couche de sortie#

Pour la classification binaire, une sortie unique z devient p = σ(z), la probabilité prédite de la classe positive ; appliquer un seuil de 0,5 à p revient à appliquer un seuil de 0 à z. L’entraînement associe la sigmoïde à l’entropie croisée binaire, dont le gradient par rapport au logit est simplement p − y, soit la probabilité prédite moins l’étiquette. Les frameworks fusionnent les deux pour assurer la stabilité numérique : la fonction PyTorch BCEWithLogitsLoss prend les logits bruts et applique en interne l’astuce log-sum-exp, ce qui évite de calculer le logarithme d’une probabilité arrondie exactement à 0 ou à 1.

Lorsque les étiquettes peuvent coexister, un modèle utilise une sigmoïde par étiquette : c’est la classification multilabel. À l’inverse, Softmax met les classes en concurrence pour se partager une unité de probabilité, ce qui convient aux étiquettes mutuellement exclusives :

import torch

# Logits from a classifier for the labels "person", "backpack", and "car"
logits = torch.tensor([2.0, 1.5, -3.0])

# Sigmoid scores each label on its own; softmax makes the labels compete for one total
sigmoid_probs = torch.sigmoid(logits)
softmax_probs = torch.softmax(logits, dim=0)

print(f"Sigmoid: {[round(p, 3) for p in sigmoid_probs.tolist()]}, sum {sigmoid_probs.sum():.3f}")
print(f"Softmax: {[round(p, 3) for p in softmax_probs.tolist()]}, sum {softmax_probs.sum():.3f}")

La somme des scores sigmoïdes [0.881, 0.818, 0.047] vaut 1.746. « Personne » et « sac à dos » dépassent donc tous deux 0.5, tandis que Softmax répartit les mêmes logits en [0.62, 0.376, 0.004] et que seule la classe « personne » reste au-dessus de 0.5. Les modèles de détection YOLO26 attribuent à chaque classe un score à l’aide d’une sigmoïde indépendante entraînée avec BCEWithLogitsLoss. Les scores de classe d’une boîte ne sont donc pas obligés de totaliser 1, et les modèles de pose YOLO26 appliquent une sigmoïde au logit de visibilité de chaque point clé pour produire la probabilité que ce point soit visible.

La sigmoïde comme porte#

Comme sa sortie se situe entre 0 et 1, la sigmoïde peut moduler élément par élément un autre signal, de complètement bloqué à entièrement transmis, tout en restant différentiable :

  • Cellules LSTM et GRU : les portes sigmoïdes déterminent la quantité d’ancienne mémoire à conserver, la quantité de nouveau contenu à écrire et la partie de l’état à exposer à chaque pas de temps, tandis que tanh façonne le contenu lui-même.
  • SwiGLU : les couches feed-forward de nombreux grands modèles de langage (LLM) multiplient une projection apprise par une deuxième projection activée par SiLU, formant une porte basée sur la sigmoïde.
  • SigLIP : ce modèle image-texte attribue à chaque paire image-légende d’un lot sa propre sigmoïde, qui donne une probabilité de correspondance oui ou non. Sa fonction de perte n’a donc pas besoin de normalisation sur l’ensemble du lot.
  • Fonction logistique : synonyme de sigmoïde en apprentissage automatique. En mathématiques, « sigmoïde » désigne aussi d’autres courbes en S, notamment tanh et la fonction d’erreur.
  • Softmax : normalise un vecteur entier en probabilités dont la somme vaut 1. Pour deux classes, Softmax appliqué aux logits (z₁, z₂) donne pour la première classe σ(z₁ − z₂) ; une Softmax à deux sorties et une sigmoïde à une sortie décrivent donc le même modèle.
  • Tanh : sigmoïde remise à l’échelle, tanh(x) = 2σ(2x) − 1. Ses sorties vont de −1 à 1 et sont centrées sur zéro ; sa dérivée maximale vaut 1.
  • Sigmoïde saturée : approximation linéaire par morceaux qui évite le calcul exponentiel sur les appareils mobiles. MobileNetV3 utilise ReLU6(x + 3) / 6, qui vaut 0 pour x < −3, 1 pour x > 3 et suit une droite entre les deux.

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