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

Exploding Gradient

Les gradients explosifs augmentent de façon exponentielle pendant la rétropropagation, provoquant d’importantes mises à jour des poids, des pics de perte et des valeurs NaN. Présentation des causes, des signes et des solutions.

Un gradient explosif est un échec de l'entraînement dans lequel les gradients calculés par la rétropropagation augmentent de façon exponentielle à mesure qu'ils remontent un réseau neuronal profond ou récurrent. La descente de gradient applique alors des mises à jour considérables aux poids du modèle, la fonction de perte monte en flèche ou devient NaN ou inf, et l'entraînement diverge. C'est l'image inverse du problème du gradient évanescent. Pascanu, Mikolov et Bengio ont analysé ces deux problèmes dans les réseaux neuronaux récurrents et ont proposé l'écrêtage de la norme des gradients pour contrer les gradients explosifs, une mesure de protection qui reste aujourd'hui la précaution standard lors de l'entraînement en apprentissage profond.

Pourquoi les gradients explosent#

D'après la règle de la chaîne, le gradient qui atteint une couche précoce est le produit d'un facteur par couche ultérieure, ou par pas de temps dans un réseau récurrent. Lorsque ces facteurs sont régulièrement supérieurs à 1, leur produit croît de façon exponentielle avec la profondeur : un facteur de 1.5 répété sur 30 couches multiplie le signal par environ 190,000. Parmi les causes courantes figurent une mauvaise initialisation des poids, un taux d'apprentissage trop élevé, des entrées non normalisées, de longues séquences dans les modèles récurrents et un dépassement de capacité pendant l'entraînement en précision mixte, où les valeurs FP16 supérieures à 65,504 deviennent inf. Les signes sont une courbe de perte qui fait soudainement un bond ou devient NaN, des journaux de normes de gradient qui augmentent de plusieurs ordres de grandeur entre les étapes et des poids qui deviennent NaN.

Prévention et atténuation#

La plupart des pipelines d'entraînement modernes combinent plusieurs de ces moyens de défense.

  • Écrêtage des gradients : lorsque la norme L2 globale de tous les gradients dépasse un seuil, chaque gradient est réduit du même facteur. La mise à jour conserve sa direction et seule sa longueur est plafonnée.
  • Normalisation par lot : la normalisation par lot et la normalisation par couche remettent à l'échelle les activations de chaque couche, ce qui stabilise l'échelle des signaux d'une couche à l'autre et lisse le paysage de la fonction de perte.
  • Initialisation soignée : les initialisations Xavier (Glorot) et He mettent les poids initiaux à l'échelle afin que la variance des activations reste à peu près constante d'une couche à l'autre.
  • Connexions résiduelles : les connexions de saut offrent aux gradients un chemin d'identité contournant chaque bloc ; le signal rétropropagé devient ainsi une somme de chemins plutôt qu'un long produit unique.
  • Préchauffage du taux d'apprentissage : commencer avec un faible taux d'apprentissage et l'augmenter progressivement pendant les premières étapes évite des mises à jour initiales démesurées, alors que les poids et les statistiques de l'optimiseur ne sont pas encore stabilisés.

L'extrait ci-dessous construit un empilement de 30 couches qui amplifient chacune leur entrée par 1.5x, puis écrête le gradient obtenu avec PyTorch :

import torch
from torch import nn

torch.manual_seed(0)

# 30 stacked linear layers, each initialized to amplify its input by 1.5x
layers = [nn.Linear(64, 64, bias=False) for _ in range(30)]
for layer in layers:
    nn.init.orthogonal_(layer.weight, gain=1.5)
model = nn.Sequential(*layers)

loss = model(torch.randn(8, 64)).pow(2).mean()
loss.backward()

# clip_grad_norm_ rescales all gradients in place and returns their norm before clipping
norm_before = nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
norm_after = nn.utils.get_total_norm([p.grad for p in model.parameters()])
print(f"Gradient norm before clipping: {norm_before:.2e}, after: {norm_after:.2f}")

La norme du gradient brut est de 9.90e+10 et, après écrêtage, elle est de 1.00 ; la prochaine étape de l'optimiseur reste donc bornée, quelle que soit l'amplitude du gradient brut.

Lors de l'entraînement, Ultralytics YOLO26 applique cette mesure de protection à chaque étape : le formateur remet à l'échelle les gradients en précision mixte, écrête leur norme globale à 10.0 et laisse le redimensionneur de gradient ignorer toute mise à jour qui contient encore des valeurs inf ou NaN. Un formateur personnalisé peut modifier la limite, par exemple en la ramenant à 0.1 pour RT-DETR.

Gradients explosifs et gradients évanescents#

Les deux problèmes proviennent du même produit de facteurs par couche en rétropropagation. Les facteurs supérieurs à 1 font exploser les gradients, entraînant des mises à jour instables, un dépassement de capacité numérique et une divergence ; l'écrêtage constitue la solution habituelle. Les facteurs inférieurs à 1 font tendre les gradients vers zéro, empêchant les premières couches d'apprendre ; les solutions habituelles sont des activations non saturantes comme ReLU, les connexions résiduelles et les unités récurrentes à portes comme les LSTM. La normalisation et une initialisation soignée aident à prévenir les deux problèmes.

Applications concrètes#

Les grands modèles de langage sont entraînés sur des centaines de milliers d'étapes et de longues séquences de texte, où les pics soudains de perte sont un risque bien connu ; leurs recettes d'entraînement prévoient donc un écrêtage des gradients. GPT-3 a été entraîné avec Adam et une norme globale des gradients écrêtée à 1.0.

En vision par ordinateur, les réseaux profonds de détection d'objets sont entraînés sur des jeux de données de l'échelle de COCO, avec des taux d'apprentissage élevés et une précision mixte ; l'écrêtage et la mise à l'échelle de la perte empêchent donc un lot extrême rare de corrompre les poids. Les détecteurs basés sur Transformer sont plus sensibles, car les gradients de la cross-attention du décodeur peuvent faire des pics ; les modèles de la famille DETR, comme RT-DETR et DINO, utilisent donc généralement un écrêtage à une norme maximale de 0.1.

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