L'article doit être débarrassé d'une partie de son jargon (octobre 2020).
Dans l'apprentissage automatique, un hyperparamètre est un réglage — externe — d’un modèle d’apprentissage automatique (comme la taille du réseau, le taux d’apprentissage ou la durée d’entraînement). On le fixe avant l’apprentissage, car le modèle ne peut pas ajuster lui‑même. La valeur des hyperparamètres est utilisée pour contrôler le processus d'apprentissage, mais les valeurs des autres paramètres (généralement la pondération de nœuds[Quoi ?]) sont obtenues par apprentissage.
Les hyperparamètres peuvent être classifiés comme étant des hyperparamètres de modèle, qui ne peuvent pas être déduits en ajustant la machine à l'ensemble d'entraînement parce qu'ils s'appliquent à la tâche de la sélection du modèle, ou des hyperparamètres d'algorithmes, qui en principe n'ont aucune influence sur la performance du modèle mais affectent la rapidité et la qualité du processus d'apprentissage. Un exemple d'hyperparamètre de modèle est la topologie et la taille d'un réseau de neurones. Des exemples d'hyperparamètres d'algorithme sont la vitesse d'apprentissage et la taille des lots.
Les hyperparamètres varient selon la nature des algorithmes d'apprentissage ; et certains algorithmes d'apprentissage automatique simples (comme la régression des moindres carrés) n'en nécessitent aucun. Compte tenu de ces hyperparamètres, l'algorithme d'apprentissage apprend les paramètres à partir des données. Par exemple, la régression Lasso est un algorithme qui ajoute un hyperparamètre de régularisation à la régression des moindres carrés, qui doit être défini avant d'estimer les paramètres via l'algorithme d'apprentissage.
Le temps requis pour entraîner et tester un algorithme d'apprentissage automatique peut dépendre du choix de ses hyperparamètres[1].
Un hyperparamètre est généralement de type continu ou entier, conduisant à des problèmes d'optimisation de type mixte. L'existence de certains hyperparamètres est conditionnée à la valeur d'autres, par exemple la taille de chaque couche cachée dans un réseau de neurone peut être conditionnée par le nombre de couches ce celui-ci les deux s'influençant l'un l'autre.
Parfois, les hyperparamètres ne peuvent pas être appris en utilisant des méthodes bien connues basées sur le gradient, couramment utilisées pour apprendre les paramètres. Ces hyperparamètres sont les paramètres décrivant une représentation du modèle qui ne peut pas être appris par des méthodes d'optimisation classiques mais qui affectent néanmoins la fonction d'objectif.
Un exemple serait l'hyperparamètre de tolérance aux erreurs dans les machines à vecteurs de support.
Parfois, les hyperparamètres ne peuvent pas être appris à partir des données d'entraînement, car ils augmentent de manière agressive la capacité d'un modèle, et peuvent pousser la fonction de perte à un mauvais minimum - surajustement et captation du bruit, dans les données - par opposition à cartographier correctement la richesse de la structure dans les données. Ainsi, si nous traitons le degré d'une équation polynomiale ajustant un modèle de régression comme un paramètre entraînable, cela augmenterait simplement le degré jusqu'à ce que le modèle corresponde parfaitement aux données, donnant une petite erreur d'apprentissage - mais de mauvaises performances de généralisation.
La plupart des variations de performances peuvent être attribuées à quelques hyperparamètres[2],[1],[3]. L'optimisation d'un algorithme, d'un hyperparamètre ou d'hyperparamètres en interaction est une mesure des performances pouvant être obtenues en le réglant[4]. Pour un LSTM, alors que le taux d'apprentissage suivi de la taille du réseau sont ses hyperparamètres les plus cruciaux[5], le batching et le momentum n'ont aucun effet significatif sur ses performances[6].
Bien que certaines recherches aient préconisé l'utilisation de tailles de mini-lots par milliers, d'autres travaux ont trouvé les meilleures performances avec des tailles de mini-lots comprises entre 2 et 32[7].
Une stochasticité[Quoi ?] inhérente à l'apprentissage implique directement que la performance empirique des hyperparamètres n'est pas nécessairement sa vraie performance[1]. Les méthodes qui ne sont pas robustes à de simples changements d'hyperparamètres, à des germes aléatoires ou même à différentes implémentations du même algorithme ne peuvent pas être intégrées dans des systèmes de contrôle critiques sans simplification et robustesse significatives[8].
Les algorithmes d'apprentissage par renforcement, en particulier, nécessitent de mesurer leurs performances sur un grand nombre de germes aléatoires, ainsi que de mesurer leur sensibilité aux choix des hyperparamètres[8]. Leur évaluation avec un petit nombre de graines aléatoires ne saisit pas correctement les performances en raison de la forte variance. Certaines méthodes d'apprentissage par renforcement, par exemple DDPG (Deep Deterministic Policy Gradient), sont plus sensibles aux choix des hyperparamètres que d'autres.
L'optimisation des hyperparamètres trouve un tuple d'hyperparamètres qui produit un modèle optimal qui minimise une fonction d'objectif prédéfinie sur des données de test données[1]. La fonction d'objectif prend un tuple d'hyperparamètres et renvoie le coût associé.
L'optimisation des hyperparamètres se fait en définissant une grille de recherche qui contient plusieurs configurations d'hyperparamètres à tester. La grille de recherche peut être établie de trois manières :
Outre le réglage des hyperparamètres, l'apprentissage automatique implique de stocker et d'organiser les paramètres et les résultats, et de s'assurer qu'ils sont reproductibles. En l'absence d'une infrastructure robuste à cet effet, le code utilisé durant la recherche évolue souvent rapidement et compromet des aspects essentiels de la méthode scientifique comme la comptabilité et la reproductibilité . Les plateformes de collaboration en ligne pour l'apprentissage automatique vont plus loin en permettant aux scientifiques de partager, d'organiser et de discuter automatiquement de leurs expériences, des données et des algorithmes utilisés. La reproductibilité peut être particulièrement problématique pour les modèles d'apprentissage profond[16].
| Nom | Interfaces |
|---|---|
| Comet.ml [17] | Python [18] |
| OpenML [19],[20],[21] | REST, Python, Java, R [22] |
| Weights & Biases[23] | Python[24] |
| Nom | Interfaces | Stockage |
|---|---|---|
| Détermined AI | REST, Python | PostgreSQL |
| OpenML Docker [19],[25],[20],[21] | REST, Python, Java, R [22] | MySQL |
| Sacred [26],[27] | Python [28] | fichier, MongoDB, TinyDB, SQL |
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.