23.6 Apprentissage par transfert et réglage fin : réglage fin des couches
L'apprentissage par transfert, ou Transfer Learning, est une technique puissante dans le domaine de l'apprentissage automatique, en particulier dans les tâches de vision par ordinateur et de traitement du langage naturel. Essentiellement, l’apprentissage par transfert consiste à prendre un modèle pré-entraîné, qui a été développé pour une tâche spécifique, et à l’adapter à une nouvelle tâche connexe. Ceci est particulièrement utile lorsque nous disposons d'un ensemble de données limité pour la nouvelle tâche ou lorsque nous souhaitons économiser les ressources de calcul qui seraient nécessaires pour entraîner un modèle à partir de zéro.
L'un des aspects les plus cruciaux de l'apprentissage par transfert est le ajustement fin, qui est le processus d'ajustement du modèle pré-entraîné pour la nouvelle tâche. Un réglage fin peut être effectué à différents niveaux en fonction de la tâche à accomplir et de la quantité de données disponibles. Dans ce texte, nous nous concentrerons sur le réglage fin des couches dans les modèles d'apprentissage profond, en particulier les réseaux de neurones convolutifs (CNN) utilisés en vision par ordinateur.
Comprendre le modèle pré-entraîné
Les modèles d'apprentissage profond, tels que les CNN, sont composés de nombreuses couches qui apprennent des représentations de données à différents niveaux d'abstraction. Dans les modèles pré-entraînés pour la vision par ordinateur, les premières couches apprennent généralement des fonctionnalités génériques telles que les bords et les textures, tandis que les couches plus profondes apprennent des fonctionnalités plus spécifiques à partir de l'ensemble de données sur lequel elles ont été entraînées.
Décider des calques à affiner
La décision quant aux couches d'un modèle pré-entraîné à affiner dépend de plusieurs facteurs, tels que la similarité entre la nouvelle tâche et la tâche d'origine du modèle, la quantité de données disponibles pour la nouvelle tâche et la capacité de calcul disponible. Si la nouvelle tâche est très similaire à la tâche d'origine, il peut suffire d'ajuster simplement les dernières couches du modèle. En revanche, si les tâches sont très différentes, il peut être nécessaire d'affiner davantage de couches, voire la totalité.
Processus de réglage fin
Le processus de réglage fin suit généralement les étapes suivantes :
- Choisir un modèle pré-entraîné : sélectionnez un modèle qui a été entraîné sur un vaste ensemble de données généralistes, tel qu'ImageNet pour les tâches de vision par ordinateur.
- Adaptation à la nouvelle tâche : modifiez la dernière couche du modèle (généralement une couche dense ou une couche softmax) pour qu'elle corresponde au nombre de classes dans la nouvelle tâche.
- Geler les calques : dans un premier temps, gelez les calques que vous ne souhaitez pas affiner, permettant ainsi de mettre à jour uniquement les calques non gelés pendant l'entraînement.
- Formation initiale : entraînez le modèle avec les nouvelles couches adaptées à l'aide du nouvel ensemble de données de tâches. Cela permet au modèle d'ajuster les poids de ces couches pour la nouvelle tâche sans modifier les fonctionnalités apprises dans les couches gelées.
- Dégel sélectif : après l'entraînement initial, vous pouvez choisir de dégeler certaines couches gelées et de poursuivre l'entraînement pour permettre au modèle d'ajuster davantage ses poids aux particularités de la nouvelle tâche.
- Régularisation et réglage fin : lors du réglage fin, il est important d'utiliser des techniques de régularisation telles que l'abandon et la régularisation L2 pour éviter un réglage excessif, en particulier si le nouvel ensemble de données de tâche est petit.
Considérations importantes
Lorsque vous effectuez un réglage fin, il est essentiel de garder à l'esprit certaines considérations importantes :
- Vitesse d'apprentissage : il est généralement recommandé d'utiliser un taux d'apprentissage inférieur lors du réglage fin à celui utilisé lors de la formation initiale, pour éviter de détruire les représentations utiles apprises par le modèle pré-entraîné. li>
- Équilibrage des données : si l'ensemble de données de la nouvelle tâche est déséquilibré, des techniques telles que la pondération des classes ou le suréchantillonnage peuvent être nécessaires pour éviter les biais dans les prédictions du modèle.
- Surveillance des performances : utilisez un ensemble de validation pour surveiller les performances du modèle pendant le réglage fin et ajuster le processus si nécessaire pour éviter un surajustement ou un sous-ajustement.
Conclusion
Le réglage fin est une technique essentielle pour tirer le meilleur parti des modèles pré-entraînés pour de nouvelles tâches. En ajustant soigneusement les couches d'un modèle pré-entraîné, vous pouvez obtenir des performances remarquables même avec des ensembles de données relativement petits. Cependant, le succès du réglage fin dépend d'une série de décisions stratégiques liées aux couches à régler, à la manière de les régler et à la manière de surveiller et de réguler le processus de réglage fin.entraînement. Avec la bonne approche, le réglage fin peut être un outil puissant pour résoudre une grande variété de problèmes d'apprentissage automatique.