E-book

Chapitre 3

Utiliser l’IA pour la modélisation d’ordre réduit de systèmes complexes


La complexité des systèmes augmente. Les systèmes autonomes permettent aux véhicules de circuler dans des environnements imprévisibles. Les éoliennes s’auto-contrôlent via des jumeaux numériques pour les besoins de maintenance. Les équipements intelligents à usage personnel mesurent l’activité du sommeil, étiquettent les photos et planifient même des séances d’entraînement. Les équipements médicaux permettent de monitorer les patients, de diagnostiquer des maladies et de prédire des bilans personnalisés.

Dans ces applications, les algorithmes basés sur l’IA font souvent partie d’un système complexe plus large.

Le modèle d’IA est parfois destiné à être déployé en tant que partie de ce système, mais il peut également être utilisé pour la modélisation d’ordre réduit (ROM). La modélisation d’ordre réduit est un moyen de réduire la complexité ou les exigences de stockage d’un modèle virtuel d’un système tout en préservant la fidélité attendue du modèle avec une marge d'erreur contrôlée.

Les ingénieurs commencent souvent à modéliser les composants de leur système en utilisant les principes fondamentaux. La véritable valeur d’un modèle basé sur les principes premiers est que les résultats ont généralement une signification physique claire et explicable. En outre, les comportements peuvent souvent être paramétrés.

Toutefois, très souvent, un modèle haute-fidélité est trop gourmand en ressources informatiques pour être utilisé dans le cadre du design au niveau système, en particulier pour les tests HIL ou PIL, qui nécessitent l’exécution d’un modèle en temps réel. La dérivation des modèles haute-fidélité peut également s’avérer chronophage.

Dans ces cas, il est préférable d'envisager la création d'un modèle d’ordre réduit basé sur l’IA.

Le modèle haute-fidélité d’une voiture fait partie d’une simulation qui comprend des contrôleurs, un environnement et des blocs de pilotes qui constituent une simulation complexe et lente. On voit également sur cette figure un modèle alternatif d’ordre réduit basé sur l’I A qui remplace la voiture.

Création d'un modèle d’ordre réduit en remplaçant un modèle de principes premiers du moteur d’une voiture par un algorithme rapide basé sur l’IA. Les simulations ROM s’exécuteront plus rapidement tout en offrant une précision acceptable pour les tests des algorithmes de contrôle au niveau système.

section

Développer des modèles d’ordre réduit basés sur l’IA

Il existe plusieurs approches pour créer des modèles d’ordre réduit, dont l’IA :

  • Modèles de réduction basés sur la physique
  • Techniques basées sur les modèles
  • Modèles Simulink non linéaires qui sont linéarisés à certains points de fonctionnement
  • Approches basées sur les données, notamment :
    • Approches statiques telles que l’ajustement de courbe et les lookup tables
    • Approches dynamiques telles que les modèles basés sur l’IA

Un modèle d’ordre réduit peut constituer un outil précieux. Vous pouvez l’utiliser pour :

  • Accélérer les simulations desktop Simulink impactées par un modèle haute-fidélité tiers.
  • Permettre les tests Hardware-in-the-Loop (HIL) en réduisant la complexité d’un modèle haute-fidélité.
  • Introduire des modèles 2D et 3D provenant d’autres outils dans des modèles de simulation de niveau système dans Simulink.
  • Développer un modèle de capteur virtuel basé sur l’IA pour l’utiliser dans les systèmes de contrôle, la détection des défauts ou la maintenance prédictive.
  • Effectuer le design des systèmes de contrôle.
  • Accélérer les calculs ou les optimisations logiciels pour l'analyse par la méthode des éléments finis (FEA) ou la dynamique des fluides computationnelle (CFD).

Les modèles d’ordre réduit basés sur l’IA s’accompagnent de considérations de design. Il faut beaucoup de données de grande qualité pour créer un modèle d’IA précis. Même lorsqu’ils sont précis, les modèles d’IA sont souvent qualifiés de « boîte noire » ou, dans certains cas, de « boîte grise ». En d’autres termes, les résultats du modèle ne sont pas toujours explicables ou paramétrables. Un modèle d’IA ne permet pas non plus à un ingénieur d’intégrer facilement dans le modèle, des connaissances sur la physique de la machine.

Les modèles se répartissent sur une gamme d’explicabilité allant de ce que l’on appelle les « boîtes noires », qui ne proposent aucune visibilité sur les décisions de sortie, aux « boîtes grises », qui offrent quelques indications, jusqu’à la transparence totale offerte par les modèles basés sur les principes fondamentaux.

Les modèles se répartissent sur une gamme d’explicabilité allant de ce que l’on appelle les « boîtes noires », qui ne proposent aucune visibilité sur les décisions de sortie, aux « boîtes grises », qui offrent quelques indications, jusqu’à la transparence totale offerte par les modèles basés sur les principes fondamentaux.

section

Remplacer un modèle de moteur tiers basé sur les principes fondamentaux par un modèle d'ordre réduit basé sur l'IA

Supposons que vous fassiez partie d’une équipe travaillant sur le design d’un nouveau véhicule. Vous devez simuler sa vitesse en fonction de plusieurs entrées et conditions. Il vous faut créer un modèle qui comprend des composants représentant le conducteur, l'état des routes, les systèmes de contrôle et le moteur de la voiture.

Un de vos collègues a livré un sous-système de moteur de véhicule modélisé avec des outils tiers. La simulation qui en résulte correspondra au système en conditions réelles avec une grande fidélité. Son exécution est toutefois plus lente que prévu.

Un modèle haute-fidélité comprend un conducteur, un environnement, des systèmes de contrôle et une voiture avec un modèle de moteur complexe.

Une simulation de la vitesse d’un véhicule sera lente à exécuter si le modèle du moteur est complexe et basé sur les principes fondamentaux.

Pour accélérer vos simulations tout en développant et en affinant d'autres composants du système, vous pouvez remplacer ce modèle tiers de moteur coûteux par un modèle de substitution ou d'ordre réduit. Ce modèle peut être développé grâce à diverses techniques, notamment des méthodes basées sur la physique (par exemple, en utilisant Simulink et Simscape) ou sur l'IA. Dans le cas d'un modèle d'IA, les données en entrée comprennent le régime moteur, le point de calage de l'allumage, la position du papillon des gaz et les valeurs de la soupape de décharge, tandis que les données en sortie représentent le couple moteur.

L'utilisation des variants, vous permet d'exploiter des composants construits avec des techniques différentes et les interchanger.  Vous pouvez alors comparer différentes options de design, en équilibrant la précision et la performance, sans avoir à mettre en commentaire certaines parties de votre modèle. Cela vous permet de comprendre les différences et de prendre des décisions éclairées quant à la sélection des composants.

section

Générer des données et entraîner le modèle d’IA

Pour créer le modèle d’IA, vous devrez l’entraîner avec un jeu de données qui fait varier les entrées pertinentes et produit le résultat souhaité. Vous pouvez utiliser un jeu de données publiques ou des données expérimentales provenant de votre propre système physique.

Il est aussi possible d’utiliser votre simulation haute-fidélité pour générer des données. Pour ce faire, il faut d’abord concevoir une série d’expérimentations en choisissant les paramètres du modèle et en faisant varier leurs plages. Par exemple, la vitesse, le point d’allumage et la position du papillon des gaz présentent chacun des plages variables. Utilisez un plan d’expériences (DoE, Design of Experiments) pour créer un tableau regroupant les combinaisons possibles de paramètres, puis exécutez la simulation et collectez les données.

Le modèle complexe du moteur dans la simulation du système est remplacé par un modèle d’I A qui prend les mêmes données en entrée, à savoir le régime moteur, le point de calage de l’allumage, la position du papillon des gaz et la soupape de décharge, et produit la même sortie, à savoir le couple moteur.

