Retour aux articles
  • 21.05.2021

Qu’est ce que l’apprentissage par transfert (transfer learning) ?

Qu’est ce que l’apprentissage par transfert (transfer learning) ?

Qu'est-ce que le deep learning ?

Il s'agit d'une branche du machine learning qui utilise une simulation du cerveau humain, connue sous le nom de réseaux neuronaux. Ces réseaux neuronaux sont constitués de neurones qui sont similaires à l'unité fondamentale du cerveau humain. Les neurones constituent un modèle de réseau neuronal et ce domaine d'étude est appelé deep learning.

Le résultat final d'un réseau neuronal est appelé modèle de deep learning. La plupart du temps, dans le deep learning, on utilise des données non structurées à partir desquelles le modèle de deep learning extrait des caractéristiques par lui-même grâce à un entraînement répété sur les données. Ces modèles conçus pour un ensemble particulier de données peuvent être utilisés comme point de départ pour le développement d'un autre modèle avec un ensemble différent de données et de caractéristiques, ce que l'on appelle transfer learning (apprentissage par transfert). En termes simples, l'apprentissage par transfert est une méthode populaire où un modèle développé pour une tâche particulière est à nouveau utilisé comme point de départ pour développer un modèle pour une autre tâche.

Comment fonctionnent les algorithmes classiques de machine learning ?

Le machine learning est le terme général utilisé lorsque les ordinateurs apprennent à partir de données sans être explicitement programmés. Au lieu de cela, les algorithmes de machine learning reconnaissent des modèles dans les données et font des prédictions lorsque de nouvelles données arrivent.-

Jusqu'à présent, les algorithmes de machine learning classiques ont été conçus pour apprendre des tâches spécifiques. Ils sont conçus pour fonctionner de manière isolée, ce qui fonctionne bien en théorie et en pratique. Mais la formation d'algorithmes à partir de zéro présente également des inconvénients.

En tant qu'algorithmes spécialisés, ils n'atteignent des performances élevées que dans leur domaine d'expertise spécifique. Même s'ils sont à la pointe du progrès, ils ne le sont que pour une chose spécifique. Si on leur confie un nouveau problème, ils ne sauront pas quoi faire et feront des prédictions erronées.

De même, les modèles doivent être reconstruits à partir de zéro dans le machine learning classique. Étant donné que la formation de modèles nécessite du temps et de l'argent, de nombreux problèmes ne sont pas rentables avec une approche d'apprentissage traditionnelle.

En outre, la plupart des algorithmes de machine learning nécessitent de grandes quantités de données. Les modèles de deep learning, en particulier, ont le plus souvent besoin de millions de points de données pour générer des résultats significatifs. Ces besoins en données sont souvent difficiles à satisfaire dans la pratique.

Qu’est ce que le transfer learning ou apprentissage par transfert ?

Nous essayons toujours d'appliquer les connaissances acquises lors de nos expériences passées lorsque nous sommes confrontés à un nouveau problème ou à une nouvelle tâche, et c'est la base de l'apprentissage par transfert. Par exemple, si nous savons faire de la bicyclette et que l'on nous demande de faire de la moto, ce que nous n'avons jamais fait auparavant, nous appliquerons toujours notre expérience de la bicyclette à la moto, notamment en ce qui concerne la direction du guidon et l'équilibre de la moto. Ce concept simple constitue la base de l'apprentissage par transfert.

Pour comprendre la notion de base de l'apprentissage par transfert, considérons qu'un modèle X est entraîné avec succès à effectuer la tâche A avec le modèle M1. Si la taille de l'ensemble de données pour la tâche B est trop petite, empêchant le modèle Y de s'entraîner efficacement ou provoquant un surajustement des données, nous pouvons utiliser une partie du modèle M1 comme base pour construire le modèle Y afin d'effectuer la tâche B.

Comment fonctionne le transfer learning ?

L'utilisation d'un modèle pré-entraîné.

Sélectionner le modèle source : Un modèle source pré-entraîné est choisi pour transférer ses connaissances au modèle cible.

Adapter le modèle source pour créer le modèle cible : Certaines caractéristiques du modèle source peuvent différer des données d'entraînement du modèle cible. Ainsi, les différentes caractéristiques doivent être arrangées avant de transférer les connaissances.

Entraîner le modèle source pour obtenir le modèle cible : Après le réglage du modèle source, le modèle cible est réalisé en utilisant le modèle source comme point de départ.

Développer un nouveau modèle

Dans certains cas, les data scientists peuvent décider de créer un nouveau modèle pour transférer leurs connaissances à la tâche principale. Par exemple, vous avez besoin de différents modèles pour détecter les camions et les bus dans les images, mais vous ne disposez pas de suffisamment de données. Vous pouvez alors préférer générer un nouveau modèle qui identifie les voitures dans un premier temps. Le modèle généré peut servir de point de départ à l'identification des camions et des bus et être entraîné explicitement avec les données disponibles.

Quand utiliser l'apprentissage par transfert ?

Pour l'apprentissage par transfert, les data scientist doivent disposer d'un modèle de machine learning formé sur une tâche similaire auparavant. Ils ne peuvent donc pas utiliser l'apprentissage par transfert dans toutes les situations. Cependant, lorsqu'il est utilisé, le trasnfer learning fournit de meilleurs résultats en un temps plus court. Les data scientists peuvent adopter l'apprentissage par transfert dans leurs opérations dans les conditions suivantes :

Quand il n'y a pas assez de données

Dans certains cas, les data scientists peuvent ne pas disposer de suffisamment de données pour entraîner leurs modèles de machine learning. Travailler avec une quantité insuffisante de données entraînerait une baisse des performances, commencer avec un modèle pré-entraîné aiderait les data scientists à construire de meilleurs modèles. 

Quand il n'y a pas assez de temps pour la formation

Certains modèles de machine learning ne peuvent pas être entraînés facilement et peuvent prendre trop de temps pour fonctionner correctement. Lorsqu'il n'y a pas assez de temps pour construire un nouveau modèle, ou qu'il y a trop de tâches de machine learning à gérer, les data scientists peuvent préférer adopter un modèle similaire pré-entraîné. Ils gagneront ainsi du temps pour construire le modèle, au lieu d'en créer un nouveau.