La distillation et l’élagage sont deux techniques importantes de compression des réseaux de neurones. Elles peuvent réduire efficacement le nombre de paramètres et la complexité des calculs, améliorant l’efficacité d’exécution et les performances. Voici une présentation détaillée des deux techniques.
Distillation de modèles
La distillation consiste à entraîner un petit modèle à reproduire les prédictions d’un grand modèle. Le grand modèle est appelé « modèle enseignant » et le petit, « modèle élève ». L’enseignant possède généralement davantage de paramètres et une plus grande complexité ; il peut donc mieux s’ajuster aux données d’entraînement et de test. L’élève apprend à imiter son comportement prédictif afin d’atteindre des performances comparables avec un modèle plus petit.
Concrètement, la distillation suit les étapes suivantes :
1. Entraîner l’enseignant : entraîner un grand réseau de neurones profond avec des méthodes classiques, comme la rétropropagation et la descente de gradient stochastique, pour obtenir de bons résultats sur les données d’entraînement.
2. Produire des étiquettes souples : utiliser les prédictions de l’enseignant sur les données d’entraînement comme étiquettes souples. Ce concept prolonge celui des étiquettes dures traditionnelles, codées en one-hot. Il fournit une information plus continue et décrit mieux les relations entre classes.
3. Entraîner l’élève : utiliser les étiquettes souples comme cible pour entraîner un petit réseau de neurones profond à bien fonctionner sur les données d’entraînement. Ses entrées et sorties sont identiques à celles de l’enseignant, mais ses paramètres et sa structure sont simplifiés et plus compacts.
La distillation permet à un petit modèle de conserver ses performances tout en réduisant ses besoins en calcul et en stockage.Les étiquettes souples apportent également une information plus continue, ce qui aide l’élève à mieux apprendre les relations entre classes. La distillation est largement utilisée en traitement automatique du langage naturel, en vision par ordinateur et en reconnaissance vocale.
Élagage de modèles
L’élagage comprime un réseau de neurones en supprimant les neurones et connexions superflus. Les réseaux contiennent généralement de nombreux paramètres et connexions redondants : leur influence sur les performances peut être faible, mais ils augmentent fortement les coûts de calcul et de stockage. Leur suppression réduit la taille et la complexité du modèle tout en préservant ses performances.
L’élagage suit les étapes suivantes :
1. Entraîner le modèle d’origine : entraîner un grand réseau de neurones profond avec des méthodes classiques, comme la rétropropagation et la descente de gradient stochastique, afin d’obtenir de bons résultats sur les données d’entraînement.
2. Évaluer l’importance des neurones : utiliser, par exemple, la régularisation L1, la matrice hessienne ou le développement de Taylor pour évaluer la contribution de chaque neurone au résultat final. Les neurones de faible importance peuvent être considérés comme inutiles.
3. Supprimer les neurones et connexions inutiles selon leur importance, soit en mettant leurs poids à zéro, soit en retirant les neurones et connexions correspondants.
L’élagage réduit efficacement la taille du modèle et la complexité de ses calculs, améliorant ainsi ses performances.L’élagage peut aussi contribuer à réduire le surapprentissage et à améliorer la capacité de généralisation. Il est largement employé en traitement automatique du langage naturel, en vision par ordinateur et en reconnaissance vocale.
Enfin, même si la distillation et l’élagage sont deux techniques de compression des réseaux de neurones, leurs méthodes et objectifs diffèrent légèrement. La distillation met l’accent sur l’apprentissage de l’élève à partir des prédictions de l’enseignant ; l’élagage comprime le modèle en retirant les paramètres et connexions inutiles.