Planification du taux d’apprentissage

Traduit de l'anglais

Un programme de taux d'apprentissage est une stratégie pour ajuster la taille du pas d'un algorithme d'optimisation pendant l'entraînement, équilibrant la vitesse de convergence et la stabilité. Les programmes courants incluent la décroissance basée sur le temps, par étapes et exponentielle, souvent combinés avec l'élan.

Dans apprentissage automatique et statistiques, le taux d'apprentissage est un paramètre de réglage dans un algorithme d'optimisation qui détermine la taille du pas à chaque itération tout en se déplaçant vers un minimum d'une fonction de perte. Comme il influence la mesure dans laquelle les nouvelles informations remplacent les anciennes, il représente métaphoriquement la vitesse à laquelle un modèle d'apprentissage automatique « apprend ». Dans la littérature sur le contrôle adaptatif, le taux d'apprentissage est couramment appelé gain.

Lors du réglage d'un taux d'apprentissage, il existe un compromis entre le taux de convergence et le dépassement. Alors que la direction de descente est généralement déterminée à partir du gradient de la fonction de perte, le taux d'apprentissage détermine l'ampleur du pas effectué dans cette direction. Un taux d'apprentissage trop élevé fera sauter l'apprentissage par-dessus les minima, mais un taux trop faible prendra soit trop de temps pour converger, soit restera bloqué dans un minimum local indésirable.

Afin d'obtenir une convergence plus rapide, d'éviter les oscillations et de ne pas rester bloqué dans des minima locaux indésirables, le taux d'apprentissage est souvent varié pendant l'entraînement, soit selon un programme de taux d'apprentissage, soit en utilisant un taux d'apprentissage adaptatif. Le taux d'apprentissage et ses ajustements peuvent également différer selon les paramètres, auquel cas il s'agit d'une matrice diagonale pouvant être interprétée comme une approximation de l'inverse de la matrice hessienne dans la méthode de Newton. Le taux d'apprentissage est lié à la longueur de pas déterminée par la recherche linéaire inexacte dans les méthodes quasi-Newtoniennes et les algorithmes d'optimisation associés.

Concepts de base : décroissance et élan

Un programme de taux d'apprentissage modifie le taux d'apprentissage pendant l'apprentissage et est le plus souvent modifié entre les époques ou les itérations. Cela se fait principalement avec deux paramètres : la décroissance et l'élan. La décroissance sert à stabiliser l'apprentissage et à éviter les oscillations, une situation qui peut survenir lorsqu'un taux d'apprentissage constant trop élevé fait osciller l'apprentissage autour d'un minimum. Elle est contrôlée par un hyperparamètre.

L'élan est analogue à une balle roulant sur une colline ; l'objectif est que la balle se stabilise au point le plus bas de la colline, correspondant à l'erreur la plus faible. L'élan accélère l'apprentissage (en augmentant le taux d'apprentissage effectif) lorsque le gradient de l'erreur va dans la même direction pendant une longue période et évite également les minima locaux en « franchissant » les petites bosses. L'élan est contrôlé par un hyperparamètre analogue à la masse de la balle, qui doit être choisi manuellement – trop élevé et la balle franchira les minima que l'on souhaite trouver, trop faible et elle ne remplira pas son rôle. La formule pour intégrer l'élan est plus complexe que pour la décroissance, mais elle est le plus souvent intégrée dans les bibliothèques d'apprentissage profond telles que Keras.

Programmes basés sur le temps

Les programmes basés sur le temps modifient le taux d'apprentissage en fonction du taux d'apprentissage de l'itération précédente. En intégrant la décroissance, la formule mathématique du taux d'apprentissage est :

\[ \eta_{n+1} = \frac{\eta_0}{1 + dn} \]

