Découvrez comment les techniques d'optimisation des modèles, telles que l'ajustement des hyperparamètres, l'élagage des modèles et la quantification des modèles, peuvent aider les modèles de vision par ordinateur à fonctionner plus efficacement.

Découvrez comment les techniques d'optimisation des modèles, telles que l'ajustement des hyperparamètres, l'élagage des modèles et la quantification des modèles, peuvent aider les modèles de vision par ordinateur à fonctionner plus efficacement.
L'optimisation des modèles est un processus qui vise à améliorer l'efficacité et les performances des modèles d'apprentissage automatique. En affinant la structure et la fonction d'un modèle, l'optimisation permet aux modèles de fournir de meilleurs résultats avec des ressources informatiques minimales et des temps de formation et d'évaluation réduits.
Ce processus est particulièrement important dans des domaines tels que la vision par ordinateur, où les modèles nécessitent souvent des ressources substantielles pour analyser des images complexes. Dans les environnements à ressources limitées tels que les appareils mobiles ou les systèmes périphériques, les modèles optimisés peuvent fonctionner avec des ressources limitées tout en restant précis.
Plusieurs techniques sont couramment utilisées pour optimiser les modèles, notamment l'ajustement des hyperparamètres, l'élagage des modèles, la quantification des modèles et la précision mixte. Dans cet article, nous allons explorer ces techniques et les avantages qu'elles apportent aux applications de vision par ordinateur. Commençons par le commencement !
Les modèles de vision par ordinateur comportent généralement des couches profondes et des structures complexes qui permettent de reconnaître des motifs complexes dans les images, mais ils peuvent également être très exigeants en termes de puissance de traitement. Lorsque ces modèles sont déployés sur des appareils dotés d'un matériel limité, comme les téléphones mobiles ou les appareils périphériques, ils peuvent être confrontés à certains défis ou limitations.
La puissance de traitement, la mémoire et l'énergie limitées de ces appareils peuvent entraîner des baisses de performance notables, les modèles ayant du mal à suivre. Les techniques d'optimisation des modèles sont essentielles pour résoudre ces problèmes. Elles permettent de rationaliser le modèle, de réduire ses besoins en calcul et de s'assurer qu'il peut toujours fonctionner efficacement, même avec des ressources limitées. L'optimisation du modèle peut se faire en simplifiant l'architecture du modèle, en réduisant la précision des calculs ou en supprimant les composants inutiles afin d'alléger le modèle et de le rendre plus rapide.
Voici quelques-unes des techniques d'optimisation de modèles les plus courantes, que nous étudierons plus en détail dans les sections suivantes :
Vous pouvez aider un modèle à apprendre et à être plus performant en réglant ses hyperparamètres, c'est-à-dire les paramètres qui déterminent la façon dont le modèle apprend à partir des données. Le réglage des hyperparamètres est une technique qui permet d'optimiser ces paramètres et d'améliorer l'efficacité et la précision du modèle. Contrairement aux paramètres que le modèle apprend au cours de la formation, les hyperparamètres sont des valeurs prédéfinies qui guident le processus de formation.
Voyons quelques exemples d'hyperparamètres qui peuvent être réglés :
Lorsque vous travaillez sur l'ajustement des hyperparamètres, vous pouvez vous demander quelle est la différence entre les hyperparamètres et les paramètres du modèle.
Les hyperparamètres sont des valeurs définies avant la formation qui contrôlent la manière dont le modèle apprend, comme le taux d'apprentissage ou la taille du lot. Ces paramètres sont fixés pendant la formation et influencent directement le processus d'apprentissage. Les paramètres du modèle, en revanche, sont appris par le modèle lui-même au cours de la formation. Il s'agit notamment des poids et des biais, qui s'ajustent au fur et à mesure que le modèle s'entraîne et qui, en fin de compte, guident ses prédictions. Essentiellement, les hyperparamètres façonnent le parcours d'apprentissage, tandis que les paramètres du modèle sont les résultats de ce processus d'apprentissage.
L'élagage des modèles est une technique de réduction de la taille qui supprime les poids et les paramètres inutiles d'un modèle, le rendant ainsi plus efficace. Dans le domaine de la vision par ordinateur, en particulier avec les réseaux neuronaux profonds, un grand nombre de paramètres, tels que les poids et les activations (sorties intermédiaires qui aident à calculer la sortie finale), peut augmenter la complexité et les exigences informatiques. L'élagage permet de rationaliser le modèle en identifiant et en supprimant les paramètres qui contribuent le moins aux performances, ce qui permet d'obtenir un modèle plus léger et plus efficace.
Une fois le modèle formé, des techniques telles que l'élagage basé sur l'amplitude ou l'analyse de sensibilité permettent d'évaluer l'importance de chaque paramètre. Les paramètres de faible importance sont ensuite élagués à l'aide de l'une des trois techniques principales : l'élagage par poids, l'élagage par neurones ou l'élagage structuré.
L'élagage des poids supprime les connexions individuelles ayant un impact minimal sur la sortie. L'élagage des neurones supprime des neurones entiers dont les sorties contribuent peu à la fonction du modèle. L'élagage structuré élimine des sections plus importantes, comme les filtres convolutifs ou les neurones dans les couches entièrement connectées, optimisant ainsi l'efficacité du modèle. Une fois l'élagage terminé, le modèle est réentraîné pour affiner les paramètres restants, ce qui lui permet de conserver une grande précision sous une forme réduite.
La quantification du modèle réduit le nombre de bits utilisés pour représenter les poids et les activations d'un modèle. Elle convertit généralement des valeurs à virgule flottante de 32 bits de haute précision en valeurs de moindre précision, telles que des nombres entiers de 16 bits ou de 8 bits. En réduisant la précision des bits, la quantification diminue considérablement la taille du modèle, l'empreinte mémoire et le coût de calcul.
Dans le domaine de la vision par ordinateur, les nombres flottants de 32 bits sont la norme, mais la conversion en 16 bits ou 8 bits peut améliorer l'efficacité. Il existe deux principaux types de quantification : la quantification par poids et la quantification par activation. La quantification de poids réduit la précision des poids du modèle, ce qui permet d'équilibrer la réduction de la taille et la précision. La quantification de l'activation réduit la précision des activations, ce qui permet de réduire encore la mémoire et les besoins de calcul.
La précision mixte est une technique qui utilise différentes précisions numériques pour diverses parties d'un réseau neuronal. En combinant des valeurs de haute précision, telles que les valeurs flottantes de 32 bits, avec des valeurs de faible précision, telles que les valeurs flottantes de 16 bits ou de 8 bits, la précision mixte permet aux modèles de vision artificielle d'accélérer la formation et de réduire l'utilisation de la mémoire sans sacrifier la précision.
Au cours de la formation, la précision mixte est obtenue en utilisant une précision plus faible dans des couches spécifiques tout en conservant une précision plus élevée lorsque cela est nécessaire dans l'ensemble du réseau. Cela se fait par le biais du moulage et de la mise à l'échelle des pertes. Le moulage convertit les types de données entre les différentes précisions requises par le modèle. La mise à l'échelle des pertes ajuste la précision réduite afin d'éviter les sous-écarts numériques, ce qui garantit la stabilité de l'apprentissage. La précision mixte est particulièrement utile pour les grands modèles et les lots de grande taille.
Maintenant que nous avons abordé plusieurs techniques d'optimisation de modèles, voyons comment décider laquelle utiliser en fonction de vos besoins spécifiques. Le choix dépend de facteurs tels que le matériel disponible, les contraintes de calcul et de mémoire de l'environnement de déploiement et le niveau de précision requis.
Par exemple, les modèles plus petits et plus rapides conviennent mieux aux appareils mobiles dotés de ressources limitées, tandis que les modèles plus grands et plus précis peuvent être utilisés sur des systèmes à haute performance. Voici comment chaque technique s'aligne sur différents objectifs:
L'optimisation des modèles est un élément essentiel de l'apprentissage automatique, en particulier pour le déploiement de l'IA dans les applications du monde réel. Des techniques telles que l'ajustement des hyperparamètres, l'élagage des modèles, la quantification et la précision mixte permettent d'améliorer les performances, l'efficacité et l'utilisation des ressources des modèles de vision artificielle. Ces optimisations rendent les modèles plus rapides et moins gourmands en ressources, ce qui est idéal pour les appareils dont la mémoire et la puissance de traitement sont limitées. Les modèles optimisés sont également plus faciles à mettre à l'échelle et à déployer sur différentes plateformes, ce qui permet de créer des solutions d'IA à la fois efficaces et adaptables à un large éventail d'utilisations.
Visitez le dépôt Ultralytics GitHub et rejoignez notre communauté pour en savoir plus sur les applications de l'IA dans la fabrication et l'agriculture.
Comment fonctionne le réglage des hyperparamètres
Le réglage des hyperparamètres commence généralement par la définition d'une plage de valeurs possibles pour chaque hyperparamètre. Un algorithme de recherche explore ensuite différentes combinaisons à l'intérieur de ces plages afin d'identifier les paramètres qui produisent les meilleures performances.
Les méthodes de réglage les plus courantes sont la recherche en grille, la recherche aléatoire et l'optimisation bayésienne. La recherche par grille teste toutes les combinaisons possibles de valeurs dans les plages spécifiées. La recherche aléatoire sélectionne des combinaisons au hasard, ce qui permet souvent de trouver des paramètres efficaces plus rapidement. L'optimisation bayésienne utilise un modèle probabiliste pour prédire les valeurs prometteuses des hyperparamètres sur la base des résultats précédents. Cette approche réduit généralement le nombre d'essais nécessaires.
Enfin, pour chaque combinaison d'hyperparamètres, la performance du modèle est évaluée. Le processus est répété jusqu'à ce que les résultats souhaités soient atteints.