L'Intelligence Artificielle avec MATLAB

 

Préparez-vous pour l'Intelligence Artificielle avec MATLAB

L'Intelligence Artificielle (IA) est partout. Elle n'est pas seulement utilisée dans le cadre du développement d'applications comme les assistants intelligents, la traduction automatique et la conduite automatisée, elle offre également aux ingénieurs et aux scientifiques un ensemble de techniques permettant de traiter des tâches courantes de manière innovante. Pourtant, selon de récentes estimations, nombreuses sont les entreprises qui reconnaissent la valeur et le potentiel de l'IA, mais peu sont celles qui la mettent en pratique. En effet, selon une enquête récemment menée par Gartner auprès de 3 000 entreprises, 50 % d'entre elles ont commencé à planifier l'IA, mais seules 4% l'ont mise en œuvre.1

De nombreuses organisations sont découragées par la mise en œuvre de l'IA, qu'elles considèrent comme un immense défi :

  • Elles sont convaincues que pour faire de l'IA, il faut être expert en science des données
  • Inquiétude vis-à-vis du budget requis pour le développement d'un système d'IA
  • Manque d'accès à des données labélisées et de bonne qualité
  • Coût et complexité de l'intégration de l'IA dans les algorithmes et les systèmes existants

Nous utiliserons trois exemples concrets afin de montrer comment MATLAB® facilite la prise en main de l'IA. MATLAB offre des fonctionnalités d'IA similaires à celles d'outils dédiés à l'IA comme Caffe et TensorFlow. Plus important encore, seul MATLAB vous permet d'intégrer l'IA dans l'intégralité du processus de développement d'un système complet.

Un modèle d'IA ne représente qu'une partie du processus permettant de développer un système complet

L'Intelligence Artificielle (IA) est partout. Elle n'est pas seulement utilisée dans le cadre du développement d'applications comme les assistants intelligents, la traduction automatique et la conduite automatisée, elle offre également aux ingénieurs et aux scientifiques un ensemble de techniques permettant de traiter des tâches courantes de manière innovante. Pourtant, selon de récentes estimations, nombreuses sont les entreprises qui reconnaissent la valeur et le potentiel de l'IA, mais peu sont celles qui la mettent en pratique. En effet, selon une enquête récemment menée par Gartner auprès de 3 000 entreprises, 50 % d'entre elles ont commencé à planifier l'IA, mais seules 4% l'ont mise en œuvre.1

De nombreuses organisations sont découragées par la mise en œuvre de l'IA, qu'elles considèrent comme un immense défi :

  • Elles sont convaincues que pour faire de l'IA, il faut être expert en science des données
  • Inquiétude vis-à-vis du budget requis pour le développement d'un système d'IA
  • Manque d'accès à des données labélisées et de bonne qualité
  • Coût et complexité de l'intégration de l'IA dans les algorithmes et les systèmes existants

Nous utiliserons trois exemples concrets afin de montrer comment MATLAB® facilite la prise en main de l'IA. MATLAB offre des fonctionnalités d'IA similaires à celles d'outils dédiés à l'IA comme Caffe et TensorFlow. Plus important encore, seul MATLAB vous permet d'intégrer l'IA dans l'intégralité du processus de développement d'un système complet.

Qu'est-ce que l'IA et comment est-elle conçue ?

D'après sa définition datant des années 1950 et toujours utilisée à l'heure actuelle, l'intelligence artificielle est « la capacité d'une machine à imiter le comportement humain intelligent ». L'intelligence artificielle prend tout son sens lorsque la machine ne se contente pas d'imiter, mais qu'elle égale, voire dépasse les performances humaines : elle nous offre alors la possibilité de nous décharger des tâches répétitives ou même de faire effectuer à des ordinateurs des tâches de manière plus sécurisée et efficace que ce qu'il nous est possible de faire.

Concrètement, quand on pense à l'IA aujourd'hui, le machine learning implique quasiment toujours de faire apprendre un comportement souhaité à une machine.

Avec la programmation traditionnelle, vous écrivez un programme qui traite les données de manière à atteindre le résultat souhaité.
Avec le machine learning, les étapes sont inversées : vous renseignez les données et le résultat souhaité, puis l'ordinateur écrit le programme pour vous. Les programmes de machine learning (ou plus précisément, les modèles) sont généralement des boîtes noires. Ils peuvent générer le résultat souhaité, mais au contraire d'un programme ou d'un algorithme traditionnel, ils ne sont pas composés d'une séquence d'opérations.

