23.4. Apprentissage par transfert et mise au point : réseaux de neurones pré-entraînés
L'apprentissage par transfert et le réglage fin sont des techniques puissantes dans le domaine du Deep Learning qui permettent d'adapter des modèles pré-entraînés à de nouvelles tâches efficacement en termes de temps et de ressources informatiques. Ces approches sont particulièrement utiles lorsque vous disposez d'un ensemble de données limité pour entraîner un nouveau modèle à partir de zéro.
Qu'est-ce que l'apprentissage par transfert ?
L'apprentissage par transfert est une technique dans laquelle un modèle développé pour une tâche est réutilisé comme point de départ pour un modèle dans une deuxième tâche. Il s'agit d'une approche populaire en Deep Learning car elle permet de former des réseaux de neurones profonds avec relativement peu de données. Ceci est très utile car la collecte et l'étiquetage d'un grand ensemble de données peuvent être coûteuses et prendre du temps.
Avantages de l'apprentissage par transfert
- Gain de temps : en utilisant un modèle pré-entraîné, vous gagnez le temps qu'il faudrait pour entraîner un modèle à partir de zéro.
- Besoin de données réduit : les modèles pré-entraînés ont déjà appris les fonctionnalités générales sur de grands ensembles de données, réduisant ainsi la quantité de données nécessaire pour entraîner de nouvelles tâches.
- Amélioration des performances : les modèles pré-entraînés entraînent souvent de meilleures performances, en particulier lorsque les données sont limitées.
Comment fonctionne l'apprentissage par transfert ?
En général, l'apprentissage par transfert consiste à prendre un modèle pré-entraîné et à l'affiner pour une nouvelle tâche. Le modèle pré-entraîné était généralement formé sur un ensemble de données vaste et complet, tel qu'ImageNet, qui contient des millions d'images réparties dans des milliers de catégories. En utilisant ce modèle comme point de départ, vous pouvez exploiter les visuels que le modèle a déjà appris.
Peaufinage : personnalisation du modèle pré-entraîné
La mise au point est une étape au-delà de l'apprentissage par transfert. Alors que l'apprentissage par transfert peut impliquer de geler les couches de modèle pré-entraînées et de former seulement quelques couches supérieures pour la nouvelle tâche, le réglage fin implique généralement d'affiner la totalité ou une plus grande partie des couches de modèle. Cela permet au modèle de s'adapter plus spécifiquement aux nouvelles données de tâche.
Étapes de réglage précis
- Choisir un modèle pré-entraîné : sélectionnez un modèle pré-entraîné qui a été entraîné sur un ensemble de données important et pertinent.
- Adaptation à la nouvelle tâche : remplacez la dernière couche du modèle (généralement la couche de sortie) pour vous adapter au nombre de classes dans la nouvelle tâche.
- Gelage des couches : dans un premier temps, gelez les couches du modèle pré-entraîné, à l'exception de celles qui ont été remplacées, pour entraîner uniquement les nouvelles couches.
- Formation initiale : entraînez le modèle à la nouvelle tâche avec des calques gelés.
- Dégeler et affiner : après la formation initiale, débloquez tout ou partie des couches du modèle et poursuivez la formation pour ajuster le modèle aux données spécifiques de la nouvelle tâche.
Considérations relatives à l'utilisation de l'apprentissage par transfert et de la mise au point
- Similarité des données : l'apprentissage par transfert a tendance à fonctionner mieux lorsque les données de la nouvelle tâche sont similaires aux données de l'ensemble utilisé pour entraîner le modèle pré-entraîné.
- Taille de l'ensemble de données : si le nouvel ensemble de données est petit, il peut être préférable de geler davantage de couches du modèle pour éviter un surajustement.
- Complexité des tâches : des tâches plus complexes peuvent nécessiter un réglage plus précis et éventuellement une formation plus longue.
- Ressources informatiques : le réglage fin peut nécessiter beaucoup de calculs. Il est donc important de prendre en compte la puissance de traitement disponible.
Conclusion
L'apprentissage par transfert et la mise au point sont des techniques cruciales dans l'arsenal de tout data scientist ou ingénieur en machine learning. En tirant parti des modèles pré-entraînés, vous pouvez accélérer considérablement le processus de développement de modèles pour de nouvelles tâches et améliorer les performances sur des ensembles de données limités. Avec de la pratique et un examen attentif des variables impliquées, ces techniques peuvent être extrêmement efficaces pour un large éventail d'applications d'apprentissage profond.