Les taux d'apprentissage cycliques (CLR) sont une méthode de planification des hyperparamètres pour l'entraînement des réseaux de neurones artificiels, introduite par Leslie N. Smith en 2015. Au lieu d'utiliser un taux d'apprentissage décroissant de manière monotone, le CLR fait varier le taux d'apprentissage de manière cyclique entre une borne minimale et une borne maximale prédéfinies. Cette fluctuation périodique est conçue pour aider l'optimiseur à échapper aux points de selle et aux minima locaux, ce qui peut conduire à une convergence plus rapide et à de meilleures performances finales du modèle. La technique a gagné du terrain dans la communauté de l'apprentissage profond comme alternative pratique aux schémas de planification plus complexes, ne nécessitant souvent aucun coût de calcul supplémentaire et produisant parfois des améliorations de précision.
L'idée centrale derrière le CLR est qu'un taux d'apprentissage modéré peut agir comme une forme de régularisation. En augmentant périodiquement le taux d'apprentissage, le modèle est encouragé à explorer différentes régions du paysage de perte, tandis que le diminuer permet des ajustements plus fins. Cette approche contraste avec les schémas traditionnels qui ne font que diminuer le taux d'apprentissage au fil du temps, ce qui peut piéger le modèle dans des optima locaux médiocres. Les expériences de Smith sur divers ensembles de données, notamment CIFAR-10 et ImageNet, ont démontré que le CLR pouvait atteindre des résultats de pointe avec moins d'époques et sans nécessiter un réglage approfondi des hyperparamètres.
Contexte historique et motivation
Avant le CLR, la pratique courante consistait à définir un taux d'apprentissage fixe ou à utiliser une décroissance par paliers, où le taux diminue d'un facteur à des époques prédéterminées. Ces méthodes nécessitaient un réglage minutieux du taux initial et du calendrier de décroissance, souvent par essais et erreurs. Smith a observé que le taux d'apprentissage optimal se situe souvent dans une plage, et que parcourir cette plage de manière cyclique pouvait être plus efficace que de se fixer sur une seule valeur. Son article de 2015, « Cyclical Learning Rates for Training Neural Networks », a présenté des preuves empiriques que le CLR pouvait réduire le nombre d'itérations d'entraînement nécessaires pour atteindre une précision cible, parfois par un facteur de deux à dix.
La motivation provenait également de l'observation que les paysages de perte dans les réseaux profonds sont hautement non convexes, avec de nombreuses régions plates et des vallées abruptes. Un taux d'apprentissage fixe pourrait soit osciller dans une région plate, soit dépasser une vallée étroite. La nature périodique du CLR permet à l'optimiseur de traverser ces topographies diverses de manière plus robuste. Cette intuition s'alignait avec des recherches plus larges en optimisation, comme les travaux sur la descente de gradient stochastique avec redémarrages chauds, bien que le CLR diffère en ce qu'il ne réinitialise pas l'état de l'optimiseur.
Formulation mathématique et variantes
Le CLR est défini par trois paramètres principaux : le taux d'apprentissage minimal (base_lr), le taux d'apprentissage maximal (max_lr) et la taille de pas (stepsize), qui est le nombre d'itérations d'entraînement dans une demi-cycle. Le taux d'apprentissage à l'itération \( t \) est calculé en fonction du numéro de cycle et de la position dans le cycle. La variante la plus courante est la politique triangulaire, où le taux d'apprentissage augmente linéairement de base_lr à max_lr sur la première moitié du cycle, puis diminue linéairement pour revenir à base_lr sur la seconde moitié. Cela peut être exprimé comme :
\[ lr(t) = base\_lr + (max\_lr - base\_lr) \times \frac{|\text{cycle} - 2 \times \text{position}|}{\text{stepsize}} \]
où cycle est l'indice du cycle actuel et position est l'itération dans le cycle. Les variantes incluent la politique triangulaire2, qui réduit de moitié l'amplitude (la différence entre max_lr et base_lr) après chaque cycle complet, et la politique exp_range, qui décroît exponentiellement l'amplitude au fil du temps. Ces modifications permettent une réduction progressive de la plage du taux d'apprentissage, combinant les avantages du cyclage avec la stabilité de la décroissance.
Smith a également introduit le « test de plage LR » comme technique complémentaire. Ce test consiste à exécuter le modèle pendant quelques époques tout en augmentant linéairement le taux d'apprentissage d'une petite valeur à une grande valeur, puis à tracer la perte en fonction du taux d'apprentissage. La courbe résultante aide à identifier une plage appropriée pour base_lr et max_lr, en choisissant généralement les valeurs où la perte diminue le plus fortement. Ce test est devenu un outil de diagnostic standard dans la pratique de l'apprentissage profond.
Implémentation dans les frameworks d'apprentissage profond
Le CLR a été implémenté dans la plupart des bibliothèques majeures d'apprentissage profond. Dans PyTorch, le module torch.optim.lr_scheduler inclut CyclicLR, qui prend en charge les modes triangulaire, triangulaire2 et exp_range. Les utilisateurs peuvent spécifier base_lr, max_lr, step_size_up et step_size_down, ainsi que des paramètres optionnels comme cycle_momentum, qui ajuste le momentum de manière inverse au taux d'apprentissage. De même, l'API Keras de TensorFlow fournit un callback CyclicLR, et fastai intègre le CLR comme fonctionnalité de base, avec la méthode fit_one_cycle qui utilise une variante à cycle unique où le taux d'apprentissage augmente d'abord puis diminue sur un seul cycle.
La facilité d'implémentation a contribué à la popularité du CLR. Par exemple, dans une boucle d'entraînement PyTorch typique, on peut définir un planificateur comme :
scheduler = torch.optim.lr_scheduler.CyclicLR(optimizer, base_lr=0.001, max_lr=0.01, step_size_up=2000, mode='triangular')
Ensuite, après chaque lot, appeler scheduler.step(). Cette simplicité permet aux praticiens d'expérimenter avec le CLR sans modifications significatives du code. De nombreux projets open source et tutoriels ont adopté le CLR comme recommandation par défaut pour l'entraînement des réseaux de neurones convolutionnels et d'autres architectures.
Relation avec d'autres schémas de taux d'apprentissage
Le CLR fait partie d'une famille plus large de schémas de taux d'apprentissage, y compris la décroissance par paliers, la décroissance exponentielle et l'annealing cosinus. Contrairement à ces schémas monotones, le CLR est non monotone, ce qui est sa caractéristique déterminante. L'annealing cosinus, utilisé dans la méthode populaire SGDR (Stochastic Gradient Descent with Warm Restarts), implique également des augmentations périodiques du taux d'apprentissage, mais il utilise une fonction cosinus et inclut souvent des redémarrages qui réinitialisent l'état de l'optimiseur. Le CLR, en revanche, ne nécessite pas de redémarrages et peut être appliqué avec des optimiseurs standard comme le momentum ou Adam.
Un autre concept connexe est la politique à cycle unique, qui est un cas particulier du CLR où le taux d'apprentissage augmente d'une valeur basse à une valeur élevée sur la première partie de l'entraînement, puis diminue vers une valeur beaucoup plus basse que la valeur initiale. Cette politique, popularisée par fastai, a montré qu'elle pouvait atteindre une haute précision en moins d'époques. La politique à cycle unique peut être vue comme un seul cycle du CLR avec une durée plus longue, et elle intègre souvent un taux d'apprentissage maximal plus élevé que les réglages typiques du CLR.
En pratique, le CLR peut être combiné avec d'autres techniques comme la normalisation par lots, le dropout et l'augmentation de données. Par exemple, utiliser le CLR avec Batch Normalization peut stabiliser l'entraînement, car les changements périodiques du taux d'apprentissage peuvent interagir avec les statistiques de normalisation. De même, le CLR est souvent utilisé avec Adam (Optimizer) ou Stochastic Gradient Descent Variants comme SGD avec momentum, et il peut être appliqué à diverses architectures, y compris Residual Network (ResNet) et U-Net modèles.
Performance empirique et cas d'utilisation
Des études empiriques ont montré que le CLR peut améliorer la précision sur les tests et réduire le temps d'entraînement sur une gamme de tâches. Dans l'article original de Smith, il a rapporté que le CLR atteignait des résultats proches de l'état de l'art sur CIFAR-10 et CIFAR-100 avec significativement moins d'époques. Par exemple, en utilisant une architecture ResNet sur CIFAR-10, le CLR a atteint un taux d'erreur d'environ 6 % en 60 époques, alors qu'un taux d'apprentissage fixe nécessitait 100 époques pour obtenir des performances similaires. Sur ImageNet, le CLR avec une architecture GoogLeNet a atteint une précision comparable à un schéma de décroissance par paliers bien réglé, mais avec moins de réglage manuel.
Le CLR a également été appliqué à des tâches de traitement du langage naturel, comme l'entraînement de Transformer (architecture) modèles et Large language models. Par exemple, lors du fine-tuning de modèles de type BERT, le CLR peut aider à éviter l'oubli catastrophique et améliorer la convergence. Certains praticiens ont utilisé le CLR en conjonction avec Reinforcement Learning from AI Feedback (RLAIF) (apprentissage par renforcement à partir de feedback IA) ou Curriculum Learning pour améliorer davantage la dynamique d'entraînement. La technique est particulièrement utile lorsque le taux d'apprentissage optimal est inconnu, car le test de plage LR peut rapidement identifier une bonne plage.
Cependant, le CLR n'est pas une solution miracle. Son efficacité peut dépendre de l'architecture du modèle, de l'ensemble de données et de l'optimiseur. Pour de très grands modèles, comme ceux entraînés par des organisations comme OpenAI ou Google DeepMind, le CLR peut être moins courant en raison de la complexité de l'entraînement distribué et de l'utilisation de planificateurs personnalisés. Néanmoins, le CLR reste un outil précieux dans la boîte à outils du praticien en apprentissage automatique, en particulier pour les expériences à plus petite échelle et la recherche.
Directives pratiques et sélection des hyperparamètres
Choisir des valeurs appropriées pour base_lr et max_lr est crucial pour le succès du CLR. Le test de plage LR est la méthode recommandée : commencer avec un taux d'apprentissage très petit (par exemple, 1e-6) et l'augmenter exponentiellement sur quelques époques, en enregistrant la perte. Le base_lr peut être défini au taux d'apprentissage où la perte commence à diminuer, et max_lr au point où la perte commence à augmenter ou à plafonner. Une heuristique courante est de définir base_lr à environ 1/10 de max_lr, mais cela peut varier.
La taille de pas (stepsize) est généralement définie à 2 à 10 fois le nombre d'itérations par époque. Par exemple, si une époque a 500 itérations, stepsize pourrait être 2000, ce qui signifie que le taux d'apprentissage complète un cycle complet toutes les 4 époques. Une taille de pas plus petite conduit à des cycles plus fréquents, ce qui peut être bénéfique pour échapper aux minima locaux mais peut aussi causer de l'instabilité. Smith a suggéré que stepsize devrait être au moins 3 fois le nombre d'itérations par époque pour permettre au modèle de converger dans chaque demi-cycle.
Lors de l'utilisation du momentum, il est souvent bénéfique de définir cycle_momentum sur True, ce qui diminue le momentum lorsque le taux d'apprentissage augmente, et vice versa. Cette relation inverse aide à maintenir la stabilité. Pour les optimiseurs comme Adam, qui ont des taux d'apprentissage adaptatifs, le CLR peut toujours être appliqué, mais base_lr et max_lr doivent être choisis avec soin, car la taille de pas effective d'Adam est mise à l'échelle par la magnitude du gradient.
Limites et critiques
Malgré ses avantages, le CLR a des limites. Une critique est que l'augmentation périodique du taux d'apprentissage peut parfois provoquer un pic de la perte, surtout si max_lr est défini trop haut. Cela peut conduire à une divergence si ce n'est pas surveillé. De plus, le CLR ne garantit pas de meilleures performances qu'un schéma fixe bien réglé ; il réduit simplement la sensibilité aux choix d'hyperparamètres. Dans certains cas, un schéma d'annealing cosinus soigneusement conçu peut surpasser le CLR, en particulier pour de très longues périodes d'entraînement.
Une autre limite est que le CLR est principalement conçu pour l'entraînement par lots. Dans les contextes en ligne ou en streaming, le concept de cycles peut ne pas s'appliquer directement. De plus, les avantages du CLR sont moins prononcés pour les très grands modèles où le paysage de perte est plus lisse, et où des optimiseurs avancés comme AdamW avec warmup sont déjà efficaces. Certains chercheurs ont soutenu que les gains du CLR sont en partie dus à la régularisation implicite du taux d'apprentissage variable, qui pourrait être reproduite par d'autres formes de stochasticité, comme Dropout ou Data Augmentation.
Directions futures et recherche connexe
La recherche sur les schémas de taux d'apprentissage continue d'évoluer. Le CLR a inspiré des variations comme le phénomène de « super-convergence », où l'utilisation d'un max_lr élevé avec une politique à cycle unique peut entraîner des modèles en une fraction des époques habituelles. Cela a conduit au développement de chercheurs de taux d'apprentissage automatisés et d'approches d'optimisation bayésienne pour le réglage des hyperparamètres. Dans le contexte de Artificial intelligence et Machine learning, le CLR est souvent enseigné comme une technique fondamentale dans les cours et les manuels, et il reste une référence standard pour la comparaison dans la recherche en optimisation.
Des travaux récents ont exploré la combinaison du CLR avec Gradient Clipping pour prévenir les gradients explosifs, et avec Layer Normalization pour améliorer la stabilité dans les réseaux récurrents. Il y a également un intérêt pour le CLR adaptatif, où les bornes sont ajustées en fonction du paysage de perte ou des statistiques de gradient. Alors que les modèles Deep learning grandissent en taille et en complexité, le besoin de schémas d'entraînement efficaces et robustes maintiendra probablement le CLR pertinent, même si de nouvelles méthodes émergent.
En résumé, les taux d'apprentissage cycliques offrent une approche simple mais puissante pour la planification du taux d'apprentissage. En faisant osciller périodiquement le taux d'apprentissage, ils peuvent améliorer la vitesse de convergence et la qualité finale du modèle, tout en réduisant la charge du réglage des hyperparamètres. Qu'il soit utilisé comme technique autonome ou dans le cadre d'une stratégie d'entraînement plus large, le CLR a gagné sa place comme outil précieux dans la boîte à outils de l'apprentissage profond.