Accéder au contenu principal

Transfer learning : tirer parti des insights du big data

Dans ce tutoriel, vous verrez ce qu’est le transfer learning, certaines de ses applications et pourquoi c’est une compétence essentielle pour un data scientist.
Actualisé 19 sept. 2026  · 13 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

Ce billet présente le concept de « transfer learning » et son utilisation dans les applications de machine learning. Le transfer learning n’est pas un modèle ni une technique de machine learning ; c’est plutôt une « méthodologie de conception » en machine learning. Une autre « méthodologie de conception » est, par exemple, l’active learning.

banner

Un prochain article expliquera comment combiner l’active learning avec le transfer learning pour exploiter au mieux les données existantes (et nouvelles). Au sens large, les applications d’apprentissage automatique qui tirent parti d’informations externes pour améliorer les performances ou les capacités de généralisation relèvent du transfer learning.

Transfer learning : définition

L’idée générale du transfer learning est de réutiliser des connaissances acquises sur des tâches pour lesquelles on dispose de beaucoup de données étiquetées, dans des contextes où l’on en a très peu. La création de données étiquetées coûte cher ; exploiter au mieux les jeux de données existants est donc essentiel.

Dans un modèle d’apprentissage automatique classique, l’objectif premier est de généraliser à des données inédites à partir de motifs appris sur les données d’entraînement. Avec le transfer learning, vous cherchez à amorcer ce processus de généralisation en partant de motifs appris pour une autre tâche. Concrètement, au lieu de démarrer l’apprentissage à partir d’une « page blanche » (souvent initialisée aléatoirement), vous partez de structures déjà apprises pour résoudre une autre tâche.

Le transfert de connaissances et de motifs est possible dans une grande variété de domaines. L’article d’aujourd’hui illustre le transfer learning au travers de plusieurs exemples issus de ces différents domaines. L’objectif est d’inciter les data scientists à expérimenter le transfer learning dans leurs projets de machine learning et de les sensibiliser à ses atouts comme à ses limites.

Voici trois raisons pour lesquelles une bonne compréhension du transfer learning est, selon moi, une compétence clé pour tout data scientist :

  • Le transfer learning est au cœur de tout apprentissage. On n’enseigne pas aux humains chaque tâche ou problème un par un pour qu’ils réussissent. Nous nous retrouvons tous face à des situations inédites, et nous parvenons malgré tout à résoudre des problèmes de manière ad hoc. La capacité à apprendre d’un grand nombre d’expériences et à transposer ces « connaissances » dans de nouveaux environnements, c’est précisément le transfer learning. Sous cet angle, transfer learning et généralisation sont très proches conceptuellement. La différence principale : le transfer learning vise souvent à « transférer des connaissances entre tâches », plutôt qu’à généraliser au sein d’une même tâche. Il est donc intrinsèquement lié à l’idée de généralisation, nécessaire à tout modèle de machine learning.
  • Le transfer learning est déterminant pour permettre aux techniques de deep learning de percer dans de nombreux contextes à « petites données ». Le deep learning est omniprésent en recherche, mais bien des cas d’usage réels n’ont pas des millions d’exemples étiquetés pour entraîner un modèle. Les réseaux de neurones exigent d’énormes volumes de données pour ajuster des millions de paramètres. En apprentissage supervisé, cela signifie beaucoup de données étiquetées (et donc coûteuses). Étiqueter des images peut sembler trivial, mais en traitement du langage naturel (NLP), il faut souvent des experts pour bâtir un grand corpus annoté. Le Penn Treebank, par exemple, un corpus d’étiquetage morpho-syntaxique, a demandé 7 ans de travail et la collaboration étroite de linguistes formés. Le transfer learning est un moyen de réduire la taille de jeu de données nécessaire pour rendre viables les réseaux de neurones. D’autres options consistent à se tourner vers des modèles d’inspiration probabiliste, souvent mieux adaptés aux jeux de données limités.
  • Le transfer learning possède de vrais atouts mais aussi des inconvénients. Comprendre ces limites est vital pour réussir vos applications de machine learning. Le transfert n’est possible que lorsqu’il est « approprié ». Définir précisément ce que cela signifie ici n’est pas simple et l’expérimentation est généralement nécessaire. Vous ne confieriez pas une Ferrari à un enfant qui conduit une voiture-jouet. Même principe pour le transfer learning : bien que difficile à quantifier, il existe une limite supérieure au transfert. Ce n’est pas une solution universelle.
