Un moyen plus rapide d’optimiser les modèles d’apprentissage profond
L’IA et ses termes associés sont désormais assez bien connus. De nombreuses personnes ont entendu parler de termes tels que « réseau neuronal » et peuvent même associer « CNN » au « réseau neuronal convolutif » au lieu de l'agence de presse. Ceux qui s'intéressent plus qu'un passager à l'IA connaissent peut-être même AlexNet, l'architecture pionnière de CNN qui a révolutionné la reconnaissance d'images et l'apprentissage profond en 2012.
Ce qui est moins connu, c’est l’utilisation d’optimiseurs ou d’algorithmes d’optimisation, qui contribuent à améliorer les performances des modèles d’IA. Par exemple, les modèles d'IA de vision par ordinateur auraient besoin d'optimiseurs qui reçoivent des données d'entrée (une image visuelle) et « prédisent » correctement ces données, c'est-à-dire identifient correctement une image d'un panda comme « panda » au lieu de « ours » ou « koala ».
« Panda » serait la vérité terrain que le modèle d'IA devrait prédire correctement à chaque fois, tandis que la différence entre la prédiction de l'IA et la vérité terrain est quantifiée dans un chiffre appelé perte d'entraînement.
« Étant donné une tâche, un modèle d'IA prendra des échantillons d'entrée et produira sa prédiction. Sans formation, un modèle d'IA ne peut souvent pas prédire correctement et est donc peu performant dans la tâche », explique Zhou Pan, professeur adjoint d'informatique à SMU. « Un optimiseur consiste à mettre à jour les paramètres d'un modèle d'IA afin que celui-ci puisse faire des prédictions correctes. »
« Le rôle principal d'un optimiseur est d'introduire des échantillons d'entraînement dans le modèle d'IA, puis de calculer la perte d'entraînement, c'est-à-dire l'écart entre la prédiction du modèle et la prédiction de la vérité terrain, et enfin d'ajuster les paramètres du modèle pour minimiser la perte d'entraînement. »
Résoudre le dépassement
Différents types de réseaux d'apprentissage profond nécessitent différents optimiseurs, le plus approprié étant souvent sélectionné uniquement après plusieurs essais souvent coûteux et longs.
En termes simples, un optimiseur fait son travail lorsque la sortie d'un modèle d'IA correspond au point le plus bas d'une courbe approximativement en forme de V traçant la perte d'entraînement, souvent appelée point de convergence. C’est là que le modèle a appris l’ensemble optimal de paramètres, de sorte que les itérations de formation ultérieures n’améliorent pas significativement ses performances sur la tâche à accomplir.
Un obstacle majeur à une optimisation efficace est ce qu'on appelle le « problème de dépassement », dans lequel un optimiseur produit des prédictions correspondant à l'autre côté de la courbe en forme de V, ce qui nécessite un recalibrage pour ramener la prédiction aux contours de la courbe.
Le dernier projet du professeur Zhou, intitulé « Adan : Adaptive Nesterov Momentum Algorithm for Faster Optimizing Deep Models », tente de résoudre le problème du dépassement.
Il explique : « L'optimiseur Adan peut accélérer le processus de recherche des bons paramètres d'un modèle. À chaque itération d'entraînement, comme les autres optimiseurs, Adan introduit également des données dans le modèle, puis calcule la perte d'entraînement, et enfin calcule les gradients du modèle. paramètres.
« Mais lorsqu'il utilise le dégradé pour mettre à jour le paramètre, il effectuera d'abord une étape pour mettre à jour le paramètre du modèle, en examinant si la mise à jour actuelle du paramètre du modèle est bonne ou non. Si c'est le cas, il mettra à jour le paramètre du modèle dans un un pas plus grand ; sinon, il faudra un petit pas pour mettre à jour le paramètre lentement. Cela garantit que la mise à jour des paramètres est toujours dans le bon sens, et garantit ainsi une vitesse de convergence plus rapide.
Une réalisation d'époque
Les améliorations dans la formation des réseaux neuronaux peuvent être mesurées en époques, où une époque est une passe complète ou un cycle à travers l’ensemble des données de formation.
Le professeur Zhou s'attend à ce qu'Adan surpasse les optimiseurs de pointe existants (SoTA) pour les tâches majeures d'apprentissage en profondeur telles que l'apprentissage visuel, linguistique et par renforcement, comme celui qui sous-tend AlphaGo, le modèle d'IA qui a battu l'acteur humain le mieux classé au monde dans le jeu de société ancien, Go, en 2017.
« Dans l'ensemble, Adan peut utiliser la moitié de l'itération de formation pour obtenir des performances comparables aux optimiseurs SoTA », précise le professeur Zhou.
« Pour les tâches de vision, sur les modèles ViT et Swin pour les tâches de classification d'images supervisées, Adan peut utiliser 150 époques d'entraînement pour obtenir des performances similaires à celles de l'optimiseur SoTA, AdamW, qui entraîne 300 époques. Sur le modèle MAE pour les tâches de classification d'images auto-supervisées. , Adan peut utiliser 800 époques d'entraînement pour obtenir des performances similaires à celles de l'optimiseur SoTA, AdamW, qui entraîne 1 600 époques.
« Pour les tâches linguistiques, sur GPT2, Adan peut utiliser 150 000 itérations de formation pour obtenir des performances similaires à celles de l'optimiseur SoTA, Adam, qui entraîne 150 000 itérations de formation ; sur Transformer-XL, Adan peut utiliser 100 000 itérations de formation pour obtenir les mêmes performances que le SoTA. optimiseur, Adam, qui entraîne 200 000 itérations de formation.
Pour les tâches RL ou d'apprentissage par renforcement, Adan travaille sur quatre jeux, à savoir Ant, Half Cheetah, Humanoid et Walker2d. Par simplicité, on les appelle souvent jeux MuJoCo. Ces jeux sont conçus pour contrôler le corps d'un robot afin de réaliser différentes activités dans un environnement 3D de manière stable et robuste, comme la marche et la course.
« Sur RL, en utilisant les mêmes itérations de formation, Adan atteint toujours des performances supérieures à celles de l'optimiseur SoTA, Adam, sur les quatre tâches de jeu testées », explique le professeur Zhou.