Aujourd'hui, il y a beaucoup d'enthousiasme autour d'un type de machine learning spécialisé appelé deep learning. Le deep learning utilise des réseaux de neurones. Le terme « deep » (profond) fait référence au nombre de couches dans le réseau : plus le nombre de couches est élevé, plus le réseau est profond. L'un des principaux avantages du deep learning est qu'il permet d'éliminer certaines étapes de traitement manuel des données et la connaissance approfondie du domaine requise par d'autres techniques.

Pour mettre les termes clés en contexte, considérez le machine learning et le deep learning comme des moyens d'atteindre l'intelligence artificielle - il s'agit des techniques les plus fréquemment appliquées à l'heure actuelle.

Notre premier exemple montre comment une scientifique a appris et appliqué le machine learning dans MATLAB pour s'attaquer à un problème qu'elle n'aurait pas pu résoudre autrement.

Utiliser le machine learning pour déterminer le croustillant des encas

Solange Sanahuja, scientifique spécialisée dans l'agroalimentaire, devait mettre au point un processus répétable pour déterminer le croustillant des en-cas. Elle a tenté de développer des modèles physiques d'en-cas, mais cela n'a pas fonctionné. D'autres scientifiques avaient eu recours au traitement du signal pour analyser le son d'en-cas croustillants, mais personne n'avait été en mesure de développer un processus susceptible de détecter les différences entre un produit absolument frais et un produit subissant un léger manque de fraîcheur.

Le Dr. Sanahuja a vu que supportait prenait en charge le machine learning et a décidé de l'essayer. Elle a mené des centaines d'expériences pour enregistrer le son et la force des en-cas croustillants à différents niveaux de fraîcheur et a enregistré les évaluations de fraîcheur émises par des goûteurs ayant préalablement été formés.

Elle a utilisé son expertise métier en tant qu'ingénieur en agroalimentaire pour identifier les caractéristiques des mesures de force, en calculant des valeurs comme la dureté et la fracturabilité. Ensuite, elle a testé différentes approches pour extraire des caractéristiques supplémentaires à partir des enregistrements sonores, avant de finalement conclure que l'analyse en bande d'octave était la plus adaptée.

L'étape suivante était nouvelle pour elle : développer un modèle basé sur les caractéristiques sélectionnées. La recherche du bon modèle peut s'avérer difficile, car les possibilités sont nombreuses. Plutôt que d'essayer manuellement chaque option, le Dr. Sanahuja a utilisé l'application Classification Learner de Statistics and Machine Learning Toolbox ™ pour essayer automatiquement tous les modèles possibles.

Elle a d'abord sélectionné les données pour l'apprentissage du modèle. Ensuite, elle a utilisé MATLAB pour entrainer tous les modèles possibles - MATLAB a généré une liste de modèles, entrainé chacun d'entre eux et produit des visualisations présentant sa précision globale.

Sur la base de ces résultats, le Dr. Sanahuja a sélectionné une machine à vecteurs de support quadratique comme meilleur modèle pour le projet. Le modèle est précis à 90-95 % et est même en mesure de détecter de légères différences dans la perception du croustillant.


Dans l'exemple suivant, les ingénieurs utilisent le deep learning pour résoudre un problème complexe de reconnaissance d'images. Entrainer un réseau de deep learning à partir de zéro nécessite de faire appel à un large volume de données. Mais en utilisant l'apprentissage par transfert, ces ingénieurs ont été en mesure d'appliquer le deep learning avec un volume de donnée réduit.

Excavation de tunnel plus efficace avec le deep learning

L'entreprise de construction japonaise Obayashi Corporation utilise une technique d'excavation appelée New Austrian Tunneling Method. Dans le cadre de cette approche, les géologues surveillent la résistance de la face d'un tunnel au fur et à mesure de l'excavation, en évaluant des mesures telles que l'espacement entre les fractures. Bien que cette méthode permette de réduire les coûts de construction, elle présente plusieurs limites. L'analyse d'un site peut prendre plusieurs heures et l'analyse ne peut donc être effectuée que de manière occasionnelle. De plus, il existe une pénurie de géologues habilités à utiliser cette technique.

Obayashi a décidé de remédier à ces limitations à l'aide du deep learning : la société a entrainé un réseau de deep learning afin de reconnaître automatiquement les différentes mesures à partir des images de la face du tunnel. Leur principal défi était de recueillir suffisamment de données. Les meilleurs réseaux de deep learning ont été entrainés à partir de plusieurs millions d'images, mais Obayashi n'en disposait que de 70.

