L'IA à la périphérie : l'apprentissage automatique dans les systèmes embarqués

Vous cherchez à intégrer l'intelligence artificielle (IA) dans la conception de votre prochain produit ? Qu'en est-il de l'apprentissage automatique (ML) et de l'apprentissage profond (DL) ? Vous pouvez commencer par découvrir les différences entre ces trois concepts et le fonctionnement de chaque modèle, ainsi que les solutions disponibles aujourd'hui pour vous permettre d'intégrer rapidement ces technologies dans vos conceptions.

Veuillez prendre un moment pour remplir le formulaire ci-dessous et obtenir un accès instantané à ce webinaire enregistré.
 page de couverture

Webinaire enregistré

07 oct. 2021 | Longueur : 39:05

Vous cherchez à intégrer l'intelligence artificielle (IA) dans la conception de votre prochain produit ? Qu'en est-il de l'apprentissage automatique (ML) et de l'apprentissage profond (DL) ? Vous pouvez commencer par découvrir les différences entre ces trois concepts et le fonctionnement de chaque modèle, ainsi que les solutions disponibles aujourd'hui pour vous permettre d'intégrer rapidement ces technologies dans vos conceptions.

Que vous commenciez à vous familiariser avec ces puissantes technologies ou que vous planifiez un projet spécifique, ce webinaire enregistré accélérera votre voyage dans l'IA, le ML et le DL. Vous apprendrez également comment les solutions de développement embarquées de Digi - l'écosystème Digi XBee® et le système embarqué Digi ConnectCore® sur plateforme de module - peuvent soutenir vos objectifs.

Suivi du webinaire Q&R

Merci encore d'avoir assisté à notre session sur l'IA à la limite : l'apprentissage automatique dans les systèmes embarqués. Voici les questions qui ont suivi la présentation et leurs réponses. Si vous avez d'autres questions, n'hésitez pas à nous contacter.

Quelles ressources supplémentaires, processeur, mémoire, etc., sont nécessaires pour mettre en œuvre l'apprentissage automatique dans un système embarqué ?

Cela dépend vraiment. Les applications d'apprentissage automatique couvrent tout un spectre. Comme nous l'avons vu, il existe des applications plus simples, comme l'exemple de la surveillance de quelques capteurs pour détecter des changements dans les schémas de vibration dans le cadre de services de maintenance prédictive pour cette machine de construction. Pour ce cas d'utilisation, un petit microcontrôleur avec très peu de mémoire peut être suffisant. Il existe également des applications haut de gamme, comme la détection d'objets dans des flux vidéo haute résolution, qui nécessitent évidemment une puissance de calcul et une bande passante mémoire considérables pour le brassage des données.

Aujourd'hui, un grand nombre d'applications d'apprentissage automatique sont issues du développement en nuage, où de nombreuses ressources informatiques sont disponibles. Les développeurs ne se sont pas souciés de ces ressources, ce qui contraste fortement avec les dispositifs embarqués. Et maintenant, avec l'objectif ou le désir de déplacer cette fonctionnalité vers la périphérie où vous n'avez pas toutes ces performances de calcul disponibles, c'est une tâche délicate. En ce qui concerne l'apprentissage automatique à la périphérie, il convient d'accorder une plus grande attention à l'utilisation du modèle et aux optimisations pour les dispositifs embarqués à ressources limitées.

Et il y a des fournisseurs comme notre partenaire Au-Zone, que nous avons également vu dans la démonstration, qui sont des experts dans ce domaine et qui fournissent un moteur d'inférence embarqué et des outils d'optimisation de modèle pour le préparer à fonctionner sur ces dispositifs embarqués limités avec des empreintes mémoire réduites et des temps d'inférence rapides même lorsque peu de ressources informatiques sont disponibles.

