Intelligence artificielle (IA)

 

Qu'est-ce que l'intelligence artificielle (IA) ?

3 choses à savoir

L'intelligence artificielle, ou IA, est une simulation du comportement de l’intelligence humaine. Il s'agit d'un ordinateur ou d'un système conçu pour percevoir son environnement, comprendre ses comportements et agir. On peut par exemple citer les voitures autonomes : ces systèmes intègrent des algorithmes d'IA, notamment de Machine Learning et de Deep Learning, dans des environnements complexes qui permettent l'automatisation.

L'IA : pourquoi c’est important ?

Selon les prévisions de McKinsey, à l'horizon 2030, l'IA devrait contribuer à l'économie mondiale à hauteur de 13 000 milliards de dollars.

Ceci s'explique par le fait que l'IA est en train de transformer l'ingénierie dans la quasi-totalité des industries et des domaines d'application. Au-delà de la conduite autonome, l'IA est également utilisée dans des modèles qui prédisent les pannes des machines en alertant sur les besoins de maintenance, mais aussi pour l'analyse des données de santé et de capteurs, par exemple dans les systèmes de surveillance des patients, ou encore dans des systèmes robotiques qui apprennent par l'expérience.

Applications courantes de l'IA.

Applications courantes de l'IA.

Composants clés d'un workflow d'IA

Un processus de développement d'IA réussi nécessite bien plus que l'apprentissage d'un modèle d'IA, en particulier dans les systèmes basés sur de l’IA qui prennent des décisions et agissent en conséquence. Un processus d'IA solide implique la préparation des données, la création d'un modèle, le design du système sur lequel le modèle s'exécutera et le déploiement sur le hardware ou les systèmes d'entreprise.

Les étapes du workflow d'IA.

Les étapes du workflow d'IA.

Préparation des données

Prendre des données brutes et les rendre utiles pour construire un modèle précis, efficace et significatif est une étape cruciale. En fait, le plus gros du travail requis tient dans cette étape.

La préparation des données nécessite une expertise métier, comme par exemple un savoir-faire dans les signaux de parole et audio, la navigation et la fusion de capteurs, le traitement d'images et de vidéos, ainsi que la technologie radar et lidar. Les ingénieurs dans ces domaines sont les mieux placés pour déterminer les caractéristiques essentielles dans les données, celles qui sont sans importance, ainsi que les événements rares à prendre en compte.

L'IA implique par ailleurs d'énormes quantités de données. Or, la labélisation des données et des images est une tâche fastidieuse et chronophage. Parfois, vous ne disposez pas de suffisamment de données, en particulier pour les systèmes critiques. La génération de données synthétiques précises peut améliorer vos jeux de données. Dans les deux cas, l'automatisation est essentielle pour le respect des délais.

Modélisation de l'IA

Les clés du succès dans la modélisation d'un système d'IA sont les suivantes :

  • Commencez avec un ensemble complet d'algorithmes et de modèles prédéfinis pour le Machine Learning, le Deep Learning, le Reinforcement Learning et d'autres techniques d'IA.
  • Utilisez des applications interactives pour optimiser la productivité du design et de l'analyse.
  • Travaillez dans un écosystème ouvert permettant d'utiliser ensemble des outils d'IA tels que MATLAB®, PyTorch et TensorFlow™.
  • Gérez la complexité des calculs en les accélérant avec des GPU et en utilisant des serveurs parallèles, le cloud et des data centers.

Design du système

Les modèles d'IA existent au sein d'un système complet. Dans les systèmes de conduite autonome, l'IA mise en œuvre pour la perception doit s'intégrer avec les algorithmes de localisation et de planification de trajectoire ainsi qu'avec les commandes de freinage, d'accélération et de changement de direction.

L’IA utilisée dans un scénario de conduite autonome.

L’IA utilisée dans un scénario de conduite autonome.

Considérons l'IA utilisée dans la maintenance prédictive des parcs d'éoliennes ou pour les commandes du pilote automatique que l'on trouve sur les avions actuels

Ces systèmes complexes contenant de l’IA nécessitent des activités d'intégration et de simulation.

Déploiement

Les modèles d'IA doivent être déployés sur des CPU, des GPU et/ou des FPGA dans votre produit final, répartis sur des dispositifs embarqués ou périphériques, sur un système d'entreprise ou encore sur le cloud. Les modèles d'IA exécutés sur dispositif embarqué ou périphérique délivrent les résultats requis sur le terrain rapidement, tandis que ceux qui s'exécutent sur des systèmes d'entreprise et sur le cloud calculent leurs résultats avec des données collectées depuis de multiples dispositifs. Souvent, les modèles d'IA sont déployés sur une combinaison de ces systèmes.

