Régression linéaire: hyperparamètres

Les hyperparamètres sont des variables qui contrôlent différents aspects de l'entraînement. Voici trois hyperparamètres courants:

À l'inverse, les paramètres sont les variables, comme les pondérations et les biais, qui font partie du modèle lui-même. En d'autres termes, les hyperparamètres sont des valeurs que vous contrôlez, tandis que les paramètres sont des valeurs que le modèle calcule pendant l'entraînement.

Taux d'apprentissage

Le taux d'apprentissage est un nombre à virgule flottante que vous définissez, qui influence la vitesse de convergence du modèle. Si le taux d'apprentissage est trop faible, la convergence du modèle peut prendre beaucoup de temps. Toutefois, si le taux d'apprentissage est trop élevé, le modèle ne converge jamais, mais oscille autour des pondérations et des biais qui minimisent la perte. L'objectif est de choisir un taux d'apprentissage qui n'est ni trop élevé ni trop faible pour que le modèle converge rapidement.

Le taux d'apprentissage détermine l'ampleur des modifications à apporter aux poids et aux biais à chaque étape du processus de descente du gradient. Le modèle multiplie le gradient par le taux d'apprentissage pour déterminer les paramètres du modèle (valeurs de poids et de biais) pour l'itération suivante. Lors de la troisième étape de la descente de gradient, la "petite quantité" à avancer dans la direction de la pente négative fait référence au taux d'apprentissage.

La différence entre les anciens paramètres du modèle et les nouveaux paramètres du modèle est proportionnelle à la pente de la fonction de perte. Par exemple, si la pente est importante, le modèle effectue un grand pas. Si elle est petite, il faut faire un petit pas. Par exemple, si la magnitude du gradient est de 2,5 et que le taux d'apprentissage est de 0,01, le modèle modifie le paramètre de 0,025.

Le taux d'apprentissage idéal aide le modèle à converger en un nombre raisonnable d'itérations. Dans la figure 21, la courbe de fonction de perte montre que le modèle s'améliore de manière significative au cours des 20 premières itérations avant le début de la convergence:

Figure 21. Courbe de perte qui présente une pente raide avant de s'aplatir.

Figure 21. Graphique de perte montrant un modèle entraîné avec un taux d'apprentissage qui converge rapidement.

En revanche, un taux d'apprentissage trop faible peut nécessiter trop d'itérations pour converger. Dans la figure 22, la courbe de fonction de perte montre que le modèle n'apporte que des améliorations mineures après chaque itération:

Figure 22. Courbe de perte présentant une pente presque à 45 degrés.

Figure 22 Graphique de perte montrant un modèle entraîné avec un faible taux d'apprentissage.

Un taux d'apprentissage trop élevé ne converge jamais, car chaque itération entraîne soit un rebond de la perte, soit une augmentation continue. Dans la figure 23, la courbe de perte montre que le modèle diminue, puis augmente la perte après chaque itération. Dans la figure 24, la perte augmente lors des itérations ultérieures:

Figure 23. Courbe de perte qui présente une ligne à dents de scie.

Figure 23. Graphique de perte montrant un modèle entraîné avec un taux d'apprentissage trop élevé, où la courbe de perte fluctue de manière extrême, à la hausse et à la baisse à mesure que les itérations augmentent.

Figure 24. Courbe de perte montrant une augmentation de la perte lors des itérations ultérieures

Figure 24 : Graphique de perte montrant un modèle entraîné avec un taux d'apprentissage trop élevé, où la courbe de perte augmente considérablement dans les itérations ultérieures.

Exercice : Vérifiez votre compréhension

Quelle est la vitesse d'apprentissage idéale ?
Le taux d'apprentissage idéal dépend du problème.
Chaque modèle et ensemble de données a sa propre vitesse d'apprentissage idéale.
0,01
1.0

Taille de lot

La taille de lot est un hyperparamètre qui fait référence au nombre d'exemples que le modèle traite avant de mettre à jour ses poids et ses biais. Vous pourriez penser que le modèle doit calculer la perte pour chaque exemple de l'ensemble de données avant de mettre à jour les poids et le biais. Toutefois, lorsqu'un ensemble de données contient des centaines de milliers, voire des millions d'exemples, il n'est pas pratique d'utiliser l'ensemble complet.

