La descente de gradient est un algorithme d'optimisation itératif utilisé pour minimiser une fonction de perte en ajustant de manière répétée les paramètres d'un modèle dans la direction opposée au gradient, le vecteur des dérivées partielles qui pointe vers l'augmentation la plus raide de la perte. C'est le mécanisme fondamental par lequel la plupart des systèmes modernes de apprentissage automatique et de apprentissage profond apprennent à partir de données, sous-tendant l'entraînement de tout, des régressions linéaires simples aux modèles comportant des centaines de milliards de paramètres.
Histoire
La méthode est antérieure à l'informatique : le mathématicien français Augustin-Louis Cauchy a décrit une version de la minimisation basée sur le gradient en 1847. Sa forme statistique, l'approximation stochastique, a été formalisée par Herbert Robbins et Sutton Monro en 1951. La descente de gradient est devenue centrale en IA une fois associée à la rétropropagation dans les années 1980 comme méthode standard pour calculer efficacement les gradients à travers les réseaux de neurones multicouches, et sa domination pratique a grandi avec la disponibilité de grands ensembles de données et de matériel GPU capable d'exécuter les nombreuses petites étapes de mise à jour que la méthode requiert.
Variantes
La descente de gradient par lots calcule le gradient sur l'ensemble du jeu de données avant chaque mise à jour, ce qui est précis mais lent et gourmand en mémoire pour les grands ensembles de données. La descente de gradient stochastique (SGD) met à jour les paramètres en utilisant un exemple, ou plus couramment un petit « mini-lot », à la fois, échangeant une certaine précision par étape contre des mises à jour beaucoup plus fréquentes et une meilleure évolutivité. Les méthodes d'élan accumulent une moyenne mobile des gradients passés pour lisser les mises à jour bruyantes et accélérer la convergence dans les directions cohérentes. Les méthodes adaptatives, notamment Adam, introduites par Diederik Kingma et Jimmy Ba en 2014, maintiennent des taux d'apprentissage par paramètre basés sur des estimations des premier et deuxième moments du gradient, et Adam ou ses variantes sont l'optimiseur par défaut pour entraîner presque tous les modèles de langage de grande taille contemporains.
Considérations pratiques
Le taux d'apprentissage, qui ajuste la taille de chaque étape de mise à jour, est l'hyperparamètre le plus conséquent de la descente de gradient : trop élevé, l'entraînement diverge ou oscille ; trop faible, l'entraînement est impraticablement lent ou reste bloqué dans des régions médiocres du paysage de perte. Les exécutions d'entraînement modernes utilisent généralement un calendrier de taux d'apprentissage qui chauffe progressivement puis décroît au cours de l'entraînement. Parce que les surfaces de perte des réseaux profonds sont extrêmement de grande dimension et non convexes, la descente de gradient en pratique ne trouve pas un minimum global véritable ; elle repose plutôt sur l'observation empirique que de nombreux minima locaux trouvés par la descente de gradient dans les réseaux surparamétrés généralisent bien, un phénomène encore non entièrement expliqué théoriquement. La descente de gradient est également vulnérable à des problèmes tels que les gradients qui disparaissent ou explosent dans les architectures très profondes ou récurrentes, ce qui a motivé des innovations comme les mécanismes de portes du LSTM et, plus tard, les connexions résiduelles utilisées dans les architectures transformers.
Relation avec d'autres concepts
La descente de gradient est ce avec quoi la fonction de perte d'un réseau est minimisée, mais elle n'est pas en soi suffisante pour produire un modèle utile : sans techniques telles que la régularisation, la descente de gradient conduira volontiers la perte d'entraînement vers zéro en mémorisant l'ensemble d'entraînement, un mode de défaillance connu sous le nom d'surapprentissage. Dans l'apprentissage par renforcement, les méthodes basées sur le gradient sont adaptées pour optimiser la récompense attendue d'un agent plutôt qu'une perte étiquetée fixe, formant la base des algorithmes de gradient de politique utilisés dans des systèmes tels que ceux entraînés avec RLHF.