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 poids:

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 élevées peuvent avoir un impact énorme. Par exemple, dans le calcul précédent:

  • Une seule pondération (w3) représente environ 93% de la complexité totale.
  • Les cinq autres pondérations ne représentent collectivement qu'environ 7% de la complexité totale.

La régularisation L2 encourage les pondérations à se rapprocher de zéro, mais ne les pousse jamais jusqu'à zéro.

Exercices: Testez vos connaissances

Si vous utilisez la régularisation L2 lors de l'entraînement d'un modèle, qu'advient-il généralement de 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 va probablement diminuer.
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 à s'approcher de 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 réduire considérablement certaines pondérations, elle ne les éliminera jamais complètement. Par conséquent, toutes les caractéristiques contribueront toujours 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 à:

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

Un taux de régularisation élevé:

  • Renforce l'influence de la régularisation, ce qui réduit les risques de surajustement.
  • Tendance à produire un histogramme des poids du modèle ayant les caractéristiques suivantes :
    • une distribution normale
    • un poids moyen de 0.

Un faible taux de régularisation:

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

Par exemple, l'histogramme des poids du modèle pour un taux de régularisation élevé peut ressembler à celui illustré à 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 des poids pour un taux de régularisation élevé La moyenne est nulle. Distribution normale.

 

En revanche, un faible taux de régularisation tend à 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 poids pour un faible taux de régularisation La moyenne peut être égale à zéro 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 qu'il n'a jamais vues auparavant. Malheureusement, cette valeur idéale dépend des données. Vous devez donc effectuer un réglage de à des réglages.

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 complexité. Au lieu de cela, l'arrêt prématuré signifie simplement mettre fin à l'entraînement avant que le modèle ne converge complètement. Par exemple, vous arrêtez l'entraînement lorsque la courbe de perte de 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 bon qu'un modèle entraîné de manière approfondie avec 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 à tirer les poids 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 poids faibles ont tendance à produire un modèle qui génère de mauvaises prédictions. À l'inverse, si le taux d'apprentissage est élevé par rapport au taux de régularisation, les poids forts ont tendance à produire un modèle suradapté.

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 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.