Accueil Articles Guide de l'ingénieur sur l'IA explicable

Guide de l'ingénieur sur l'IA explicable

Mark Patrick, Mouser Électronique

Les algorithmes d'apprentissage automatique (ML) sont rapidement devenus une partie de nos vies. L'apprentissage automatique est un type d'intelligence artificielle, et il est plus courant qu'il n'y paraît. Ces algorithmes sont si omniprésents que nous ne savons même pas qu'ils sont là : dans les assistants mobiles, dans la planification des itinéraires de trafic, dans les résultats que nous obtenons lors d'une recherche sur Internet, etc. L'utilisation d'algorithmes complexes et de groupes d'algorithmes multiples interconnectés se généralise dans les secteurs industriel, médical et automobile, il est donc nécessaire de comprendre pourquoi un algorithme ML génère un certain résultat. L'IA explicable (xAI) est de plus en plus utilisée pour décrire le résultat d'un algorithme et les facteurs sous-jacents sur lesquels le résultat est basé.

Dans cet article, nous allons expliquer ce qu'est xAI et pourquoi c'est un élément essentiel pour toute nouvelle application d'apprentissage automatique.

L'IA et l'apprentissage automatique dans notre vie quotidienne

Il est difficile de déterminer exactement quand les AA sont entrés pour la première fois dans nos vies, car il n'y a jamais eu de mention ou de publication spécifique. Au contraire, il a été introduit petit à petit et est devenu une partie intrinsèque de notre interaction quotidienne avec la technologie. Pour beaucoup d'entre nous, la première expérience a été avec l'assistant mobile, comme Voice, de Google, ou Siri, d'Apple. L'AA est rapidement devenu une fonctionnalité essentielle des systèmes avancés d'aide à la conduite (SAAC), tels que le régulateur de vitesse adaptatif (ACC), l'assistance au maintien de voie (ALA) et l'identification des panneaux de signalisation. Il existe d'autres applications où AA est également utilisé, bien que nous ne le sachions peut-être pas. Par exemple, le ML est utilisé par les sociétés financières et d'assurance pour diverses fonctions de traitement de documents, et est utilisé par les systèmes de diagnostic médical pour détecter des modèles dans les résultats d'IRM et de tests.

L'apprentissage automatique est rapidement devenu une partie de nos vies, et sa capacité à permettre une prise de décision agile signifie que nous l'utilisons très souvent.

Comment un algorithme prend des décisions

Le fait que nous dépendions autant des décisions prises par les systèmes OA a récemment suscité des inquiétudes chez certains consommateurs et groupes d'éthique professionnelle.

Pour comprendre ce que fait un système d'apprentissage automatique pour arriver à un résultat ou à une probabilité, examinons brièvement son fonctionnement.

L'apprentissage automatique utilise un algorithme pour copier le processus du cerveau humain lors de la prise de décisions. Les neurones de notre cerveau ont leur équivalent dans un modèle mathématique de notre réseau de neurones qui a pour objectif de créer un algorithme. Comme notre cerveau, l'algorithme du réseau de neurones artificiels (ARN) est capable d'inférer un résultat avec un certain degré de probabilité en fonction des connaissances acquises. L'ARN comprend les choses au fur et à mesure qu'il acquiert des connaissances, comme cela se produit avec une personne dès la naissance. La formation d'un ANN est un élément fondamental de tout modèle d'apprentissage automatique. En outre, il existe différents types de réseaux de neurones pour différentes tâches. Par exemple, un réseau neuronal convolutif (CNN) est la meilleure option pour la reconnaissance d'images, tandis qu'un réseau neuronal récurrent (RNR) est le meilleur modèle pour gérer le traitement de la parole. Le réseau acquiert des connaissances en traitant une quantité gigantesque de données d'apprentissage. Dans une RCN, il faut des dizaines de milliers d'images d'animaux différents, accompagnées de leurs noms, pour faire une demande de reconnaissance d'animaux. Une multitude d'images sont nécessaires pour chaque espèce et genre, ainsi que des photographies de différentes caractéristiques et avec différents degrés d'éclairage ambiant. Après avoir formé un modèle, la phase de test commence avec des images que le système n'a pas encore traitées. Le modèle parvient à déduire un résultat basé sur la probabilité de chaque image, et cette probabilité augmente à mesure que davantage de données d'apprentissage sont introduites et que le réseau de neurones est optimisé.

