Les progrès en intelligence artificielle décentralisée permettent d’envisager plus clairement à quoi ressemblera la maison de demain. Les services que la smart home rendra à son utilisateur seraient modélisés par des agents qui communiqueraient et coopéreraient entre eux de façon autonome. Cette approche est aujourd’hui considérée comme la plus pertinente pour contrôler l’environnement dynamique et riche en données qu’est la maison. Olivier Boissier et Gauthier Picard, chercheurs à Mines Saint-Étienne en IA, travaillent sur ce sujet. Dans cet entretien pour I’MTech, ils nous expliquent l’intérêt de cette approche, ainsi que son fonctionnement au travers d’exemples concrets d’utilisation de la maison.
Peut-on considérer la maison intelligente comme un simple réseau d’objets connectés ?
Gauthier Picard : La maison intelligente est composée d’objets assez hétérogènes. C’est une grosse différence par rapport à des réseaux de capteurs industriels où les appareils sont pensés pour avoir des capacités de mémoires semblables et des architectures identiques. Dans une maison, on ne peut pas mettre la même capacité de calcul dans une ampoule ou dans un four par exemple. Si l’habitant sollicite sa maison pour des scénarios de fonctionnement riche, et que les objets doivent se coordonner, il faut qu’ils puissent tenir compte de ces différences. La smart home est aussi un environnement très dynamique. Il faut pouvoir rajouter une ampoule intelligente ou un nano-ordinateur de type Raspberry pour contrôler ses volets, quand on veut, sans que cela perturbe les fonctionnalités pour l’usager.
Comment rendre la maison intelligente malgré cette complexité ?
Olivier Boissier : Nous utilisons ce que l’on appelle une approche multi-agent. C’est le cœur de notre discipline qui est l’intelligence artificielle décentralisée. L’utilisation du terme « décentralisé » au lieu de « distribué » ici est pour bien mettre en avant qu’au-delà de la distribution des connaissances dans les différentes entités constituant la maison intelligente, il y a aussi une décentralisation de la décision. Un agent est soit un objet, soit un service qui va piloter plusieurs objets, soit un service qui va lui-même piloter plusieurs services. Le but est de faire se coordonner ces agents au travers de règles construites pour qu’ils échangent entre eux le mieux possible. Tous les objets de la maison ne vont pas devenir des agents, car comme le disait Gauthier, certains n’ont pas suffisamment de capacité de calcul, et ne pourront pas se coordonner. L’une des grosses questions que nous nous posons est donc de savoir ce qui va rester un simple objet de perception ou d’exécution — comme un capteur ou une petite LED — et ce qui va devenir un agent.
Pouvez-vous illustrer le fonctionnement de cette approche avec un cas concret d’utilisation de la smart home ?
GP : Restons sur l’exemple des ampoules et de la lumière, en imaginant un utilisateur qui donnerait comme ordre à sa maison intelligente : « Lorsque je suis dans mon salon après 21 h, je veux que la luminosité atteigne un niveau de 40%. » Il se fiche de savoir quel objet va décider ou agir pour atteindre cet objectif, ce qui l’intéresse c’est le résultat d’avoir moins de lumière. C’est au système global d’optimiser les décisions, en choisissant quelle ampoule va s’éteindre, s’il faut éteindre également la télévision qui émet de la lumière alors qu’elle n’est pas utilisée, ou s’il est possible de laisser les volets ouverts parce qu’il fait encore jour dehors. Toutes ces décisions doivent être prises de manière collective, avec potentiellement des contraintes de l’utilisateur qui veut, par exemple, minimiser sa facture d’électricité. Ce n’est pas une entité centralisée qui va piloter tout ça, mais plutôt chaque élément qui va réagir en fonction de ce que font les autres. S’il fait suffisamment jour dehors parce que nous sommes en été, faut-il des ampoules supplémentaires ? Si oui, des agents vont d’abord allumer celles qui consomment le moins et émettent le plus de lumière. Si ce n’est pas suffisant, d’autres agents vont en allumer encore d’autres…
Vous dites que la décision n’est pas centralisée. Pourquoi ne pas avoir justement une prise de décision unique qui pilote tous les objets ?
GP : Le problème de la solution centralisée, c’est que tout dépend d’une entité unique. Dans cette approche, tout serait vraisemblablement stocké sur le cloud. Si le réseau est défaillant, ou si les communications sont saturées, les fonctionnalités sont perdues. Dans l’approche multi-agent, l’avantage est aussi d’avoir les données à proximité de là où est prise la décision. Cela implique des temps de latence plus faible, et une meilleure sécurité puisque tout se fait en local. Le système est donc plus résilient et peut mieux répondre aux impératifs de privacy des utilisateurs.
OB : Pour autant, nous ne disons pas que les solutions centralisées sont forcément moins bien. L’approche multi-agent demande des efforts pour coordonner les objets et les services. Elle est à privilégier dans des environnements complexes où il est pertinent d’avoir la donnée proche de la prise de décision. Si pour une application précise et simple un algorithme de gestion centralisée fonctionne, c’est très bien comme ça. L’approche multi-agent devient intéressante lorsqu’il y a de grosses quantités de données à traiter rapidement par exemple. C’est le cas de la smart home intégrant plusieurs utilisateurs avec de nombreuses fonctionnalités qui entrent parfois en conflit.
Comment les fonctionnalités peuvent-elles entrer en conflit ?
OB : Sur le cas de la luminosité, une situation de conflit serait deux utilisateurs dans la même pièce qui ont des préférences différentes. Les mêmes agents sont sollicités pour accomplir deux prises de décision incompatibles. Cette situation se ramène à un conflit de ressources. Les conflits ont de fortes chances de se produire car nous sommes en environnement dynamique. Les agents font des plans d’action pour répondre à la demande de l’utilisateur, mais si un autre utilisateur rentre dans la pièce, le plan va être perturbé. Les conflits ne peuvent donc pas toujours être prévus à l’avance. Ils n’apparaissent parfois qu’au moment de l’exécution. Dans certains cas, ils se résolvent facilement parce qu’il existe des règles simples qui le permettent. C’est le cas de fonctions critiques comme les secours ou la sécurité du bâtiment qui vont primer sur les fonctions de divertissement. Dans d’autres cas, il faut implémenter des façons de résoudre le conflit entre les agents.
GP : Un bon exemple de technique pour cela est la négociation. Comme le conflit est une lutte pour une ressource, chaque agent peut organiser une enchère sur la fonctionnalité de la maison qu’il veut utiliser. S’il remporte l’enchère, il cumule une dette qui l’empêchera de remporter la prochaine. Sur la durée, les agents s’autorégulent. En adoptant une approche économique entre les agents, nous pouvons aussi chercher à trouver des équilibres de Nash, où chaque agent va maximiser son gain en fonction de ce que l’ensemble des agents veut faire.
Comment faites-vous pour que toutes ces interactions soient possibles entre les agents ?
OB : Il y a plein de manières de coordonner les agents entre eux. Cela peut se faire par stigmergie, c’est-à-dire que les agents ne communiquent pas entre eux : ils se contentent d’agir en réaction à ce qu’il se passe autour d’eux, et éventuellement à des informations placées dans l’environnement par d’autres agents, pour répondre à la demande qui leur est faite par l’utilisateur. Un autre mécanisme est d’exprimer une politique de comportement de manière globale à l’ensemble des agents, comme la privacy, et de laisser les agents l’interpréter de manière collective. Dans ce cas l’utilisateur donne simplement sa préférence sur ce qu’il veut garder confidentiel, et les agents communiquent ou non les informations en fonction de cette préférence. Nous essayons de combiner ces approches en rajoutant en plus des protocoles de coordination comme les règles de gestion de conflit évoquées plus haut.
GP : Tous les agents ont accès à une définition de l’environnement dans lequel ils se trouvent : ils connaissent les règles et les rôles qu’ils peuvent prendre, et ils s’adaptent dans cet environnement. C’est un peu comme lorsque vous apprenez le code de la route pour savoir comment vous comporter en approchant un carrefour. Vous savez ce qu’il peut se passer et ce que les automobilistes sont censés faire. Et si vous vous retrouvez dans une situation qui sort de la théorie, parce qu’il y a un embouteillage au carrefour ou un accident en plein milieu par exemple, vous adaptez les règles. Les agents doivent pouvoir faire la même chose : réagir et changer leur organisation pour se coordonner et répondre à la demande de l’utilisateur.
Sur toute cette approche générale multi-agent pour la maison intelligente, que sait-on faire, et qu’est-ce qui relève encore de la recherche ?
OB : Actuellement, il y a beaucoup de travaux sur ces sujets qui fournissent des solutions efficaces d’un point de vue théorique sur les problèmes que nous avons évoqués. Nous savons construire des protocoles qui satisfont des propriétés de coordination, nous savons configurer des politiques de comportement des agents. Là où il reste du travail à faire, c’est pour passer de la théorie à la pratique. Quand on est dans le cas concret d’une maison intelligente avec des informations qui arrivent en masse à tout moment, il faut être capable de les traiter. D’un point de vue pratique, il faut aussi répondre à des questions fondamentales de ce que doit être la smart home pour l’utilisateur : doit-il avoir la main sur absolument tout, ou peut-on laisser des décisions à des agents sans contrôle de l’utilisateur ?
Est-il réaliste d’envisager une prise de décision sans contrôle de l’habitant ?
GP : Il faut comprendre que nous ne sommes pas dans le cas des réseaux de neurones, qui prennent des décisions comme des boîtes noires. Dans le cas de l’approche multi-agent, il y a un historique des décisions de l’agent, avec le plan qu’il met en place pour arriver à cette décision, et les motivations de construction du plan. Même si la décision est déléguée à l’agent, ça ne veut pas dire que l’utilisateur n’a pas de moyen de savoir ce qu’il se passe. Il a tout de même un mécanisme de contrôle, et il peut changer les préférences si besoin. Ce n’est pas comme si l’agent décidait sans la moindre possibilité de savoir ce qu’il fait.
OB : C’est une approche de l’IA qui est en effet différente de ce que les gens imaginent être l’intelligence artificielle. Elle n’est pas encore aussi connue que l’approche par apprentissage. L’IA décentralisée a encore du mal à être comprise par le public, mais elle commence à trouver de nombreuses applications car elle est de plus en plus nécessaire. Il y a 20 ans les caractéristiques des applications se contentaient souvent de solutions centralisées. Aujourd’hui avec le développement de l’IoT notamment (Internet of Things), la décentralisation est une contrainte, et il est admis que l’IA décentralisée est la plus pertinente pour des cas d’applications comme la maison intelligente, ou la ville intelligente.
One comment
Pingback: Une fenêtre, et silence ! - I'MTech