Remplacer un modèle haute-fidélité par un modèle d’IA.

Vous pouvez utiliser différentes techniques pour créer votre modèle d’IA. Par exemple, vous pouvez utiliser MATLAB pour appliquer des méthodes de Machine Learning ou de Deep Learning telles que les réseaux LSTM (Long Short-Term Memory, soit des réseaux de neurones récurrents capables d’apprendre la dépendance d’ordre dans les problèmes de prédiction de séquence), les équations différentielles ordinaires (ODE) neuronales (opérations de Deep Learning définies par la solution d’une équation différentielle ordinaire) ou les modèles ARX non linéaires (modèles qui utilisent des fonctions non linéaires flexibles, telles que les réseaux d’ondelettes et sigmoïdes, pour modéliser un comportement non linéaire complexe).

Vous pouvez également bénéficier d’une interopérabilité avec d’autres frameworks open source utilisés pour entraîner un modèle d’IA.

section

Déployer un modèle d’ordre réduit basé sur l’IA pour les tests au niveau système

Une fois que vous avez créé votre modèle d’ordre réduit basé sur l’IA, vous pouvez le déployer pour des tests au niveau système.

Si votre objectif est de tester le design et la performance des autres composants de votre système, vous pouvez exécuter les composants que vous concevez sur le hardware cible et exécuter le modèle d’IA sur ordinateur. Une potentielle configuration Hardware-in-the-Loop (HIL) nécessiterait de :

  • Déployer vos composants sur des plateformes hardware cibles
  • Exécuter votre modèle d’IA sur un système informatique temps réel
  • Associer les systèmes entre eux et exécuter la simulation, surveiller les signaux et ajuster les paramètres

Une fois développé, le modèle d’IA est modulaire et réutilisable. Vos collègues, qu’ils se trouvent sur place ou ailleurs, peuvent également utiliser votre modèle d’IA dans leurs simulations et leurs tests de composants, ce qui peut accélérer la réalisation en parallèle du design et du développement de votre système.

Les systèmes embarqués sont déployés sur le hardware cible. Le modèle d’ordre réduit basé sur l’IA est déployé sur un ordinateur temps réel. Les systèmes interopèrent dans Simulink pour les tests au niveau système.

Effectuer des tests et des simulations au niveau du système avec les systèmes de contrôle que vous testez et qui fonctionnent sur le hardware cible et le modèle d’ordre réduit basé sur l’IA. Ce dernier supportant le modèle physique (ici, la voiture) exécuté sur un ordinateur.

section

Choisir une technique d’IA

Si vous en avez le temps, vous pouvez créer plusieurs modèles d’IA en utilisant différentes techniques, puis les affiner avec Simulink. Par exemple, vous pouvez utiliser Simulink Profiler pour connaître la vitesse d’exécution de chaque modèle sur un ordinateur. Vous pouvez également comparer les résultats du modèle haute-fidélité avec les modèles d’IA pour en évaluer la précision.

Pour identifier le modèle le mieux adapté à votre application, vous devrez déployer les modèles et collecter toutes les métriques.

Le choix d’un modèle n’est pas toujours une question de précision. Vous devrez peut-être tenir compte de la vitesse d’apprentissage, de l’interprétabilité, de la vitesse d’inférence ou de la taille du modèle. Des méthodologies différentes produiront des résultats différents, et chaque modèle d’ordre réduit présentera des avantages et des inconvénients différents.

Graphique comparant les performances des modèles L S T M, d’équations différentielles ordinaires (ODE) neuronales et de deux modèles ARX non linéaires. Le modèle A R X non linéaire présente une vitesse d’inférence, une taille et une précision très satisfaisantes, une bonne interprétabilité et une vitesse d’apprentissage plus lente par rapport aux autres modèles.

Différents modèles d’IA du modèle d’ordre réduit du moteur du véhicule ont des profils de performances différents.

Tester vos connaissances