• Aucun résultat trouvé

Agents et réseaux d’agents

Dans ce concept apparu dans les années 1990, les agents intelligents permettent de résoudre des problèmes dans des architectures distribuées. Conceptuellement, un agent est un logiciel ou un ma- tériel qui capte de l’information, décide d’agir rationnellement en fonction des données récupérées et déclenche une action pour optimiser ses chances de succès.

Si c’est du matériel, il comprendra des capteurs et des actuateurs. Mais il peut n’être que du logiciel et obtenir des données brutes en entrées et générer des données en sortie.

Un agent réagit donc en fonction de l’environnement et de préférence en temps réel. Les agents intelligents sont intégrés dans des systèmes distribués dénommés systèmes multi-agents avec des agents autonomes, mais reliés et collaborant entre eux.

Les agents sont autonomes, ils appliquent des règles et vont jusqu’à apprendre à les modifier en fonction de l’environnement, ils peuvent être proactifs et pas seulement réactifs à l’environnement, ils communiquent et coopèrent avec d’autres agents et systèmes.

Les solutions d’intelligence artificielle sont ainsi souvent des réseaux multi-agents ! C’est notam- ment le cas des solutions de RPA (Robotic Process Automation) utilisées dans le backoffice des banques et des assurances.

Les réseaux d’agents fonctionnent de manière coordonnée et collective. La coordination de réseaux d’agents est un domaine scientifique à part entière.

On compte notamment les Distributed Problem Solving (DPS) qui découpent un problème en sous-problèmes qui sont résolus de manière coopérative entre plusieurs agents reliés les uns aux autres. Ces systèmes sont conçus pour résoudre des problèmes bien spécifiques.

Les types d’agents

Les agents sont classifiés par Russell & Norvig dans Artificial Intelligence – A Modern Ap-

proach (2003-2009) en types distincts selon leur niveau d’autonomie et leur mode de prise de dé-

cision :

Les simple reflex agents qui comprennent des capteurs, des règles indiquant quelle action me- ner et des actuateurs pour les déclencher. Ils travaillent en temps réel.

Les model based reflex agents qui ajoutent un moteur d’état capable de mémoriser dans quel état se trouve l’objet et qui évaluent l’impact des actions pour changer d’état.

Les goal-based agents qui prennent leur décision en fonction d’un objectif et déterminent une action pour l’atteindre.

Les utility-based agents qui prennent leur décision en fonction d’un but à atteindre qui est plus général.

Les learning agents qui contiennent une fonction d’auto-apprentissage.

Vu de haut, les réseaux d’agents ressemblent aux réseaux de neurones mais leur mode de fonction- nement est différent. Un agent peut très bien être lui-même individuellement construit avec un ré- seau de neurones pour réaliser une tâche spécifique comme la reconnaissance de la parole ou d’images. Et la liaison entre les agents se fait selon des règles, comme dans un moteur de règles ou de workflow !

Les solutions d’IA sont des Systèmes Multi-Agents

Un autre agent va utiliser le texte généré par la reconnaissance puis appliquer un processus de re- connaissance sémantique, puis un autre va traiter la question, fouiller dans une base de données ou de connaissance, récupérer des résultats, un autre va formuler une réponse et la renvoyer à l’utilisateur. Idem pour un système de traduction automatique qui va d’abord analyser la parole avec un premier agent, puis réaliser la traduction avec un second, puis utiliser un troisième agent de “text to speech” pour transformer le résultat de manière audible.

Un robot conversationnel est aussi un réseau d’agents, surtout si on interagit avec la voix avec lui. Les agents sont notamment utilisés dans les systèmes de call centers. Une start-up française s’était lancée - parmi d’autres - sur ce créneau : Virtuoz. Elle a été acquise en 2013 par l’américain Nuance. Il existe même un concours du meilleur agent de service client en ligne, lan- cé en 2016 en France avec une trentaine de candidats !

Un robot autonome est aussi un condensé de nombreux agents qui gèrent différents niveaux d’abstraction avec de nombreux capteurs, de la mécanique, des systèmes permettant au robot de savoir où il est, avec quoi il interagit, et qui a des missions à accomplir (aider une personne, con- duire un véhicule, etc).

Un robot est particulièrement complexe à mettre au point car il cumule des défis au niveau des cap- teurs, de l’intégration de ses sens, de la mécanique pour se mouvoir, de la batterie pour son autono- mie, et dans l’intelligence artificielle pour piloter l’ensemble et éventuellement interagir à la fois mécaniquement, visuellement et oralement avec son environnement, notamment s’il s’agit de per- sonnes.

