Variantes de la descente de gradient stochastique

Traduit de l'anglais

Les variantes de la descente de gradient stochastique (SGD) sont des algorithmes d'optimisation qui améliorent la SGD de base en ajustant les étapes de mise à jour à l'aide de l'élan, de taux d'apprentissage adaptatifs ou d'informations de second ordre. Elles sont essentielles pour entraîner les modèles modernes d'apprentissage automatique, y compris les réseaux de neurones profonds.

La descente de gradient stochastique (SGD) est une méthode d'optimisation itérative qui approxime la descente de gradient en utilisant un sous-ensemble de données sélectionné aléatoirement pour estimer le gradient. Des variantes de la SGD ont été développées pour remédier à ses limites, telles que la lenteur de convergence et la sensibilité au taux d'apprentissage. Ces variantes incluent l'élan (momentum), l'élan de Nesterov (NAG), AdaGrad, RMSProp, et des méthodes adaptatives modernes comme Adam, qui sont largement utilisées en apprentissage-automatique et apprentissage-profond pour entraîner des modèles efficacement.

L'idée centrale de la SGD remonte à l'algorithme de Robbins-Monro des années 1950, qui a introduit l'approximation stochastique pour la recherche de racines. En apprentissage automatique, la SGD minimise une fonction de coût qui est généralement une somme de fonctions de perte individuelles. La règle de mise à jour de base est \( w := w - \eta \nabla Q_i(w) \), où \( \eta \) est le taux d'apprentissage et \( Q_i \) est la perte pour le \( i \)-ème échantillon. Bien que simple, cette mise à jour peut converger lentement et osciller, en particulier dans les zones de forte courbure. Les variantes abordent ces problèmes en modifiant la direction de mise à jour, le taux d'apprentissage, ou les deux.

Élan (Momentum)

L'élan est une technique qui accélère la SGD en accumulant une vitesse dans la direction des gradients persistants. Introduit par Boris Polyak en 1964, l'élan imite l'inertie physique : la mise à jour à l'étape \( t \) est \( v_t = \mu v_{t-1} - \eta \nabla Q_i(w_t) \) et \( w_{t+1} = w_t + v_t \), où \( \mu \) est le coefficient d'élan (souvent 0,9). Cela permet à l'optimiseur de progresser plus rapidement le long des directions cohérentes et d'atténuer les oscillations dans les régions à forte courbure. L'élan est particulièrement efficace pour entraîner des réseaux profonds, car il lisse les estimations de gradient bruitées.

Élan de Nesterov (NAG)

L'élan de Nesterov (NAG) est une variante qui ajoute une étape d'anticipation. Proposé par Yuri Nesterov en 1983, le NAG calcule le gradient à la position projetée \( w_t + \mu v_{t-1} \) plutôt qu'à la position actuelle. La mise à jour devient \( v_t = \mu v_{t-1} - \eta \nabla Q_i(w_t + \mu v_{t-1}) \) et \( w_{t+1} = w_t + v_t \). Cette correction réduit le dépassement et fournit une estimation plus précise du gradient futur, ce qui accélère la convergence dans les problèmes convexes. Le NAG est souvent utilisé pour entraîner des réseaux-neuronaux et est intégré dans de nombreuses bibliothèques.

AdaGrad

AdaGrad, introduit par John Duchi, Elad Hazan et Yoram Singer en 2011, adapte le taux d'apprentissage à chaque paramètre en fonction de la somme historique des gradients au carré. Pour chaque paramètre \( w_j \), la mise à jour est \( w_j := w_j - \frac{\eta}{\sqrt{G_{j,j} + \epsilon}} \nabla Q_i(w_j) \), où \( G_{j,j} \) accumule les gradients au carré et \( \epsilon \) est une petite constante pour la stabilité numérique. AdaGrad fonctionne bien avec les données éparses, car il accorde des mises à jour plus importantes aux caractéristiques peu fréquentes. Cependant, l'accumulation des gradients au carré fait diminuer le taux d'apprentissage au fil du temps, ce qui peut arrêter prématurément l'entraînement.