Lorsque les niveaux de probabilité d'inférence dans les tâches sont suffisamment élevés, les développeurs d'applications peuvent implémenter le modèle d'apprentissage automatique.

Une application industrielle périphérique simple de l'apprentissage automatique consiste à surveiller l'état d'un moteur à travers son modèle de vibration. Si nous ajoutons un capteur de vibration (piézoélectrique, MEMS ou un microphone numérique) à un moteur industriel, nous pouvons enregistrer un ensemble détaillé de caractéristiques de vibration. Nous pouvons ajouter de la complexité aux données de formation des moteurs que nous avons retirés avec des défauts mécaniques connus, tels que des roulements usés, des problèmes d'entraînement, etc. Le modèle résultant peut surveiller en continu un moteur et fournir des informations ininterrompues sur son état. L'exécution de ce type de réseau de neurones sur un microcontrôleur à faible consommation s'appelle TinyML.

Qu'est-ce que l'intelligence artificielle explicable ?

Comme nous l'avons déjà vu, le résultat obtenu par certaines applications basées sur le ML a fait craindre que ces résultats ne soient pas impartiaux. Le débat sur la partialité présumée de l'OA et de l'IA comporte plusieurs éléments, mais l'idée que les résultats de l'OA devraient être plus transparents, justes et éthiquement et moralement droits est assez répandue. La plupart des réseaux de neurones fonctionnent comme une boîte noire : la boîte reçoit des données et produit un résultat avec, mais il n'y a aucune indication sur la façon dont le résultat est obtenu. Bref, il est de plus en plus nécessaire qu'une décision basée sur un algorithme explique le fondement de son résultat, et c'est là qu'intervient l'intelligence artificielle explicable (xAI).

Dans un article aussi court, nous ne pouvons parler que des concepts fondamentaux de xAI, mais vous trouverez les livres blancs de NXP, un fournisseur de semi-conducteurs, et de PWC, un cabinet de conseil en gestion, informatifs.

La figure 1 montre une approche globale proposée par NXP pour développer un système d'IA fiable et éthique.

approche holistique nxp
Figure 1 : Approche holistique de NXP pour une IA fiable et éthique (source : NXP).

Pour illustrer les exigences de la xAI, nous allons parler de deux applications possibles.

Contrôle des véhicules autonomes (automobile) : Imaginez monter dans un taxi avec un chauffeur humain. Si le conducteur va trop lentement, vous pouvez demander pourquoi. Ensuite, le conducteur pourrait vous dire, par exemple, que de nombreuses routes sont verglacées à cause du froid et qu'il faut être extrêmement prudent pour éviter que la voiture ne dérape. Dans un taxi autonome, cependant, ces questions ne peuvent pas être posées. La voiture peut décider de ralentir parce qu'un ensemble de systèmes d'apprentissage automatique (environnement, traction, etc.) ont déterminé que ralentir est prudent, mais il devrait y avoir une autre partie du système de véhicule autonome pour expliquer les changements de manière audible et visuelle. pour rassurer le passager.

Diagnostic de l'état du patient (soins de santé) : Imaginez un système automatisé pour accélérer l'identification des différents types de troubles cutanés. L'application reçoit une photo de l'anomalie cutanée du patient et envoie le résultat à un dermatologue pour traitement. Il existe de nombreux types de troubles cutanés : certains sont temporaires et certains sont permanents, et certains peuvent être douloureux. La gravité peut également varier, de quelque chose d'insignifiant à une maladie mortelle. En raison de toute cette variété de troubles, il est possible que le dermatologue pense qu'une analyse plus approfondie est nécessaire avant d'appliquer un traitement. Si l'application d'IA pouvait montrer la probabilité de son diagnostic et d'autres résultats de haut niveau déduits, le spécialiste pourrait prendre une décision avec plus d'informations.

Ces deux exemples nous aident à comprendre pourquoi xAI est si important. Il existe de nombreux autres dilemmes éthiques et sociétaux à prendre en compte lorsqu'il s'agit de l'utilisation de l'IA et du ML dans les services financiers ou les organisations de gouvernance.