Et nous avons vu cet exemple de reconnaissance vocale. Pour souligner encore une fois, nous allons fournir une telle solution avec notre offre de solution ConnectCore SoM, et elle est optimisée pour les appareils embarqués. Vous n'avez donc pas besoin d'une unité de traitement de réseau neuronal sophistiquée, qui est également coûteuse. Vous pouvez exécuter cette application, une application de reconnaissance vocale prenant en charge des milliers de mots et de vocabulaire sur un seul cœur Cortex-A avec moins de 50 % de charge, alors que vous pourriez avoir besoin d'une NPU si vous faites la même chose avec un cadre d'apprentissage automatique open-source non optimisé.

Est-il possible d'utiliser l'apprentissage profond pour les données textuelles, par exemple pour traiter la poésie afin d'identifier les différents genres ?

Il est certainement possible de traiter du texte et de faire de la classification d'éléments de texte. C'est donc tout à fait possible avec l'apprentissage automatique. Et il existe de nombreux cas d'utilisation pour cela, par exemple, vos filtres anti-spam qui traitent le texte et les e-mails et les classent en tant que spam ou non-spam. Ce n'est pas vraiment de la poésie dans ces e-mails, mais c'est lié, je suppose.

Quel est l'impact de l'intelligence artificielle et du Machine Learning dans un appareil sur la sécurité ?

Il existe des menaces de sécurité ciblant les applications d'apprentissage automatique, si telle est la question. Par exemple, les attaquants essaient de modifier les entrées dans le modèle d'apprentissage automatique avec une certaine technique pour tromper le modèle de manière à ce qu'il classifie mal un objet, par exemple, ou même un panneau de signalisation dans une application de trafic. Et puis, avec les bonnes manipulations, le modèle pourrait aussi donner un facteur de confiance élevé pour ces objets, ce qui constitue certainement un problème de sécurité et de sûreté.

Il existe des méthodes pour renforcer le modèle contre de telles attaques, qui peuvent être appliquées pendant la formation et le développement du modèle. D'autres problèmes de sécurité liés à l'apprentissage automatique incluent le vol de modèle ou les attaques de version de modèle. Digi propose les contre-mesures disponibles auprès de NXP et les outils d'apprentissage automatique eIQ pour résoudre certains de ces problèmes de sécurité spécifiques à l'apprentissage automatique.

Mais la sécurité générale du système est également importante et d'autres fonctions de sécurité telles que le démarrage sécurisé, le système de fichiers cryptés, les ports protégés et la détection de sabotage doivent également être activées. Avec le cadre de sécurité que nous fournissons dans le cadre de ConnectCore, le Digi TrustFence, c'est un cadre de sécurité complet disponible avec Digi ConnectCore SoM. Et toutes les fonctions que je viens de mentionner sont entièrement intégrées dans le chargeur de démarrage, le noyau, le système de fichiers racine, prêtes à être utilisées sans qu'il soit nécessaire de devenir un expert en sécurité ou de passer de nombreuses semaines à les activer. Elles fonctionnent donc sur toutes les couches matérielles et logicielles.

La présentation sera-t-elle enregistrée pour être visionnée ultérieurement ?

Oui, absolument. L'enregistrement sera disponible pour une lecture ultérieure sur la plateforme BrightTALK ici. Et nous afficherons également le lien sur www.digi.com, notre site Web. Dans la section des ressources, vous voyez une section sur les webinaires. Et c'est là que nous affichons tous les webinaires pour une lecture ultérieure.

Comment valider l'exactitude du modèle d'apprentissage automatique ?

Cela se fait pendant la phase de formation. En général, vous disposez d'un grand ensemble de données pour former le modèle. Ensuite, vous mettez de côté d'autres données pour effectuer les tests réels et vérifier la précision du modèle. Et une fois que vous êtes satisfait de la précision, vous avez terminé. Mais si vous n'êtes pas satisfait de la précision, vous avez besoin de plus de données d'entraînement, vous les introduisez dans un modèle, vous l'entraînez davantage, puis vous testez à nouveau avec différentes données et vous itérez ce processus jusqu'à ce que vous soyez satisfait de la précision. Juste à un haut niveau.

Il y a une autre question sur les exemples disponibles pour apprendre de nombreux canaux de signaux à faible vitesse.

Je ne suis pas sûr d'avoir bien répondu à la question. Mais il y a deux façons. Vous pouvez construire un modèle à partir de rien et le faire tout seul, et vous avez besoin de beaucoup, beaucoup de données. Mais en général, on utilise un modèle pré-entraîné et on applique ensuite ce qu'on appelle l'apprentissage par transfert. Il existe des modèles pré-entraînés pour la reconnaissance d'images, pour la reconnaissance vocale, pour le texte, pour beaucoup d'autres choses, et vous devez trouver un cas d'utilisation ou un modèle qui couvre votre cas d'utilisation. Ensuite, vous appliquerez l'apprentissage par transfert pour affiner ou modifier ce modèle de manière à ce qu'il réponde exactement à votre cas d'utilisation.

Comment a été mesurée la latence du mot de réveil sur le cœur Cortex-M ? Est-il possible de configurer un mot de réveil ? Cela nécessite-t-il un apprentissage supplémentaire ?

Donc, dans ce scénario, le mot d'éveil peut être configuré. Vous pouvez donc définir vos propres mots d'éveil et les apprendre dans ce modèle. Vous pouvez donc indiquer les commandes que vous souhaitez apprendre, les enregistrer, appliquer différentes techniques d'élocution, puis le moteur reconnaît ces mots. Nous avons également transféré le modèle pour le faire fonctionner sur le dispositif embarqué pour le cœur Cortex-M et l'optimiser pour qu'il fonctionne efficacement sur ce moteur. La latence de ce mot de réveil n'était pas terriblement importante, je dirais. Je veux dire, ce sont des humains qui interagissent avec la machine. Si cela prend quelques millisecondes de plus, ce n'est vraiment pas un problème. Il n'était donc pas nécessaire que la latence soit vraiment faible. Mais quand même, pour être rapide en termes de personnes qui l'utilisent. Mais la latence n'était pas terriblement importante. Et elle était inférieure à une seconde, de sorte qu'il était facile d'allumer la machine.

Avez-vous des exemples d'utilisation de FPGA pour l'apprentissage automatique dans le domaine de l'embarqué ? En quoi cela est-il différent en termes d'exigences et de performances ?

Désolé, je ne peux pas répondre à cette question. Je n'ai pas d'expérience dans le domaine des FPGA. Je suis sûr que cela peut être utilisé pour imiter un moteur de traitement de réseau neuronal. Je suis sûr qu'il y a de la propriété intellectuelle pour exécuter cette fonctionnalité dans un FPGA. Mais vous avez tous ces cœurs disponibles. Et dans les SoC embarqués d'aujourd'hui, les systèmes sur puce, vous avez souvent un GPU que vous n'utilisez pas. Vous disposez de plusieurs cœurs Cortex-A. Vous avez souvent un cœur Cortex-M compagnon séparé de celui-ci. Ainsi, avec ces SoC hautement intégrés, vous disposez de nombreux cœurs et de nombreuses options. L'utilisation d'un FPGA externe ne ferait qu'augmenter le coût et la complexité de la conception. Mais si cela est nécessaire, je suis sûr qu'il existe des options pour faire fonctionner des accélérateurs de réseaux neuronaux dans un FPGA.

Regardez notre vidéo sur la conception embarquée
Apprenez à relever les défis de la conception embarquée de la bonne manière.

Contenu connexe

