France - Drapeau France

Incoterms :DDP
Tous les prix incluent les taxes et les droits de douane pour les modes d'expédition sélectionnés.

Confirmez votre choix de devise:

Euros
Livraison gratuite pour la plupart des commandes supérieures à 50 € (EUR)

Dollars US
Livraison gratuite pour la plupart des commandes supérieures à $60 (USD)

Bench Talk pour les ingénieurs concepteurs

Mouser Blog | France

rss

Le blog officiel de Mouser Electronics


Principes de base d'Edge Impulse, partie 6 Mike Parks

Principes de base d’Edge Impulse 6 : améliorer les performances des modèles d’apprentissage automatique

(Source : eireenz – stock.adobe.com)

Nous voici de retour avec notre série sur l’apprentissage automatique (machine learning) et les capacités qu’offre Edge Impulse aux développeurs de systèmes embarqués désireux d’intégrer l’IA dans leurs produits. Dans notre article précédent, nous avons relevé les problèmes qui pouvaient apparaître lors du développement d’un réseau de neurones et vu quelques outils proposés par Edge Impulse pour évaluer la qualité de vos modèles. Dans le présent article, nous continuons à nous intéresser à ce sujet, mais en abordant cette fois-ci le mode d’affichage « explorateur de données », qui est certainement l’une des vues les plus frappantes sur le plan visuel. L’explorateur de données offre en effet aux développeurs un aperçu clairement compréhensible de la façon dont le réseau neuronal a classé l’ensemble de données de formation en fonction des points de donnée (voir figure 1). Mettons par exemple que nous disposons d’un classificateur effectuant des prédictions sur la base des données fournies par un accéléromètre à 3 axes (X, Y et Z). Edge Impulse placera chaque point de donnée dans une grille tridimensionnelle (ou bidimensionnelle s’il n’y a que deux variables) et lui attribuera une couleur selon que le modèle a correctement prédit ou non la classification. Idéalement, tous les points de donnée d’une même classification se trouveront regroupés. Les points de donnée peuvent aussi être sélectionnés individuellement, ce qui permet aux développeurs de recueillir des informations détaillées particulièrement utiles pour établir pourquoi un point de formation ou de test a été mal classé.

Figure 1 : l’explorateur de données d’Edge Impulse fournit un mécanisme visuel pour évaluer la façon dont un modèle d’apprentissage automatique classe les données de formation (Source : Green Shoe Garage)

L’analyse des performances tient compte de la plateforme intégrée que vous avez choisie. Chaque microcontrôleur ayant ses propres caractéristiques et spécifications matérielles différentes, les performances sont donc très variables en fonction du modèle retenu et plus particulièrement en fonction de certains paramètres comme la fréquence de fonctionnement, la quantité et la vitesse de la mémoire (flash et RAM). Edge Impulse est capable d’estimer les performances en temps réel de votre modèle pour de nombreuses plateformes embarquées de premier plan. Edge Impulse estimera le temps d’inférence, l’utilisation de la RAM et l’utilisation de la mémoire flash (voir figure 2). Le temps d’inférence est le temps qui s’écoule entre le moment où des données d’entrée arrivent dans le réseau neuronal et le moment où le modèle délivre des données de sortie (en l’occurrence sous la forme d’une classification prédite du signal d’entrée). Ce temps se mesure généralement en millisecondes. La quantité maximale de mémoire nécessaire pour réaliser l’inférence est calculée sur la base de l’utilisation de la RAM et de la mémoire flash. Elle se mesure généralement en kilo-octets dans le cas de systèmes embarqués.

Figure 2 : Edge Impulse est capable d’estimer le temps d’inférence ainsi que l’utilisation de la RAM et de la mémoire flash d’un modèle d’apprentissage automatique (Source : Green Shoe Garage)

Améliorer les performances du modèle

À présent que nous avons acquis une meilleure compréhension des outils disponibles dans Edge Impulse pour évaluer les performances des modèles d’apprentissage automatique, voyons comment nous pouvons mettre cela à profit pour améliorer la fonctionnalité et les performances d’un modèle. Comme nous le soulignions dans l’article précédent, il existe deux grandes catégories de problèmes susceptibles de nuire aux performances d’un modèle. On distingue tout d’abord le surapprentissage (ou « overfitting »), qui désigne le fait qu’un modèle fonctionne parfaitement avec les données de formation, mais livre de piètres résultats lorsqu’il s’agit de généraliser à de nouvelles données qui lui sont inconnues. Le modèle ne fait finalement que « mémoriser » les exemples de formation. La seconde catégorie de problème est le sous-apprentissage (ou « underfitting »). Celui-ci apparaît lorsqu’un modèle est trop simpliste pour capturer les modèles sous-jacents dans les données de formation. Le modèle ne parvient pas à tirer un apprentissage des données qui lui sont fournies et de ce fait, il peine à faire des prédictions précises aussi bien à partir de l’ensemble de données de formation que de nouvelles données.