Le processus de déploiement est accéléré lorsque vous générez le code à partir de vos modèles et que vous ciblez votre hardware. En utilisant des techniques d'optimisation de génération de code et des bibliothèques optimisées pour ce hardware, vous pouvez améliorer votre code pour l'adapter au profil basse consommation requis par les dispositifs embarqués et périphériques ou bien aux exigences de haute performance des systèmes d'entreprise et du cloud.

Développer des systèmes contenant de l’IA avec MATLAB

L'IA connaît une pénurie de compétences bien connue. Les ingénieurs et scientifiques qui utilisent MATLAB ou Simulink® disposent néanmoins du savoir-faire et des outils requis pour créer des systèmes pilotés par l’IA dans leurs domaines d'expertise.

Prétraitement des données avec MATLAB

Passez moins de temps à prétraiter les données. Les types de données et les applications MATLAB réduisent de façon significative le temps nécessaire pour prétraiter les séries temporelles issues de capteurs, les images et les données texte. Les fonctions haut niveau simplifient la synchronisation des séries temporelles disparates, le remplacement des valeurs aberrantes par des valeurs interpolées, le filtrage des signaux bruités, la segmentation d'un texte brut en mots, et bien plus encore. Avec les graphiques et le Live Editor, vous pouvez visualiser vos données rapidement afin de comprendre les tendances et identifier les problèmes de qualité.

Les applications MATLAB automatisent la labélisation de la vérité-terrain des données image, vidéo et audio.

Pour tester vos algorithmes avant que les données des capteurs ou autres équipements ne soient disponibles, vous pouvez générer des données synthétiques depuis Simulink. Cette approche est couramment utilisée dans les systèmes de conduite autonome tels que le régulateur de vitesse adaptatif, l'aide au maintien de voie et le freinage d'urgence automatique.

Utiliser une application de labélisation pour les workflows de Deep Learning comme la segmentation sémantique.

Utiliser une application de labélisation pour les workflows de Deep Learning comme la segmentation sémantique.

Interopérabilité avec différents environnements de Deep Learning

Modélisation de l'IA avec MATLAB

Les techniques de modélisation de l'IA varient selon l'application.

Machine Learning

Les utilisateurs de MATLAB ont déployé des milliers d’applications pour la maintenance prédictive, l’analyse des données de capteurs, la finance et les télécommunications. Statistics and Machine Learning Toolbox simplifie les tâches les plus complexes du Machine Learning avec des applications dédiées pour l'apprentissage et la comparaison de modèles, des techniques avancées de traitement du signal et d’extraction de caractéristiques, et des algorithmes de classification, de régression et de clustering pour l’apprentissage supervisé et non supervisé.

Le fabricant de semi-conducteurs ASML s'est appuyé sur les techniques proposées par le Machine Learning pour créer une technologie de métrologie virtuelle visant à améliorer l'alignement des superpositions dans les structures complexes qui composent une puce. « En tant qu'ingénieur procédés, je n'avais aucune expérience ni des réseaux de neurones ni du Machine Learning. J'ai passé en revue les exemples fournis par MATLAB pour trouver les meilleures fonctions de Machine Learning pour notre usage en métrologie virtuelle. Je n'aurais pas pu faire ce travail en C ou en Python. J'aurais mis trop de temps à identifier, valider et intégrer les bons packages », indique Emil Schmitt-Weaver.

Les modèles MATLAB s’exécutent par ailleurs plus rapidement que l'open source pour la plupart des calculs statistiques et de Machine Learning.

L'application Classification Learner vous permet d'essayer différents classificateurs et d'identifier celui qui est le plus adapté à votre jeu de données.

L'application Classification Learner vous permet d'essayer différents classificateurs et d'identifier celui qui est le plus adapté à votre jeu de données.

Deep Learning

Les ingénieurs utilisent les fonctionnalités de Deep Learning de MATLAB pour la conduite autonome, la Computer Vision, le traitement de la parole et du langage naturel, ainsi que de nombreuses autres applications. Deep Learning Toolbox™ vous permet de créer, d'interconnecter, d'entraîner et d'évaluer les couches d'un réseau neuronal profond. Les exemples et les réseaux pré-entraînés facilitent l'utilisation de MATLAB pour le Deep Learning, même sans connaissance des algorithmes avancés de Computer Vision ou des réseaux neuronaux.

MATLAB permet aux ingénieurs de travailler ensemble dans différents environnements de Deep Learning. Grâce au support d'ONNX, MATLAB permet d'importer et d'exporter les derniers modèles depuis et vers d'autres environnements supportés, y compris TensorFlow.

L'application Deep Network Designer, qui vous permet de créer, visualiser et modifier des réseaux de Deep Learning.