L'IdO et la chaîne d'approvisionnement : comment l'apprentissage automatique élimine les bouchons L'IdO et la chaîne d'approvisionnement : comment l'apprentissage automatique élimine les bouchons IoT et la chaîne d'approvisionnement vont aujourd'hui de pair. En fait, le suivi logistique est l'un des aspects les plus répandus de l'internet des objets... LIRE LE BLOG Comment l'infrastructure des VE se développe-t-elle et croît-elle aux États-Unis ? Comment l'infrastructure des VE se développe-t-elle et croît-elle aux États-Unis ? Aux États-Unis, les initiatives publiques ont été utilisées pour stimuler les efforts de durabilité, notamment la construction de villes durables. Mais l'avenir... LIRE LE BLOG Digi Embedded Android et outils d'extension Android Digi Embedded Android et outils d'extension Android Aujourd'hui, de nombreux développeurs de systèmes embarqués choisissent le système d'exploitation Android pour le développement d'applications dans les domaines de la téléphonie mobile et de l'industrie.... VIDÉO Techniques de gestion de l'énergie dans les systèmes embarqués Techniques de gestion de l'énergie dans les systèmes embarqués L'utilisation de techniques clés de gestion de l'énergie dans vos conceptions de systèmes embarqués peut avoir d'énormes avantages, de la durée de vie de la batterie... LIRE LE BLOG  Déballage et mise en route du kit de développement Digi ConnectCore Nano 8M  Déballage et mise en route du kit de développement Digi ConnectCore Nano 8M Le système sur module ConnectCore® 8M Nano de Digi est une excellente plateforme de développement pour le prototypage rapide de produits embarqués ... VIDÉO Digi ConnectCore 8M Mini Digi ConnectCore 8M Mini Système embarqué sur module basé sur le processeur NXP i.MX 8M Mini avec unité de traitement vidéo (VPU) intégrée ; conçu pour la longévité et l'évolutivité dans les applications industrielles IoT . VOIR LE PRODUIT Digi ConnectCore SOM Solutions Digi ConnectCore SOM Solutions Systèmes embarqués sur modules basés exclusivement sur les processeurs d'applications NXP i.MX - conçus pour la longévité et l'évolutivité, dans les applications industrielles IoT . VOIR LE PDF Démonstration d'apprentissage automatique avec Digi ConnectCore et ByteSnap SnapUI Démonstration d'apprentissage automatique avec Digi ConnectCore et ByteSnap SnapUI Digi International et ByteSnap Design ont collaboré pour développer une démo intéressante et divertissante présentant un jeu de pirates... VIDÉO Digi XBee Ecosystem | Tout ce dont vous avez besoin pour explorer et créer une connectivité sans fil Digi XBee Ecosystem | Tout ce dont vous avez besoin pour explorer et créer une connectivité sans fil L'écosystème complet de Digi XBee comprend des modules rf, des bibliothèques de code et la suite d'outils primée, Digi XBee Tools. VOIR LES PRODUITS Simplifiez et accélérez votre développement avec les SOMs basés sur Digi ConnectCore i.MX Simplifiez et accélérez votre développement avec les SOMs basés sur Digi ConnectCore i.MX Le développement d'un produit IoT est un défi, et par conséquent, un grand pourcentage de projets de conception embarquée échoue en raison de la... WEBINAIRE PRÉ-ENREGISTRÉ Digi ConnectCore 8M Nano : Ressources pour les développeurs, sécurité, évolutivité Digi ConnectCore 8M Nano : Ressources pour les développeurs, sécurité, évolutivité Digi International a récemment annoncé la disponibilité du kit de développement Digi ConnectCore 8M Nano. Le Digi ConnectCore® 8M... LIRE LE BLOG Digi ConnectCore 8M Nano Digi ConnectCore 8M Nano "System-on-module" embarqué basé sur le processeur NXP i.MX 8M Nano ; conçu pour la longévité et l'évolutivité pour les applications IoT industrielles. VOIR LE PRODUIT Construire ou acheter : Faire le bon choix Construire ou acheter : Faire le bon choix Dans ce livre blanc, nous vous aidons à évaluer la meilleure façon d'optimiser votre propriété intellectuelle et à prendre la bonne décision de construction ou d'achat pour atteindre vos objectifs. VOIR LE PDF