23.11. Apprentissage par transfert et réglage fin : régularisation et évitement du surapprentissage

Le machine learning et le deep learning ont révolutionné la façon dont nous interprétons les données, prenons des décisions et créons des applications intelligentes. L'une des techniques les plus puissantes de l'apprentissage profond est le Transfer Learning, qui vous permet de transférer des connaissances d'un domaine à un autre, économisant ainsi du temps et des ressources informatiques. Le réglage fin est un complément à l'apprentissage par transfert, où nous ajustons le modèle pré-entraîné pour mieux l'adapter à nos données spécifiques. Cependant, un défi courant lors de l’utilisation de ces techniques consiste à éviter le surajustement, où le modèle apprend des modèles spécifiques à partir de l’ensemble de formation au détriment de sa capacité à généraliser à de nouvelles données. Dans cette section, nous discuterons des stratégies de régularisation et d'autres techniques pour éviter le surapprentissage lors de l'application de l'apprentissage par transfert et du réglage fin.

Qu'est-ce que l'apprentissage par transfert ?

L'apprentissage par transfert est une technique dans laquelle un modèle développé pour une tâche est réutilisé comme point de départ pour un modèle dans une deuxième tâche. Par exemple, un modèle entraîné à reconnaître des images peut être configuré pour reconnaître un ensemble spécifique d'images, comme les races de chiens. Ceci est particulièrement utile dans le domaine de l'apprentissage profond, où les modèles pré-entraînés sur de grands ensembles de données tels qu'ImageNet peuvent être adaptés à des tâches spécifiques avec un nombre relativement restreint d'exemples d'entraînement.

Qu'est-ce que le réglage fin ?

La mise au point implique de prendre un modèle d'apprentissage par transfert et de « régler » ses couches pour la nouvelle tâche. En règle générale, les dernières couches du modèle sont entraînées à partir de zéro, tandis que les couches précédentes ne sont que légèrement modifiées ou figées (c'est-à-dire que leurs poids ne sont pas mis à jour pendant l'entraînement). Cela permet au modèle de conserver les connaissances générales acquises dans la tâche d'origine, tout en s'adaptant aux détails de la nouvelle tâche.

Régularisation

La régularisation est un ensemble de techniques utilisées pour empêcher le surajustement, qui se produit lorsqu'un modèle apprend des modèles trop spécifiques à l'ensemble d'apprentissage et ne parvient pas à les généraliser à des données invisibles. Certaines techniques de régularisation populaires incluent :

  • Abandon : pendant l'entraînement, certains neurones sont ignorés de manière aléatoire ou "éteints". Cela oblige le modèle à ne pas trop s'appuyer sur un neurone individuel et favorise la généralisation.
  • Régularisation L1 et L2 : ces techniques ajoutent un terme de pénalité à la fonction de coût du modèle lié à l'ampleur des pondérations. L1 a tendance à produire des pondérations rares, tandis que L2 lisse les pondérations pour éviter les pondérations extrêmes qui pourraient conduire à un surajustement.
  • Arrêt anticipé : l'entraînement s'arrête dès que les performances du modèle sur l'ensemble de validation commencent à se détériorer, plutôt que de se poursuivre jusqu'à ce que toutes les époques soient terminées.
  • Augmentation des données : l'augmentation de l'ensemble de données d'entraînement avec des données artificiellement modifiées peut contribuer à améliorer la robustesse et la généralisation du modèle.
  • Normalisation par lots : normaliser les entrées de chaque couche pour avoir une moyenne de zéro et un écart type de un peut aider à stabiliser et à accélérer l'entraînement.

Éviter le surapprentissage dans l'apprentissage par transfert et la mise au point

Lors de l'application de l'apprentissage par transfert et du réglage fin, il est crucial de mettre en œuvre des stratégies de régularisation pour garantir que le modèle non seulement s'adapte aux données d'entraînement, mais qu'il se généralise également bien aux nouvelles données. Voici quelques stratégies spécifiques :

  • Geler les calques : lors d'un réglage fin, il est courant de geler les premières couches du modèle pré-entraîné. Cela permet de préserver les connaissances générales acquises par le modèle et d'éviter qu'il ne soit surajusté aux détails des nouvelles données.
  • Réentraîner avec prudence : lors de l'ajustement des calques, il est important d'utiliser un taux d'apprentissage plus faible pour éviter des changements drastiques de pondération qui pourraient conduire à un surapprentissage.
  • Utiliser un ensemble de validation : il est essentiel de séparer une partie des données pour valider les performances du modèle. Cela vous permet de surveiller si le modèle commence à surajuster les données d'entraînement.
  • Transférer uniquement les fonctionnalités de bas niveau : dans certaines situations, il peut être avantageux de transférer uniquement les fonctionnalités de niveau inférieur (telles que les bords et les textures), qui sont plus génériques, et d'entraîner les fonctionnalités de niveau supérieur. couches du modèle à partir de zéro.

Conclusion

L'apprentissage par transfert et le réglage fin sont des techniques puissantes qui permettent d'adapter efficacement les modèles d'apprentissage profond à de nouvelles tâches. Cependant, le succès de ces techniques dépend fortement de la capacité du modèle génétiquese rendre compte de nouvelles données, ce qui nécessite une attention particulière à la régularisation et à d’autres stratégies pour éviter le surajustement. En appliquant correctement ces techniques, vous pouvez créer des modèles robustes et précis qui peuvent être appliqués à diverses tâches d'apprentissage automatique et d'apprentissage profond.

En résumé, pour tirer le meilleur parti de l'apprentissage par transfert et de la mise au point des projets de machine learning et de deep learning avec Python, il est essentiel de comprendre et d'appliquer les techniques de régularisation appropriées. Cela améliore non seulement la capacité du modèle à généraliser à de nouvelles données, mais garantit également que les ressources de calcul sont utilisées efficacement, évitant ainsi une perte de temps et d'énergie sur des modèles trop complexes et spécifiques à l'ensemble de formation.

Répondez maintenant à l’exercice sur le contenu :

Parmi les affirmations suivantes concernant l’apprentissage par transfert et le réglage fin, laquelle est correcte ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Apprentissage par transfert et réglage fin : frameworks d'apprentissage profond (TensorFlow, Keras, PyTorch)

Page suivante de lebook gratuit :

96Apprentissage par transfert et réglage fin : frameworks d'apprentissage profond (TensorFlow, Keras, PyTorch)

0 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte