L'optimisation des hyperparamètres, également appelée réglage des hyperparamètres, est le problème qui consiste à choisir un ensemble d'hyperparamètres optimaux pour un algorithme d'apprentissage. Un hyperparamètre est un paramètre dont la valeur contrôle le processus d'apprentissage et doit être configuré avant le début de l'entraînement. L'objectif est de trouver l'ensemble d'hyperparamètres qui produit un modèle optimal, minimisant une fonction de perte prédéfinie sur un ensemble de données donné. La fonction objectif prend un ensemble d'hyperparamètres et renvoie la perte associée, souvent estimée par validation croisée pour maximiser les performances de généralisation.
L'optimisation des hyperparamètres est une tâche centrale dans apprentissage automatique et apprentissage profond, où des modèles tels que réseaux de neurones et transformateurs dépendent de réglages comme le taux d'apprentissage, la taille de lot et la force de régularisation. Contrairement aux paramètres du modèle, qui sont appris pendant l'entraînement, les hyperparamètres sont définis à l'avance et influencent considérablement les performances du modèle. Le processus de recherche peut être coûteux en calcul, surtout pour les grands modèles, mais diverses stratégies ont été développées pour équilibrer efficacité et efficience.
Recherche par grille
La recherche par grille, ou balayage de paramètres, est la méthode traditionnelle d'optimisation des hyperparamètres. Elle explore de manière exhaustive un sous-ensemble spécifié manuellement de l'espace des hyperparamètres. Un algorithme de recherche par grille est guidé par une métrique de performance, généralement mesurée par validation croisée sur l'ensemble d'entraînement ou par évaluation sur un ensemble de validation réservé. Comme les espaces d'hyperparamètres peuvent inclure des valeurs réelles ou non bornées, des bornes manuelles et une discrétisation sont souvent nécessaires.
Par exemple, une machine à vecteurs de support à marge souple avec un noyau RBF a au moins deux hyperparamètres : une constante de régularisation C et un hyperparamètre de noyau γ. Les deux sont continus, donc la recherche par grille sélectionne des ensembles finis, comme C ∈ {10, 100, 1000} et γ ∈ {0,1, 0,2, 0,5, 1,0}. L'algorithme entraîne une SVM pour chaque paire (C, γ) dans le produit cartésien et évalue les performances sur un ensemble de validation, produisant les réglages avec le score le plus élevé.
La recherche par grille souffre de la malédiction de la dimensionnalité, car le nombre d'évaluations croît de manière exponentielle avec le nombre d'hyperparamètres. Cependant, elle est souvent parallélisable de manière triviale car les évaluations sont indépendantes, ce qui facilite leur distribution sur plusieurs processeurs ou machines.
Recherche aléatoire
La recherche aléatoire remplace l'énumération exhaustive en sélectionnant des combinaisons d'hyperparamètres de manière aléatoire. Elle peut être appliquée à des espaces discrets, continus et mixtes. Un avantage clé par rapport à la recherche par grille est que la recherche aléatoire peut explorer beaucoup plus de valeurs pour les hyperparamètres continus, surpassant souvent la recherche par grille lorsque seulement un petit nombre d'hyperparamètres affectent significativement les performances, une situation connue sous le nom de faible dimensionnalité intrinsèque.
La recherche aléatoire est également parallélisable de manière triviale et permet d'intégrer des connaissances préalables en spécifiant des distributions d'échantillonnage. Malgré sa simplicité, elle reste une référence importante contre laquelle les nouvelles méthodes d'optimisation des hyperparamètres sont comparées. Son efficacité provient du fait que tous les hyperparamètres ne sont pas également importants, et l'échantillonnage aléatoire couvre l'espace plus efficacement en haute dimension.
Optimisation bayésienne
L'optimisation bayésienne est une méthode d'optimisation globale pour les fonctions boîte noire bruitées. Appliquée à l'optimisation des hyperparamètres, elle construit un modèle probabiliste de la correspondance entre les valeurs des hyperparamètres et l'objectif évalué sur un ensemble de validation. En évaluant itérativement des configurations prometteuses et en mettant à jour le modèle, elle vise à recueillir des observations qui révèlent autant d'informations que possible sur la fonction et l'emplacement de son optimum.
L'optimisation bayésienne équilibre l'exploration (hyperparamètres avec des résultats incertains) et l'exploitation (hyperparamètres attendus près de l'optimum). En pratique, elle obtient de meilleurs résultats avec moins d'évaluations que la recherche par grille ou aléatoire, grâce à sa capacité à raisonner sur la qualité des expériences avant de les exécuter. Les implémentations courantes utilisent des processus gaussiens ou des estimateurs de Parzen à structure arborescente, et elle est largement utilisée dans des frameworks comme les outils d'OpenAI et les plateformes d'IA de Google Cloud.
Optimisation basée sur le gradient
Pour certains algorithmes d'apprentissage spécifiques, il est possible de calculer le gradient par rapport aux hyperparamètres et de les optimiser en utilisant la descente de gradient. Les premiers travaux se sont concentrés sur les réseaux de neurones, mais les méthodes ont été étendues aux machines à vecteurs de support et à la régression logistique. Une approche différencie les étapes d'un algorithme d'optimisation itératif en utilisant la différenciation automatique. Des travaux plus récents utilisent le théorème de la fonction implicite pour calculer les hypergradients, avec une approximation stable de l'inverse du Hessien, permettant de passer à l'échelle avec des millions d'hyperparamètres avec une mémoire constante.
Une autre approche entraîne un hyperréseau pour approximer la fonction de meilleure réponse, qui peut gérer des hyperparamètres discrets. Les réseaux auto-réglants offrent une version économe en mémoire en choisissant une représentation compacte. Δ-STN améliore cela en reparamétrant l'hyperréseau et en linéarisant le réseau dans les poids, accélérant l'entraînement et produisant une meilleure approximation du Jacobien de meilleure réponse. Les méthodes basées sur le gradient peuvent également optimiser des hyperparamètres discrets via une relaxation continue, comme utilisé dans la recherche d'architecture neuronale.
Optimisation évolutionniste
L'optimisation évolutionniste utilise des algorithmes évolutionnistes pour rechercher des espaces d'hyperparamètres, inspirés de l'évolution biologique. Le processus commence par une population initiale de tuples d'hyperparamètres aléatoires (généralement 100 ou plus), évalue leur aptitude (par exemple, précision de validation croisée à 10 plis), les classe, puis sélectionne, mute et recombine les meilleurs performeurs pour créer une nouvelle génération. Ce cycle se répète jusqu'à ce qu'un critère d'arrêt soit atteint.
Les méthodes évolutionnistes sont robustes pour les fonctions boîte noire bruitées et peuvent gérer des espaces complexes et de haute dimension. Elles sont particulièrement utiles lorsque l'objectif est non différentiable ou lorsque les connaissances préalables sont limitées. Cependant, elles peuvent être intensives en calcul, nécessitant de nombreuses évaluations, ce qui peut être prohibitif pour les grands modèles. Malgré cela, elles restent une option viable pour l'optimisation des hyperparamètres dans divers domaines.
Considérations pratiques
L'optimisation des hyperparamètres est critique dans les applications du monde réel, de l'entraînement de grands modèles de langage au déploiement de modèles sur AWS ou Azure. Le choix de la méthode dépend du budget, du nombre d'hyperparamètres et du coût de chaque évaluation. Pour les petits budgets, la recherche aléatoire ou l'optimisation bayésienne sont souvent préférées. Pour un réglage à grande échelle, les approches distribuées et parallèles sont essentielles.
Les plateformes d'apprentissage automatique automatisé (AutoML) intègrent ces techniques pour rationaliser le développement de modèles. Par exemple, Alibaba Cloud et Oracle Cloud proposent des services qui automatisent le réglage des hyperparamètres. De plus, des institutions de recherche comme MIT CSAIL et Stanford AI Lab contribuent à l'avancement des algorithmes d'optimisation, tandis que des entreprises comme Google DeepMind et Anthropic les appliquent à des modèles de pointe.
Défis et orientations futures
L'optimisation des hyperparamètres fait face à des défis tels que le coût de calcul élevé, surtout pour les modèles d'apprentissage profond avec des millions de paramètres. L'espace de recherche peut être vaste, et l'évaluation d'une seule configuration peut nécessiter des heures d'entraînement. Des techniques comme l'arrêt précoce et l'optimisation multi-fidélité aident à atténuer les coûts en écartant les configurations médiocres tôt.
Les orientations futures incluent le méta-apprentissage, où les connaissances préalables de tâches précédentes accélèrent l'optimisation, et la recherche d'architecture neuronale, qui optimise à la fois l'architecture et les hyperparamètres. À mesure que les modèles grandissent, une optimisation efficace devient de plus en plus importante, stimulant la recherche dans des domaines comme élagage de modèles et augmentation de données pour réduire la charge. Le domaine continue d'évoluer, avec de nouvelles méthodes émergeant à la fois du monde académique et de l'industrie.