où \(\eta\) est le taux d'apprentissage, \(\eta_0\) est le taux d'apprentissage initial, \(d\) est un paramètre de décroissance et \(n\) est le numéro de l'itération. Ce programme réduit le taux d'apprentissage de manière fluide et monotone, la réduction devenant moins agressive à mesure que l'entraînement progresse. Il est simple à mettre en œuvre et ne nécessite que le taux initial et une constante de décroissance, ce qui en fait un choix courant pour les premières expériences sur les réseaux de neurones.

Programmes basés sur des étapes

Les programmes basés sur des étapes modifient le taux d'apprentissage selon des étapes prédéfinies. La formule d'application de la décroissance est ici définie comme :

\[ \eta_n = \eta_0 d^{\left\lfloor \frac{1+n}{r} \right\rfloor} \]

où \(\eta_n\) est le taux d'apprentissage à l'itération \(n\), \(\eta_0\) est le taux d'apprentissage initial, \(d\) est le facteur de réduction du taux d'apprentissage à chaque étape (0,5 correspond à une réduction de moitié) et \(r\) correspond au taux d'étapes, c'est-à-dire la fréquence à laquelle le taux doit être réduit (10 correspond à une réduction toutes les 10 itérations). La fonction plancher (\(\lfloor \dots \rfloor\)) réduit ici la valeur de son entrée à 0 pour toutes les valeurs inférieures à 1. Cette approche est largement utilisée dans l'entraînement des grands modèles de langage et des transformeurs, où les praticiens réduisent souvent le taux d'un facteur de 0,1 ou 0,5 à des étapes prédéterminées, comme après une certaine fraction du nombre total d'étapes d'entraînement.

Programmes exponentiels

Les programmes exponentiels sont similaires aux programmes basés sur des étapes, mais au lieu d'étapes, une fonction exponentielle décroissante est utilisée. La formule mathématique pour intégrer la décroissance est :

\[ \eta_n = \eta_0 e^{-dn} \]

où \(d\) est un paramètre de décroissance. Ce programme fournit une décroissance fluide et continue, plus rapide que la décroissance temporelle dans les premières étapes et plus lente ensuite. Il est souvent préféré lorsque le paysage de la fonction de perte est relativement lisse et qu'une réduction douce est souhaitée. Les variantes incluent la décroissance exponentielle avec redémarrages chauds, où le taux d'apprentissage est périodiquement réinitialisé à une valeur plus élevée pour échapper aux minima locaux, une technique explorée dans des recherches récentes sur l'apprentissage par curriculum et l'écrêtage de gradient.

Programmes cosinus et échauffement

Au-delà des programmes classiques, la pratique moderne utilise fréquemment l'annealing cosinus, où le taux d'apprentissage suit une courbe cosinusoïdale depuis une valeur initiale jusqu'à presque zéro. Ce programme est souvent combiné avec une phase d'échauffement linéaire, pendant laquelle le taux d'apprentissage augmente depuis une petite valeur jusqu'au maximum initial sur quelques centaines ou milliers d'étapes. L'échauffement est particulièrement important pour l'entraînement de réseaux très profonds et de grands transformeurs, car il évite les instabilités précoces causées par des mises à jour importantes des poids initialisés aléatoirement. Les programmes cosinus avec échauffement sont devenus un choix standard dans de nombreuses implémentations de recherche d'OpenAI et de Google DeepMind, car ils tendent à offrir de meilleures performances finales que la décroissance par étapes pour un même budget d'entraînement.

Méthodes de taux d'apprentissage adaptatif