L'application Deep Network Designer, qui vous permet de créer, visualiser et modifier des réseaux de Deep Learning.

Reinforcement Learning

Dans les systèmes de contrôle qui bénéficient d'un apprentissage basé sur une récompense cumulative, le Reinforcement Learning est une technique idéale. Reinforcement Learning Toolbox™ vous permet d'entraîner des politiques à l'aide de DQN, A2C, DDPG et d'autres algorithmes de Reinforcement Learning. Vous pouvez utiliser ces politiques pour implémenter des contrôleurs et des algorithmes décisionnels pour des systèmes complexes comme des robots ou des systèmes autonomes. Vous pouvez implémenter les politiques à l’aide de réseaux neuronaux profonds, de polynômes, ou de lookup tables.

UtiliserReinforcement Learning Toolbox pour concevoir et entraîner des politiques.

Utiliser Reinforcement Learning Toolbox pour concevoir et entraîner des politiques.

Traitement du langage naturel

Les modèles de traitement du langage naturel sont couramment utilisés pour l'analyse des sentiments, la maintenance prédictive ou encore la modélisation thématique. Text Analytics Toolbox™ contient des algorithmes et des fonctions de visualisation pour le prétraitement, l'analyse et la modélisation de données texte. Cette toolbox vous permet de traiter du texte brut extrait de sources diverses, comme les logs d'un équipement, des fils d'actualités, des sondages, des rapports d'opérateur ou encore les réseaux sociaux.

Avec des techniques de Machine Learning telles que le LSA, le LDA et le word embedding, vous pouvez identifier des groupes et créer des variables à partir de jeux de données texte de grande dimension. Les variables créées avec Text Analytics Toolbox peuvent être combinées avec des variables provenant d'autres sources de données pour créer des modèles de Machine Learning tirant parti de données texte, numériques et autres.

Identification de thèmes dans les données d'un rapport météorologique.

Identifier des thèmes dans les données d'un rapport météorologique.

Design du système

Les systèmes complexes d’IA doivent s'intégrer avec d'autres algorithmes. Le design du système et la simulation sont importants dans la mesure où le système global a un impact sur l'efficacité des modèles d'IA. Les ingénieurs utilisent Simulink pour accélérer les itérations de design et les tests en boucle fermée.

Par exemple, dans un système de conduite autonome, vous utilisez l'IA et la simulation pour concevoir le contrôleur pour le freinage, l'accélération et les changements de direction. Vous utilisez Simulink pour concevoir et simuler le modèle du système, et MATLAB pour le modèle d'IA. Vous pouvez utiliser un logiciel comme Unreal Engine pour synthétiser l'image idéale de la caméra afin d'alimenter votre modèle d'IA.

Voyage, qui développe des taxis autonomes pour les résidences seniors, a déployé un véhicule autonome de niveau 3 en moins de trois mois. Le modèle intégré a permis d’accélérer le processus, depuis l'idée jusqu'aux essais sur route. Simulink leur a permis de tester des situations dangereuses en toute sécurité.

Simulink vous permet également de générer des données de défaillance à partir de conditions de défaillance connues. Dans un parc d'éoliennes, vous pouvez ajouter les données de défaillance synthétiques aux données mesurées par les éoliennes. Vous pouvez affiner votre modèle de système pour obtenir un prédicteur précis des futures défaillances de l'équipement.

Application de contrôle de suivi de voie avec perception de caméra monoculaire, créée avec MATLAB et Simulink.

Application de contrôle de suivi de voie avec perception de caméra monoculaire, créée avec MATLAB et Simulink.

Utiliser des données de défaillance synthétiques issues du modèle avec les données mesurées pour créer un prédicteur précis des défaillances futures.

Utiliser des données de défaillance synthétiques issues du modèle avec les données mesurées pour créer un prédicteur précis des défaillances futures.

Déploiement

Les modèles d'IA dans MATLAB peuvent être déployés sur des dispositifs ou des cartes embarqués, des dispositifs périphériques sur le terrain, des systèmes d'entreprise ou sur le cloud.

Pour les modèles de Deep Learning, vous pouvez utiliser GPU Coder™ pour générer et déployer des GPU NVIDIA® CUDA®, ou générer du code C avec MATLAB Coder™ pour les déploiements sur cartes Intel® et ARM®. Les bibliothèques optimisées spécifiques à un fabricant créent des modèles déployables avec une vitesse d'inférence haute performance.

Avec MATLAB Production Server™, le déploiement et l'intégration avec les systèmes informatiques, les sources de données et les technologies opérationnelles de l'entreprise s'effectuent en toute sécurité.

S’intégrer directement avec les systèmes et données existants, y compris les systèmes d'analyse modernes comme Tableau®, TIBCO® Spotfire® ou encore Power BI.