Skip to main content

Introduction

Dans les séances précédentes, nous avons appris à construire et à entraîner des réseaux de neurones à partir de zéro. Cependant, l'entraînement de réseaux profonds (en particulier pour des tâches complexes comme la classification d'images) nécessite souvent :

  • De grandes quantités de données étiquetées.
  • Beaucoup de temps de calcul (CPU, GPU, TPU).
  • Une expertise considérable pour concevoir et régler l'architecture du réseau et les hyperparamètres.

Le transfer learning (apprentissage par transfert) est une technique puissante qui permet de surmonter (en partie) ces défis.

Qu'est-ce que le Transfer Learning ?

L'idée fondamentale du transfer learning est d'utiliser un modèle pré-entraîné (un modèle qui a déjà été entraîné sur un grand jeu de données, souvent pour une tâche similaire) comme point de départ pour entraîner un modèle sur une nouvelle tâche, potentiellement avec beaucoup moins de données.

Analogie :

Imaginez que vous appreniez à jouer d'un nouvel instrument de musique (par exemple, la guitare). Si vous avez déjà appris à jouer du piano, vous n'avez pas besoin de tout réapprendre à partir de zéro. Vous pouvez transférer une partie de vos connaissances musicales (la théorie, le rythme, la coordination) à l'apprentissage de la guitare. Le transfer learning en Machine Learning fonctionne sur un principe similaire.

Pourquoi Utiliser le Transfer Learning ?

  • Moins de données nécessaires : Le modèle pré-entraîné a déjà appris des caractéristiques utiles à partir d'un grand jeu de données. Vous n'avez donc besoin que de moins de données pour adapter ce modèle à votre tâche spécifique.
  • Entraînement plus rapide : L'entraînement du modèle sur votre nouvelle tâche est souvent beaucoup plus rapide, car les couches initiales (qui extraient les caractéristiques de bas niveau) sont déjà entraînées.
  • Meilleures performances : Dans de nombreux cas, utiliser un modèle pré-entraîné donne de meilleures performances que d'entraîner un modèle à partir de zéro, surtout si vous avez peu de données.
  • Point de départ solide : Utiliser un modèle pré-entraîné fournit une architecture éprouvée et des poids initiaux qui ont déjà montré leur efficacité sur une tâche similaire.

Ce que Vous Allez Apprendre

Dans cette séance, nous allons :

  • Comprendre les principes du transfer learning.
  • Découvrir comment utiliser les modèles pré-entraînés disponibles dans Keras (VGG, ResNet, Inception, etc.).
  • Distinguer les deux approches principales : feature extraction (extraction de caractéristiques) et fine-tuning (ajustement fin).
  • Mettre en pratique le transfer learning pour la classification d'images.
info

Le transfer learning est une technique extrêmement utile et couramment utilisée en Deep Learning, en particulier en vision par ordinateur. Elle permet de tirer parti des modèles puissants entraînés sur de grands jeux de données, même si vous disposez de ressources de calcul ou de données limitées.