Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Apprentissage par transfert

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

L'apprentissage par transfert est une technique d'apprentissage automatique qui consiste à réutiliser un modèle développé pour une tâche donnée comme point de départ d'un modèle pour une deuxième tâche connexe. d'un modèle pour une deuxième tâche connexe. Au lieu de former un modèle à partir de zéro, ce qui nécessite de grandes quantités de données d'apprentissage et de ressources informatiques, le transfert est une technique d'apprentissage automatique. de données d'apprentissage et de ressources informatiques, l'apprentissage l'apprentissage par transfert exploite les connaissances - telles que les cartes de caractéristiques, les poids et les modèles - acquises dans le cadre d'une tâche source. Cette approche Cette approche est la pierre angulaire de l'apprentissage profond moderne, particulièrement dans le domaine de la vision artificielle (CV), ce qui permet aux développeurs d'obtenir une grande précision avec un minimum d'efforts. aux développeurs d'atteindre une grande précision avec avec beaucoup moins de données et des temps d'apprentissage plus courts.

Fonctionnement de l'apprentissage par transfert

Le processus repose sur la capacité des réseaux neuronaux d'apprendre des représentations hiérarchiques. Dans les couches initiales d'un modèle, souvent appelées l'épine dorsale, le réseau apprend des caractéristiques visuelles universelles. l'épine dorsale, le réseau apprend des caractéristiques visuelles universelles comme les bords, les textures et les formes. comme les bords, les textures et les formes. Ces caractéristiques sont applicables à presque toutes les tâches visuelles.

L'apprentissage par transfert comporte généralement deux phases principales :

  1. Pré-entraînement: Un modèle est formé sur un ensemble de données de données de référence, tel que ImageNet (pour la classification) ou COCO (pour la détection). Le modèle pré-entraîné modèle pré-entraîné qui en résulte permet une compréhension robuste des structures visuelles générales.
  2. Ajustement fin: Le modèle pré-entraîné est adapté à une nouvelle tâche spécifique. Au cours du l'adaptation, le modèle est entraîné sur un ensemble de données plus petit et spécifique à la tâche, sur un ensemble de données plus petit et spécifique à la tâche. Souvent, les poids des couches initiales sont "gelés" (maintenus statiques) pour préserver les caractéristiques apprises, tandis que seules les couches finales (les couches d'entrée) sont "gelées" (maintenues statiques). les caractéristiques apprises, tandis que seules les couches finales (la tête de détection ou le classificateur) sont mises à jour. de détection ou le classificateur) sont mises à jour.

Pour un approfondissement théorique, les notes de Stanford CS231n sur l'apprentissage par transfert fournissent un aperçu de l'apprentissage par transfert. Stanford CS231n sur l'apprentissage par transfert constituent une une excellente ressource.

Avantages et pertinence

L'apprentissage par transfert répond au défi commun de la pénurie de données. En commençant par des caractéristiques préapprises, les modèles évitent le surajustement sur les petits ensembles de données et convergent beaucoup plus rapidement. surajoutés sur de petits ensembles de données et convergent beaucoup plus rapidement convergent beaucoup plus rapidement que les modèles initialisés avec des poids aléatoires.

  • Efficacité: Réduit le temps de formation de jours ou semaines à quelques heures.
  • Performance: Les rendements sont souvent plus élevés précision et rappel parce que le modèle part d'une compréhension de sens commun" des images.
  • Accessibilité: Permet aux utilisateurs de créer de puissantes applications d'IA sans avoir besoin des clusters de calcul massifs utilisés par les géants de la technologie. de calcul massifs utilisés par les géants de la technologie.

Applications concrètes

L'apprentissage par transfert est à l'origine de solutions d'IA largement utilisées dans diverses industries :

  • Analyse d'images médicales: Des modèles pré-entraînés sur des images générales (comme des chats et des chiens) sont affinés pour detect anomalies dans des radiographies ou des IRM. ou d'IRM. Par exemple, les chercheurs utilisent YOLO11 pour detect tumeurs cérébrales avec une grande précision, malgré des données médicales limitées et étiquetées.
  • L'IA dans l'agriculture: Un modèle général de détection d'objets peut être pour identifier des maladies spécifiques des cultures ou surveiller la santé des plantes. Cela permet de créer des outils d'agriculture de précision qui detect fruits mûrs ou les mauvaises herbes en temps réel.

Apprentissage par transfert vs. Concepts connexes

Il est utile de distinguer l'apprentissage par transfert des termes similaires :

  • vs. l'apprentissage à partir de zéro: L'apprentissage par transfert nécessite des données étiquetées pour la nouvelle tâche afin d'affiner le modèle. En revanche, l'apprentissage à partir de zéro tente de classer des objets que le modèle n'a jamais vus, l'apprentissage à partir de zéro tente de classify objets que le modèle n'a jamais vus auparavant, en s'appuyant uniquement sur des descriptions sémantiques ou des attributs sans aucun exemple de formation. sémantique ou des attributs sans aucun exemple de formation.
  • vs Distillation des connaissances: La distillation des connaissances se concentre sur la compression des modèles, en transférant les connaissances d'un grand modèle "enseignant" vers un modèle "étudiant" plus petit afin d'améliorer l'efficacité. modèle "enseignant" vers un modèle "étudiant" plus petit afin d'améliorer l'efficacité. L'apprentissage par transfert se concentre sur l'adaptation au domaine, le transfert de connaissances d'une tâche générale à une tâche spécifique.

Exemple pratique

Le texte suivant Python L'exemple montre comment appliquer l'apprentissage par transfert en utilisant l'exemple ultralytics bibliothèque. Nous chargeons un modèle YOLO11 pré-entraîné sur COCO et l'affinons sur un échantillon de données.

from ultralytics import YOLO

# Load a pre-trained model (weights derived from the COCO dataset)
# This acts as our starting point for transfer learning
model = YOLO("yolo11n.pt")

# Fine-tune the model on a new dataset (e.g., COCO8)
# The model adapts its pre-learned features to the specific data
model.train(data="coco8.yaml", epochs=5)

# The updated model can now be used for inference on the new task
model.predict("path/to/image.jpg")

Pour plus de détails sur l'implémentation, se référer au tutoriel officiel de Tutoriel officiel d'apprentissage par transfertPyTorch ou le Guide d'apprentissage par transfertTensorFlow .

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant