Régularisation en Deep Learning : tout ce que vous devez savoir
Publié: 2020-11-16L'un des plus gros problèmes auxquels sont confrontés les scientifiques des données ou les ingénieurs en apprentissage automatique est la complexité de la création d'algorithmes qui fonctionnent bien sur les données de formation ainsi que sur les nouvelles entrées. De nombreuses techniques sont utilisées dans l'apprentissage automatique pour minimiser ou éliminer complètement l'erreur de test. Cela se fait, à certaines occasions, sans trop se soucier de l'augmentation de l'erreur d'entraînement. Toutes ces techniques réunies sont communément appelées régularisation.
En termes plus simples, la régularisation est une modification apportée à un algorithme d'apprentissage pour minimiser son erreur de généralisation sans trop se concentrer sur la réduction de son erreur d'apprentissage. Il existe plusieurs techniques de régularisation disponibles, chacune travaillant sur un aspect différent d'un algorithme d'apprentissage ou d'un réseau de neurones, et chacune conduisant à un résultat différent.
Il existe des techniques de régularisation qui imposent des restrictions supplémentaires à un modèle d'apprentissage, telles que des contraintes sur les valeurs des paramètres. Il y a ceux qui imposent des restrictions sur les valeurs des paramètres. Si la technique de régularisation est choisie avec soin, elle peut conduire à une amélioration des performances sur le modèle de données de test.
Table des matières
Pourquoi avons-nous besoin d'une régularisation du réseau de neurones ?
Les réseaux de neurones profonds sont des modèles d'apprentissage complexes qui sont exposés au surajustement, en raison de leur nature flexible de mémorisation de modèles d'ensembles d'apprentissage individuels au lieu d'adopter une approche généralisée envers des données non reconnaissables. C'est pourquoi la régularisation du réseau de neurones est si importante. Cela vous aide à garder le modèle d'apprentissage facile à comprendre pour permettre au réseau de neurones de généraliser les données qu'il ne peut pas reconnaître.
Comprenons cela avec un exemple. Supposons que nous disposions d'un ensemble de données comprenant à la fois des valeurs d'entrée et de sortie. Supposons également qu'il existe une relation vraie entre ces valeurs. Or, l'un des objectifs de l'apprentissage en profondeur est d'établir une relation approximative entre les valeurs d'entrée et de sortie. Ainsi, pour chaque ensemble de données, il existe deux modèles qui peuvent nous aider à définir cette relation : le modèle simple et le modèle complexe.
Dans le modèle simple, il existe une droite qui ne comprend que deux paramètres qui définissent la relation en question. Une représentation graphique de ce modèle comportera une ligne droite qui passe de près par le centre de l'ensemble de données en question, garantissant qu'il y a très peu de distance entre la ligne et les points en dessous et au-dessus.

Lisez aussi : Idées de projets d'apprentissage automatique
D'autre part, le modèle complexe a plusieurs paramètres, selon l'ensemble de données. Il suit l'équation polynomiale, ce qui lui permet de passer par chaque point de données d'apprentissage. Avec l'augmentation progressive de la complexité, l'erreur d'apprentissage atteindra une valeur nulle et le modèle mémorisera les modèles individuels de l'ensemble de données. Contrairement aux modèles simples qui ne sont pas trop différents les uns des autres, même lorsqu'ils sont formés sur des ensembles de données différents, on ne peut pas en dire autant des modèles complexes.
Qu'est-ce que le biais et la variance ?
En termes simples, le biais est une mesure de la distance qui existe entre la vraie ligne de population et la moyenne des modèles formés sur différents ensembles de données. Le biais a un rôle très important pour décider si oui ou non nous allons avoir un bon intervalle de prédiction. Pour ce faire, il détermine à quel point la fonction moyenne est proche de la vraie relation.
Lisez aussi: Salaire d'un ingénieur en apprentissage automatique en Inde
La variance quantifie la variation d'estimation pour une fonction moyenne. La variance détermine l'écart qu'un modèle modélisé sur un ensemble de données spécifique affiche lorsqu'il est formé sur différents ensembles de données tout au long de son parcours de prédiction. Qu'un algorithme ait un biais élevé ou une variance élevée, nous pouvons apporter plusieurs modifications pour qu'il soit plus performant.
Comment pouvons-nous faire face à un biais élevé ?
- Entraînez-le pendant de plus longues périodes
- Utiliser un réseau plus grand avec des unités ou des couches masquées
- Essayez une meilleure architecture de réseau neuronal ou des algorithmes d'optimisation avancés
Comment pouvons-nous gérer une variance élevée (surajustement) ?
- Régularisation
- Ajout de données
- Trouver une meilleure architecture de réseau neuronal
Avec les algorithmes d'apprentissage en profondeur existants, nous sommes libres de continuer à former des réseaux de neurones plus grands pour minimiser le biais sans avoir aucune influence sur la variance. De même, nous pouvons continuer à ajouter des données pour minimiser la variance sans avoir d'impact sur la valeur du biais. De plus, si nous avons affaire à la fois à un biais élevé et à une variance élevée, nous pouvons réduire ces deux valeurs en utilisant la bonne technique de régularisation d'apprentissage en profondeur.

