Qu'est-ce que l'apprentissage par transfert ?

Les modèles sophistiqués d'apprentissage en profondeur ont des millions de paramètres (pondérations), et leur formation à partir de zéro nécessite souvent de grandes quantités de données et de ressources informatiques. L'apprentissage par transfert est une technique qui raccourcit une grande partie de cela en prenant un morceau d'un modèle qui a déjà été formé sur une tâche connexe et en le réutilisant dans un nouveau modèle.

Par exemple, le didacticiel suivant de cette section vous montrera comment créer votre propre outil de reconnaissance d'images qui tire parti d'un modèle déjà formé pour reconnaître des milliers d'objets différents dans les images. Vous pouvez adapter les connaissances existantes dans le modèle pré-formé pour détecter vos propres classes d'images en utilisant beaucoup moins de données de formation que le modèle d'origine requis.

Ceci est utile pour développer rapidement de nouveaux modèles ainsi que pour personnaliser des modèles dans des environnements à ressources limitées comme les navigateurs et les appareils mobiles.

Le plus souvent, lors de l'apprentissage par transfert, nous n'ajustons pas les poids du modèle d'origine. Au lieu de cela, nous supprimons la couche finale et formons un nouveau modèle (souvent assez superficiel) au-dessus de la sortie du modèle tronqué. C'est la technique que vous verrez démontrée dans les tutoriels de cette section :

Pour un exemple supplémentaire d'apprentissage par transfert à l'aide de TensorFlow.js, consultez Utiliser un modèle pré-entraîné .