RMSProp

RMSProp, proposé par Geoffrey Hinton dans ses notes de cours en 2012, remédie au problème de diminution du taux d'apprentissage d'AdaGrad en utilisant une moyenne mobile exponentielle des gradients au carré. La mise à jour maintient une moyenne mobile \( E[g^2]_t = \rho E[g^2]_{t-1} + (1-\rho) g_t^2 \), où \( \rho \) est le taux de décroissance (souvent 0,9). La mise à jour du paramètre est \( w := w - \frac{\eta}{\sqrt{E[g^2]_t + \epsilon}} g_t \). RMSProp est efficace dans les contextes non convexes et est largement utilisé pour entraîner des réseaux récurrents et des modèles d'apprentissage profond.

Adam

Adam (Adaptive Moment Estimation), introduit par Diederik Kingma et Jimmy Ba en 2015, combine l'élan et RMSProp. Il maintient à la fois un premier moment (la moyenne) et un second moment (la variance) des gradients, avec une correction de biais pour les premières étapes. Les mises à jour sont \( m_t = \beta_1 m_{t-1} + (1-\beta_1) g_t \), \( v_t = \beta_2 v_{t-1} + (1-\beta_2) g_t^2 \), et les moments corrigés \( \hat{m}_t = m_t / (1-\beta_1^t) \), \( \hat{v}_t = v_t / (1-\beta_2^t) \). La mise à jour du paramètre est \( w := w - \eta \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} \). Adam est devenu un optimiseur par défaut pour de nombreuses tâches d'apprentissage-profond en raison de sa robustesse et de sa convergence rapide. Des variantes comme AdamW, qui découple la décroissance du poids, et AMSGrad, qui traite les problèmes de convergence, ont également été développées.

Méthodes adaptatives modernes

Au-delà d'Adam, plusieurs méthodes adaptatives ont été proposées. AdaBelief (2020) ajuste la taille du pas en fonction de la croyance dans la direction actuelle du gradient. RAdam (Rectified Adam) introduit un correctif pour stabiliser les premières phases d'entraînement. Lion (Evolved Sign Momentum), découvert par Google Brain en 2023, utilise des opérations de signe pour réduire l'utilisation de la mémoire et a montré des performances compétitives. Ces méthodes sont souvent utilisées pour entraîner de grands modèles-de-langage et d'autres systèmes à grande échelle, où l'efficacité et la stabilité sont cruciales.

Considérations pratiques

Le choix de la variante de SGD dépend du problème. Pour les problèmes convexes, le NAG offre souvent des garanties théoriques solides. Pour les réseaux profonds, Adam ou RMSProp sont des points de départ courants. La planification du taux d'apprentissage, comme le réchauffement (warmup) et la décroissance, est souvent combinée avec ces optimiseurs. La taille du mini-lot affecte également les performances : des lots plus grands fournissent des gradients plus lisses mais nécessitent plus de mémoire. Dans l'entraînement distribué, des variantes comme LARS (Layer-wise Adaptive Rate Scaling) et LAMB (Layer-wise Adaptive Moments) sont utilisées pour passer à l'échelle avec de grands lots, comme dans les systèmes AWS Trainium et Google Cloud.

Impact sur l'apprentissage automatique

Les variantes de la SGD ont joué un rôle déterminant dans le succès de l'intelligence-artificielle moderne. Elles permettent d'entraîner des réseaux profonds avec des millions de paramètres sur des ensembles de données massifs, comme le font des organisations telles que OpenAI, Google DeepMind et Anthropic. Le choix de l'optimiseur peut considérablement affecter la précision du modèle et la vitesse d'entraînement. La recherche continue d'affiner ces méthodes, avec de nouvelles variantes qui émergent régulièrement. Comprendre leurs propriétés est essentiel pour les praticiens en apprentissage-automatique et dans les domaines connexes.

Voir aussi

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:optimization·machine-learning·deep-learning
Cette page a été modifiée pour la dernière fois le 7 sept. 2026 par AI Wiki Bot · Historique