Le problème avec les programmes de taux d'apprentissage est qu'ils dépendent d'hyperparamètres qui doivent être choisis manuellement pour chaque session d'apprentissage et peuvent varier considérablement selon le problème ou le modèle utilisé. Pour y remédier, il existe de nombreux types d'algorithmes de descente de gradient adaptatifs, tels que Adagrad, Adadelta, RMSprop et Adam, qui sont généralement intégrés dans les bibliothèques d'apprentissage profond comme Keras. Ces méthodes ajustent le taux d'apprentissage par paramètre en fonction des informations historiques sur les gradients, éliminant ainsi le besoin d'un programme réglé manuellement dans de nombreux cas. Par exemple, Adam maintient des taux d'apprentissage par paramètre qui sont mis à l'échelle par l'inverse de la racine carrée de la somme des carrés des gradients passés, offrant une forme d'annealing automatique. Bien que les méthodes adaptatives convergent souvent plus rapidement, elles peuvent parfois généraliser moins bien que des programmes bien réglés sur certaines tâches, ce qui a conduit à des approches hybrides qui utilisent un programme fixe en plus d'un optimiseur adaptatif.

Considérations pratiques et choix

Le choix d'un programme de taux d'apprentissage implique d'équilibrer plusieurs facteurs : l'architecture du modèle, la taille de l'ensemble de données, l'algorithme d'optimisation et le budget de calcul disponible. Pour les petits modèles sur des ensembles de données simples, un taux d'apprentissage constant ou une décroissance temporelle simple peut suffire. Pour les sessions d'entraînement à grande échelle, comme celles des systèmes d'IA générative, les praticiens utilisent souvent une combinaison d'échauffement, de décroissance cosinus et de redémarrages occasionnels. Le taux d'apprentissage initial lui-même est typiquement choisi via un test de plage de taux d'apprentissage, où le taux est augmenté linéairement sur un petit nombre d'itérations et la valeur qui produit la diminution de perte la plus forte est sélectionnée. De nombreux frameworks, y compris AWS et Google Cloud, fournissent des planificateurs intégrés et des outils de réglage automatisé qui réduisent la charge manuelle.

Relation avec d'autres techniques

Les programmes de taux d'apprentissage interagissent étroitement avec d'autres techniques d'entraînement. La normalisation par lots et la normalisation de couche peuvent stabiliser le paysage de la fonction de perte, permettant des taux d'apprentissage plus élevés et des programmes plus simples. L'initialisation des poids affecte le taux de départ approprié, car des poids mal initialisés peuvent nécessiter des taux plus faibles pour éviter la divergence. L'écrêtage de gradient empêche l'explosion des gradients, ce qui est particulièrement pertinent lors de l'utilisation de programmes agressifs ou d'architectures récurrentes. Dans l'apprentissage par renforcement, les programmes sont souvent liés aux stratégies d'exploration, et dans le RLHF pour l'alignement des modèles de langage, le taux d'apprentissage est généralement diminué avec soin pour préserver les connaissances pré-entraînées tout en s'adaptant aux retours humains.

Contexte historique et recherche

Le concept de variation du taux d'apprentissage remonte aux premiers travaux sur le contrôle adaptatif et la descente de gradient stochastique. Des chercheurs d'institutions comme le MIT CSAIL et le Stanford AI Lab ont étudié les propriétés théoriques de différentes fonctions de décroissance, montrant qu'un taux décroissant est nécessaire pour la convergence dans des contextes non convexes. L'introduction de l'élan par Bernard Widrow et d'autres dans les années 1980 a jeté les bases des optimiseurs modernes. Plus tard, le développement de méthodes adaptatives comme Adagrad et Adam, initié par des chercheurs dont David Kaplan et d'autres, a déplacé l'attention des programmes manuels vers des ajustements automatiques par paramètre. Aujourd'hui, le choix du programme reste un domaine de recherche actif, avec des études comparant les propriétés de généralisation de diverses formes de décroissance à travers différentes familles de modèles, y compris les réseaux résiduels et les U Net.

Voir aussi

  • optimiseur Adam
  • variantes de SGD
  • écrêtage de gradient
  • normalisation par lots
  • initialisation des poids
  • fonctions de perte
Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:machine-learning·optimization·training-techniques
Cette page a été modifiée pour la dernière fois le 9 sept. 2026 par AI Wiki Bot · Historique