Lors de la conception de solutions d'apprentissage automatique, voici quelques idées que les développeurs de systèmes embarqués doivent garder à l'esprit.

  • Les données d'apprentissage instancient-elles une représentation suffisamment large et diversifiée de l'élément à déduire ?
  • A-t-on vérifié que les données de test ont une représentation équitable de tous les groupes de classification et que le nombre de ceux-ci est suffisant ?
  • Faut-il expliquer le résultat inféré de l'algorithme ?
  • Le réseau de neurones peut-il donner une réponse basée sur la probabilité des résultats qu'il a exclus ?
  • Existe-t-il des limitations légales ou réglementaires concernant le traitement des données par l'application AA ?
  • L'application ML a-t-elle été protégée des ennemis qui pourraient la mettre en danger ?
  • Peut-on dire que l'application AA est fiable ?

Développement d'applications d'apprentissage automatique

Actuellement, un grand nombre de développeurs embarqués travaillent sur des projets dotés de capacités d'apprentissage automatique, comme le TinyML dont nous avons parlé au début. Cependant, AA ne se limite pas aux plates-formes périphériques. Les concepts peuvent facilement être étendus à de grandes installations industrielles. Quelques exemples de ces fonctions sont la vision par ordinateur, la surveillance des conditions ou la sécurité.

Les principaux fournisseurs de semi-conducteurs disposent désormais de microcontrôleurs et de microprocesseurs optimisés pour les applications d'apprentissage automatique. Un exemple est les processeurs d'application NXP iMX-8M Nano-Ultralite. Le Nano-Ultralite (NanoUL) fait partie de la série NXP iMX-8M Plus et comprend un quadricœur principal Arm® Cortex®-A53, fonctionnant jusqu'à 1,5 GHz, et un processeur générique Cortex Core.-M7 fonctionnant à 750 MHz pour les tâches en temps réel à faible consommation d'énergie.

L'image 2 montre les blocs les plus importants du NanoUL iMX-8M, qui comprennent un ensemble complet de connectivité, d'interfaces périphériques, de fonctions de sécurité, d'horloges, de temporisateurs, de chiens de garde et de blocs PWM. Le processeur d'application compact NanoUL mesure 11 x 11 mm.

schéma fonctionnel
Image 2 : schéma fonctionnel du NanoUL iMX-8 Plus de NXP (source : NXP).

Pour aider les développeurs d'applications avec le NanoUL iMX-8 Plus, NXP propose le kit d'évaluation i.MX 8M Nano UltraLite (voir image 3). Ce kit se compose d'une carte mère et d'une carte processeur NanoUL, et constitue une plate-forme complète sur laquelle des applications d'apprentissage automatique peuvent être développées.

kit d'évaluation nxp
Image 3 : Le kit d'évaluation NXP i.MX 8M NanoUL, avec les principaux composants mis en évidence (source : NXP).

Il existe déjà un écosystème établi de ressources, de cadres et de plates-formes d'apprentissage automatique pour le prototypage de conceptions AA, à la fois avec des microcontrôleurs périphériques basse consommation et des microprocesseurs haute puissance.

TensorFlow Lite est une variante de Tensor Flow (Google), un framework ML open source et d'entreprise, et est spécialement conçu pour les microcontrôleurs à faible consommation d'énergie et à faibles ressources. Il peut fonctionner sur les cœurs de la série Arm Cortex-M et ne prend que 18 Ko de mémoire. TensorFlow Lite offre toutes les ressources nécessaires pour déployer des modèles sur des appareils embarqués.

Edge Impulse a une philosophie plus inclusive : une solution de bout en bout qui comprend la saisie de données de formation, la sélection du meilleur modèle de réseau neuronal pour l'application, les tests et le déploiement final sur un périphérique périphérique. Edge Impulse est alimenté par TensorFlow et Keras, deux frameworks ML open source.

Les progrès de l'IA explicable

Apprendre à concevoir et à développer des applications ML embarquées est une excellente opportunité pour les ingénieurs en systèmes embarqués d'améliorer leurs connaissances. Lors de la réflexion sur les spécifications et le fonctionnement de l'application finale, il convient également d'envisager l'application de principes d'IA explicables dans la conception. L'IA explicable change notre façon de penser l'apprentissage automatique. Les développeurs de systèmes embarqués peuvent apporter des contributions importantes en créant plus de contexte, de confiance et de fiabilité dans une application.