Table of Contents

Les méthodes de régularisation sont des techniques fondamentales dans l'apprentissage profond et l'apprentissage machine qui aident à prévenir les suradaptations et à améliorer la généralisation des modèles. Lorsque les réseaux neuraux de formation, l'un des défis les plus courants est de créer des modèles qui fonctionnent bien non seulement sur les données de formation, mais aussi sur les données invisibles.

Les techniques de régularisation permettent de résoudre ce problème en ajoutant des contraintes ou des modifications au processus d'apprentissage, en encourageant le modèle à apprendre des modèles plus généralisables plutôt que de mémoriser des exemples de formation spécifiques.

Comprendre les surajustements et le besoin de régularisation

Avant de plonger dans des techniques de régularisation spécifiques, il est essentiel de comprendre pourquoi la régularisation est nécessaire en premier lieu. Lorsque nous formons des modèles d'apprentissage profond, nous visons à minimiser une fonction de perte qui mesure la mesure dans quelle mesure les prédictions de notre modèle correspondent aux valeurs cibles réelles. Cependant, si nous optimisons cette fonction de perte trop agressive sur les seules données d'entraînement, le modèle peut commencer à mémoriser des modèles spécifiques qui ne se généralisent pas aux nouvelles données.

Le modèle permet d'obtenir d'excellents résultats sur les données de formation, mais il se produit de mauvais résultats sur les ensembles de validation ou de test, car il a appris à saisir le bruit et les fluctuations aléatoires des données de formation plutôt que les modèles sous-jacents qui l'aideraient à faire des prédictions précises sur de nouveaux exemples.

Les techniques de régularisation fonctionnent en ajoutant des contraintes au processus d'apprentissage qui découragent le modèle de devenir trop complexe ou trop spécifiquement adapté aux données de formation.Ces contraintes peuvent prendre de nombreuses formes, de la pénalisation des poids importants à la chute aléatoire des neurones pendant la formation. La clé est de trouver le bon équilibre entre l'ajustement des données de formation et le maintien de la capacité de généralisation à de nouvelles situations.

L1 Régularisation : Promotion de la sparté et sélection des caractéristiques

La régularisation L1, également connue sous le nom de régularisation Lasso, est une technique puissante qui ajoute un terme de pénalité à la fonction perte égale à la valeur absolue des poids du modèle. Cette méthode a des propriétés uniques qui la rendent particulièrement utile pour certains types de problèmes d'apprentissage automatique, en particulier lorsqu'il s'agit de données à haute dimension ou lorsque la sélection des fonctionnalités est importante.

Comment fonctionne la régularisation L1

La formulation mathématique de la régularisation L1 modifie la fonction de perte standard en ajoutant un terme proportionnel à la somme des valeurs absolues de tous les poids dans le modèle. La fonction de perte modifiée devient : Perte = Perte initiale + λ × λ λ , où λ est le paramètre de régularisation qui contrôle la résistance de la pénalité, et w représente les poids du modèle.

Le paramètre de régularisation λ est un hyperparamètre que vous devez régler pour votre problème spécifique. Une valeur λ plus grande applique une régularisation plus forte, poussant plus de poids vers zéro, tandis qu'une valeur λ plus petite permet au modèle plus de liberté pour adapter les données d'entraînement. Trouver la valeur λ optimale nécessite généralement l'expérimentation en utilisant la validation croisée ou un ensemble de validation.

Ce qui rend la régularisation L1 particulièrement intéressante est sa tendance à produire des solutions peu précises, c'est-à-dire des solutions où de nombreux poids sont exactement nuls. Cela se produit parce que la fonction de valeur absolue a un angle net à zéro, et pendant l'optimisation, les poids sont plus susceptibles d'être poussés jusqu'à zéro plutôt que d'être simplement réduits à de petites valeurs.

Avantages et applications de la régularisation L1

La propriété de régularisation L1 qui induit une sparcité offre plusieurs avantages pratiques. Premièrement, elle effectue la sélection automatique des fonctionnalités en supprimant efficacement les fonctionnalités non pertinentes du modèle. Lorsqu'un poids devient nul, la fonctionnalité correspondante ne contribue plus aux prédictions du modèle, ce qui peut aider à identifier les fonctionnalités qui sont vraiment importantes pour la tâche à accomplir.

Cette capacité de sélection des fonctions est particulièrement utile lorsque l'on travaille avec des ensembles de données à haute dimension où le nombre de fonctionnalités est important par rapport au nombre d'exemples de formation. Dans de tels scénarios, de nombreuses fonctionnalités peuvent être inutiles ou redondantes, et la régularisation L1 peut aider à les identifier et à les éliminer, ce qui permet de simplifier et d'interpréter les modèles.

Les modèles avec beaucoup de poids zéro nécessitent moins de mémoire pour stocker et peuvent être évalués plus rapidement, car les calculs impliquant des poids zéro peuvent être ignorés. Cela rend les modèles L1-régularisés particulièrement attrayants pour le déploiement dans des environnements restreints aux ressources tels que les appareils mobiles ou les systèmes embarqués.

Dans les cadres d'apprentissage profond comme TensorFlow et PyTorch, la mise en œuvre de la régularisation L1 est simple, exigeant généralement une spécification de paramètre unique lors de la définition de couches ou d'optimiseurs.

Considérations pratiques concernant la régularisation L1

Lors de la régularisation L1, il faut garder à l'esprit plusieurs considérations pratiques. Premièrement, la régularisation des caractéristiques devient particulièrement importante parce que la régularisation L1 pénalise tous les poids de façon égale en termes absolus. Si les caractéristiques sont sur différentes échelles, la régularisation aura un effet disproportionné sur les poids correspondant aux caractéristiques avec des échelles plus petites.

