L'apprentissage par transfert est une approche de Deep Learning dans laquelle un modèle entraîné pour une tâche est utilisé comme point de départ pour un modèle effectuant une tâche similaire. Il est plus rapide et plus facile de mettre à jour et de réentraîner un réseau avec l'apprentissage par transfert que d'entraîner un réseau en partant de zéro. L'apprentissage par transfert est utilisé pour la classification d'images, la détection d'objets, la reconnaissance vocale ainsi que d'autres applications.
L'apprentissage par transfert est une approche de Deep Learning dans laquelle un modèle entraîné pour une tâche est utilisé comme point de départ pour un modèle réalisant une tâche similaire, ce qui rend le processus plus rapide et plus simple que l'entraînement d'un réseau à partir de zéro.
L'apprentissage par transfert permet d'entraîner des modèles avec moins de données étiquetées, réduit le temps d'entraînement et les ressources de calcul nécessaires, et permet de tirer parti d'architectures de modèles développées par la communauté de recherche en Deep Learning, telles que GoogLeNet et YOLO.
L'apprentissage par transfert est largement utilisé dans le domaine de la Computer Vision (reconnaissance d'images, détection d'objets et segmentation d'images), ainsi que dans le traitement de la parole et de l'audio et les applications d'analyse de texte.
Prenez en compte trois compromis essentiels : la vitesse de prédiction, la taille du modèle (empreinte mémoire) et la précision. Une bonne approche consiste à tester plusieurs modèles afin d'identifier celui qui convient le mieux à votre application, en commençant par des modèles plus simples tels que GoogLeNet ou VGG-16 pour itérer rapidement.
Le flux de travail comprend : la sélection d'un modèle préentraîné ; le remplacement des couches finales afin de les adapter aux nouvelles classes ; le gel optionnel des poids dans les couches précédentes ; le réentraînement du modèle avec vos données ; la réalisation de prédictions et l'évaluation de la précision du réseau.
Vous pouvez accéder aux modèles via le MATLAB Deep Learning Model Hub à l'aide d'un simple appel de fonction, ou importer des modèles depuis des plateformes externes telles que TensorFlow, PyTorch ou ONNX à l'aide des fonctions d'importation.
Oui. L'application Deep Network Designer permet de réaliser de manière interactive l'ensemble du flux de travail d'apprentissage par transfert, y compris la sélection ou l'importation d'un modèle préentraîné, la modification des couches et le réentraînement, avec peu ou pas de code.
Le gel des poids dans les couches précédentes en définissant leurs taux d'apprentissage à zéro peut accélérer considérablement l'entraînement et prévenir le surajustement, en particulier lorsque le nouveau jeu de données est de petite taille.