Comme discuté, une augmentation de la complexité du modèle entraîne une augmentation de la valeur de la variance et une diminution de celle du biais. Avec la bonne technique de régularisation, vous pouvez travailler à réduire à la fois les erreurs de test et d'entraînement, et ainsi permettre un compromis idéal entre la variance et le biais.
Techniques de régularisation
Voici trois des techniques de régularisation les plus courantes :
1. Augmentation de l'ensemble de données
Quelle est la manière la plus simple de généraliser ? La réponse est assez simple, mais sa mise en œuvre ne l'est pas. Vous avez juste besoin de former ce modèle sur un ensemble de données de lager. Cependant, ce n'est pas viable dans la plupart des situations car nous traitons principalement avec des données limitées. La meilleure solution possible pouvant être appliquée à plusieurs problèmes d'apprentissage automatique consiste à créer des données synthétiques ou fausses à ajouter à votre ensemble de données existant. Donc, si vous avez affaire à des données d'image, les moyens les plus simples de créer des données synthétiques incluent la mise à l'échelle, la translation des pixels de l'image et la rotation.
2. Arrêt précoce
Un scénario de formation très courant qui conduit à un surajustement est lorsqu'un modèle est formé sur un ensemble de données relativement plus grand. Dans cette situation, la formation du modèle pendant une plus longue période de temps n'entraînerait pas sa capacité de généralisation accrue ; cela conduirait plutôt à un surajustement.
Après un certain point dans le processus de formation et après une réduction significative de l'erreur de formation, il arrive un moment où l'erreur de validation commence à augmenter. Cela signifie que le surajustement a commencé. En utilisant la technique Early Stopping, nous arrêtons l'apprentissage des modèles et maintenons les paramètres tels quels dès que nous constatons une augmentation de l'erreur de validation.

3. L1 et L2
L1 et L2 font la technique de régularisation de la pénalité de poids qui est assez couramment utilisée pour entraîner des modèles. Cela fonctionne sur une hypothèse qui rend les modèles avec des poids plus grands plus complexes que ceux avec des poids plus petits. Le rôle des pénalités dans tout cela est de s'assurer que les poids sont soit nuls, soit très faibles. La seule exception est lorsque de grands gradients sont présents pour contrecarrer. La pénalité de poids est également appelée perte de poids, ce qui signifie la baisse des poids vers une unité plus petite ou zéro.
Norme L1 : Elle permet à certains poids d'être grands et en pousse certains vers zéro. Il pénalise la vraie valeur d'un poids.
Norme L2 : elle entraîne tous les poids vers des valeurs plus petites. Il pénalise la valeur au carré d'un poids.
Conclusion
Dans cet article, vous avez découvert la régularisation des réseaux de neurones dans l'apprentissage en profondeur et ses techniques. Nous espérons sûrement que cela a dû éclaircir la plupart de vos questions sur le sujet.
Si vous souhaitez en savoir plus sur l'apprentissage en profondeur et l'intelligence artificielle, consultez notre programme de diplôme PG en apprentissage automatique et IA qui est conçu pour les professionnels en activité et fournit plus de 30 études de cas et missions, plus de 25 sessions de mentorat de l'industrie, plus de 5 mains pratiques. -sur les projets Capstone, plus de 450 heures de formation rigoureuse et d'aide au placement dans les meilleures entreprises.
Quel est l'avantage de L1 sur la régularisation L2 ?
Étant donné que la régularisation L1 abaisse les coefficients bêta ou les rend presque nuls, elle est essentielle pour terminer les caractéristiques sans importance. La régularisation L2, quant à elle, diminue les poids de manière uniforme et n'est appliquée que lorsque la multicolinéarité est présente dans les données elles-mêmes. La régularisation L1 peut donc être utilisée pour la sélection des caractéristiques, ce qui lui donne un avantage sur la régularisation L2.
Quels sont les avantages et les défis de l'augmentation des données ?
Les avantages incluent l'amélioration de la précision des modèles de prédiction par l'ajout de plus de données de formation, la prévention de la raréfaction des données pour de meilleurs modèles et l'augmentation de la capacité des modèles à généraliser une sortie. Cela réduit également le coût de la collecte des données puis de leur étiquetage. Les défis incluent le développement de nouvelles recherches pour créer des données synthétiques avec des applications avancées pour les domaines d'augmentation des données. De plus, si les ensembles de données réels contiennent des biais, les données augmentées contiendront également les biais.
Comment gérons-nous les biais élevés et la variance élevée ?
Faire face à un biais élevé signifie entraîner des ensembles de données sur de plus longues périodes. Pour cela, un plus grand réseau doit être utilisé avec des couches cachées. En outre, de meilleurs réseaux de neurones devraient être appliqués. Pour gérer une variance élevée, une régularisation doit être initiée, des données supplémentaires doivent être ajoutées et, de la même manière, une meilleure architecture de réseau neuronal doit être encadrée.