Agents intelligents, quésaco ?

Suite à un bref article sur le RGPD dans lequel j’évoque les bienfaits du Règlement Général sur la Protection des Données mais aussi et surtout les doutes émis à son égard. Des questions vis-à-vis de la place que pourrait occuper ce règlement dans la société automatisée et numérisée dans laquelle on se projette. J’essaie à travers cet article d’éclaircir ce qu’il se cache derrière la notion essentiel d’agents intelligents.

C’est un fait, les normes liées au traitement de l’information divergent d’un continent à un autre. Google Assistant, par exemple, pisse littéralement sur ce réglement (RGPD) en violant la vie privée de ses utilisateurs. Leur défense repose sur l’argument suivant : les échanges sont anonymisées … sans crypter/censurer les informations personnelles. 

L’objet de cet article est de ce fait de passer en revue ce qui se cache derrière ce OK Google et d’une manière générale, de quoi ces machines sont-elles capables.

Pour ce faire, cet article se décompose en 4 parties :

Caractéristiques

Comme évoqué dans un autre article, l’économie a contribué au développement de l’intelligence artificielle. L’intérêt étant de reproduire le mode de fonctionnement des êtres humains et organisations avec les machines. Une machine doit tenir compte de son environnement et son expérience pour maximiser ses chances de réussite.

En économie on parle de d’homo oeconomicus. Soit, un modèle abstrait de l’être humain à des fins expérimentales. Ce modèle suppose que l’être humain cherche à maximiser sa satisfaction pour le moins de coût possible selon son environnement (la société, la culture, etc.) et ses préférences personnelles. 

Attention ce modèle n’est pas omniscient (la machine ne doit pas tout savoir, la machine doit se tromper et apprendre toute seule de ses erreurs).

Sans faire le lien entre des théories utilisées en économie (comme la théorie de la décision) et l’intelligence artificielle, la notion d’agent intelligent n’existerait pas.

Ainsi, on peut voir l’intelligence artificielle comme l’étude des agents intelligents.

« Objet utilisant les techniques de l’intelligence artificielle : il adapte son comportement à son environnement et en mémorisant ses expériences, se comporte comme un sous-système capable d’apprentissage : il enrichit le système qui l’utilise en ajoutant, au cours du temps, des fonctions automatiques de traitement, de contrôle, de mémorisation ou de transfert d’information. » L’association française de normalisation (AFNOR)

Qu’est-ce qui fait qu’un agent est bon ou mauvais ?

Le comportement d’un agent dépend de la nature de l’environnement. Durant la guerre les ordres étaient de tuer. Dans certains pays on ne mange pas à la même heure qu’en France. Dans certains lieux le bruit est interdit.

Un agent dit rationnel est un agent qui effectue toujours l’action appropriée. Si la séquence d’actions de l’agent est désirable (compte tenu de l’environnement donc !), on mesure sa performance pour être en mesure de dire s’il s’est bien comporté. 

La définition de la mesure de performance doit tenir compte de l’environnement et des données à disposition (quels sont les capteurs et les effecteurs dont l’agent dispose ?).

Par exemple, pour le Google Assistant il peut être judicieux de mesurer le nombre de bonnes réponses différentes modulo le nombre de personnes émettrices des questions.

Il arrive cependant que l’agent doive agir afin de modifier les futurs percepts, autrement dit faire de la collecte d’informations. Dans la mesure où l’agent ne connaît pas son environnement, la collecte d’informations devient de l’exploration ce qui sous-entend d’apprendre sur le tas.

C’est pourquoi un agent doit être autonome. C’est-à-dire apprendre ce qu’il peut pour ne pas dépendre de ses connaissances a priori partielles ou incorrectes.

Si une bonne partie des chercheurs s’accordent sur la nécessité de l’existence de quelques caractéristiques pour qu’on puisse parler d’agents intelligents, aujourd’hui aucune machine possèdent l’ensemble de ces caractéristiques : 

  • L’autonomie : l’agent doit pouvoir prendre des initiatives et agir sans intervention de l’utilisateur final. Est-il en marche en permanence ? A-t-il était programmé (et ce, qu’importe le niveau de complexité du programme) ?
  • La communication : l’agent doit pouvoir échanger des informations plus ou moins complexes avec quiconque (une machine ou un humain).
  • Le raisonnement : l’agent doit être capable de s’adapter à son environnement, son évolution ainsi qu’aux expériences d’autres agents/humains dans ce même environnement.
  • La mobilité : l’agent doit pouvoir intervenir dans un nouvel environnement sans connaissance préalable et sans assistance.

Environnements

L’éventail des environnements de tâches qui peuvent se présenter en IA est très vaste. Il est toutefois possible d’identifier un nombre restreint de dimensions qui permettent de les catégoriser. Ces dimensions déterminent dans une large mesure la conception des agents :

Environnement
Entièrement observable ou partiellement ?L’agent sait tout de son environnement à tout moment ?
Monoagent ou multiagent ?L’agent cherche à maximiser une mesure de performance dont la valeur dépend d’un autre agent ou est-il en concurrence ?
Déterministe ou stochastiqueLe prochain état de l’environnement est déterminé par son état courant et l’action de l’agent ?
Episodique ou séquentielEpisodique : prendre en compte chaque action sans tenir compte des décisions précédentes.
Statique ou dynamiqueDynamique : peut changer pendant la prise de décision d’un agent.
Discret ou continuS’applique à l’état de l’environnement, à la façon dont le temps est géré ou aux percepts/actions de l’agent.
Connu ou inconnu Se rapporte à la connaissance de l’agent des lois de la physique qui régissent son environnement.


