Transfer Learning
Explore l'apprentissage par transfert pour entraîner une IA de haute précision avec moins de données. Apprends à exploiter les poids pré-entraînés d'Ultralytics YOLO26 pour accélérer tes projets de vision par ordinateur.
Le transfert d'apprentissage est une technique puissante en machine learning (ML) où un modèle développé pour une tâche spécifique est réutilisé comme point de départ pour un modèle sur une deuxième tâche connexe. Au lieu d'entraîner un réseau de neurones à partir de zéro — ce qui nécessite des ensembles de données massifs et une puissance de calcul importante —, tu tires parti des connaissances qu'une IA a déjà acquises. Cette approche imite la façon dont les humains apprennent ; par exemple, savoir jouer du piano rend beaucoup plus facile l'apprentissage de l'orgue, car la compréhension fondamentale de la théorie musicale et la dextérité des doigts sont transférées. Dans le contexte du deep learning, cela signifie qu'un modèle peut atteindre une grande précision sur un nouveau problème avec beaucoup moins de données et de temps.
Comment fonctionne l'apprentissage par transfert#
L'efficacité du transfert d'apprentissage repose sur la nature hiérarchique de l'extraction de caractéristiques. Les modèles de deep learning, en particulier ceux utilisés en computer vision, apprennent à reconnaître des motifs par couches. Les couches initiales du backbone détectent des caractéristiques simples et universelles telles que les bords, les courbes et les textures. Ces caractéristiques de bas niveau sont applicables à presque toutes les tâches visuelles.
Le processus implique généralement deux phases principales :
-
Pré-entraînement : Un modèle est entraîné sur un ensemble de données de référence à grande échelle, tel que ImageNet, pour apprendre des représentations visuelles générales. Cela donne un ensemble de poids de modèle qui comprennent déjà la structure visuelle.
-
Adaptation : Le modèle pré-entraîné est ensuite adapté à une tâche de niche spécifique. Cela se fait souvent en « gelant » les premières couches (en gardant leurs poids fixes) et en réentraînant uniquement les couches finales, ou la tête de détection, sur un ensemble de données personnalisé et plus petit.
Applications concrètes#
L'apprentissage par transfert a démocratisé l'IA en permettant de créer des solutions spécialisées sans avoir besoin des ressources des Big Tech.
- IA dans la santé : Il est difficile de rassembler des millions d'images médicales annotées pour chaque maladie spécifique. Cependant, les chercheurs peuvent prendre un modèle pré-entraîné sur des objets du quotidien et l'appliquer à l'analyse d'images médicales. Le modèle transfère sa capacité à détecter des formes et des anomalies pour identifier des tumeurs sur des radiographies ou des examens IRM avec une précision élevée.
- IA dans la fabrication : Dans les environnements industriels, les systèmes d'inspection visuelle doivent s'adapter rapidement aux nouvelles gammes de produits. Un modèle généralisé de détection des défauts peut être mis à jour rapidement pour repérer les défauts sur un nouveau composant spécifique, tel qu'une micropuce, en utilisant des flux de travail de fabrication intelligente pour minimiser les temps d'arrêt.
Relation avec d'autres concepts#
Il est utile de distinguer l'apprentissage par transfert de termes étroitement liés :
- vs Réglage fin : Le réglage fin (fine-tuning) est une méthode spécifique pour mettre en œuvre le transfert d'apprentissage. Alors que le transfert d'apprentissage est le concept global de réutilisation des connaissances, le réglage fin fait référence au processus mécanique consistant à dé-geler des parties du modèle et à les entraîner sur de nouvelles données avec un taux d'apprentissage plus faible.
- vs Apprentissage zéro-shot : Le transfert d'apprentissage nécessite une phase d'entraînement avec certaines données étiquetées pour la nouvelle tâche. En revanche, l'apprentissage zéro-shot tente de classer des objets que le modèle n'a jamais vus auparavant, en s'appuyant souvent sur des descriptions sémantiques plutôt que sur des exemples visuels.
Exemple pratique#
L'extrait Python suivant démontre le transfert d'apprentissage à l'aide de la bibliothèque ultralytics. Nous chargeons le modèle YOLO26, qui est fourni avec des poids pré-entraînés dérivés du jeu de données COCO. Lorsque nous lançons l'entraînement sur un nouveau jeu de données, le modèle transfère automatiquement ses caractéristiques pré-apprises vers la nouvelle tâche.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (transferring weights from COCO)
model = YOLO("yolo26n.pt")
# Train the model on a new, smaller dataset to adapt its knowledge
# This leverages the pre-learned backbone for faster convergence
results = model.train(data="coco8.yaml", epochs=5)Pour gérer des jeux de données et exécuter ces entraînements dans le cloud, des outils comme Ultralytics Platform rationalisent le processus, permettant aux équipes de collaborer sur l'annotation des données et le déploiement efficace de modèles ayant bénéficié du transfert d'apprentissage.
Pour une plongée plus profonde dans la théorie académique, les notes de Stanford CS231n offrent un excellent aperçu, tandis que le tutoriel PyTorch sur le transfert d'apprentissage fournit des détails techniques approfondis pour la mise en œuvre.






