Qu'est-ce que l'apprentissage par transfert ?
L'apprentissage par transfert est une technique d'apprentissage automatique qui consiste à réutiliser un modèle d'apprentissage automatique déjà développé pour une autre tâche. L'apprentissage par transfert est une approche populaire dans l'apprentissage profond, car il permet de former des réseaux neuronaux profonds avec moins de données.
En règle générale, l'entraînement d'un modèle nécessite une grande quantité de ressources informatiques, de données et de temps. L'utilisation d'un modèle pré-entraîné comme point de départ permet de réduire ces trois aspects, car les développeurs n'ont pas à repartir de zéro, en entraînant un modèle de grande taille sur un ensemble de données encore plus important.
Les algorithmes de ML sont généralement conçus pour traiter des tâches isolées. Grâce à l'apprentissage par transfert, des méthodes sont développées pour transférer les connaissances d'une ou plusieurs de ces tâches sources afin d'améliorer l'apprentissage dans une tâche cible connexe. Les développeurs peuvent choisir de réutiliser leurs propres modèles de ML ou de les télécharger à partir d'autres développeurs qui les ont publiés dans des référentiels en ligne ou des hubs. Les connaissances d'un modèle de ML déjà entraîné doivent être similaires à la nouvelle tâche pour être transférables. Par exemple, les connaissances acquises lors de la reconnaissance d'une image de chien dans un système de ML supervisé pourraient être transférées à un nouveau système de reconnaissance d'images de chats. Le nouveau système filtre les images qu'il reconnaît déjà comme des chiens.
Comment utiliser l'apprentissage par transfert
L'apprentissage par transfert peut être réalisé de plusieurs manières. L'une d'entre elles consiste à trouver une tâche apprise connexe - appelée tâche B - qui dispose de nombreuses données étiquetées transférables. Le nouveau modèle est alors entraîné sur la tâche B. Après cet entraînement, le modèle dispose d'un point de départ pour résoudre sa tâche initiale, la tâche A.
Une autre façon de réaliser l'apprentissage par transfert est d'utiliser un modèle pré-entraîné. Ce processus est plus facile, car il implique l'utilisation d'un modèle déjà entraîné. Le modèle pré-entraîné doit avoir été entraîné à l'aide d'un grand ensemble de données pour résoudre une tâche similaire à la tâche A. Les modèles peuvent être importés d'autres développeurs qui les ont publiés en ligne.
Une troisième approche, appelée extraction de caractéristiques ou apprentissage par représentation, utilise l'apprentissage profond pour identifier les caractéristiques les plus importantes pour la tâche A, qui sert ensuite de représentation de la tâche. Les caractéristiques sont normalement créées manuellement, mais l'apprentissage profond les extrait automatiquement. Les scientifiques des données doivent ensuite choisir les caractéristiques à inclure dans le modèle. La représentation apprise peut également être utilisée pour d'autres tâches.
Théorie de l'apprentissage par transfert
Au cours de l'apprentissage par transfert, les connaissances d'une tâche source sont utilisées pour améliorer l'apprentissage d'une nouvelle tâche. Si la méthode de transfert diminue les performances de la nouvelle tâche, on parle de transfert négatif. L'une des principales difficultés rencontrées lors de l'élaboration de méthodes de transfert consiste à garantir un transfert positif entre des tâches connexes tout en évitant un transfert négatif entre des tâches moins connexes.
Lors de l'application des connaissances d'une tâche à une autre, les caractéristiques de la tâche d'origine sont généralement mises en correspondance avec celles de l'autre tâche. Un être humain se charge généralement de cette mise en correspondance, mais il existe des méthodes évolutives qui effectuent cette mise en correspondance de manière automatique.
Les trois indicateurs communs suivants peuvent être utilisés pour mesurer l'efficacité des techniques d'apprentissage par transfert :
- Le premier indicateur mesure si l'exécution de la tâche cible est réalisable en utilisant uniquement les connaissances transférées.
- Le deuxième indicateur mesure le temps nécessaire pour apprendre la tâche cible en utilisant les connaissances acquises grâce à l'apprentissage transféré par rapport au temps qu'il faudrait pour apprendre sans cet apprentissage.
- Le troisième indicateur détermine si la performance finale de la tâche apprise par le biais de l'apprentissage par transfert est comparable à la réalisation de la tâche originale sans transfert de connaissances.
Types d'apprentissage par transfert
Les méthodes d'apprentissage par transfert appartiennent à l'une des trois catégories suivantes :
- Transfert transductif. Les tâches cibles sont les mêmes mais utilisent des ensembles de données différents.
- Transfert inductif. Les tâches de la source et de la cible sont différentes, quel que soit l'ensemble de données. Les données source et cible sont généralement étiquetées.
- Transfert non supervisé. Les tâches source et cible sont différentes, mais le processus utilise des données source et cible non étiquetées. L'apprentissage non supervisé est utile dans les situations où l'étiquetage manuel des données n'est pas pratique.
L'apprentissage par transfert peut également être classé en transferts proches et lointains. On parle de transferts proches lorsque les tâches source et cible sont étroitement liées, et de transferts lointains lorsque les tâches source et cible sont vaguement liées. Si les tâches sont étroitement liées, cela signifie qu'elles partagent des structures de données, des caractéristiques ou des domaines similaires.
Une autre façon de classer l'apprentissage par transfert consiste à déterminer dans quelle mesure les connaissances d'un modèle pré-entraîné facilitent l'exécution d'une nouvelle tâche. On parle alors de transferts positifs, négatifs ou neutres :
- Il y a transfert positif lorsque les connaissances acquises dans la tâche source améliorent activement les performances dans la tâche cible.
- Les transferts négatifs se traduisent par une diminution de la performance dans la nouvelle tâche.
- Les transferts neutres se produisent lorsque les connaissances acquises dans les tâches sources ont peu ou pas d'impact sur la performance de la tâche cible.
Avantages de l'apprentissage par transfert
L'apprentissage par transfert présente de nombreux avantages pour la création d'un modèle ML efficace. Ces avantages sont notamment les suivants :
- Réduction des besoins en données. En utilisant des modèles pré-entraînés qui ont déjà été formés sur leurs propres grands ensembles de données, l'apprentissage par transfert permet aux développeurs de créer de nouveaux modèles même lorsqu'ils n'ont pas accès à des quantités massives de données étiquetées.
- Accélération du processus de formation. L'apprentissage par transfert accélère le processus de formation d'un nouveau modèle, car il commence par des caractéristiques pré-apprises, ce qui réduit le temps nécessaire à l'apprentissage d'une nouvelle tâche.
- Amélioration des performances. Lorsque la tâche cible est étroitement liée à la tâche source, les performances peuvent être améliorées grâce aux connaissances acquises lors de la formation à la première tâche.
- Empêche l'ajustement excessif. Il y a sur ajustement lorsqu'un modèle s'ajuste trop étroitement à ses données d'apprentissage, ce qui l'empêche de faire des généralisations précises. En commençant par un modèle bien formé, l'apprentissage par transfert permet d'éviter l'ajustement excessif, en particulier lorsque les ensembles de données cibles sont de petite taille.
- Réduction des coûts de calcul. L'apprentissage par transfert réduit les coûts de construction des modèles en leur permettant de réutiliser des paramètres déjà formés. Ce processus est plus efficace que la formation d'un modèle à partir de zéro.
- Polyvalence. Les modèles recyclés sont constitués de connaissances acquises à partir d'un ou de plusieurs ensembles de données antérieurs. Cela peut potentiellement conduire à de meilleures performances dans différentes tâches. L'apprentissage par transfert peut également être appliqué à différentes tâches de ML, telles que la reconnaissance d'images et le traitement du langage naturel (NLP).
Principaux cas d'utilisation de l'apprentissage par transfert
L'apprentissage par transfert est généralement utilisé dans les cas d'utilisation suivants :
- Apprentissage profond. L'apprentissage par transfert est couramment utilisé pour les réseaux neuronaux d'apprentissage profond afin d'aider à résoudre des problèmes avec des données limitées. Les modèles d'apprentissage profond nécessitent généralement de grandes quantités de données d'entraînement, qui peuvent être difficiles et coûteuses à acquérir.
- Reconnaissance d'images. L'apprentissage par transfert peut améliorer les performances des modèles formés sur des données étiquetées limitées, ce qui est utile dans les situations où les données sont limitées, telles que l'imagerie médicale.
- NLP. L'utilisation de l'apprentissage par transfert pour former les modèles de NLP peut améliorer les performances en transférant les connaissances entre les tâches liées à la traduction automatique, à l'analyse des sentiments et à la classification des textes.
- Vision par ordinateur. Les modèles pré-entraînés sont utiles pour l'entraînement à des tâches de vision par ordinateur telles que la segmentation d'images, la reconnaissance faciale et la détection d'objets, si les tâches source et cible sont liées.
- Reconnaissance de la parole. Les modèles préalablement formés sur de grands ensembles de données vocales sont utiles pour créer des modèles plus polyvalents. Par exemple, un modèle pré-entraîné peut être adapté pour reconnaître des langues, des accents ou des dialectes spécifiques.
- Détection d'objets. Les modèles pré-entraînés qui ont été formés pour identifier des objets spécifiques dans des images ou des vidéos peuvent accélérer la formation d'un nouveau modèle. Par exemple, un modèle pré-entraîné utilisé pour détecter les mammifères pourrait être ajouté à un ensemble de données utilisé pour identifier différents types d'animaux.
Exemples d'apprentissage par transfert
Dans l'apprentissage automatique, les connaissances ou les données acquises lors de la résolution d'un problème sont stockées, étiquetées, puis appliquées à un problème différent mais connexe. Par exemple, les connaissances acquises par un algorithme d'apprentissage automatique pour reconnaître des voitures pourraient être transférées ultérieurement pour être utilisées dans un modèle d'apprentissage automatique distinct en cours de développement pour reconnaître d'autres types de véhicules.
L'apprentissage par transfert est également utile lors du déploiement d'une technologie améliorée, telle qu'un chatbot. Si le nouveau domaine est suffisamment similaire aux déploiements précédents, l'apprentissage par transfert peut évaluer quelles connaissances doivent être transplantées. Grâce à l'apprentissage par transfert, les développeurs peuvent décider quelles connaissances et données sont réutilisables à partir des déploiements précédents et transférer ces informations pour les utiliser lors du développement de la version améliorée.
En NLP, par exemple, un ensemble de données provenant d'un ancien modèle qui comprend le vocabulaire utilisé dans une région peut être utilisé pour former un nouveau modèle dont l'objectif est de comprendre les dialectes de plusieurs régions. Une organisation pourrait ensuite appliquer ce modèle à l'analyse des sentiments.
Un réseau neuronal pourrait être utilisé pour rechercher des images médicales dans le but de reconnaître des maladies ou des affections potentielles. Dans ce cas, l'apprentissage par transfert pourrait être utilisé pour aider à identifier ces affections à l'aide de modèles préformés dans les cas où il n'y a pas suffisamment de données pour former le réseau.
L'avenir de l'apprentissage par transfert
L'avenir de l'apprentissage par transfert comprend les tendances suivantes, qui pourraient façonner davantage l'apprentissage par transfert et le développement de modèles d'apprentissage par transfert :
- L'utilisation accrue de l'apprentissage par transfert multimodal. Les modèles sont conçus pour apprendre à partir de plusieurs types de données simultanément. Il peut s'agir de textes, d'images et de données audio, par exemple, ce qui permet d'obtenir des systèmes de ML et d'intelligence artificielle (IA) plus polyvalents.
- L'apprentissage par transfert fédéré. Il combine l'apprentissage par transfert et l'apprentissage fédéré. L'apprentissage par transfert fédéré permet aux modèles de transférer des connaissances entre des sources de données décentralisées, tout en préservant la confidentialité des données locales. Cela permet à plusieurs organisations de collaborer pour améliorer leurs modèles à travers des sources de données décentralisées tout en préservant la confidentialité des données.
- Apprentissage par transfert tout au long de la vie. Cela permet de créer un modèle capable d'apprendre en permanence et de s'adapter à de nouvelles tâches et données au fil du temps.
- Apprentissage par transfert de zéro et de quelques coups. Ces deux méthodes sont conçues pour permettre aux modèles de ML d'être performants avec un minimum de données de formation, voire aucune. L'apprentissage zéro s'articule autour du concept de prédiction d'étiquettes pour des classes de données inédites, et "l'apprentissage quelques fois" implique l'apprentissage à partir d'une petite quantité de données par classe. Grâce à cette pratique, les modèles peuvent rapidement apprendre à faire des généralisations efficaces avec peu de données. Cette pratique peut réduire la dépendance des organisations à l'égard de la collecte de vastes ensembles de données pour la formation.
En outre, si les modèles initiaux pré-entraînés ont été formés à l'aide de données obtenues de manière équitable, l'apprentissage par transfert pourrait également permettre de résoudre l'un des principaux problèmes auxquels sont confrontées l'IA et la ML, à savoir la collecte de grandes quantités de données sans l'autorisation de l'auteur de ces données.
L'apprentissage par transfert sera probablement plus largement adopté à l'avenir, car il réduit la dépendance à l'égard de vastes collections de données de formation. Il rend également la ML et l'IA plus adaptables et plus efficaces.
Découvrez comment les réseaux neuronaux convolutifs et les réseaux adversaires génératifs se comparent et comment ces deux modèles d'apprentissage profond sont utilisés.