Le cas le plus dur est : partiellement, observable, multiagent, stochastique, séquentiel, dynamique, continu et séquentiel.

Composition

Pour répondre à ces caractéristiques (autonomie, communication, raisonnement et mobilité), un agent est donc composé de plusieurs modules :

  • Une base de connaissances
  • Un moteur d’inférence
  • Un système d’acquisition de connaissances
  • Un mécanisme d’apprentissage

Est agent toute entité qui perçoit son environnement grâce à des capteurs et qui agit sur cet environnement via des effecteurs.

Les percepts désignent les entrées perceptives d’un agent à un instant donné. 

Le comportement d’un agent est décrit par la fonction agent qui fait correspondre une action à chaque séquence de percepts. 


En général l’action choisie par un agent à un instant donné peut dépendre de la totalité des percepts observés. Le programme agent est ce qui s’exécute concrètement sur le système de l’agent. 

La tâche de l’IA est de concevoir un programme agent qui implémente la fonction d’agent, celle qui associe des percepts à des actions. 

Ce programme s’exécutera sur un équipement informatique doté d’effecteurs et de capteurs physiques, c’est l’architecture.

Agent = architecture + programme

Programme agent = prend en entrée le percept courant. S’il a besoin de plusieurs percets il doit les mémoriser.

Fonction agent = table qui associé l’action à chaque séquence de percepts possible.

PerceptsAction
[Situation A, Situation B]Action 1
[Situation A, Situation B], [Situation A]Action 2
[Situation B]Action 1, Action 2 

Le problème étant que la table de fonctions est trop volumineuse. Elle requiert en effet de l’espace mémoire au sein d’un agent, nécessite une forte période d’apprentissage et ne permet pas à l’agent d’être autonome. De ce fait, la difficulté est de faire des programmes rationnels avec une table réduite. C’est pourquoi il n’existe pas encore à ce jour d’agent remplissant l’ensemble de ces caractéristiques.

La première étape lors de la conception d’un agent est donc de spécifier sa mesure de la performance, son environnement (voix, bruit), ses effecteurs (écran, haut parleur) et ses capteurs (micro).

Types de programme

Il y a 4 types de programme :

agents réflexe simplesSélectionne des actions en fonction du percept courant et ignore le reste de l’historique des percepts : règles if-then.
Agent réflexes fondés sur des modèlesMaintient une forme d’état interne qui dépend de l’historique des percepts,ce qui permet d’avoir une idée d’une partie de l’environnement non observés. Il y a les informations liées à l’évolution du monde et les informations liées aux conséquences des changements des actions de l’agent sur ce monde. 
agents fondés sur des butsLes informations sur l’environnement ne suffissent pas toujours dans la prise de décision. L’agent a besoin d’informations sur la finalité. L’agent fondé sur les buts est moins efficace mais plus souple : la connaissance sur laquelle s’appuient ses décisions est représenté explicitement et peut être modifiée
agent fondés sur l’utilitéLes buts ne suffisent pas dans la plupart des environnements. Les buts ne répondent qu’à la question satisfait” ou non. Utile lorsqu’il existe un conflit entre les buts (que faire si un but n’est pas atteignable ? que faire quand plusieurs buts sont atteignables sans certitude ?). L’utilité fournit un moyen d’évaluer la probabilité de succès par rapport à l’importance des buts.

Au final faut-il juste modéliser un agent qui maximise l’utilité espérée ? Pas forcément, il doit modéliser son environnement et garder une trace de son évolution, des tâches qui ont exigé beaucoup de recherches sur la perception, la représentation, le raisonnement et l’apprentissage.

Apprentissage

Comment les agents sont créés ?

Pour Alan Turing, programmer ces machines à la main est bien trop difficile. Il faut trouver un moyen plus rapide. Son idée consiste à créer des machines capables d’apprendre et instruire.

L’apprentissage est aujourd’hui un élément clé parce que ça permet à un agent d’opérer dans un environnement inconnu et progresser malgré le peu de connaissances au départ. Pour autant les méthodes d’apprentissage sont très variées car la conception des agents diffère. cela dit, l’idée générale est que les composants sont modifiés en fonction du feed-back.

Conclusion

Pour conclure, ce travail effectué dans les années 90 à son importance aujourd’hui car, comme l’explique Luc Julia (cocréateur de Siri) dans son livre, l’Internet des objets connectés est limité aujourd’hui. En cause, le manque d’interopérabilité. L’expérience est effectivement pas très intéressante dans la mesure où nous sommes forcé d’ouvrir une application sur un téléphone pour faire une action qui serait plus rapide dans la vie réelle, sans application.

L’idée est de s’orienter vers une nouvelle définition de l’Internet de objets pour rendre ces objets intelligents. De manière à ce que chaque objet soit une fonction simple mais qu’il puisse interagir avec d’autres objets pour s’aider, s’améliorer et enfin progresser.