Les géologues d'Obayashi ont d'abord labélisé trois régions pour chacune des 70 images, enregistrant les valeurs de mesures telles que l'altération sous l'action des agents atmosphériques et l'état de fracture. Ensuite, ils ont divisé ces régions labélisées en images plus petites, générant environ 3 000 images labélisées. Comme l'apprentissage d'un réseau de deep learning à partir de zéro prend beaucoup de temps, d'expertise spécialisée et requiert un nombre d'images bien plus important, ils ont utilisé l'apprentissage par transfert pour créer un réseau personnalisé basé sur AlexNet, un réseau de deep learning prédéfini.

AlexNet a été entrainé sur des millions d'images pour reconnaître les objets courants comme la nourriture, les objets domestiques et les animaux, mais, bien sûr, il ne sait rien de l'interprétation des conditions géologiques à partir d'images de la face d'un tunnel. Grâce à l'apprentissage par transfert, les ingénieurs d'Obayashi n'ont eu besoin de réentrainer qu'une petite partie d'AlexNet pour évaluer les mesures géologiques à partir d'images de la face du tunnel.

Processus d'apprentissage par transfert.

Jusqu'à présent, le réseau réentrainé d'Obayashi a atteint une précision de prévision approchant les 90 % pour l'altération sous l'action des agents atmosphériques et l'état de fracture.


Intégration de l'IA dans un système complet

Nous avons vu que grâce à MATLAB, vous pouvez créer et entrainer un modèle de machine learning ou de deep learning, même si vous ne possédez aucune expérience et que vous avez peu de données à disposition. Mais bien sûr, le travail ne s'arrête pas ici. Dans la plupart des cas, vous voudrez intégrer votre modèle au sein d'un système plus important.

Notre dernier exemple recense tous les éléments nécessaires à la conception d'un système d'intelligence artificielle et à son intégration dans un système de production.

Automatisation des opérations de remplissage des moissonneuses agricoles

Les moissonneuses de la série FR9000 de Case New Holland peuvent récolter du maïs, de l'herbe et d'autres cultures à des débits supérieurs à 300 tonnes par heure tout en découpant la récolte en morceaux de 4 mm seulement. En plus de conduire et de maintenir une vitesse optimale, les opérateurs de moissonneuse doivent diriger le flux de récolte vers une remorque et surveiller son niveau de remplissage. La nécessité de se concentrer simultanément sur les tâches de conduite et de remplissage complexifie un peu plus ces tâches déjà difficiles.

Ils n'étaient pas en mesure de reproduire ces conditions de fonctionnement complexes en laboratoire et la saison des récoltes était trop courte pour permettre un prototypage étendu sur le terrain. Au lieu de cela, ils ont importé les algorithmes d'IA dans leur modèle de système Simulink et ont effectué des simulations en boucle fermée sur ordinateur, à l'aide d'un simulateur de scène 3D pour reproduire les conditions de terrain.

Une vue simplifiéede l'environnement de simulationde de Case New Holland.

Résultat de la simulation. Gauche : flèche et remorque de la moissonneuse. En haut à droite : sorties de la caméra.
En bas à droite : distances et niveaux de remplissage.

Une fois les fonctionnalités testées à l'aide de simulations sur ordinateur, ils ont placé les ordinateurs portables intégrant la vision par ordinateur et les méthodes de contrôle dans moissonneuse récolteuse fonctionnelle, en ajustant les algorithmes d'intelligence artificielle en temps réel en fonction des commentaires de l'opérateur.

Ils ont généré du code C de production à partir du modèle du contrôleur et l'ont déployé sur un processeur ARM®9, qui exécute le logiciel du tableau de bord de la moissonneuse.

Les opérateurs ont indiqué que le système fonctionnait exactement de la même façon que lorsqu'il avait été exécuté sur l'ordinateur portable. Le système IntelliFill™ New Holland est désormais en production sur les moissonneuses de la série FR9000.


Résumé

Avec MATLAB, vous êtes paré pour l'IA même si vous n'avez aucune expérience en matière de machine learning. Vous pouvez avoir recours à des applications pour tester rapidement différentes approches et utiliser votre expertise métier pour préparer les données.

Si vous ne parvenez pas à identifier les caractéristiques dans vos données, vous pouvez utiliser le deep learning, qui les identifie pour vous dans le processus d'apprentissage. Le deep learning nécessite un grand nombre de données, mais vous pouvez utiliser l'apprentissage par transfert pour étendre un réseau existant afin de travailler avec les données à votre disposition.

Enfin, vous pouvez déployer le modèle en tant que partie d'un système d'intelligence artificielle complet sur un dispositif embarqué.

1 « Toute la vérité sur l'intelligence artificielle. » Présenté lors du Gartner Data & Analytics Summit, mars 2018.