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 d'apprentissage machine (ML) dans laquelle un modèle développé pour une tâche spécifique est réutilisé comme point de départ d'un modèle sur une deuxième tâche connexe. Au lieu de construire un modèle à partir de zéro, ce qui nécessite des données et des ressources informatiques importantes, l'apprentissage par transfert exploite les connaissances (caractéristiques, modèles et poids) apprises à partir d'une tâche source pour améliorer l'apprentissage sur une tâche cible. Cette approche est particulièrement bénéfique lorsque la tâche cible dispose de peu de données étiquetées, ce qui accélère considérablement le processus de formation et conduit souvent à de meilleures performances par rapport à une formation uniquement sur l'ensemble de données cible.

Comment fonctionne l'apprentissage par transfert

L'idée centrale de l'apprentissage par transfert est qu'un modèle formé sur un grand ensemble de données générales, comme ImageNet pour les tâches liées à l'image ou un corpus de texte massif pour le traitement du langage naturel (NLP), apprend des caractéristiques générales qui sont utiles pour de nombreuses autres tâches connexes. Par exemple, dans le domaine de la vision artificielle, les couches initiales d'un réseau neuronal convolutif (CNN) peuvent apprendre à détecter les bords, les textures et les formes simples, qui sont des éléments visuels fondamentaux applicables à divers problèmes de reconnaissance d'images.

Lorsque tu appliques l'apprentissage par transfert, tu commences généralement par un modèle pré-entraîné. En fonction de la similarité entre les tâches source et cible et de la taille de l'ensemble de données cible, tu pourrais :

  1. Utilise le modèle pré-entraîné comme extracteur de caractéristiques : Geler les poids des couches initiales (l'épine dorsale) et n'entraîner que les couches finales de classification ou de détection sur le nouvel ensemble de données. Cette méthode est courante lorsque l'ensemble de données cible est petit. Un exemple est l'utilisation de YOLOv5 en gelant les couches.
  2. Affiner le modèle pré-entraîné : Décongeler une partie ou la totalité des couches pré-entraînées et continuer à les entraîner sur le nouvel ensemble de données, généralement avec un taux d'apprentissage plus faible. Cela permet au modèle d'adapter les caractéristiques apprises plus spécifiquement aux nuances de la tâche cible. Il s'agit d'une stratégie courante lorsque l'ensemble de données cible est plus important. Le réglage fin est souvent considéré comme un type spécifique d'apprentissage par transfert.

Apprentissage par transfert et concepts connexes

  • Mise au point: Bien qu'étroitement lié et souvent utilisé de façon interchangeable dans certains contextes, le réglage fin fait spécifiquement référence au processus de dégel et de formation supplémentaire des poids d'un modèle pré-entraîné sur une nouvelle tâche. Il s'agit d'une méthode courante utilisée dans le cadre de la stratégie plus large de l'apprentissage par transfert.
  • Formation à partir de zéro : Cette méthode consiste à initialiser les poids du modèle de façon aléatoire et à former l'ensemble du modèle uniquement sur l'ensemble de données cible. Elle nécessite une grande quantité de données et de puissance de calcul, que l'apprentissage par transfert vise à réduire.
  • Apprentissage à partir de zéro et apprentissage à partir de peu d'exemples: Ces techniques visent à permettre aux modèles d'effectuer des tâches avec très peu ou pas d'exemples des classes cibles, en tirant souvent parti des connaissances acquises pendant le préapprentissage de manière plus complexe que l'apprentissage par transfert standard ou le réglage fin. Les modèles tels que CLIP sont des exemples utilisés dans de tels scénarios.

Applications dans le monde réel

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

  • Vision par ordinateur :
  • Traitement du langage naturel (NLP) :
    • Analyse des sentiments: Affiner les grands modèles de langage comme BERT ou GPT, qui sont pré-entraînés sur de grandes quantités de données textuelles, pour classer le sentiment de types de texte spécifiques (par exemple, les critiques de produits, les messages des médias sociaux). Hugging Face Transformers fournit de nombreux modèles pré-entraînés de ce type.
    • Reconnaissance des entités nommées (NER): Adaptation de modèles linguistiques pré-entraînés pour identifier des entités spécifiques (comme des noms, des lieux, des organisations) dans des textes spécifiques à un domaine (par exemple, des documents juridiques, des dossiers médicaux).
    • Chatbots: Utilisation de modèles linguistiques pré-entraînés comme base pour construire des agents conversationnels capables de comprendre et de répondre aux requêtes des utilisateurs dans des domaines spécifiques.

Outils et cadres de travail

Des plateformes comme Ultralytics HUB simplifient le processus d'application de l'apprentissage par transfert en fournissant des modèles pré-entraînés (comme Ultralytics YOLOv8 et YOLO11) et des outils pour faciliter la formation personnalisée sur des ensembles de données spécifiques à l'utilisateur. Des outils tels que PyTorch et TensorFlow offrent également une assistance étendue et des tutoriels pour la mise en œuvre de flux de travail d'apprentissage par transfert. Pour une compréhension théorique plus approfondie, des ressources comme la vue d'ensemble de Stanford CS231n sur l'apprentissage par transfert ou des enquêtes universitaires comme"Une enquête sur l'apprentissage par transfert profond" fournissent des indications précieuses.

Tout lire