Le choix du paramètre de régularisation λ est critique et dépendant du problème. Commencez par une gamme de valeurs, généralement sur une échelle logarithmique (comme 0,001, 0,01, 0,1, 1,0) et utilisez la validation croisée pour identifier la valeur qui fournit le meilleur compromis entre la performance de formation et la généralisation.

Il est également intéressant de noter que la régularisation L1 peut rendre l'optimisation plus difficile car la fonction de valeur absolue n'est pas différenciable à zéro. Cependant, les algorithmes d'optimisation modernes traitent ce problème en utilisant des sous-gradients ou des méthodes proximales, donc ce n'est généralement pas une préoccupation lors de l'utilisation de cadres d'apprentissage profonds établis.

Régularisation L2 : Décrochage de poids et modèles lisses

La régularisation L2, aussi connue sous le nom de régularisation Ridge ou de désintégration du poids, est l'une des techniques de régularisation les plus utilisées dans l'apprentissage automatique et l'apprentissage profond. Contrairement à la régularisation L1, la régularisation L2 ajoute une pénalité proportionnelle au carré des poids à la fonction de perte, ce qui conduit à différentes propriétés et applications.

Les mathématiques derrière la régularisation L2

La régularisation L2 modifie la fonction de perte en ajoutant un terme proportionnel à la somme des poids carrés : Perte = Perte initiale + λ × λw2, où λ est de nouveau le paramètre de régularisation et w représente les poids du modèle. Cette pénalité carrée a des propriétés fondamentalement différentes par rapport à la pénalité absolue de valeur utilisée dans la régularisation L1.

La pénalité carrée signifie que les poids plus importants sont pénalisés beaucoup plus fortement que les poids plus petits. Par exemple, un poids de 2,0 contribue à la pénalité de 4,0, tandis qu'un poids de 0,5 ne contribue que 0,25. Cette relation quadratique encourage le modèle à distribuer les valeurs de poids plus uniformément plutôt que de les concentrer en quelques grandes valeurs.

Contrairement à la régularisation L1, la régularisation L2 ne conduit généralement pas exactement à zéro. Elle réduit plutôt tous les poids vers zéro proportionnellement, avec des poids plus grands étant rétrécis de façon plus agressive. Cela signifie que la régularisation L2 ne produit généralement pas de modèles clairsemés, et toutes les caractéristiques conservent généralement une certaine influence sur les prédictions du modèle.

Pourquoi la régularisation L2 fonctionne

L'efficacité de la régularisation L2 peut être comprise de multiples points de vue. D'un point de vue bayésien, la régularisation L2 est équivalente à placer un Gaussian avant sur les poids, exprimant une croyance que les poids devraient être petits et centrés autour de zéro. Cette croyance antérieure aide à empêcher le modèle d'attribuer une importance extrême à toute caractéristique ou connexion particulière.

Dans une perspective géométrique, la régularisation L2 limite les poids à se trouver dans une sphère dans l'espace de poids. Au cours de l'optimisation, l'algorithme cherche à minimiser la fonction de perte tout en conservant les poids dans cette contrainte sphérique. La taille de la sphère est déterminée par le paramètre de régularisation λ, avec des valeurs λ plus grandes correspondant à des sphères plus petites et une régularisation plus forte.

La régularisation L2 a également un effet lissant sur le modèle. En décourageant les gros poids, elle empêche le modèle d'être trop sensible aux petits changements dans les caractéristiques d'entrée. Cela conduit à des prédictions plus stables et une meilleure généralisation, car le modèle est moins susceptible d'être rejeté par le bruit ou de petites perturbations dans les données d'entrée.

Applications et meilleures pratiques

La régularisation L2 est extrêmement courante dans l'apprentissage profond et est souvent appliquée par défaut dans de nombreuses architectures réseau neuronales. Elle est particulièrement efficace pour les réseaux neuronaux car ces modèles ont de nombreux paramètres et sont sujets à l'excès de montage, surtout lorsque les données d'entraînement sont limitées.

Dans la pratique, la régularisation L2 est souvent préférée à L1 lorsque vous voulez garder toutes les fonctionnalités du modèle mais empêcher toute fonctionnalité de dominer. Ceci est commun dans les scénarios où vous croyez que toutes les fonctionnalités contiennent des informations utiles et vous n'avez pas besoin de sélection explicite des fonctionnalités. La régularisation L2 est également plus pratique que L1 parce que la pénalité carrée est différentiable partout, rendant l'optimisation plus lisse.

Lors de la régularisation de L2, des considérations similaires s'appliquent à l'échelle de la fonction et à l'accordage hyperparamétrique. Le paramètre de régularisation λ doit être ajusté à l'aide de données de validation et les caractéristiques doivent idéalement être à des échelles similaires.

Un détail important de la mise en oeuvre est que la régularisation L2 n'est généralement pas appliquée aux termes biais, seulement aux poids. C'est parce que les termes biais ne contribuent pas à la complexité du modèle de la même manière que les poids, et qu'ils peuvent les régulariser inutilement peut restreindre la capacité du modèle à adapter les données.

Réseau élastique: combinaison de la régularisation L1 et L2

Bien que les deux types de régularisation aient chacun leurs forces, ils peuvent également être combinés dans une technique appelée régularisation Elastic Net. Cette approche ajoute les termes de pénalité L1 et L2 à la fonction perte, vous permettant de bénéficier à la fois des propriétés de sparsity-inducting et de lissage du poids.

