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

Momentum (Optimization)

L’optimisation par momentum utilise les gradients précédents pour accélérer l’entraînement du modèle, lisser les mises à jour bruitées et améliorer la convergence, tout en équilibrant le taux d’apprentissage.

Le momentum est une technique d’optimisation qui donne à l’entraînement basé sur les gradients une mémoire des mises à jour précédentes. En combinant le gradient actuel avec un historique décroissant des gradients antérieurs, il accélère le mouvement dans les directions cohérentes et réduit les allers-retours. Cela aide les modèles de machine learning à minimiser plus efficacement leur objectif d’entraînement. Le référencement concerne la visibilité d’un site Web ; le momentum concerne les mises à jour numériques des paramètres du modèle.

Fonctionnement du momentum#

Lors de la descente de gradient, un modèle déplace ses poids dans le sens opposé au gradient, c’est-à-dire la direction dans laquelle sa fonction de perte augmente le plus rapidement. Le momentum classique, également appelé momentum de Polyak ou méthode de la balle lourde, ajoute de l’inertie à ce mouvement. Boris Polyak l’a présenté dans ses travaux de 1964 sur l’accélération des méthodes itératives.

L’optimiseur conserve un tampon de vitesse, avec une valeur accumulée par paramètre. À chaque mise à jour, il multiplie l’ancien tampon par un coefficient de momentum, y ajoute le gradient actuel, puis soustrait aux poids le tampon obtenu multiplié par le taux d’apprentissage. Dans les réseaux de neurones, la rétropropagation fournit ces gradients ; l’optimiseur conserve le tampon entre les mises à jour.

Le momentum est particulièrement utile sur les surfaces de perte allongées, où la courbure est forte en travers d’une vallée et faible le long de son fond. Les gradients qui pointent de façon répétée le long de la vallée s’accumulent, tandis que les composantes alternant en travers s’annulent partiellement. Avec la descente de gradient stochastique, cette mémoire lisse également les fluctuations entre les mini-lots. La dynamique du momentum sur une fonction de perte quadratique explique à la fois son effet d’accélération et les oscillations qu’il peut introduire près d’un minimum.

Le coefficient de momentum, généralement noté bêta ou mu, est habituellement compris entre zéro et un. Une valeur nulle correspond à la descente de gradient ordinaire ; les valeurs proches de un conservent plus longtemps les anciens gradients. 0.9 est une valeur de départ courante. Avec un tampon de vitesse non normalisé et un gradient constant, la vitesse accumulée approche dix fois ce gradient à 0.9, contre cent fois à 0.99. Par conséquent, le momentum et le taux d’apprentissage interagissent fortement lors du réglage des hyperparamètres.

Une combinaison trop agressive provoque un dépassement : les mises à jour franchissent plusieurs fois un minimum, ce qui entraîne des oscillations de la perte ou une divergence. Cela se produit même avec des objectifs quadratiques lisses. Un plan de taux d’apprentissage modifie l’amplitude des mises à jour au cours de l’entraînement, tandis que le momentum détermine la part de l’historique directionnel qui est conservée.

Deux algorithmes d’optimisation étroitement apparentés exploitent cet historique de manière différente :

  • Le momentum de Nesterov évalue le gradient à une position anticipée obtenue à partir de la vitesse conservée, ce qui permet au gradient de corriger le mouvement prévu.
  • Adam combine une moyenne exponentiellement pondérée des gradients avec une moyenne des gradients au carré, qui ajuste les mises à jour séparément pour chaque paramètre. Son beta1 contrôle la mémoire des gradients.

Un exemple minimal avec PyTorch#

Cet exemple PyTorch compare des points de départ et des taux d’apprentissage identiques sur un objectif quadratique allongé. L’implémentation officielle de SGD gère automatiquement le tampon de momentum.

import torch

# Curvature is 50 times greater along the second coordinate.
scale = torch.tensor([1.0, 50.0])

for momentum in (0.0, 0.9):
    weights = torch.tensor([5.0, 1.0], requires_grad=True)
    optimizer = torch.optim.SGD([weights], lr=0.015, momentum=momentum)

    for step in range(100):
        optimizer.zero_grad()
        loss = (scale * weights.square()).sum()
        loss.backward()
        optimizer.step()

    final_loss = (scale * weights.square()).sum().item()
    print(f"Momentum {momentum}: loss = {final_loss:.6f}")

Après 100 mises à jour, la perte est d’environ 0.056531 sans momentum et 0.000216 avec momentum. L’historique directionnel accumulé accélère la progression le long de la coordonnée peu pentue.

Utilisations en entraînement de vision par ordinateur#

Le momentum contribue à l’entraînement des réseaux de neurones convolutifs pour la classification d’images et la détection d’objets. L’entraînement Ultralytics YOLO active le momentum de Nesterov lorsque optimizer="SGD" est sélectionné, et son paramètre momentum contrôle l’historique des mises à jour conservé. L’implémentation de l’entraîneur transmet ce coefficient à l’optimiseur avec nesterov=True.

Une application majeure est la procédure d’entraînement originale de ResNet pour ImageNet. Ces modèles utilisaient SGD avec un momentum de 0.9, une taille de lot de 256, une décroissance des poids de 0.0001 et un taux d’apprentissage initial de 0.1, divisé par dix lorsque l’erreur stagnait.

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