La prise de décision dans un monde piloté par les données

07 Juillet 2022
L'adaptation à des conditions inattendues est difficile pour les algorithmes. Ni les approches classiques basées sur des modèles ni les méthodes modernes d'apprentissage automatique qui s'appuient sur des données n'offrent de solution convaincante. Les membres du Pôle de recherche national (PRN) Automation proposent donc de combiner le meilleur des deux.
data driven world
Le monde est de plus en plus axé sur les données. Image : pxhere

Imaginez que vous n'ayez plus à traverser le trafic aux heures de pointe pour vous rendre au travail. Vous n'aurez plus à laisser les travaux sur la route gâcher vos vacances, ni à faire face à d'horribles usagers de la route. Au lieu de cela, vous pourriez vous détendre et répondre à vos e-mails dans un taxi volant ou vous consacrer à vos proches dans une voiture familiale à conduite autonome. Et tout cela sans avoir à respecter les horaires des transports publics. Cela ressemble à de la science-fiction ?

Cela pourrait devenir une réalité plus tôt que vous le pensez.

Mieux vaut prévenir que guérir

L'intelligence artificielle (IA) promet depuis longtemps de concrétiser cette vision grâce à des algorithmes intelligents, des superordinateurs et de vastes quantités de données dont nous disposons aujourd'hui. Mais pourquoi n'en sommes-nous pas encore là ? En un mot : la sécurité. Vous ne monteriez jamais dans une voiture dont la sécurité n'est pas certifiée.

Bien que les systèmes automatisés actuels puissent déjà égaler, voire dépasser, les humains dans certaines tâches, des défaillances peuvent toujours se produire. Parfois cela a des consequences catastrophiques, comme l'ont montré les accidents de Tesla. Le pire, c'est que la cause de ces erreurs n'est pas toujours explicable pour les ingénieurs. 

simpson gif

La conception de systèmes autonomes repose de manière cruciale sur des modèles. Par exemple, considérez les systèmes de pilotage automatique: leur conception dépend de modèles précis du fonctionnement d'un avion.

Les modèles sont indispensables à la conception et à la construction des avions, à la formation des pilotes dans des simulateurs et à la minimisation des coûts d'exploitation, par exemple en réduisant la consommation de carburant. Ils sont également importants pour déduire des états de systèmes cachés (non mesurés) mais cruciaux - par exemple l'altitude de l'avion sur la base des gyroscopes.

Les modèles sont donc particulièrement importants parce qu'ils nous permettent de simuler la réalité et de planifier des mesures futures.

Retour vers le futur
La capacité de simuler l'avenir et d'agir en fonction de celui-ci est au cœur de ce que l'on appelle le Model Predictive Control (MPC), une approche incroyablement puissante que automatique a engendrée. 

En termes simples, un algorithme MPC utilise des modèles décrivant le comportement d'un systèmes dynamique (comme les équations descrivant le comportement en vol d'un quadricoptère) pour simuler le futur proche et prendre des décisions en fonction du résultat de la simulation.

Par analogie, pensez à une partie d'échecs. Si vous voulez déplacer votre reine, vous ne pouvez le faire que d'une certaine manière. Pour choisir le meilleur prochain coup possible, vous passez mentalement en revue les futurs coups possibles. Vous créez donc un modèle d'échecs, simulez l'avenir de votre partie et prenez une décision sur cette base.

chess 1
L'échec et mat est réalisé en déplaçant la reine de la position e1 à la position e8.

De la même manière, un algorithme MPC définit un plan à partir d'une simulation du futur proche et exécute une étape de ce plan. Sur la base des observations faites après cette étape, l'algorithme MPC revient à la simulation et réévalue : ce plan est-il toujours le bon ? Ou existe-t-il une meilleure alternative pour la nouvelle situation ? En d'autres termes : une optimisation est-elle possible ?

En détectant, actionnant et optimisant, le tout en temps réel, l'algorithme MPC ferme une boucle de rétroaction avec la réalité.

Jeremy
Jeremy Coulson, co-auteur de cet article, est doctorant à l'Institut d'Automatique de l'EPF de Zurich. Image : Courtoisie de Jeremy Coulson.

Une mise en garde s'impose toutefois : plus le modèle prévoit un avenir lointain, moins il est fiable. Pensez à nouveau aux échecs : vous pouvez planifier de nombreux coups à l'avance, mais si vous vous projetez trop loin, votre adversaire fera inévitablement un coup inattendu. Cela semble logique, non ?

La boucle de rétroaction permet à un algorithme MPC de relier les effets réels de son action à ce qu'il avait simulé auparavant. De cette manière, les incohérences entre le modèle et la réalité ainsi que d'autres erreurs inattendues peuvent être corrigées.

La danse entre la simulation et la rétroaction permet aux algorithmes MPC de faire des choses étonnantes. Mais bien sûr, rien n'est gratuit. Parfois, les algorithmes MPC peuvent échouer lamentablement. Cela dépend souvent de la qualité des modèles.

Pensez à un robot humanoïde complexe dont l'objectif est de marcher sur des obstacles. Trouver un modèle pour cette tâche est très long, coûteux et dépend des connaissances d'experts qui ne sont pas toujours disponibles.
 

                             robot fail

