Surapprentissage: régularisation L2

La régularisation L2 est une métrique de régularisation populaire qui utilise la formule suivante :

$$L_2\text{ regularization } = {w_1^2 + w_2^2 + ... + w_n^2}$$

Par exemple, le tableau suivant montre le calcul de la régularisation L2 pour un modèle avec six pondérations :

Valeur Valeur au carré
w1 0,2 0,04
w2 -0.5 0,25
w3 5.0 25,0
w4 -1,2 1:44
w5 0,3 0.09
w6 -0,1 0,01
    26,83 = total

Notez que les pondérations proches de zéro n'affectent pas beaucoup la régularisation L2, mais que les pondérations importantes peuvent avoir un impact considérable. Par exemple, dans le calcul précédent :

  • Une seule pondération (w3) contribue à environ 93 % de la complexité totale.
  • Les cinq autres pondérations contribuent collectivement à environ 7 % de la complexité totale.

La régularisation L2 encourage les pondérations à tendre vers 0, mais ne les y pousse jamais complètement.

Exercices : testez vos connaissances

Si vous utilisez la régularisation L2 lors de l'entraînement d'un modèle, qu'arrivera-t-il généralement à la complexité globale du modèle ?
La complexité globale du système diminuera probablement.
Étant donné que la régularisation L2 encourage les pondérations à tendre vers 0, la complexité globale diminuera probablement.
La complexité globale du modèle restera probablement constante.
C'est très peu probable.
La complexité globale du modèle augmentera probablement.
Cela est peu probable. N'oubliez pas que la régularisation L2 encourage les pondérations à tendre vers 0.
Si vous utilisez la régularisation L2 lors de l'entraînement d'un modèle, certaines caractéristiques seront supprimées du modèle.
Vrai
Bien que la régularisation L2 puisse rendre certaines pondérations très petites, elle ne les ramènera jamais à zéro. Par conséquent, toutes les caractéristiques continueront de contribuer au modèle.
Faux
La régularisation L2 ne pousse jamais les pondérations jusqu'à zéro.

Taux de régularisation (lambda)

Comme indiqué, l'entraînement tente de minimiser une combinaison de perte et de complexité :

$$\text{minimize(loss} + \text{ complexity)}$$

Les développeurs de modèles ajustent l'impact global de la complexité sur l'entraînement du modèle en multipliant sa valeur par un scalaire appelé taux de régularisation. Le caractère grec lambda symbolise généralement le taux de régularisation.

Autrement dit, les développeurs de modèles visent à effectuer les opérations suivantes :

$$\text{minimize(loss} + \lambda \text{ complexity)}$$

Un taux de régularisation élevé :

  • Renforce l'influence de la régularisation, ce qui réduit le risque de surapprentissage.
  • Tend à produire un histogramme des pondérations du modèle présentant les caractéristiques suivantes :
    • une distribution normale.
    • un poids moyen de 0.

Un faible taux de régularisation :

  • Diminue l'influence de la régularisation, ce qui augmente les risques de surapprentissage.
  • Tend à produire un histogramme des pondérations du modèle avec une distribution plate.

Par exemple, l'histogramme des pondérations du modèle pour un taux de régularisation élevé peut ressembler à celui de la figure 18.

Figure 18. Histogramme des pondérations d'un modèle ayant une moyenne égale à zéro et une distribution normale
Figure 18 : Histogramme de pondération pour un taux de régularisation élevé. La moyenne est nulle. Distribution normale.

 

En revanche, un faible taux de régularisation a tendance à produire un histogramme plus plat, comme illustré à la figure 19.

Figure 19. Histogramme des pondérations d'un modèle ayant une moyenne égale à zéro, qui se situe entre une distribution plate et une distribution normale.
Figure 19 : Histogramme des pondérations pour un faible taux de régularisation. La moyenne peut être nulle ou non.

 

Choisir le taux de régularisation

Le taux de régularisation idéal produit un modèle qui se généralise bien aux nouvelles données inédites. Malheureusement, cette valeur idéale dépend des données. Vous devez donc effectuer des réglages tuning.

Arrêt prématuré : une alternative à la régularisation basée sur la complexité

L'arrêt prématuré est une méthode de régularisation qui n'implique pas de calcul de la complexité. En fait, l'arrêt prématuré consiste simplement à mettre fin à l'entraînement avant que le modèle ne converge complètement. Par exemple, vous mettez fin à l'entraînement lorsque la courbe de perte pour l'ensemble de validation commence à augmenter (la pente devient positive).

Bien que l'arrêt prématuré augmente généralement la perte d'entraînement, il peut réduire la perte de test.

L'arrêt prématuré est une forme de régularisation rapide, mais rarement optimale. Il est très peu probable que le modèle obtenu soit aussi performant qu'un modèle entraîné de manière approfondie sur le taux de régularisation idéal.

Trouver l'équilibre entre le taux d'apprentissage et le taux de régularisation

Le taux d'apprentissage et le taux de régularisation ont tendance à déplacer les pondérations dans des directions opposées. Un taux d'apprentissage élevé éloigne souvent les pondérations de zéro, tandis qu'un taux de régularisation élevé les rapproche de zéro.

Si le taux de régularisation est élevé par rapport au taux d'apprentissage, les pondérations faibles ont tendance à produire un modèle qui fait de mauvaises prédictions. À l'inverse, si le taux d'apprentissage est élevé par rapport au taux de régularisation, les pondérations fortes ont tendance à produire un modèle surajusté.

Votre objectif est de trouver l'équilibre entre le taux d'apprentissage et le taux de régularisation. Cela peut s'avérer difficile. Pire encore, une fois que vous avez trouvé cet équilibre insaisissable, vous devrez peut-être finalement modifier le taux d'apprentissage. De plus, lorsque vous modifiez le taux d'apprentissage, vous devez à nouveau trouver le taux de régularisation idéal.