Transfer Learning
Explore l’apprentissage par transfert pour entraîner une IA très précise 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.
L’apprentissage par transfert est une technique puissante d’apprentissage automatique (ML) dans laquelle un modèle développé pour une tâche spécifique est réutilisé comme point de départ pour un modèle destiné à une seconde tâche connexe. Au lieu d’entraîner un réseau neuronal à partir de zéro — ce qui nécessite d’immenses jeux de données et une puissance de calcul considérable — les développeurs exploitent les connaissances qu’une IA a déjà acquises. Cette approche imite la manière dont les humains apprennent ; par exemple, savoir jouer du piano facilite grandement l’apprentissage de l’orgue, car les bases de la théorie musicale et la dextérité des doigts se transfèrent. Dans le contexte de l’apprentissage profond, 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.
Fonctionnement de l’apprentissage par transfert#
L’efficacité de l’apprentissage par transfert repose sur la nature hiérarchique de l’extraction de caractéristiques. Les modèles d’apprentissage profond, en particulier ceux utilisés en vision par ordinateur, apprennent à reconnaître des motifs par couches successives. Les premières couches du backbone détectent des caractéristiques simples et universelles comme les contours, les courbes et les textures. Ces caractéristiques de bas niveau sont applicables à presque toutes les tâches visuelles.
Le processus comporte généralement deux phases principales :
-
Préentraînement : Un modèle est entraîné sur un jeu de données de référence à grande échelle, tel qu’ImageNet, afin d’apprendre des représentations visuelles générales. Cela produit un ensemble de poids du modèle qui comprennent déjà la structure visuelle.
-
Adaptation : Le modèle préentraîné est ensuite adapté à une tâche spécifique et spécialisée. Pour ce faire, on « gèle » souvent les premières couches (en conservant leurs poids inchangés) et on réentraîne uniquement les dernières couches, ou la tête de détection, sur un jeu de données personnalisé 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 disposer des ressources des géants de la technologie.
- IA dans le domaine de la santé : Il est difficile de réunir 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 les formes et les anomalies afin d’identifier des tumeurs sur des radiographies ou des images IRM avec une grande précision.
- IA dans le secteur manufacturier : Dans les environnements industriels, les systèmes d’inspection visuelle doivent s’adapter rapidement aux nouvelles gammes de produits. Un modèle généraliste de détection des défauts peut être rapidement mis à jour pour repérer les défauts d’un nouveau composant spécifique, comme une micropuce, en s’appuyant sur des flux de travail de fabrication intelligente afin de réduire les temps d’arrêt.
Relation avec d’autres concepts#
Il est utile de distinguer l’apprentissage par transfert de termes étroitement apparentés :
- Par rapport à l’affinage : L’affinage est une méthode spécifique de mise en œuvre de l’apprentissage par transfert. Alors que l’apprentissage par transfert est le concept général de réutilisation des connaissances, l’affinage désigne le processus technique qui consiste à dégeler certaines parties du modèle et à les entraîner sur de nouvelles données avec un taux d’apprentissage plus faible.
- Par rapport à l’apprentissage zéro-shot : L’apprentissage par transfert nécessite une phase d’entraînement avec certaines données annoté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 illustre l’apprentissage par transfert à 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 les caractéristiques qu’il a préalablement 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 les jeux de données et exécuter ces entraînements dans le cloud, des outils comme l’Ultralytics Platform simplifient le processus, en permettant aux équipes de collaborer à l’annotation des données et de déployer efficacement des modèles ayant bénéficié de l’apprentissage par transfert.
Pour approfondir la théorie académique, les notes de Stanford CS231n offrent une excellente vue d’ensemble, tandis que le tutoriel PyTorch sur l’apprentissage par transfert fournit de nombreux détails techniques sur sa mise en œuvre.









