


Un petit apprentissage automatique promet d'intégrer l'apprentissage profond dans les microprocesseurs
Traducteur | Zhu Xianzhong
Critique | Liang Ce Sun Shujuan
Le succès initial des modèles d'apprentissage en profondeur a été attribué aux grands serveurs dotés de grandes quantités de mémoire et de clusters GPU. La promesse du deep learning a donné naissance à une industrie fournissant des services de cloud computing pour les réseaux neuronaux profonds. En conséquence, les grands réseaux de neurones fonctionnant sur des ressources cloud pratiquement illimitées sont devenus extrêmement populaires, en particulier pour les entreprises technologiques disposant de budgets importants.
Mais en même temps, une autre tendance opposée est également apparue ces dernières années, à savoir la création de modèles d'apprentissage automatique pour les appareils de pointe. Connus sous le nom de Tiny Machine Learning (TinyML), ces modèles fonctionnent sur des appareils dotés d'une mémoire et d'une puissance de traitement limitées, ainsi que d'une connectivité Internet inexistante ou limitée.
Un dernier effort de recherche mené conjointement par IBM et le Massachusetts Institute of Technology (MIT) résout le problème de goulot d'étranglement de la mémoire des réseaux de neurones convolutifs (CNN). Il s’agit d’une architecture d’apprentissage profond particulièrement importante pour les applications de vision par ordinateur. Un modèle appelé McUnETV2, capable d'exécuter des réseaux de neurones convolutifs (CNN) sur des microcontrôleurs à faible mémoire et à faible consommation, est détaillé dans un article présenté lors de la conférence NeurIPS 2021.
1. Pourquoi TinyML (TinyML) ?
Bien que le cloud deep learning soit très réussi, il ne convient pas à toutes les situations. En fait, de nombreuses applications nécessitent souvent que les tâches d'inférence soient effectuées directement sur le périphérique matériel. Par exemple, dans certains environnements de mission tels que le sauvetage par drone, la connectivité Internet n'est pas garantie. Dans d’autres domaines, tels que les soins de santé, les exigences en matière de confidentialité et les contraintes réglementaires rendent également difficile l’envoi de données vers le cloud pour traitement. Pour les applications qui nécessitent une inférence de langage machine en temps réel, la latence provoquée par le cloud computing aller-retour est encore plus prohibitive.
Toutes les conditions ci-dessus doivent être remplies pour rendre les dispositifs d’apprentissage automatique attractifs sur le plan scientifique et commercial. Par exemple, les téléphones iPhone disposent désormais de nombreuses applications qui exécutent la reconnaissance faciale et la reconnaissance vocale, et les téléphones Android peuvent également exécuter directement un logiciel de traduction. De plus, Apple Watch peut déjà utiliser des algorithmes d'apprentissage automatique pour détecter les mouvements et les modèles ECG (Remarque : ECG est l'abréviation d'électrocardiogramme, également connu sous le nom d'ECG. Il s'agit d'une expérience de test utilisée pour enregistrer les nœuds temporels de la séquence de signaux électriques qui déclenche le rythme cardiaque et l'intensité. En analysant les images ECG, les médecins peuvent mieux diagnostiquer si la fréquence cardiaque est normale et s'il y a des problèmes de fonction cardiaque).
Les modèles ML mentionnés ci-dessus sur ces appareils sont rendus possibles en partie par des avancées technologiques qui permettent aux réseaux de neurones d'être compacts et plus efficaces en termes de calcul et de stockage. Dans le même temps, grâce aux progrès de la technologie matérielle, la mise en œuvre de tels modèles ML dans des environnements mobiles est également devenue possible. Nos smartphones et appareils portables disposent désormais de plus de puissance de calcul que les serveurs hautes performances d'il y a 30 ans, et certains disposent même de coprocesseurs spécialisés pour l'inférence du langage machine.
TinyML va encore plus loin dans l'IA de pointe, en permettant d'exécuter des modèles d'apprentissage profond sur des microcontrôleurs (MCU), même si les microcontrôleurs sont plus limités en ressources que les petits ordinateurs que nous transportons dans nos poches et à nos poignets.
Les microcontrôleurs, en revanche, sont peu coûteux, se vendant à moins de 0,50 $ en moyenne, et ils sont presque partout et peuvent être intégrés dans tout, des industries grand public aux équipements industriels. Dans le même temps, ils ne disposent pas des ressources que l’on trouve dans les appareils informatiques à usage général, et la plupart ne disposent pas de système d’exploitation. Le processeur du microcontrôleur est petit, avec seulement quelques centaines de kilo-octets de mémoire basse consommation (SRAM) et quelques mégaoctets de stockage, et ne dispose d'aucun équipement réseau. La plupart d’entre eux ne disposent pas d’alimentation secteur et doivent utiliser depuis de nombreuses années des piles bouton. Par conséquent, l’installation de modèles d’apprentissage profond sur les MCU peut ouvrir de nouvelles voies pour de nombreuses applications.
2. Goulot d'étranglement de la mémoire dans les réseaux de neurones convolutifs
Architecture des réseaux de neurones convolutifs (CNN)
Plusieurs efforts ont été déployés pour réduire les réseaux de neurones profonds à une taille adaptée aux petits appareils informatiques à mémoire. Cependant, la plupart de ces efforts se concentrent sur la réduction du nombre de paramètres dans les modèles d’apprentissage profond. Par exemple, le « élagage » est un algorithme d'optimisation populaire qui réduit les réseaux de neurones en supprimant les paramètres sans importance de la sortie du modèle.
Le problème avec les méthodes d'élagage est qu'elles ne peuvent pas résoudre le goulot d'étranglement de la mémoire des réseaux de neurones. Les implémentations standard de bibliothèques d'apprentissage profond nécessitent que l'intégralité du mappage de la couche réseau et de la couche d'activation soit chargée en mémoire. Malheureusement, les méthodes d'optimisation classiques n'apportent aucun changement significatif aux premières couches informatiques des réseaux de neurones, en particulier dans les réseaux de neurones convolutifs.
Cela provoque un déséquilibre dans la taille des différentes couches du réseau et conduit au problème du « pic de mémoire » : même si le réseau devient plus léger après l'élagage, l'appareil qui l'exécute doit avoir la même mémoire que la plus grande couche. Par exemple, dans le modèle populaire TinyML MobileNetV2, le calcul des premières couches atteint un pic de mémoire d'environ 1,4 Mo, tandis que les couches ultérieures ont une très faible empreinte mémoire. Pour exécuter le modèle, l'appareil aura besoin de la même quantité de mémoire que les pics du modèle. Étant donné que la plupart des MCU ne disposent pas de plus de quelques centaines de Ko de mémoire, ils ne peuvent pas exécuter de versions standard de MobileNetV2.
MobileNetV2 est un réseau neuronal optimisé pour les appareils de périphérie, mais sa mémoire maximale est d'environ 1,4 Mo, ce qui le rend inaccessible à de nombreux microcontrôleurs.
Une autre façon d'optimiser un réseau de neurones consiste à réduire la taille d'entrée du modèle. Les images d'entrée plus petites nécessitent des CNN plus petits pour effectuer des tâches de prédiction. Cependant, réduire la taille des entrées présente ses propres défis et n'est pas efficace pour toutes les tâches de vision par ordinateur. Par exemple, les modèles d’apprentissage profond de détection d’objets sont très sensibles à la taille de l’image et leurs performances se dégradent rapidement lorsque la résolution d’entrée diminue.
Il est facile de voir sur la figure ci-dessus que le modèle ML de classification d'images (ligne orange) est plus facile à réduire la résolution que le modèle de détection de cible (ligne bleue).
3. Inférence basée sur le patch MCUNetV2
Pour résoudre le problème de goulot d'étranglement de la mémoire des réseaux de neurones convolutifs, les chercheurs ont créé une architecture d'apprentissage en profondeur appelée MCUNetV2 qui peut ajuster sa bande passante mémoire à la limite du microcontrôleur. MCUNetV2 a été développé sur la base des résultats précédents du même groupe de recherche scientifique, qui ont été acceptés et soumis avec succès à la conférence NeurIPS 2020.
L'idée principale derrière MCUNetV2 est « l'inférence basée sur les correctifs », une technique qui réduit l'empreinte mémoire d'un CNN sans réduire sa précision. Au lieu de charger une couche entière de réseau neuronal en mémoire, MCUNetV2 charge et calcule des régions plus petites ou « patchs » de la couche à tout moment. Il parcourt ensuite la couche bloc par bloc et combine ces valeurs jusqu'à ce qu'il calcule la partie d'activation de la couche entière.
Le côté gauche de la figure montre la situation dans laquelle le système d'apprentissage profond classique calcule une couche entière, tandis que le côté droit montre comment MCUNetV2 calcule un patch à la fois, réduisant ainsi les besoins en mémoire pour l'inférence DL.
Étant donné que MCUNetV2 n'a besoin de stocker qu'un seul neurone à la fois, il réduit considérablement les pics de mémoire sans réduire la résolution ou les paramètres du modèle. Les expériences des chercheurs montrent que MCUNetV2 peut réduire le pic de mémoire à un huitième.
MCUNetV2 peut réduire le pic de mémoire des modèles d'apprentissage profond à un huitième.
L'inférence basée sur les correctifs entraîne également un compromis en matière de surcharge de calcul tout en économisant de la mémoire. Des chercheurs du Massachusetts Institute of Technology (MIT) et d'IBM ont découvert que le calcul global du réseau peut augmenter de 10 à 17 % dans différentes architectures, ce qui ne s'applique évidemment pas aux microcontrôleurs basse consommation.
Afin de surmonter cette limitation, les chercheurs ont redistribué les « champs récepteurs » de différents blocs du réseau neuronal (Remarque : dans CNN, un pixel dans la carte caractéristique de la nième couche correspond au nombre de pixels dans l'image d'entrée. de la première couche, c'est-à-dire qu'il s'agit du champ récepteur de cette couche (appelé « RF »). Dans CNN, le champ récepteur est la zone de l’image qui peut être traitée à tout moment. Des champs récepteurs plus grands nécessitent des patchs plus grands et un chevauchement entre les patchs. Bien entendu, cela entraîne une surcharge de calcul plus élevée. En réduisant le champ de réception dans les blocs initiaux du réseau et en l’élargissant dans les étapes ultérieures, les chercheurs ont pu réduire la charge de calcul de plus des deux tiers.
La redistribution des champs récepteurs permet de réduire la surcharge de calcul de MCUNetV2 de plus des deux tiers
Enfin, les chercheurs ont observé que le réglage de MCUNetV2 dépend en grande partie de l'architecture du modèle ML, de l'application et de la mémoire et de la capacité de stockage. de l’appareil cible. Pour éviter de régler manuellement les modèles d'apprentissage profond pour chaque appareil et application, les chercheurs ont utilisé la « recherche d'algorithmes neuronaux », un processus qui utilise l'apprentissage automatique pour optimiser automatiquement la structure du réseau neuronal et la planification des inférences.
Les chercheurs ont testé des architectures d'apprentissage profond dans différentes applications sur plusieurs modèles de microcontrôleurs dotés de capacités de mémoire plus petites. Les résultats montrent que MCUNetV2 surpasse les autres technologies TinyML et est capable d'atteindre une plus grande précision dans la classification des images et la détection d'objets avec des besoins en mémoire et une latence plus faibles.
Comme le montre la figure ci-dessous, les chercheurs utilisent MCUNetV2 avec la détection de personnes en temps réel, les mots d'éveil visuels et la détection de visage/masque.
Note du traducteur : ce qui est montré ici n'est qu'une capture d'écran de la vidéo utilisant MCUNetV2 affichée sur le site Web youtube.com.
4. Applications TinyML
Dans un article de 2018 intitulé Pourquoi l'avenir de l'apprentissage automatique est minuscule, l'ingénieur logiciel Pete Warden pense que l'apprentissage automatique sur MCU est extrêmement important. "Je pense que l'apprentissage automatique peut fonctionner sur de petites puces à faible consommation, et cette combinaison résoudra un grand nombre de problèmes que nous ne pouvons pas résoudre actuellement", a écrit Worden
Grâce aux progrès des capteurs et des processeurs, nous obtenons des données. Les capacités du monde entier sont grandement améliorées. Mais notre capacité à traiter et à utiliser ces données via des modèles d'apprentissage automatique est limitée par la connectivité réseau et l'accès aux serveurs cloud. Comme l'a dit Worden, les processeurs et les capteurs sont plus économes en énergie que les émetteurs radio comme le Bluetooth et le WiFi.
Worden a écrit : "Le processus physique de déplacement des données semble nécessiter beaucoup d'énergie. Il semble que ce soit une règle selon laquelle l'énergie requise pour une opération est proportionnelle à la distance d'envoi des bits. L'envoi du processeur et du capteur nécessite uniquement quelques millimètres pour envoyer le nombre de bits et c'est bon marché, alors que la transmission radio nécessite plusieurs mètres ou plus pour envoyer quelques bits de données, et c'est cher... Il est clair qu'il y a un énorme marché potentiel qui attend d'être ouvert avec La bonne technologie. Nous avons besoin d'une technologie capable de fonctionner avec des microcontrôleurs bon marché, de consommer très peu d'énergie, de s'appuyer sur le calcul plutôt que sur la radio et de transformer toutes nos données de capteurs gaspillées en données utiles. C'est ici que se situe l'apprentissage automatique, et en particulier. l'apprentissage profond, comblera le vide. "
Grâce aux progrès de MCUNetV2 et TinyML dans d'autres domaines également, la prédiction de Worden deviendra bientôt une réalité. Dans les années à venir, nous pouvons nous attendre à ce que TinyML se retrouve dans des milliards de microcontrôleurs dans les maisons, les bureaux, les hôpitaux, les usines, les fermes, les routes, les ponts et bien plus encore, permettant potentiellement des applications qui n'étaient tout simplement pas possibles auparavant.
Lien original : https://thenextweb.com/news/tinyml-deep-learning-microcontrollers-syndication
Introduction du traducteur
Zhu Xianzhong, rédacteur de la communauté 51CTO, blogueur expert 51CTO, conférencier, professeur d'informatique dans une université de Weifang , Un vétéran dans le monde de la programmation indépendante. Au début, il s'est concentré sur diverses technologies Microsoft (compilé trois livres techniques liés à ASP.NET AJX et Cocos 2d-X. Au cours des dix dernières années, il s'est consacré au monde open source (familier avec les logiciels complets populaires). technologie de développement Web de pile) et découvert OneNet/AliOS+Arduino/ESP32/Raspberry Pi et d'autres technologies de développement IoT et Scala+Hadoop+Spark+Flink et d'autres technologies de développement Big Data.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dans les domaines de l’apprentissage automatique et de la science des données, l’interprétabilité des modèles a toujours été au centre des préoccupations des chercheurs et des praticiens. Avec l'application généralisée de modèles complexes tels que l'apprentissage profond et les méthodes d'ensemble, la compréhension du processus décisionnel du modèle est devenue particulièrement importante. Explainable AI|XAI contribue à renforcer la confiance dans les modèles d'apprentissage automatique en augmentant la transparence du modèle. L'amélioration de la transparence des modèles peut être obtenue grâce à des méthodes telles que l'utilisation généralisée de plusieurs modèles complexes, ainsi que les processus décisionnels utilisés pour expliquer les modèles. Ces méthodes incluent l'analyse de l'importance des caractéristiques, l'estimation de l'intervalle de prédiction du modèle, les algorithmes d'interprétabilité locale, etc. L'analyse de l'importance des fonctionnalités peut expliquer le processus de prise de décision du modèle en évaluant le degré d'influence du modèle sur les fonctionnalités d'entrée. Estimation de l’intervalle de prédiction du modèle

Écrit précédemment, nous discutons aujourd'hui de la manière dont la technologie d'apprentissage profond peut améliorer les performances du SLAM (localisation et cartographie simultanées) basé sur la vision dans des environnements complexes. En combinant des méthodes d'extraction de caractéristiques approfondies et de correspondance de profondeur, nous introduisons ici un système SLAM visuel hybride polyvalent conçu pour améliorer l'adaptation dans des scénarios difficiles tels que des conditions de faible luminosité, un éclairage dynamique, des zones faiblement texturées et une gigue importante. Notre système prend en charge plusieurs modes, notamment les configurations étendues monoculaire, stéréo, monoculaire-inertielle et stéréo-inertielle. En outre, il analyse également comment combiner le SLAM visuel avec des méthodes d’apprentissage profond pour inspirer d’autres recherches. Grâce à des expériences approfondies sur des ensembles de données publiques et des données auto-échantillonnées, nous démontrons la supériorité du SL-SLAM en termes de précision de positionnement et de robustesse du suivi.

Cet article présentera comment identifier efficacement le surajustement et le sous-apprentissage dans les modèles d'apprentissage automatique grâce à des courbes d'apprentissage. Sous-ajustement et surajustement 1. Surajustement Si un modèle est surentraîné sur les données de sorte qu'il en tire du bruit, alors on dit que le modèle est en surajustement. Un modèle surajusté apprend chaque exemple si parfaitement qu'il classera mal un exemple inédit/inédit. Pour un modèle surajusté, nous obtiendrons un score d'ensemble d'entraînement parfait/presque parfait et un score d'ensemble/test de validation épouvantable. Légèrement modifié : "Cause du surajustement : utilisez un modèle complexe pour résoudre un problème simple et extraire le bruit des données. Parce qu'un petit ensemble de données en tant qu'ensemble d'entraînement peut ne pas représenter la représentation correcte de toutes les données."

Dans les années 1950, l’intelligence artificielle (IA) est née. C’est à ce moment-là que les chercheurs ont découvert que les machines pouvaient effectuer des tâches similaires à celles des humains, comme penser. Plus tard, dans les années 1960, le Département américain de la Défense a financé l’intelligence artificielle et créé des laboratoires pour poursuivre son développement. Les chercheurs trouvent des applications à l’intelligence artificielle dans de nombreux domaines, comme l’exploration spatiale et la survie dans des environnements extrêmes. L'exploration spatiale est l'étude de l'univers, qui couvre l'ensemble de l'univers au-delà de la terre. L’espace est classé comme environnement extrême car ses conditions sont différentes de celles de la Terre. Pour survivre dans l’espace, de nombreux facteurs doivent être pris en compte et des précautions doivent être prises. Les scientifiques et les chercheurs pensent qu'explorer l'espace et comprendre l'état actuel de tout peut aider à comprendre le fonctionnement de l'univers et à se préparer à d'éventuelles crises environnementales.

Les défis courants rencontrés par les algorithmes d'apprentissage automatique en C++ incluent la gestion de la mémoire, le multithread, l'optimisation des performances et la maintenabilité. Les solutions incluent l'utilisation de pointeurs intelligents, de bibliothèques de threads modernes, d'instructions SIMD et de bibliothèques tierces, ainsi que le respect des directives de style de codage et l'utilisation d'outils d'automatisation. Des cas pratiques montrent comment utiliser la bibliothèque Eigen pour implémenter des algorithmes de régression linéaire, gérer efficacement la mémoire et utiliser des opérations matricielles hautes performances.

Traducteur | Revu par Li Rui | Chonglou Les modèles d'intelligence artificielle (IA) et d'apprentissage automatique (ML) deviennent aujourd'hui de plus en plus complexes, et le résultat produit par ces modèles est une boîte noire – impossible à expliquer aux parties prenantes. L'IA explicable (XAI) vise à résoudre ce problème en permettant aux parties prenantes de comprendre comment fonctionnent ces modèles, en s'assurant qu'elles comprennent comment ces modèles prennent réellement des décisions et en garantissant la transparence des systèmes d'IA, la confiance et la responsabilité pour résoudre ce problème. Cet article explore diverses techniques d'intelligence artificielle explicable (XAI) pour illustrer leurs principes sous-jacents. Plusieurs raisons pour lesquelles l’IA explicable est cruciale Confiance et transparence : pour que les systèmes d’IA soient largement acceptés et fiables, les utilisateurs doivent comprendre comment les décisions sont prises

L'apprentissage automatique est une branche importante de l'intelligence artificielle qui donne aux ordinateurs la possibilité d'apprendre à partir de données et d'améliorer leurs capacités sans être explicitement programmés. L'apprentissage automatique a un large éventail d'applications dans divers domaines, de la reconnaissance d'images et du traitement du langage naturel aux systèmes de recommandation et à la détection des fraudes, et il change notre façon de vivre. Il existe de nombreuses méthodes et théories différentes dans le domaine de l'apprentissage automatique, parmi lesquelles les cinq méthodes les plus influentes sont appelées les « Cinq écoles d'apprentissage automatique ». Les cinq grandes écoles sont l’école symbolique, l’école connexionniste, l’école évolutionniste, l’école bayésienne et l’école analogique. 1. Le symbolisme, également connu sous le nom de symbolisme, met l'accent sur l'utilisation de symboles pour le raisonnement logique et l'expression des connaissances. Cette école de pensée estime que l'apprentissage est un processus de déduction inversée, à travers les connaissances existantes.

MetaFAIR s'est associé à Harvard pour fournir un nouveau cadre de recherche permettant d'optimiser le biais de données généré lors de l'apprentissage automatique à grande échelle. On sait que la formation de grands modèles de langage prend souvent des mois et utilise des centaines, voire des milliers de GPU. En prenant comme exemple le modèle LLaMA270B, sa formation nécessite un total de 1 720 320 heures GPU. La formation de grands modèles présente des défis systémiques uniques en raison de l’ampleur et de la complexité de ces charges de travail. Récemment, de nombreuses institutions ont signalé une instabilité dans le processus de formation lors de la formation des modèles d'IA générative SOTA. Elles apparaissent généralement sous la forme de pics de pertes. Par exemple, le modèle PaLM de Google a connu jusqu'à 20 pics de pertes au cours du processus de formation. Le biais numérique est à l'origine de cette imprécision de la formation,
