Internet
Le système apporte un apprentissage en profondeur aux appareils de l’Internet des objets
L’apprentissage profond est partout. Cette branche de l’intelligence artificielle organise vos médias sociaux et sert vos résultats de recherche Google. Bientôt, l’apprentissage en profondeur pourrait également vérifier vos signes vitaux ou régler votre thermostat. Les chercheurs du MIT ont mis au point un système qui pourrait apporter des réseaux de neurones d’apprentissage en profondeur à de nouveaux endroits – et beaucoup plus petits -, comme les minuscules puces informatiques dans les appareils médicaux portables, les appareils ménagers et les 250 milliards d’autres objets qui constituent «l’internet des objets» ( IoT).
Le système, appelé MCUNet, conçoit des réseaux de neurones compacts qui offrent une vitesse et une précision sans précédent pour l’apprentissage en profondeur sur les appareils IoT, malgré une mémoire et une puissance de traitement limitées. La technologie pourrait faciliter l’expansion de l’univers IoT tout en économisant de l’énergie et en améliorant la sécurité des données.
L’Internet des objets
L’IoT est né au début des années 80. Des étudiants diplômés de l’Université Carnegie Mellon, dont Mike Kazar 78, ont connecté une machine Cola-Cola à Internet. La motivation du groupe était simple: la paresse. Ils voulaient utiliser leurs ordinateurs pour confirmer que la machine était approvisionnée avant de partir de leur bureau pour faire un achat. C’était le premier appareil connecté à Internet au monde. «Cela a été à peu près traité comme la punchline d’une blague», déclare Kazar, maintenant ingénieur chez Microsoft. « Personne ne s’attendait à des milliards d’appareils sur Internet. »
Depuis cette machine à coke, les objets du quotidien sont de plus en plus mis en réseau dans l’IoT en pleine croissance. Cela comprend tout, des moniteurs cardiaques portables aux réfrigérateurs intelligents qui vous indiquent quand vous manquez de lait. Les appareils IoT fonctionnent souvent sur des microcontrôleurs: de simples puces informatiques sans système d’exploitation, une puissance de traitement minimale et moins d’un millième de la mémoire d’un smartphone classique. Ainsi, les tâches de reconnaissance de formes telles que l’apprentissage en profondeur sont difficiles à exécuter localement sur les appareils IoT. Pour une analyse complexe, les données collectées par l’IoT sont souvent envoyées dans le cloud, ce qui les rend vulnérables au piratage.
«Comment déployer des réseaux neuronaux directement sur ces minuscules appareils? C’est un nouveau domaine de recherche qui devient très chaud», déclare Han. « Des entreprises comme Google et ARM travaillent toutes dans ce sens. » Han l’est aussi.
Avec MCUNet, le groupe de Han a codé deux composants nécessaires pour un « petit apprentissage profond » – le fonctionnement des réseaux neuronaux sur des microcontrôleurs. L’un des composants est TinyEngine, un moteur d’inférence qui dirige la gestion des ressources, semblable à un système d’exploitation. TinyEngine est optimisé pour exécuter une structure de réseau neuronal particulière, qui est sélectionnée par l’autre composant de MCUNet: TinyNAS, un algorithme de recherche d’architecture neuronale.
Co-conception système-algorithme
La conception d’un réseau profond pour les microcontrôleurs n’est pas facile. Les techniques de recherche d’architecture neuronale existantes commencent avec un grand pool de structures de réseau possibles basées sur un modèle prédéfini, puis elles trouvent progressivement celle avec une grande précision et un faible coût. Bien que la méthode fonctionne, ce n’est pas la plus efficace. «Cela peut très bien fonctionner pour les GPU ou les smartphones», déclare Lin. « Mais il a été difficile d’appliquer directement ces techniques à de minuscules microcontrôleurs, car ils sont trop petits. »
Lin a donc développé TinyNAS, une méthode de recherche d’architecture neuronale qui crée des réseaux de taille personnalisée. «Nous avons de nombreux microcontrôleurs avec différentes capacités de puissance et différentes tailles de mémoire», explique Lin. « Nous avons donc développé l’algorithme [TinyNAS] pour optimiser l’espace de recherche pour différents microcontrôleurs. « La nature personnalisée de TinyNAS signifie qu’il peut générer des réseaux de neurones compacts avec les meilleures performances possibles pour un microcontrôleur donné, sans paramètres inutiles. » Ensuite, nous livrons le modèle final et efficace au microcontrôleur, « dit Lin.
Pour faire fonctionner ce minuscule réseau de neurones, un microcontrôleur a également besoin d’un moteur d’inférence allégé. Un moteur d’inférence typique a un poids mort – des instructions pour des tâches qu’il peut rarement exécuter. Le code supplémentaire ne pose aucun problème pour un ordinateur portable ou un smartphone, mais il pourrait facilement submerger un microcontrôleur. «Il n’a pas de mémoire hors puce et il n’a pas de disque», dit Han. « Tout ce qui est assemblé ne représente qu’un mégaoctet de mémoire flash, nous devons donc gérer très soigneusement une si petite ressource. » Cue TinyEngine.
Les chercheurs ont développé leur moteur d’inférence en collaboration avec TinyNAS. TinyEngine génère le code essentiel nécessaire pour exécuter le réseau neuronal personnalisé de TinyNAS. Tout code mort est ignoré, ce qui réduit le temps de compilation. «Nous ne gardons que ce dont nous avons besoin», dit Han. «Et depuis que nous avons conçu le réseau neuronal, nous savons exactement ce dont nous avons besoin. C’est l’avantage de la conception de code par algorithme système. Dans les tests du groupe sur TinyEngine, la taille du code binaire compilé était entre 1,9 et cinq fois plus petite que les moteurs d’inférence de microcontrôleurs comparables de Google et ARM. TinyEngine contient également des innovations qui réduisent le temps d’exécution, y compris la convolution en profondeur en place, qui réduit l’utilisation maximale de la mémoire de près de moitié. Après avoir codé TinyNAS et TinyEngine, l’équipe de Han a mis MCUNet à l’épreuve.
Le premier défi de MCUNet était la classification des images. Les chercheurs ont utilisé la base de données ImageNet pour former le système avec des images étiquetées, puis pour tester sa capacité à en classer de nouvelles. Sur un microcontrôleur commercial qu’ils ont testé, MCUNet a classé avec succès 70,7% des nouvelles images – le précédent combo réseau neuronal de pointe et moteur d’inférence n’était précis qu’à 54%. «Même une amélioration de 1% est considérée comme significative», dit Lin. « Il s’agit donc d’un pas de géant pour les paramètres du microcontrôleur. »
L’équipe a trouvé des résultats similaires dans les tests ImageNet de trois autres microcontrôleurs. Et sur la vitesse et la précision, MCUNet a battu la concurrence pour les tâches audio et visuelles de « réveil », où un utilisateur initie une interaction avec un ordinateur en utilisant des signaux vocaux (pensez: « Hey, Siri ») ou simplement en entrant dans une pièce. Les expériences mettent en évidence l’adaptabilité de MCUNet à de nombreuses applications.
« Énorme potentiel »
Les résultats de test prometteurs donnent à Han l’espoir qu’il deviendra le nouveau standard de l’industrie pour les microcontrôleurs. «Il a un énorme potentiel», dit-il.
Cette avancée « étend la frontière de la conception de réseaux neuronaux profonds encore plus loin dans le domaine du calcul des petits microcontrôleurs écoénergétiques », explique Kurt Keutzer, informaticien à l’Université de Californie à Berkeley, qui n’a pas participé aux travaux. Il ajoute que MCUNet pourrait «apporter des capacités de vision par ordinateur intelligentes même aux appareils de cuisine les plus simples, ou activer des capteurs de mouvement plus intelligents».
MCUNet pourrait également rendre les appareils IoT plus sécurisés. «Un avantage clé est la préservation de la vie privée», déclare Han. « Vous n’avez pas besoin de transmettre les données au cloud. »
L’analyse des données localement réduit le risque de vol d’informations personnelles, y compris les données de santé personnelles. Han imagine des montres intelligentes avec MCUNet qui ne détectent pas seulement le rythme cardiaque, la pression artérielle et les niveaux d’oxygène des utilisateurs, mais qui les analysent également et les aident à comprendre ces informations. MCUNet pourrait également apporter un apprentissage en profondeur aux appareils IoT dans les véhicules et les zones rurales avec un accès Internet limité.
De plus, la faible empreinte informatique de MCUNet se traduit par une faible empreinte carbone. « Notre grand rêve est une IA verte », déclare Han, ajoutant que la formation d’un grand réseau neuronal peut brûler du carbone équivalent aux émissions à vie de cinq voitures. MCUNet sur un microcontrôleur nécessiterait une petite fraction de cette énergie. «Notre objectif final est de permettre une IA minuscule et efficace avec moins de ressources informatiques, moins de ressources humaines et moins de données», déclare Han.
Réseau neuronal pour les appareils IoT à faible mémoire
MCUNet: Tiny Deep Learning sur les appareils IoT. arXiv: 2007.10319 [cs.CV] arxiv.org/abs/2007.10319
Fourni par le Massachusetts Institute of Technology
Cette histoire est republiée avec l’aimable autorisation de MIT News (web.mit.edu/newsoffice/), un site populaire qui couvre l’actualité de la recherche, de l’innovation et de l’enseignement du MIT.
Citation: Le système apporte un apprentissage en profondeur aux appareils de l’Internet des objets (13 novembre 2020) récupéré le 14 novembre 2020 sur https://techxplore.com/news/2020-11-deep-internet-devices.html
Ce document est soumis au droit d’auteur. En dehors de toute utilisation équitable à des fins d’étude ou de recherche privée, aucune partie ne peut être reproduite sans l’autorisation écrite. Le contenu est fourni seulement pour information.
Sommaire