Remédier au surapprentissage

Pour ce faire, diverses techniques peuvent être appliquées :

  • Fournir davantage de données de formation, avec des données plus variées, afin de mieux représenter l’espace du problème.
  • Simplifier l’architecture du modèle en réduisant le nombre de paramètres ou en utilisant des techniques telles que la sélection de fonctionnalités ou la réduction de dimensionnalité. Dans l’exemple d’un accéléromètre à 3 axes, le modèle doit ignorer les axes inutiles et, par exemple, ne tenir compte que du mouvement dans deux plans.
  • Appliquer des techniques telles que l’abandon ou l’arrêt anticipé pendant la formation permet d’éviter que le modèle ne s’appuie trop sur des fonctionnalités spécifiques ou produise une suritération des données de formation.
  • Utiliser des techniques de régularisation telles que la régularisation L1 ou L2 pour ajouter des pénalités dans le cas de modèles trop complexes. Les démonstrations mathématiques de la régularisation L1 (également appelée régularisation Lasso) et de la régularisation L2 (ou régularisation Ridge) nous éloigneraient du sujet de cet article. Retenons toutefois que si vous craignez qu’un problème de surapprentissage affecte votre modèle, il existe des techniques pour compenser cela durant la formation du modèle. Plus précisément, il est possible d’appliquer ce que l’on appelle un terme de régularisation à la fonction de perte du modèle pendant sa formation. La régularisation L1 favorisera la parcimonie et peut être utile pour la sélection des fonctionnalités. La régularisation L2 encourage des poids petits mais non nuls et peut aider à éviter le surapprentissage. Nous verrons cela plus en détail dans un prochain article.

Remédier au sous-apprentissage

Pour ce faire, vous pouvez envisager les techniques suivantes :

  • Augmenter la complexité du modèle en ajoutant davantage de paramètres, de couches ou de fonctionnalités. En d’autres termes, cherchez des moyens d’identifier les différences entre les classifications sélectionnées.
  • Former le modèle pendant plusieurs époques ou augmenter la capacité du modèle.
  • Utiliser une architecture de modèle plus puissante ou plus flexible.

Comme nous l’avons vu précédemment, la difficulté à affiner un modèle réside dans le compromis biais-variance. Rappelons que le biais se réfère à l’erreur introduite lorsque l’on tente d’approcher un problème du monde réel avec un modèle simplifié. Un modèle à biais élevé présente généralement un problème de sous-apprentissage. La variance, quant à elle, fait référence à la sensibilité du modèle aux fluctuations des données de formation. Un modèle à variance élevée est trop complexe et capture du bruit dans les données de formation, ce qui conduit au surapprentissage. En plus des techniques de régularisation évoquées ci-dessus, d’autres moyens comme la validation croisée, le réglage des hyperparamètres et la collecte de données de formation plus diverses et représentatives peuvent aider à trouver l’équilibre optimal entre biais et variance.

Conclusion

En utilisant les outils d’analyse de modèles fournis par Edge Impulse, mais aussi en mettant à profit vos connaissances en matière de surapprentissage et de sous-apprentissage et en appliquant des techniques permettant de réduire l’impact de ces deux phénomènes, vous aurez la garantie de disposer de modèles précis et hautement performants sur la plateforme intégrée de votre choix. Dans les prochains articles de notre série consacrée à Edge Impulse, nous verrons comment effectuer une inférence en temps réel, gérer les versions et réaliser le déploiement sécurisé de votre modèle d’apprentissage automatique sur des appareils en laboratoire et sur le terrain.



« Retour


Michael Parks, P.E. is the co-founder of Green Michael Parks, P.E. est propriétaire de Green Shoe Garage, un studio de conception de solutions électroniques personnalisés et agence de conseil en technologies, situé dans le Maryland méridional. Il réalise le podcast S.T.E.A.M. Power pour sensibiliser le grand public aux questions techniques et scientifiques. Titulaire d'une maîtrise d'ingénierie des systèmes de l'université Johns Hopkins, Michael est également ingénieur professionnel agréé de l'État du Maryland.


Tous les auteurs

Voir plus Voir plus
Afficher les articles par date