C’est dans le domaine de l’intelligence artificielle intégrative que des progrès significatifs peuvent être réalisés. Elle consiste à associer différentes méthodes et techniques pour résoudre des pro- blèmes complexes voire même résoudre des problèmes génériques. On la retrouve mise en œuvre dans les agents conversationnels tels que ceux que permet de créer IBM Watson ou ses concurrents. Dans le jargon de l’innovation, on appelle cela de l’innovation par l’intégration. C’est d’ailleurs la forme la plus courante d’innovation et l’IA ne devrait pas y échapper. Cette innovation par l’intégration est d’autant plus pertinente que les solutions d’IA relèvent encore souvent de l’artisanat et nécessitent beaucoup d’expérimentation et d’ajustements.

Cette intégration est un savoir nouveau à forte valeur ajoutée, au-delà de l’intégration traditionnelle de logiciels via des APIs classiques. Cette intelligence artificielle intégrative est à l’œuvre dans un grand nombre de startups du secteur et en particulier dans celles de la robotique.

Le mélange des genres n’est pas évident à décrypter pour le profane : machine learning, deep lear- ning, support vector machines, modèles de Markov, réseaux bayésiens, réseaux neuronaux, mé- thodes d’apprentissage supervisées ou non supervisées, etc. D’où une discipline qui est difficile à benchmarker d’un point de vue strictement technique et d’égal à égal. Ce d’autant plus que le mar- ché étant très fragmenté, il y a peu de points de comparaison possibles entre solutions. Soit il s’agit de produits finis du grand public comme la reconnaissance d’images ou vocale, et d’agents conver- sationnels très à la mode en ce moment, soit il s’agit de solutions d’entreprises exploitant des jeux de données non publics.

Quid des outils de développement associés à la création de réseaux d’agents ? Il y en a plein, et notamment en open source, tels que Soar de l’Université du Michigan qui servent à mener des tâches et raisonnements généraux ou REPAST, de l’Université de Chicago, qui permet de créer des simulations d’interactions de millions d’agents146. On peut aussi intégrer Unity Machine Learning

Agents qui servira notamment aux développeurs de jeux vidéo, très friands de réseaux d’agents ainsi que JADE (Java Agent DEvelopment framework) qui vient de Telecom Italia et est open source147.

En France, Yves Demaseau du Laboratoire d'Informatique de Grenoble (CNRS) est un spécialiste des Systèmes Multi-Agents. Il a monté un programme de recherche de 10 ans sur le sujet pour créer un système de SMA d’un million d’agents. Il est par ailleurs président de l’Association Française pour l’Intelligence Artificielle.

La programmation génétique

La vie artificielle et la programmation génétique sont d’autres pans de recherche important con- nexe aux recherches sur l’IA. Il s’agit de créer des modèles permettant de simuler la vie avec un niveau d’abstraction plus ou moins élevé. On peut ainsi simuler des comportements complexes in- tégrant des systèmes qui s’auto-organisent, s’auto-réparent, s’auto-répliquent et évoluent d’eux- mêmes en fonction de contraintes environnementales. Et les éléments les moins efficaces de ces systèmes sont éliminés, comme dans le processus de sélection naturelle décrit par Darwin.

Ces systèmes exploitent des algorithmes évolutifs qui sont à la croisée des chemins du deep lear- ning et des réseaux d’agents. Ils consistent à tester différentes combinaisons de réseaux de neurones voire de réseaux d’agents les intégrant pour comparer leur efficacité et conserver les variantes les plus efficaces.

146 La conférence de référence sur le sujet des agents semble être l’AAMAS, la dernière édition ayant eu lieu à Stockholm en avril 2018. Voir la liste des papiers publiés à cette occasion.

147 Voir aussi le cours Modélisation et Simulation Multi-Agents - Cours 1 - Prolégomènes de Jean-Daniel Kant (103 slides) qui décrit bien la notion de SMA ainsi que Outils et langages de programmation d’applications multi-agents 2017 (46 slides) qui fait un inven- taire actualisé des outils de développement de systèmes multi-agents.

C’est une reproduction informatique du principe de la sélection darwinienne. Reste à s’assurer qu’ils sont efficaces, ce qui est loin d’être évident vue la combinatoire de scénarios qu’ils peuvent être amenés à simuler !