cars words
Savoir distinguer lignes et formes (à gauche) dans une image facilite l’identification d’une « voiture » par rapport au départ des valeurs de pixels brutes. Le transfer learning permet de réutiliser des motifs appris par d’autres modèles de vision par ordinateur. En NLP, différentes approches existent pour représenter les mots (représentation de type word embedding à gauche et représentation de type sac de mots à droite). Avec le transfer learning, un modèle de machine learning peut exploiter les relations qui existent entre différents mots.

Notions générales en transfer learning

Prérequis du transfer learning

Comme son nom l’indique, le transfer learning suppose la capacité de transférer des connaissances d’un domaine à un autre. Il peut s’envisager à un niveau « haut » : des architectures de modèles NLP peuvent être réutilisées pour des problèmes de prédiction de séquences, de nombreux problèmes NLP pouvant être ramenés à de la prédiction séquentielle. Il peut aussi s’envisager à un niveau « bas », où l’on réutilise effectivement des paramètres d’un modèle dans un autre (skip-gram, continuous bag-of-words, etc.). Les prérequis du transfer learning sont à la fois spécifiques au problème et au modèle. Les deux sections suivantes décrivent respectivement une approche de haut niveau et une approche de bas niveau. Même si la littérature emploie parfois d’autres termes, l’idée directrice du transfer learning reste la même.

Apprentissage multi-tâches

En apprentissage multi-tâches, vous entraînez un modèle sur plusieurs tâches simultanément. On utilise généralement des modèles de deep learning pour leur flexibilité d’adaptation.

Multi-task Learning

L’architecture du réseau est adaptée de sorte que les premières couches soient partagées entre différentes tâches, puis viennent des couches et des sorties spécifiques à chaque tâche. L’idée est qu’en entraînant un réseau sur plusieurs tâches, il généralisera mieux, car il doit bien performer sur des tâches qui requièrent des « connaissances » ou des traitements similaires.

Un exemple en traitement du langage naturel : un modèle dont l’objectif final est la reconnaissance d’entités nommées. Au lieu de l’entraîner uniquement sur cette tâche, vous l’utilisez aussi pour la classification morpho-syntaxique, la prédiction du mot suivant, etc. Le modèle bénéficie ainsi des structures apprises sur ces tâches et de leurs jeux de données. Je recommande vivement ce billet de Sebastian Ruder et cet article, tous deux consacrés à l’apprentissage multi-tâches.

Featuriser

L’un des grands atouts d’un modèle de deep learning est l’extraction « automatique » des caractéristiques. À partir des données étiquetées et de la rétropropagation, le réseau identifie les variables utiles à la tâche. Le réseau « détermine » quelles parties de l’entrée sont importantes pour, par exemple, classer une image. Cela évite un lourd travail manuel de définition des caractéristiques. Les réseaux de deep learning peuvent être réutilisés sur d’autres problèmes, car le type de caractéristiques extraites est souvent utile ailleurs. En featuriser, on réutilise essentiellement les premières couches du réseau pour déterminer les caractéristiques pertinentes, mais on n’utilise pas la sortie finale, trop spécifique à la tâche.

transfer learning featurizer

Puisque les systèmes de deep learning excellent dans l’extraction de caractéristiques, comment réutiliser des réseaux existants pour extraire des features sur d’autres tâches ? Il est possible d’injecter un échantillon dans le réseau et de récupérer la sortie d’une couche intermédiaire. Cette couche intermédiaire s’interprète comme une représentation traitée de longueur fixe des données brutes. Le concept de featuriser est souvent employé en vision par ordinateur : on alimente des images dans un réseau pré-entraîné (par exemple VGG ou AlexNet) et l’on applique une autre méthode de machine learning à cette nouvelle représentation. Extraire une couche intermédiaire comme représentation de l’image réduit fortement la taille des données d’origine, ce qui les rend plus adaptées aux techniques classiques (par exemple, la régression logistique ou les SVM fonctionnent mieux avec une représentation compacte de dimension 128 qu’avec l’originale, par exemple 128x128 = 16384 dimensions).

Applications du transfer learning

NLP