La fonction perte nette élastique prend la forme : Perte = perte initiale + λ1 × λ=w λ2 × λw2, où λ1 et λ2 contrôlent respectivement la résistance de la régularisation L1 et L2. On peut aussi la paramétrer en utilisant un seul paramètre de résistance à la régularisation et un rapport de mélange qui détermine l'équilibre entre les pénalités L1 et L2.

Elastic Net est particulièrement utile lorsque vous avez des groupes de caractéristiques corrélées. La régularisation L1 seule a tendance à sélectionner arbitrairement une caractéristique d'un groupe de caractéristiques corrélées et à zéro sur les autres, tandis que la régularisation L2 a tendance à donner des poids similaires aux caractéristiques corrélées. Elastic Net fournit un terrain intermédiaire, offrant une sélection de caractéristiques tout en manipulant des caractéristiques corrélées plus gracieusement.

L'abandon : Régularisation stochastique pour les réseaux neuraux

Introduit par Geoffrey Hinton et ses collègues, Dropout est devenu l'une des méthodes les plus efficaces pour empêcher la suradaptation dans les modèles d'apprentissage profond. Contrairement à la régularisation L1 et L2, qui modifient la fonction de perte, Dropout fonctionne en modifiant aléatoirement l'architecture du réseau pendant la formation.

Comment fonctionne le décrochage

L'idée fondamentale derrière le Dropout est remarquablement simple mais très efficace. Au cours de chaque itération d'entraînement, le Dropout « s'éteint » ou désactive un sous-ensemble de neurones dans le réseau. Cela signifie que ces neurones sont temporairement retirés du réseau avec toutes leurs connexions entrantes et sortantes. La probabilité d'abandon de chaque neurone est contrôlée par un hyperparamètre, généralement réglé à 0,5 pour les couches cachées, ce qui signifie que chaque neurone a une chance de tomber à 50% lors d'une étape d'entraînement donnée.

Lorsqu'un neurone est abandonné, il ne participe pas au passage avant ou au passage arrière pour cet exemple d'entraînement particulier. Cela force le réseau à apprendre des représentations redondantes parce qu'il ne peut pas compter sur un neurone spécifique toujours présent. Le réseau doit apprendre à faire des prédictions précises même lorsque des sous-ensembles aléatoires de neurones sont manquants, ce qui l'encourage à développer des caractéristiques plus robustes et généralisables.

Pendant les tests ou les inférences, l'abandon est généralement désactivé et tous les neurones sont actifs. Cependant, pour tenir compte du fait que plus de neurones sont actifs pendant les tests que pendant l'entraînement, les sorties sont généralement écalées par la probabilité d'abandon. La plupart des cadres d'apprentissage profonds modernes gèrent automatiquement cette échelle, soit par l'échelle pendant l'entraînement (abandon inversé) ou pendant les tests.

Pourquoi l'abandon empêche-t-il de suradapter les

Le décrochage empêche le surajustement par plusieurs mécanismes. Premièrement, il empêche les neurones de co-adapter trop. Dans un réseau neuronal standard, les neurones peuvent développer des interdépendances complexes où certains neurones dépendent fortement de la présence d'autres neurones spécifiques. Cette co-adaptation peut conduire à un surajustement parce que le réseau apprend des modèles très spécifiques qui dépendent de ces relations précises.

Ensuite, le Dropout peut être considéré comme formant un ensemble de nombreux réseaux neuronaux différents. Chaque itération de formation utilise un sous-ensemble aléatoire différent de neurones, créant ainsi une architecture de réseau différente. Au cours de la formation, le modèle voit des milliers ou des millions de configurations de réseau différentes. Au moment des tests, l'utilisation de tous les neurones peut être considérée comme la moyenne approximative des prédictions de tous ces différents réseaux, qui est une forme de modèle moyen ou d'apprentissage d'ensemble.

Troisièmement, le Dropout ajoute du bruit au processus d'apprentissage, qui a un effet régularisé. Ce bruit empêche le réseau de mémoriser des exemples de formation spécifiques et l'encourage à apprendre des modèles plus généraux qui sont robustes aux perturbations. La nature stochastique du Dropout signifie que le réseau voit des versions légèrement différentes de lui-même lors de chaque itération de formation, ce qui permet d'éviter une suradaptation à l'architecture de réseau spécifique.

Mise en œuvre de l'abandon scolaire dans la pratique

Dans PyTorch[, vous pouvez ajouter une couche Dropout à votre réseau, en spécifiant la probabilité d'abandon comme paramètre. Le cadre gère automatiquement les différences entre les modes de formation et de test, en appliquant Dropout pendant la formation et en le désactivant pendant l'évaluation.

La probabilité d'abandon est un hyperparamètre qui doit être ajusté pour votre problème spécifique. Les valeurs communes vont de 0,2 à 0,5, avec 0,5 étant un défaut populaire pour les couches cachées. Les couches d'entrée utilisent généralement des taux d'abandon plus faibles, comme 0,1 ou 0,2, parce que l'abandon de trop de fonctionnalités d'entrée peut supprimer trop d'informations.

Il est courant d'utiliser des taux d'abandon plus élevés dans les couches plus grandes ou les couches plus susceptibles de suradapter. Certains praticiens utilisent des taux d'abandon plus élevés dans les couches plus récentes d'un réseau, car ces couches ont tendance à apprendre plus de caractéristiques spécifiques aux tâches qui sont plus susceptibles de suradapter.

Variations des abandons scolaires

Depuis son introduction, plusieurs variations de Dropout ont été développées pour traiter des scénarios spécifiques ou améliorer la technique originale. DropConnect est une variante qui fait tomber les connexions (poids) au lieu des neurones. Plutôt que de fixer les activations neurones à zéro, DropConnect fixe aléatoirement les poids individuels à zéro pendant l'entraînement.

Le système spatial de décrochage est conçu spécifiquement pour les réseaux neuronaux convolutionnels. Au lieu de décroître des neurones individuels, le système spatial de décrochage dépose des cartes de fonctions entières.

Le système d'abandon variable applique le même masque d'abandon à tous les stades des réseaux neuronaux récurrents, plutôt que d'utiliser un masque différent à chaque étape. Il a été démontré que cela fonctionne mieux pour les RNN parce qu'il empêche le réseau d'apprendre à compenser le bruit d'abandon au fil du temps.

L'abandon de l'activité concrète est une variante récente qui apprend automatiquement le taux optimal d'abandon au cours de l'entraînement, plutôt que de l'exiger comme un hyperparamètre fixe, ce qui peut permettre d'économiser du temps sur l'ajustement de l'activité hyperparamétrique et peut conduire à une meilleure performance en utilisant différents taux d'abandon à différents stades de la formation.

Quand utiliser le décrochage

Le décrochage est particulièrement efficace pour les couches entièrement connectées dans les réseaux neuronaux, où le surajustement est souvent une préoccupation importante en raison du grand nombre de paramètres. Il est couramment utilisé dans les couches cachées des réseaux de flux, dans les connexions récurrentes des RNN, et après les couches convolutionnelles dans les CNN (bien que le décrochage spatial soit souvent préféré pour les couches convolutionnelles).

Dans de tels scénarios, le surajustement est un risque majeur, et le Dropout peut améliorer considérablement les performances de généralisation. Cependant, lorsque vous avez de très grands ensembles de données, le bénéfice de régularisation du Dropout peut être moins prononcé et il pourrait même ralentir la formation sans apporter d'améliorations substantielles.

Il est intéressant de noter que le Dropout peut ralentir l'entraînement parce que le réseau a besoin de plus d'itérations pour converger lorsque les neurones sont abandonnés au hasard. La nature stochastique du Dropout signifie que le réseau voit une architecture différente à chaque étape de l'entraînement, ce qui peut rendre le processus d'optimisation plus bruyant et plus lent.

Comparaison de la régularisation des abandons scolaires et des abandons scolaires

Pour comprendre quand utiliser chaque technique de régularisation, il faut comparer leurs propriétés, leurs forces et les cas d'utilisation idéales. Bien que les trois méthodes visent à éviter une suradaptation et une amélioration de la généralisation, elles fonctionnent de manière fondamentalement différente et sont adaptées à différents scénarios.

Mécanisme et effet

La régularisation L1 et L2 fonctionnent en modifiant la fonction perte, ajoutant des termes de pénalité qui découragent certaines configurations de poids. Ils affectent directement le processus d'optimisation, influençant la mise à jour des poids pendant l'entraînement. En revanche, Dropout fonctionne en modifiant l'architecture réseau stochastiquement pendant l'entraînement, créant un effet d'ensemble sans changer la fonction perte elle-même.

La régularisation L1 produit des modèles clairsemés avec de nombreux poids zéro, réalisant efficacement la sélection des fonctionnalités. La régularisation L2 produit des modèles avec des poids petits et distribués, où toutes les fonctionnalités contribuent mais aucune ne domine.

Considérations informatiques

D'un point de vue calculal, la régularisation L2 est généralement la plus efficace car elle ajoute simplement un terme au calcul du gradient proportionnel aux poids. La régularisation L1 est un peu plus complexe en raison de la non-différenciation à zéro, mais les cadres modernes le gèrent efficacement. La formation peut ralentir la formation car elle nécessite plus d'itérations pour converger en raison de la stochastie ajoutée, mais elle n'augmente pas significativement le coût calculal par itération.

À l'heure de l'inférence, les modèles L1-régularisés avec de nombreux poids zéro peuvent être évalués plus rapidement car les calculs impliquant des poids zéro peuvent être ignorés. Les modèles L2-régularisés n'ont pas d'avantages particuliers en matière d'inférence.

Recommandations concernant les cas d'utilisation

Utilisez la régularisation L1 lorsque vous voulez la sélection automatique des fonctionnalités ou lorsque vous pensez que de nombreuses fonctionnalités sont hors de propos. Il est particulièrement précieux pour les problèmes de haute dimension où l'interprétation est importante et vous voulez identifier quelles fonctionnalités sont vraiment importantes. L1 est couramment utilisé dans les modèles linéaires, la régression logistique, et les scénarios où la sparité du modèle est souhaitable pour le déploiement ou l'interprétation.

Utilisez la régularisation L2 lorsque vous voulez garder toutes les fonctionnalités, mais empêcher toute domination, ou lorsque vous voulez des modèles lisses et stables. C'est le choix par défaut pour de nombreuses applications réseau neuronales et fonctionne bien sur une large gamme de problèmes. L2 est particulièrement efficace lorsque vous pensez que toutes les fonctionnalités contiennent des informations utiles et que vous n'avez pas besoin de sélection explicite des fonctionnalités.

Utilisez le Dropout lors de la formation de réseaux neuraux profonds, surtout lorsque vous avez des données limitées par rapport à la complexité du modèle. Il est particulièrement efficace pour les couches entièrement connectées et est devenu un composant standard de nombreuses architectures de réseaux neuraux.

Combiner plusieurs techniques de régularisation

Dans la pratique, il est fréquent et souvent bénéfique de combiner plusieurs techniques de régularisation. Par exemple, de nombreux modèles d'apprentissage profond qui réussissent utilisent à la fois la régularisation L2 et le Dropout ensemble. Les deux techniques fonctionnent à travers différents mécanismes et peuvent se compléter, avec la régularisation L2 limitant les magnitudes de poids tandis que Dropout empêche la co-adaptation des neurones.

Lorsque vous combinez des techniques de régularisation, vous pouvez avoir besoin de réduire la force de chaque technique individuelle par rapport à ce que vous utiliseriez si vous l'appliquiez seul. L'effet de régularisation combinée peut être assez fort, il est donc important d'accorder soigneusement les hyperparamètres pour éviter une sous-adaptation, où le modèle est trop limité pour apprendre les modèles dans les données efficacement.

Techniques de régularisation supplémentaires

Bien que L1, L2 et Dropout soient parmi les méthodes de régularisation les plus populaires, plusieurs autres techniques sont largement utilisées dans l'apprentissage moderne profond. Comprendre ces méthodes supplémentaires fournit une trousse plus complète pour prévenir l'adaptation excessive et améliorer la généralisation des modèles.

Arrêt précoce

L'arrêt précoce est l'une des techniques de régularisation les plus simples mais les plus efficaces. L'idée est de surveiller les performances du modèle sur un ensemble de validation pendant la formation et de cesser la formation lorsque les performances de validation cessent d'améliorer, même si les performances de formation sont encore en amélioration.

Lors de la formation, vous évaluez le modèle sur le jeu de validation à intervalles réguliers (comme après chaque époque) et suivez la perte ou la précision de validation. Si la performance de validation ne s'améliore pas pour un nombre spécifié d'époques (appelé paramètre de patience), la formation est arrêtée et les poids du modèle à partir de la meilleure performance de validation sont rétablis.

L'arrêt précoce est particulièrement attrayant car il ne nécessite pas de choisir des hyperparamètres supplémentaires comme la force de régularisation, et il peut en fait réduire le temps d'entraînement en s'arrêtant avant le nombre maximum d'époques. Cependant, il nécessite un ensemble de validation séparé, ce qui réduit la quantité de données disponibles pour l'entraînement. Il est également important de choisir une valeur de patience appropriée – trop petite et vous pourriez arrêter trop tôt, trop grande et vous pourriez suradapter avant d'arrêter.

Augmentation des données

L'augmentation des données est une technique de régularisation qui fonctionne en élargissant artificiellement l'ensemble de données de formation par des transformations qui préservent l'étiquette. Ceci est particulièrement courant dans la vision informatique, où les images peuvent être augmentées par rotations, retournements, cultures, ajustements de couleur, et d'autres transformations.

Pour les images d'objets, les retournements horizontaux et les petites rotations sont généralement sûrs, mais les retournements verticaux peuvent ne pas avoir de sens pour certains objets. Pour les données textuelles, l'augmentation peut inclure le remplacement de synonymes, la traduction en arrière ou l'insertion aléatoire et la suppression de mots.

L'augmentation des données est particulièrement puissante parce qu'elle s'attaque à la suradaptation à sa cause fondamentale, à savoir l'insuffisance des données de formation. En créant plus d'exemples de formation, même si elles sont synthétiques, le modèle a plus d'occasions d'apprendre des modèles généralisables.

Normalisation des lots

La normalisation par lots, bien qu'elle soit principalement conçue pour accélérer l'entraînement et stabiliser l'optimisation, a également un effet de régularisation. Elle fonctionne en normalisant les entrées de chaque couche pour avoir une moyenne zéro et une variance unitaire, calculées sur chaque mini-lot. Cette normalisation est suivie par des paramètres d'échelle et de déplacement apprenants qui permettent au réseau de défaire la normalisation si nécessaire.

L'effet de régularisation de la normalisation par lots vient du fait que les statistiques de normalisation (moyenne et variance) sont calculées sur des mini-batches, qui introduit le bruit dans le processus d'entraînement. Chaque exemple est normalisé différemment selon les autres exemples dans son mini-bateau, ajoutant une forme de stochasticité similaire à Dropout. Ce bruit a un effet de régularisation qui peut réduire le besoin d'autres techniques de régularisation.

De nombreux praticiens ont constaté que les réseaux avec normalisation par lots peuvent utiliser moins de Dropout ou même pas du tout. Cependant, la normalisation par lots et le Dropout peuvent parfois interagir de manière complexe, et l'utilisation des deux ensemble nécessite un réglage attentif. La normalisation par lots est devenue un composant standard de la plupart des réseaux neuronaux convolutionnels modernes et est souvent appliquée après des couches convolutionnelles ou entièrement connectées.

Lissage des étiquettes

Le lissage des étiquettes est une technique de régularisation des problèmes de classification qui empêche le modèle de devenir sur-confident dans ses prédictions. Au lieu d'utiliser des cibles difficiles (0 ou 1 pour la classification binaire, vecteurs à chaud pour la classification multi-classes), le lissage des étiquettes utilise des cibles douces qui attribuent une petite probabilité à des classes incorrectes.

Par exemple, au lieu d'utiliser une cible de [0, 1, 0] pour un problème de trois classes, le lissage d'étiquettes pourrait utiliser [0,05, 0,9, 0,05]. Cela encourage le modèle à être moins certain dans ses prédictions, ce qui peut améliorer la généralisation. L'intuition est que le fait d'être trop confiant sur les données d'entraînement peut conduire à un lissage excessif, et le lissage d'étiquettes empêche cela en pénalisant les prédictions surconfiantes.

Le lissage des étiquettes a été démontré pour améliorer les performances sur diverses tâches, en particulier dans la vision informatique avec des ensembles de données à grande échelle comme ImageNet. C'est une technique simple à mettre en œuvre, nécessitant généralement une petite modification de la fonction perte, et il introduit seulement un hyperparamètre supplémentaire – le facteur lissage qui détermine la quantité de masse de probabilité à redistribuer à des classes incorrectes.

Contraintes de poids et normalisation

Les contraintes de poids consistent à limiter directement l'ampleur des poids plutôt qu'à ajouter une pénalité à la fonction de perte. Par exemple, les contraintes de la norme maximale-norm limitent la norme L2 du vecteur de poids pour chaque neurone à un seuil déterminé. Si la norme dépasse ce seuil après une mise à jour du gradient, les poids sont réduits pour satisfaire à la contrainte.

La normalisation du poids et la normalisation spectrale sont des techniques connexes qui normalisent les poids de façon spécifique pour améliorer la stabilité et la généralisation de l'entraînement.Ces méthodes ont été particulièrement efficaces dans les réseaux antagonistes générateurs (RAG) et d'autres scénarios de formation difficiles où les techniques de régularisation standard peuvent ne pas être suffisantes.

Guide pratique de mise en œuvre

L'application réussie des techniques de régularisation exige une compréhension non seulement de la théorie, mais aussi des aspects pratiques de la mise en œuvre, de l'accordage hyperparamétrique et du débogage.

Commencer par une base de référence

Avant d'appliquer la régularisation, il est important d'établir un niveau de référence en formant un modèle sans régularisation. Ce niveau de référence vous aide à comprendre si votre modèle est réellement suradapté et combien de régularisation est nécessaire. Formez votre modèle sur l'ensemble de formation et évaluez-le sur les ensembles de formation et de validation.

Si votre modèle est en sous-adéquation (performant mal à la fois sur la formation et les ensembles de validation), ajouter la régularisation ne fera que empirer les choses. Dans ce cas, vous devriez d'abord vous concentrer sur l'augmentation de la capacité du modèle, améliorer les fonctionnalités, ou ajuster le taux d'apprentissage avant d'envisager la régularisation.

Choix des paramètres initiaux

Pour la régularisation L2, commencez par de petites valeurs comme 0.0001 ou 0.001. Pour la régularisation L1, vous pouvez commencer par des valeurs similaires, mais être prêt à ajuster plus significativement en fonction de la quantité de sparsité que vous voulez. Pour le Dropout, commencez par 0.5 pour les couches cachées et 0.2 pour les couches d'entrée si utilisé.

Il est généralement préférable de commencer par une régularisation plus faible et d'augmenter si nécessaire, plutôt que de commencer trop fort et trop peu adapté. Surveiller étroitement les mesures de formation et de validation lorsque vous ajustez la force de régularisation. L'objectif est de réduire l'écart entre la performance de l'entraînement et la performance de validation sans nuire significativement à la performance de l'entraînement.

Stratégies de réglage des paramètres hyperfréquences

La recherche de grille implique d'essayer toutes les combinaisons d'hyperparamètres à partir de listes prédéfinies, ce qui est complet mais peut être calculablement coûteux. La recherche aléatoire permet de prélever des combinaisons d'hyperparamètres aléatoires à partir de distributions spécifiées et peut être plus efficace que la recherche de grille, surtout lorsque certains hyperparamètres sont plus importants que d'autres.

Des approches plus sophistiquées comme l'optimisation bayésienne peuvent être encore plus efficaces en utilisant les résultats précédents pour guider la recherche d'hyperparamètres optimaux. Des bibliothèques comme Optuna et Ray Tune fournissent des implémentations de ces méthodes avancées de réglage hyperparamétrique qui peuvent réduire considérablement le temps et les ressources informatiques nécessaires pour trouver de bons hyperparamètres.

Lorsque vous accordez simultanément plusieurs techniques de régularisation, soyez conscient qu'elles interagissent entre elles. La force de régularisation optimale de L2 lors de l'utilisation de Dropout peut être différente de la force optimale lorsque vous n'utilisez pas Dropout. Envisagez de régler les hyperparamètres par étapes, en trouvant d'abord de bonnes valeurs pour une technique, puis en ajoutant et en harmonisant une autre.

Surveillance et débogage

L'utilisation efficace de la régularisation nécessite un suivi attentif de la dynamique de l'entraînement. Courbes de perte de formation et de validation pour visualiser comment l'écart entre eux change au fur et à mesure que l'entraînement progresse. Si l'écart est important et croissant, vous avez besoin de plus de régularisation.

Lorsque vous utilisez la régularisation L1, surveillez la sparsité de votre modèle – quel pourcentage de poids est exactement zéro ou très proche de zéro. Cela peut vous aider à comprendre si L1 a l'effet désiré et si vous devez ajuster la force de régularisation. Lors de l'utilisation de Dropout, assurez-vous qu'il est effectivement appliqué pendant l'entraînement et désactivé pendant l'évaluation, comme oublier de changer de mode est une erreur courante.

Si la formation prend beaucoup plus de temps que prévu, elle pourrait être due à une forte régularisation (en particulier l'abandon) nécessitant plus d'époques pour converger. Dans de tels cas, vous pourriez avoir besoin d'augmenter le nombre d'époques d'entraînement ou d'ajuster la force de régularisation pour trouver un meilleur équilibre entre le temps d'entraînement et la performance du modèle.

Pièges courants et comment les éviter

Une erreur courante est d'appliquer la régularisation à tous les paramètres sans discrimination. Les termes partiaux ne devraient pas être régularisés, car ils ne contribuent pas à la complexité du modèle de la même manière que les poids. La plupart des cadres d'apprentissage profond vous permettent de spécifier quels paramètres devraient être régularisés, alors profitez de cette flexibilité.

Un autre piège consiste à utiliser la même force de régularisation sur toutes les couches. Différentes couches peuvent bénéficier de différentes quantités de régularisation. Les couches avec plus de paramètres ou de couches plus susceptibles de surcoller (comme les couches entièrement connectées) pourraient avoir besoin d'une régularisation plus forte que d'autres.

Comme ces techniques pénalisent les magnitudes de poids, les caractéristiques sur différentes échelles seront affectées différemment par la régularisation. Toujours normaliser ou normaliser vos caractéristiques pour avoir des échelles similaires avant l'entraînement avec la régularisation L1 ou L2.

Enfin, n'oubliez pas que la régularisation n'est qu'un outil dans votre boîte à outils. Si votre modèle est très encombrant, vous pourriez aussi avoir besoin d'envisager de collecter plus de données de formation, en utilisant l'augmentation de données, en simplifiant votre architecture de modèle, ou en améliorant vos fonctionnalités.

Thèmes avancés et développements récents

Le domaine de la régularisation continue d'évoluer, les chercheurs développant de nouvelles techniques et acquérant une compréhension théorique plus approfondie des méthodes existantes.

Régularisation adaptative

Les recherches récentes ont exploré des méthodes de régularisation adaptative qui permettent d'ajuster automatiquement la force de régularisation pendant l'entraînement. Plutôt que d'utiliser un paramètre de régularisation fixe pendant l'entraînement, ces méthodes augmentent ou diminuent la régularisation en fonction de l'état actuel du modèle et de la dynamique de l'entraînement.

Régularisation de l'apprentissage en transfert

Le transfert d'apprentissage, où un modèle pré-entraînement à une tâche est affiné pour une autre tâche, nécessite une attention particulière pour la régularisation. Les poids pré-entraînement déjà encodent des caractéristiques utiles, et l'application de trop de régularisation pendant le réglage fin peut détruire cette information. Les pratiques courantes comprennent l'utilisation de régularisation plus faible pendant le réglage fin, l'application de différentes forces de régularisation aux couches pré-entraînement et nouvellement initialisées, ou l'utilisation de techniques comme le dégel progressif où les couches sont affinées progressivement avec régularisation appropriée à chaque étape.

Régularisation pour différentes architectures

Les réseaux neuronaux convolutionnels fonctionnent souvent bien avec le Dropout spatial et l'augmentation des données, tandis que les réseaux neuronaux récurrents peuvent bénéficier davantage du Dropout variationnel et du dentelage de gradient. Les modèles de transformateurs, qui sont devenus dominants dans le traitement du langage naturel, utilisent souvent une combinaison de Dropout, de la désintégration pondérale et de la normalisation des couches pour la régularisation.

Les mécanismes d'attention des transformateurs présentent des défis et des possibilités uniques en matière de régularisation. L'abandon de l'attention, qui réduit au hasard les poids d'attention, s'est avéré efficace pour prévenir la suradaptation dans les modèles de transformateurs.

Compréhension théorique

Les travaux théoriques récents ont permis de mieux comprendre pourquoi la régularisation fonctionne et comment les différentes techniques se rapportent les unes aux autres. Par exemple, les chercheurs ont montré des liens entre le Dropout et l'inférence bayésienne, ce qui suggère que le Dropout peut être considéré comme une inférence bayésienne approximative sur les paramètres du modèle.

Other theoretical work has explored the implicit regularization provided by the optimization algorithm itself. Stochastic gradient descent, even without explicit regularization terms, has been shown to have an implicit bias toward solutions that generalize well. Understanding these implicit regularization effects can help practitioners make better decisions about when and how much explicit regularization to apply.

Études de cas et applications du monde réel

L'examen de la façon dont les techniques de régularisation sont appliquées dans des systèmes efficaces dans le monde réel fournit des informations précieuses sur les meilleures pratiques et les stratégies efficaces.

Applications de vision informatique

Dans la vision informatique, en particulier pour les tâches de classification d'image, une combinaison de techniques de régularisation est généralement employée. modèles de pointe comme ResNet et EfficientNet utilisent la régularisation L2 (diminution du poids) comme base de référence, combinée avec une augmentation de données étendue incluant des cultures aléatoires, des flips, des jeux de couleurs, et des techniques plus avancées comme Cutout et MixUp.

Les modèles de détection d'objets et de segmentation sémantique sont confrontés à des défis supplémentaires, car ils ont des architectures plus complexes avec des têtes de sortie multiples. Ces modèles utilisent souvent différentes stratégies de régularisation pour différents composants – une régularisation plus forte pour les têtes de classification et une régularisation plus faible pour les têtes de localisation.

Traitement des langues naturelles

Les modèles de traitement du langage naturel, particulièrement les grands modèles de langage basés sur l'architecture du transformateur, dépendent fortement de la régularisation pour éviter les surajustements malgré des milliards de paramètres.Ces modèles utilisent généralement une combinaison de désintégration du poids, de Dropout appliqué aux poids d'attention et couches d'alimentation-avant, et de normalisation des couches.

L'augmentation des données dans les NLP prend différentes formes que dans la vision informatique, y compris des techniques comme la traduction en arrière, le remplacement par synonyme, l'insertion ou la suppression aléatoires de mots. Des techniques plus récentes comme l'apprentissage contrastant ont également montré des promesses pour améliorer la généralisation dans les modèles NLP.

Systèmes de recommandation

Les systèmes de recommandation traitent souvent de données peu nombreuses et de grande dimension, où la régularisation est essentielle pour éviter un surajustement. Les modèles de factorisation matricielle, qui sont courants dans le filtrage collaboratif, utilisent généralement la régularisation L2 pour empêcher que l'utilisateur appris et les éléments intégrés ne deviennent trop grands. Ceci est particulièrement important parce que la sparté des données signifie que de nombreux paramètres sont rarement mis à jour, ce qui les rend susceptibles de suradaptation sur les quelques exemples où ils apparaissent.

Les systèmes de recommandation fondés sur l'apprentissage profond combinent les techniques traditionnelles de régularisation avec des approches spécifiques à un domaine. Par exemple, l'abandon est couramment appliqué à l'intégration de couches et de couches entièrement connectées, tandis que la régularisation L2 est appliquée à tous les paramètres.

Résumé et pratiques exemplaires

La régularisation est un élément essentiel de l'apprentissage moderne par machine et de l'apprentissage profond, fournissant les outils nécessaires pour construire des modèles qui généralisent bien les données invisibles. Comprendre les différentes techniques de régularisation et quand les appliquer est crucial pour développer des modèles robustes et performants.

Traits clés

La régularisation L1 est idéale lorsque vous avez besoin de la sélection des fonctionnalités ou que vous voulez des modèles clairsemés. Elle entraîne des poids à exactement zéro, en supprimant efficacement les fonctionnalités non pertinentes du modèle. Utilisez L1 lorsque l'interprétation est importante et vous voulez identifier quelles fonctionnalités sont vraiment importantes pour votre tâche.

La régularisation L2 est la technique de régularisation la plus couramment utilisée et fonctionne bien pour une large gamme de problèmes. Elle encourage les petits poids distribués et produit des modèles lisses moins sensibles au bruit. Utilisez L2 comme choix par défaut pour les réseaux neuronaux, et envisagez de la combiner avec d'autres techniques pour une régularisation plus forte au besoin.

Dropout est particulièrement efficace pour les réseaux neuronaux profonds et fonctionne en désactivant au hasard les neurones pendant la formation. Il empêche la co-adaptation et peut être considéré comme formant un ensemble de modèles. Utilisez le Dropout dans des couches entièrement connectées et ajuster le taux d'abandon en fonction de la taille et de la position de la couche dans le réseau.

Recommandations pratiques

Si le décalage entre la formation et la performance de validation est important, commencez à ajouter des techniques de régularisation une à la fois, en commençant par les approches les plus simples. La régularisation L2 et l'arrêt précoce sont de bons premiers choix parce qu'ils sont faciles à mettre en œuvre et fonctionnent bien dans de nombreuses situations.

N'ayez pas peur de combiner plusieurs techniques de régularisation, mais soyez conscient qu'elles interagissent entre elles. Lorsque vous utilisez plusieurs techniques, vous pouvez avoir besoin de réduire la force de chaque technique individuelle par rapport à l'utiliser seul. Validez toujours vos choix à l'aide d'un ensemble de validation tenu-out et soyez prêt à itérer sur votre stratégie de régularisation que vous en apprendrez davantage sur votre problème spécifique.

Faites attention aux caractéristiques spécifiques de votre problème lors du choix des techniques de régularisation. Les problèmes de haute dimension avec de nombreuses fonctionnalités non pertinentes peuvent bénéficier davantage de la régularisation L1, tandis que les problèmes avec des données limitées peuvent bénéficier davantage de la Dropout et de l'augmentation des données.

Enfin, rappelez-vous que la régularisation n'est qu'une partie de la construction de modèles d'apprentissage machine efficaces. De bonnes caractéristiques, une architecture de modèle appropriée, des données de formation suffisantes et un réglage approprié des hyperparamètres sont tous essentiels.

Résumé des techniques de régularisation communes

  • L1 Regularization (Lasso)[: Ajoute la valeur absolue des poids à la fonction perte, favorise la sparosité et la sélection automatique des fonctionnalités, idéal pour les données haute dimension avec de nombreuses fonctionnalités non pertinentes
  • L2 Régularisation (Ridge): Ajoute des poids carrés à la fonction perte, encourage les petits poids distribués, la plus couramment utilisée technique de régularisation pour différents types de modèles
  • Dropout: Désactive aléatoirement les neurones pendant l'entraînement, empêche la co-adaptation, particulièrement efficace pour les réseaux neuronaux profonds avec des couches entièrement connectées
  • Stopping précoce[: surveille les performances de validation et arrête l'entraînement quand il cesse d'améliorer, technique simple mais efficace qui ne nécessite pas d'hyperparamètres supplémentaires
  • Augmentation des données: élargit artificiellement les données de formation par des transformations de conservation d'étiquettes, s'attaque à l'hyperadéquation en augmentant la taille des ensembles de données efficaces
  • Normalisation des lots: Normalise les entrées de couches sur les mini-batches, fournit une régularisation implicite par le bruit introduit par les statistiques des lots
  • Lissage des étiquettes[: Utilise des cibles douces au lieu d'étiquettes durs, empêche les prédictions surconfidentielles et améliore la généralisation
  • Contraintes de poids: Limite directement les magnitudes de poids par des contraintes comme la norme max, offre une alternative à la régularisation fondée sur la pénalité
  • Elastique Net[: Combine la régularisation L1 et L2, fournit des avantages à la fois de la sparsité et de lissage de poids
  • Spatial Dropout[: Drops entier feature maps in convolutional networks, plus approprié que standard Dropout pour les données en corrélation spatiale

En comprenant ces techniques de régularisation et en les appliquant avec soin, vous pouvez construire des modèles d'apprentissage automatique qui non seulement fonctionnent bien sur les données de formation, mais aussi généralisent efficacement aux scénarios du monde réel. La clé est d'expérimenter, de surveiller soigneusement vos résultats et d'ajuster votre approche en fonction des caractéristiques et des exigences spécifiques de votre problème.