Deux techniques courantes pour obtenir le bon gradient en moyenne sans avoir à examiner chaque exemple de l'ensemble de données avant de mettre à jour les poids et le biais sont la descente stochastique du gradient et la descente stochastique du gradient en mini-lot:

  • Descente de gradient stochastique (SGD): la descente de gradient stochastique n'utilise qu'un seul exemple (une taille de lot d'un) par itération. Avec suffisamment d'itérations, SGD fonctionne, mais est très bruyant. Le terme "bruit" désigne les variations lors de l'entraînement qui entraînent une augmentation plutôt qu'une diminution de la perte lors d'une itération. Le terme "stochastique" indique que l'exemple constituant chaque lot est choisi au hasard.

    Notez dans l'image suivante que la perte fluctue légèrement à mesure que le modèle met à jour ses poids et ses biais à l'aide de la descente de gradient stochastique, ce qui peut entraîner du bruit dans le graphique de la perte:

    Figure 25. Courbe de perte abrupte qui s'aplatit, mais avec de nombreuses petites fluctuations.

    Figure 25 : Modèle entraîné avec une descente de gradient stochastique (SGD) montrant du bruit dans la courbe de perte.

    Notez que l'utilisation de la descente stochastique du gradient peut produire du bruit sur l'ensemble de la courbe de perte, et pas seulement à proximité de la convergence.

  • Descente de gradient stochastique par mini-lots (SGD par mini-lots): la descente de gradient stochastique par mini-lots constitue un compromis entre le traitement par lot complet et la SGD. Pour $ N $ nombre de points de données, la taille de lot peut être n'importe quel nombre supérieur à 1 et inférieur à $ N $. Le modèle choisit aléatoirement les exemples inclus dans chaque lot, calcule la moyenne de leurs gradients, puis met à jour les pondérations et le biais une fois par itération.

    Le nombre d'exemples pour chaque lot dépend de l'ensemble de données et des ressources de calcul disponibles. En général, les petites tailles de lot se comportent comme la descente du gradient stochastique, tandis que les tailles de lot plus importantes se comportent comme la descente du gradient sur l'ensemble du lot.

    Figure 26. Courbe de perte abrupte qui commence à s'aplatir, avec des fluctuations beaucoup plus faibles à proximité de la convergence.

    Figure 26 Modèle entraîné avec SGD par mini-lots.

Lorsque vous entraînez un modèle, vous pouvez penser que le bruit est une caractéristique indésirable qui doit être éliminée. Toutefois, un certain niveau de bruit peut être bénéfique. Dans les modules suivants, vous découvrirez comment le bruit peut aider un modèle à mieux généraliser et à trouver les poids et les biais optimaux dans un réseau de neurones.

Époques

Pendant l'entraînement, une époque signifie que le modèle a traité chaque exemple de l'ensemble d'entraînement une seule fois. Par exemple, étant donné un ensemble d'entraînement de 1 000 exemples et une taille de mini-lot de 100 exemples, le modèle nécessitera 10 iterations pour terminer une époque.

L'entraînement nécessite généralement de nombreuses époques. Autrement dit, le système doit traiter plusieurs fois chaque exemple de l'ensemble d'entraînement.

Le nombre d'époques est un hyperparamètre que vous définissez avant le début de l'entraînement du modèle. Dans de nombreux cas, vous devrez tester le nombre d'époques nécessaires pour que le modèle converge. En général, un plus grand nombre d'époques produit un meilleur modèle, mais l'entraînement prend également plus de temps.

Figure 27. Un lot complet correspond à l'ensemble de données complet, un mini-lot est un sous-ensemble de l'ensemble de données, et une époque correspond à une passe complète sur dix mini-lots.

Figure 27 Lot complet par rapport à un mini-lot.

Le tableau suivant décrit la relation entre la taille de lot et les époques et le nombre de fois qu'un modèle met à jour ses paramètres.

Type de lot Quand les mises à jour des pondérations et des biais se produisent
Lot complet Une fois que le modèle a examiné tous les exemples de l'ensemble de données, Par exemple, si un ensemble de données contient 1 000 exemples et que le modèle s'entraîne pendant 20 époques, il met à jour les poids et le biais 20 fois, une fois par époque.
Descente de gradient stochastique Une fois que le modèle a examiné un seul exemple de l'ensemble de données. Par exemple, si un ensemble de données contient 1 000 exemples et s'entraîne pendant 20 époques, le modèle met à jour les pondérations et les biais 20 000 fois.
Descente de gradient stochastique par mini-lot Une fois que le modèle a examiné les exemples de chaque lot. Par exemple, si un ensemble de données contient 1 000 exemples, que la taille de lot est de 100 et que le modèle s'entraîne pendant 20 époques, il met à jour les poids et le biais 200 fois.

Exercice : Vérifiez votre compréhension

1. Quelle est la meilleure taille de lot à utiliser avec la descente de gradient stochastique par mini-lots ?
Cela dépend
La taille de lot idéale dépend de l'ensemble de données et des ressources de calcul disponibles.
10 exemples par lot
100 exemples par lot
2. Laquelle de ces affirmations est correcte ?
Les lots plus importants ne sont pas adaptés aux données comportant de nombreux écarts.
Cette affirmation est fausse. En calculant la moyenne de plus de gradients, les tailles de lot plus importantes peuvent contribuer à réduire les effets négatifs des valeurs aberrantes dans les données.
Doubler le taux d'apprentissage peut ralentir l'entraînement.
Cette affirmation est vraie. Le doublement du taux d'apprentissage peut entraîner un taux d'apprentissage trop élevé et, par conséquent, provoquer un "rebondissement" des pondérations, augmentant ainsi le temps nécessaire à la convergence. Comme toujours, les meilleurs hyperparamètres dépendent de votre ensemble de données et des ressources de calcul disponibles.