Ces inconvénients ne sont pas propres à cette tâche en particulier. En fait, la recherche d'un modèle nécessite presque toujours une grande quantité de données ainsi que des algorithmes spécialisés et une connaissance approfondie du domaine.

                          

Nager dans un flot de données

Alberto
Le co-auteur de cet article du blog, Alberto Padoan, est post-doctorant au Laboratoire de contrôle automatique de l'ETH Zurich. Image : Courtoisie d'Alberto Padoan.

Une approche alternative consiste à ignorer complètement les modèles de systèmes dynamiques et à apprendre à prendre des décisions directement à partir des données. Cette approche basée sur les données est privilégiée dans de nombreux domaines d'application, notamment grâce aux progrès des méthodes d'apprentissage automatique, et promet des développements passionnants tels que le paradigme dit "pixels-​to-control", qui permet une automation de bout en bout dans la conduite autonome.

Toutefois, à ce jour, ni la communauté de l'intelligence artificielle ni celle de la recherche sur les commandes ne savent comment concevoir des contrôleurs pilotés par les données qui fonctionnent de manière fiable dans des environnements critiques pour la sécurité et en temps réel.

Il semble donc que nous soyons dans une impasse. Nous savons comment prendre des décisions lorsque nous disposons de modèles de systèmes dynamiques, mais ces modèles sont parfois difficiles à obtenir.

Inversement, il est difficile de prendre des décisions directement à partir de données, et cela demande beaucoup de temps et de puissance de calcul, même pour des tâches très simples. Un axe de recherche mondial considérable appelé "contrôle par les données (data-driven control en anglais) " explore ces questions.

 

DeePC: MPC sans modèle

Notre solution à ce problème de l'œuf et de la poule est simple. Sans surprise, nous souhaitons prendre le meilleur des deux mondes. Voici comment nous nous y prenons. La première idée est de remplacer les modèles de systèmes dynamiques par des matrices de données brutes de mesures de séries temporelles empilées.                                  columns


Considérons que les colonnes de la matrice représentent différents comportements valides. Dans le cas d'un quadcoptère, les différents comportements valides pourraient être différentes trajectoires de vol. Les colonnes de la matrice de données sont donc construites, par exemple, en mesurant la position et la vitesse à différents instants.

                  quads

Sous des hypothèses raisonnables, il est garanti que chaque combinaison des colonnes de la matrice de données produira un comportement valide différent. En d'autres termes, les matrices de données brutes peuvent être considérées comme des modèles prédictifs.

La deuxième idée consiste à introduire un comportement simulé dans un schéma MPC. Cela ressemble beaucoup à ce que nous avons vu ci-dessus, mais avec des modèles prédictifs purement basés sur des données.

                                 

block


Si l'on réunit tous ces éléments, on obtient un algorithme MPC piloté par les données, que nous appelons Data-Enabled-Predictive-Control (DeePC). En partant d'hypothèses raisonnables, le DeePC est non seulement garanti aussi performant que les algorithmes MPC traditionnels, mais il offre également quelques avantages supplémentaires. En effet, il n'est pas nécessaire de disposer des connaissances d'experts qui sont normalement requises pour trouver un modèle. Toute personne ayant accès à suffisamment de données dispose déjà d'un modèle gratuit - sans avoir à s'en donner la peine ! Et DeePC est incroyablement facile à mettre en œuvre.

Ces dernières années, nous avons développé DeePC et testé ses capacités sur un certain nombre d'études de cas, et notamment sur des systèmes d'énergie, des quadricoptères, des excavatrice autonomes à pied et dans les transports. Vous pouvez voir ici comment DeePC contrôle le mouvement d'un quadricoptère et même celui d'une excavatrice de 12 tonnes :         

drone excavator

Bien que nous soyons très excités par ces résultats prometteurs, notre travail n'est pas encore terminé. Contrôler le mouvement d'un quadricoptère est très différent de transporter des personnes avec un taxi autonome. Bien sûr, la qualité, la sécurité et la fiabilité sont des impératifs absolus ; mais est-il possible d'offrir de telles garanties lorsque l'environnement est incertain, voire inconnu ? Pour comprendre pourquoi, pensez encore une fois au jeu d'échecs : le choix du meilleur coup n'est peut-être plus simple - voire impossible - si une partie de l'échiquier est inconnue.

chess2
Si une partie de l'échiquier est inconnue, choisir le meilleur coup peut ne plus être facile (ou possible).

Bien sûr, nous ne pouvons jamais être sûrs à 100 % de notre prise de décision lorsque les informations sont incertaines. Mais parfois, les décisions doivent être prises dans des circonstances défavorables. Par exemple, les caméras d'un véhicule autonome peuvent avoir du mal à détecter un objet (ou, pire encore, une personne). Or, même dans de telles situations, nos algorithmes se doivent de prendre des décisions sûres et fiables en temps réel.

Un problème non résolu jusqu'à présent est donc de trouver des moyens raisonnables de quantifier l'incertitude qui peuvent être utilisés pour une prise de décision intelligente. Notre récent travail de recherche est un premier pas dans cette direction et s'appuie sur l'approche axée sur les données décrite ci-dessus.

Vous souhaitez en savoir plus sur ce domaine de recherche ? Visitez nos sites web (liens ici, ici et ici) et restez à l'écoute !