L’un de mes articles précédents expliquait comment de nombreuses chaînes de traitement NLP reposent aujourd’hui sur les word embeddings. Ces représentations vectorielles sont plus informatives que les encodages one-hot. Elles sont largement utilisées, avec de nombreuses variantes. Celles-ci diffèrent généralement par le corpus d’origine (Wikipedia, articles de presse, etc.) et par les modèles d’embedding. Il est important de comprendre l’origine de ces modèles et corpus pour savoir si le transfer learning avec des word embeddings est pertinent. On ne parle pas toujours de transfer learning pour les word embeddings ; je ne partage pas cet avis, compte tenu de la similarité avec la vision par ordinateur. Utiliser des word embeddings, c’est en substance utiliser un featuriser ou un réseau d’embedding pour convertir des mots en vecteurs.

Bien que word2vec ait déjà quelques années, il reste une approche d’embedding très influente. Des méthodes plus récentes, comme FastText, ont rendu les embeddings accessibles dans de nombreuses langues. Par rapport aux approches sac de mots, les embeddings issus de word2vec ou FastText constituent un net progrès. Néanmoins, leur utilité dépend fortement du domaine.

Imaginez que vous construisiez un service de recommandation d’actualités pour des commerciaux. Ils souhaitent recevoir des nouvelles sur des entreprises susceptibles d’être intéressées par leur offre. Le vocabulaire utilisé dans les articles est généralement assez courant, donc en grande partie couvert par la plupart des embeddings (selon le corpus d’entraînement). De plus, si vous demandez aux commerciaux de collecter les articles lus pendant quelques semaines, vous disposez rapidement d’un large corpus étiqueté. En réutilisant des embeddings, il est possible que le moteur de recommandation performe nettement mieux.

À l’inverse, imaginez devoir classifier des thèmes dans des contrats juridiques — pas n’importe lesquels, des contrats français en droit de la concurrence. Ces jeux de données sont rarement étiquetés, ou seulement de façon limitée. Voici pourquoi un transfer learning « clé en main » aura vite ses limites dans ce cas :

  • Les mots hors vocabulaire (OOV) sont des termes non vus à l’entraînement. Même si word2vec et FastText sont entraînés sur Wikipedia ou d’autres corpus, le vocabulaire reste fini. Les mots rares sont souvent exclus. Les termes spécifiques aux contrats de droit de la concurrence risquent donc de ne pas être couverts. Avec des embeddings pré-entraînés, on remplace en général les OOV par le jeton UNK (UNKnown) et on leur assigne tous le même vecteur. C’est très inefficace dans un corpus spécialisé, car ces mots portent souvent l’essentiel du sens. Si la plupart des mots porteurs de sens deviennent des UNK, le modèle n’apprendra pas grand-chose.
  • Une alternative consiste à affiner les embeddings sur un grand ensemble de documents non étiquetés, si vous en disposez. Autrement dit, avec un large corpus sur le droit de la concurrence, vous pouvez entraîner des embeddings pour les termes de domaine, en partant d’embeddings pré-entraînés pour les mots plus généraux. Démarrer d’embeddings existants accélère généralement le processus et facilite l’entraînement d’embeddings adaptés. Cela reste toutefois plus complexe qu’un usage « prêt à l’emploi » et suppose de savoir préparer le corpus pour l’entraînement.

Je vous recommande vivement cet excellent billet sur l’état de l’art des word embeddings. Tenir compte des problèmes et solutions cités est essentiel pour bâtir des systèmes NLP et des embeddings robustes avec peu de données.

Gensim, spaCy et FastText sont trois excellents frameworks pour intégrer rapidement des embeddings dans vos applications de machine learning. Ils permettent aussi d’entraîner des embeddings personnalisés. Découvrez ce tutoriel gensim, cette page spaCy ou ce tutoriel FastText pour en savoir plus !

Transfer learning en vision par ordinateur

Les méthodes de deep learning ont permis des avancées majeures en vision par ordinateur. Plutôt que de définir manuellement des caractéristiques spécifiques au problème (Histogram of Oriented Gradients, histogrammes, etc.), on peut entraîner des modèles à partir d’images brutes. La complexité initiale de la définition des caractéristiques s’est déplacée vers la conception des réseaux. Si les architectures sont souvent réutilisées, il n’existe pas de stratégie unique pour les composer. Les techniques de deep learning ont été inventées et testées en recherche sur d’immenses jeux de données (comme ImageNet ou MS COCO). Pour gagner en performance, les chercheurs ont conçu des architectures de plus en plus profondes et complexes. Ces modèles, riches de millions de paramètres, ne sont (généralement) pas adaptés à de petits jeux d’images. Entraîner un ResNet ou un VGG sur un jeu de moins de 5 000 images conduit presque inévitablement au surapprentissage. La vague deep learning a apporté des progrès considérables, mais les data scientists avec de petits jeux de données ont parfois été laissés de côté.

