Glossaire

Apprentissage par transfert

Débloque la puissance de l'apprentissage par transfert pour gagner du temps, stimuler les performances de l'IA et s'attaquer à de nouvelles tâches avec des données limitées à l'aide de modèles pré-entraînés.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

L'apprentissage par transfert est une technique de Machine Learning (ML) dans laquelle un modèle développé pour une tâche est réutilisé comme point de départ d'un modèle pour une deuxième tâche connexe. Au lieu de construire un modèle à partir de zéro, l'apprentissage par transfert exploite les connaissances (caractéristiques, poids) apprises lors d'une tâche source, ce qui réduit considérablement le temps de formation, les exigences en matière de données et les ressources informatiques nécessaires pour la tâche cible. Cette approche est particulièrement bénéfique lorsque la tâche cible dispose de peu de données étiquetées.

Comment fonctionne l'apprentissage par transfert

Le processus commence généralement par un modèle pré-entraîné sur un grand ensemble de données générales, comme ImageNet pour les tâches liées aux images ou de grands corpus de textes pour le traitement du langage naturel (NLP). Ce pré-entraînement permet au modèle, souvent un modèle d'apprentissage profond (DL) comme un réseau neuronal convolutif (CNN) ou un transformateur, d'apprendre des caractéristiques générales : les bords, les textures, les motifs dans les images, ou la grammaire et la sémantique dans le texte.

Pour la nouvelle tâche cible, ce modèle pré-entraîné est adapté. Les stratégies courantes comprennent :

  1. Utilisation du modèle pré-entraîné comme extracteur de caractéristiques : Les couches initiales du modèle pré-entraîné restent figées (leurs poids ne sont pas mis à jour), et seuls le classificateur final ou les couches spécifiques à la tâche sont entraînés sur le nouvel ensemble de données.
  2. Ajustement fin : Il s'agit de dégeler une partie ou la totalité des couches pré-entraînées et de poursuivre le processus d'entraînement(rétropropagation) sur le nouvel ensemble de données, généralement avec un taux d'apprentissage plus faible pour éviter de modifier radicalement les caractéristiques apprises. Le réglage fin permet au modèle de spécialiser ses connaissances générales pour les nuances spécifiques de la tâche cible.

Avantages de l'apprentissage par transfert

L'utilisation de l'apprentissage par transfert offre plusieurs avantages clés :

  • Besoins en données réduits : Obtient de bonnes performances même avec des ensembles de données cibles plus petits.
  • Développement plus rapide : Réduit considérablement le temps de formation des modèles.
  • Amélioration des performances : Permet souvent d'obtenir une plus grande précision et une meilleure généralisation par rapport à une formation à partir de zéro, en particulier pour les tâches complexes.
  • Efficacité des ressources : Économise les coûts de calcul (GPU temps, énergie) associés à un entraînement intensif.

Apprentissage par transfert et concepts connexes

  • Ajustement fin : Comme nous l'avons mentionné, le réglage fin est une méthode spécifique utilisée dans le cadre de l'apprentissage par transfert où les poids pré-entraînés sont ajustés pendant la formation sur la nouvelle tâche. L'apprentissage par transfert est le concept plus large de l'exploitation des connaissances, qui peut également impliquer l'utilisation du modèle pré-entraîné comme un extracteur de caractéristiques fixe sans réglage fin.
  • Apprentissage à partir de zéro : Contrairement à l'apprentissage par transfert, qui adapte un modèle à une nouvelle tâche en utilisant souvent quelques nouvelles données étiquetées, l'apprentissage Zero-Shot vise à effectuer des tâches (comme la classification) sur des classes que le modèle n'a jamais vues pendant la formation, en s'appuyant sur des informations auxiliaires ou des espaces d'attributs partagés.
  • Formation à partir de zéro : Il s'agit de l'approche traditionnelle où les poids du modèle sont initialisés de façon aléatoire et formés uniquement sur l'ensemble de données cible, ce qui nécessite beaucoup plus de données et de temps.

Applications dans le monde réel

L'apprentissage par transfert est largement appliqué dans divers domaines :

  1. Vision par ordinateur : Les modèles comme Ultralytics YOLO, pré-entraînés sur de grands ensembles de données tels que COCO, sont fréquemment adaptés à des tâches spécialisées de détection d'objets, de segmentation d'images ou de classification d'images. Par exemple, un modèle pré-entraîné sur des objets du quotidien peut être affiné pour des applications spécifiques comme l'analyse d'images médicales pour détecter des anomalies(détection de tumeurs) ou pour l'IA en agriculture afin d'identifier des cultures ou des parasites spécifiques. Tu peux apprendre à appliquer l'apprentissage par transfert avec YOLOv5 en figeant des couches.
  2. Traitement du langage naturel (NLP) : Les grands modèles de langage (LLM) tels que BERT et GPT sont pré-entraînés sur des ensembles de données textuelles massives. Ils servent de modèles de base puissants qui peuvent être affinés pour des tâches NLP spécifiques telles que l'analyse des sentiments, la reconnaissance des entités nommées (NER) ou la construction de chatbots spécialisés. Des bibliothèques comme Hugging Face Transformers facilitent grandement ce processus.

Des plateformes comme Ultralytics HUB simplifient le processus d'application de l'apprentissage par transfert en fournissant des modèles pré-entraînés (YOLOv8, YOLOv11) et des outils pour faciliter la formation personnalisée sur des ensembles de données spécifiques à l'utilisateur. Des cadres comme PyTorch et TensorFlow offrent également une assistance et des tutoriels complets pour l'apprentissage par transfert. Pour aller plus loin, explore des ressources comme la vue d'ensemble de Stanford CS231n ou des enquêtes universitaires comme"Une enquête sur l'apprentissage par transfert profond".

Tout lire