Transfer learning
Dans la vie, il est souvent plus facile d’apprendre une nouvelle compétence si vous avez déjà une expertise dans une compétence similaire et transférable. Par exemple, il est probablement plus facile d’enseigner à un utilisateur comment conduire un bus s’il a déjà appris comment conduire une voiture. Le pilote peut s’appuyer sur les compétences de conduite qu’il a déjà appris dans une voiture et les appliquer à la conduite d’un bus.
Le même principe peut être appliqué à la formation de modèles d’apprentissage profond par le biais d’une technique appelée apprentissage de transfert.
Comment fonctionne l’apprentissage de transfert ?
Un réseau de neurones convolution (CNN) pour la classification d’images est généralement constitué de plusieurs couches qui extraient des fonctionnalités, puis utilisent une couche entièrement connectée finale pour classifier les images en fonction de ces fonctionnalités.
Conceptuellement, ce réseau neuronal se compose de deux ensembles distincts de couches :
- Ensemble de couches du modèle de base qui effectue l' extraction des fonctionnalités.
- Couche entièrement connectée qui prend les fonctionnalités extraites et les utilise pour la prédictionde classe.
Les couches d’extraction des fonctionnalités appliquent des filtres et des regroupements convolutions pour mettre en évidence les bords, les angles et d’autres modèles dans les images qui peuvent être utilisées pour les différencier, et en théorie doit fonctionner pour tout ensemble d’images ayant les mêmes dimensions que la couche d’entrée du réseau. La couche de prédiction mappe les fonctionnalités à un ensemble de sorties qui représentent les probabilités pour chaque étiquette de classe que vous souhaitez utiliser pour classifier les images.
En séparant le réseau en ces types de couches, nous pouvons prendre les couches d’extraction des fonctionnalités d’un modèle qui a déjà été formé et ajouter une ou plusieurs couches pour utiliser les fonctionnalités extraites pour la prédiction des étiquettes de classe appropriées pour vos images. Cette approche vous permet de conserver les poids préformés pour les couches d’extraction de fonctionnalités, ce qui signifie que vous devez uniquement effectuer l’apprentissage des couches de prédiction que vous avez ajoutées.
Il existe de nombreuses architectures de réseaux neuronaux convolutions pour la classification d’images que vous pouvez utiliser comme modèle de base pour l’apprentissage de transfert. Vous pouvez donc créer sur le travail que quelqu’un d’autre a déjà fait pour créer facilement un modèle de classification d’images effectif.