Il apparaît que les réseaux profonds apprennent des représentations hiérarchiques des caractéristiques (voir cet article de Distill). Les couches basses apprennent des motifs de bas niveau, comme des bords, tandis que les couches hautes apprennent des concepts plus élevés, souvent peu interprétables, comme des formes. Cette hiérarchie se retrouve même quand on entraîne le réseau sur des jeux de données différents, ce qui suggère leur réutilisation possible dans d’autres domaines.

Deux approches sont courantes pour appliquer le transfer learning en vision par ordinateur.

  • Premièrement, si vous disposez d’un volume conséquent d’images (> 1 000 par classe), vous pouvez initialiser un nouveau modèle avec les poids d’un modèle entraîné sur un autre jeu de données. Pendant l’entraînement, vous figez plusieurs couches (souvent les premières couches de convolution) et vous n’optimisez que les couches supérieures. L’objectif est de réduire le nombre de paramètres à ajuster tout en réutilisant les couches basses, réputées plus génériques. Le modèle peut ainsi recombiner des couches hautes spécifiques au problème.
  • Deuxièmement, si vous avez très peu d’images (< 1 000), réentraîner un modèle existant mènera dans la plupart des cas à du surapprentissage : trop de paramètres par rapport au nombre d’images. Tant que les données sont visuellement proches de celles d’un grand jeu de données, vous pouvez utiliser un grand réseau pré-entraîné comme featuriser. Concrètement, on supprime les N dernières couches d’un grand réseau (souvent N = 1 ou 2) et on récupère la sortie comme représentation des images. On part de l’hypothèse que les premières couches apprennent des caractéristiques indépendantes du problème. Ces représentations peuvent ensuite être utilisées avec, par exemple, un SVM ou une régression logistique, comme en approche traditionnelle — à ceci près que les caractéristiques sont extraites automatiquement par le réseau pré-entraîné.

L’API de Keras permet de charger des réseaux pré-entraînés et de geler certaines couches pendant l’entraînement. Dans la section suivante, j’évoque deux cas d’usage : l’un où le transfer learning est pertinent, l’autre non.

Supposons que vous travailliez à la préservation de la faune et que vous vouliez classifier les animaux apparaissant sur un flux vidéo en direct. Si vous surveillez des espèces menacées, il est probable que vous n’obtiendrez pas beaucoup de données étiquetées. Étant donné que les réseaux pré-entraînés couvrent souvent un large spectre de concepts (alimentation, animaux, objets), les utiliser comme featuriser ou comme initialisation est clairement une option.

À l’inverse, imaginez devoir analyser des images de radiographie pour des oncologues. Il ne s’agit pas d’images « chat-chien », mais de résultats de scanners patients. Même converties en RGB, ces images sont souvent en niveaux de gris. Un réseau pré-entraîné sait détecter formes et bords sur des images RGB grand public, mais aura probablement du mal sur des radiographies, absentes de son entraînement. De plus, en contexte médical, les données étiquetées sont rares. Plusieurs techniques permettent d’exploiter des données non étiquetées (souvent abondantes), mais demandent plus de travail et de réglages fins. Typiquement, elles pré-entraînent les poids du réseau de classification en apprenant, couche par couche, à reconstruire les images (avec des couches convolutionnelles et déconvolutionnelles). Combiner ces techniques avec des réseaux pré-entraînés améliore souvent la convergence.

Ces deux méthodes en vision reposent sur une hypothèse clé : les motifs extraits dans le jeu de données d’origine sont utiles dans le nouveau contexte. Cette utilité est difficile à quantifier, mais cruciale. Des images sismiques, hyperspectrales ou médicales ont peu en commun avec celles d’ImageNet. En revanche, reconnaître un panneau de signalisation s’appuie sur des motifs assez similaires. Comprendre le domaine de vision par ordinateur visé est déterminant pour réussir. Connaître l’origine des modèles (jeux de données, techniques, etc.) utilisés en transfer learning vous évite de perdre du temps en expérimentations et vous permet de concentrer vos efforts de réglage sur les modèles à fort potentiel.

Sujets
Apprentissage automatique

Cours de machine learning

Cours

Comprendre le Machine Learning

2 h
308.2K
Une introduction au machine learning sans codage.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow