Qu'est-ce que le réglage des hyperparamètres ?

Lorsque vous entraînez des modèles de machine learning, chaque jeu de données ainsi que chaque modèle nécessite un ensemble différent d'hyperparamètres constituant une sorte de variable. La seule façon de les déterminer consiste à effectuer plusieurs expériences en sélectionnant un ensemble d'hyperparamètres pour les exécuter dans votre modèle. C'est ce qu'on appelle le réglage des hyperparamètres. Ainsi, vous entraînez votre modèle de manière séquentielle avec différents ensembles d'hyperparamètres. Ce processus peut être manuel ou vous pouvez choisir l'une des nombreuses méthodes de réglage automatique des hyperparamètres.

Quelle que soit la méthode que vous utilisez, il est essentiel de suivre les résultats de vos expériences. Vous devrez appliquer une forme d'analyse statistique, telle que la fonction de perte, afin de déterminer l'ensemble d'hyperparamètres donnant le meilleur résultat. Le réglage des hyperparamètres est un processus d'importance et d'intensité de calcul élevées.

Que sont les hyperparamètres ?

Les hyperparamètres sont des variables de configuration externes que les scientifiques des données utilisent pour gérer l'entraînement des modèles de machine learning. Parfois appelés hyperparamètres du modèle, les hyperparamètres sont définis manuellement avant la formation d'un modèle. Ils sont différents des paramètres, qui sont des paramètres internes dérivés automatiquement au cours du processus d'apprentissage et non fixés par les scientifiques des données.

Le nombre de nœuds et de couches dans un réseau neuronal et le nombre de branches dans un arbre de décision sont des exemples d'hyperparamètres. Les hyperparamètres déterminent des caractéristiques clés telles que l'architecture du modèle, le taux d'apprentissage et la complexité du modèle.

Comment identifier les hyperparamètres ?

La sélection du bon ensemble d'hyperparamètres est importante en termes de performance et de précision du modèle. Malheureusement, il n'y a pas de règles établies sur les hyperparamètres qui fonctionnent le mieux, ni sur leurs valeurs optimales ou par défaut. Vous devez faire des expériences pour trouver l'ensemble optimal d'hyperparamètres. Cette activité est connue sous le nom de réglage des hyperparamètres ou d'optimisation des hyperparamètres.

Pourquoi le réglage des hyperparamètres est-il important ?

Les hyperparamètres contrôlent directement la structure, la fonction et la performance du modèle. Le réglage des hyperparamètres permet aux spécialistes des données d'ajuster les performances du modèle pour obtenir des résultats optimaux. Ce processus est une partie essentielle du machine learning, et le choix des valeurs appropriées des hyperparamètres est crucial pour le succès.

Par exemple, supposons que vous utilisiez le taux d'apprentissage du modèle comme hyperparamètre. Si la valeur est trop élevée, le modèle peut converger trop rapidement avec des résultats sous-optimaux. Alors que si le taux est trop faible, la formation prend trop de temps et les résultats peuvent ne pas converger. Un choix judicieux et équilibré des hyperparamètres permet d'obtenir des modèles précis et d'excellentes performances.

Comment fonctionne le réglage des hyperparamètres ?

Comme indiqué précédemment, le réglage des hyperparamètres peut être manuel ou automatisé. Bien que le réglage manuel soit lent et fastidieux, l'avantage est que vous comprenez mieux comment les pondérations des hyperparamètres affectent le modèle. Mais dans la plupart des cas, vous utiliserez normalement l'un des algorithmes d'apprentissage à hyperparamètres bien connus.

Le processus de réglage des hyperparamètres est itératif, et vous essayez différentes combinaisons de paramètres et de valeurs. Vous commencez généralement par définir une variable cible, telle que la précision, comme métrique primaire, et vous souhaitez maximiser ou de minimiser cette variable. Il est bon d'utiliser des techniques de validation croisée, afin que votre modèle ne soit pas centré sur une seule partie de vos données.

Quelles sont les techniques d'ajustement des hyperparamètres ?

Il existe de nombreux algorithmes de réglage des hyperparamètres, mais les types les plus couramment utilisés sont l'optimisation bayésienne, la recherche dans la grille et la recherche aléatoire.

Optimisation bayésienne

L'optimisation bayésienne est une technique basée sur le théorème de Bayes, qui décrit la probabilité qu'un événement se produise en fonction des connaissances actuelles. Lorsqu'il est appliqué à l'optimisation des hyperparamètres, l'algorithme construit un modèle probabiliste à partir d'un ensemble d'hyperparamètres qui optimise une métrique spécifique. Il utilise l'analyse de régression pour choisir de manière itérative le meilleur ensemble d'hyperparamètres.

Recherche dans la grille

Avec la recherche par grille, vous spécifiez une liste d'hyperparamètres et une mesure de performance, et l'algorithme examine toutes les combinaisons possibles pour déterminer le meilleur ajustement. La recherche par grille fonctionne bien, mais elle est relativement fastidieuse et exigeante en termes de calcul, surtout avec un grand nombre d'hyperparamètres.

Recherche aléatoire

Bien que basée sur des principes similaires à ceux de la recherche sur grille, la recherche aléatoire sélectionne des groupes d'hyperparamètres de manière aléatoire à chaque itération. Elle fonctionne bien lorsqu'un nombre relativement faible d'hyperparamètres détermine principalement le résultat du modèle.

Quels sont les exemples d'hyperparamètres ?

Bien que certains hyperparamètres soient courants, dans la pratique, vous constaterez que les algorithmes utilisent des ensembles spécifiques d'hyperparamètres. Par exemple, vous pouvez lire comment Amazon SageMaker utilise les hyperparamètres de classification d'images et lire comment SageMaker utilise les hyperparamètres de l'algorithme XGBoost.

Voici quelques exemples d'hyperparamètres courants :

  • Le taux d’apprentissage est la vitesse à laquelle un algorithme met à jour ses estimations.
  • La décroissance du taux d'apprentissage est une réduction graduelle du taux d'apprentissage au fil du temps pour accélérer l'apprentissage.
  • LeMomentum est la direction de l'étape suivante par rapport à l'étape précédente.
  • Les nœuds du réseau neuronal font référence au nombre de nœuds dans chaque couche cachée.
  • Les couches du réseau neuronal font référence au nombre de couches cachées dans un réseau neuronal.
  • La taille du mini-batch est la taille du lot de données de formation
  • Epochs est le nombre de fois où les jeux de données de formation sont montrés au réseau pendant la formation.
  • Eta est le rétrécissement de la taille du pas pour éviter le surajustement (overfitting).

Comment AWS peut-il aider à l'ajustement des hyperparamètres ?

Chez Amazon Web Services (AWS), nous proposons Amazon SageMaker, une plateforme de machine learning (ML) entièrement gérée qui vous permet d'effectuer un réglage automatique des modèles. Ajustement automatique des modèles Amazon SageMaker trouve la meilleure version de votre modèle ML en exécutant plusieurs tâches de formation sur votre jeu de données. Il utilise l'algorithme et les plages d'hyperparamètres que vous avez spécifiés.

SageMaker propose une version intelligente des méthodes d'ajustement des hyperparamètres, basée sur la théorie de la recherche bayésienne et conçue pour trouver le meilleur modèle en un minimum de temps. Il commence par une recherche aléatoire mais apprend ensuite comment le modèle se comporte par rapport aux valeurs des hyperparamètres. For more information, lisez comment fonctionne le réglage des hyperparamètres dans SageMaker.

SageMaker Automatic Model Tuning prend également en charge Hyperband, une nouvelle stratégie de recherche. Hyperband, une nouvelle stratégie de recherche peut trouver un ensemble d'hyperparamètres optimal jusqu'à trois fois plus rapidement que la recherche bayésienne pour les modèles à grande échelle comme les réseaux neuronaux profonds qui règlent les problèmes de vision par ordinateur.

Vous pouvez également lire comment effectuer un réglage automatique du modèle avec SageMaker. Vous utilisez le module de réglage des hyperparamètres de SageMaker avec les algorithmes intégrés de SageMaker, avec les algorithmes personnalisés et avec les conteneurs préétablis de SageMaker. La page Web fournit des didacticiels et des exercices d'auto-apprentissage complets pour vous aider à apprendre à effectuer l'optimisation des hyperparamètres.

La prise en main de SageMaker est facile ; il suffit de créer un compte AWS gratuit. Avec Offre gratuite d'AWS, vous bénéficiez de deux mois d'essai gratuit de SageMaker avant de devoir commencer à payer.

Prochaines étapes avec AWS

Consultez d'autres ressources liées aux produits
Découvrir les services de machine learning 
Créer gratuitement un compte

Obtenez un accès instantané à l'offre gratuite AWS.

S'inscrire 
Commencez à créer sur la console

Démarrez la création dans la console de gestion AWS.

Se connecter