// septembre 14th, 2007 // Pas de Commentaires » // Cogni
Je l’avais évoqué dans mon premier billet, je vais traiter ici des liens entre univers virtuels et intelligence artificielle. Deux billets récents de Wangxiang Tuxing et de Pierre-Olivier Carles me font accélérer la cadence.
Wangxiang cite Marc Ward de BBC News : les mondes virtuels en passe de devenir des incubateurs dintelligence artificielle. Eh bien, je n’aurais su mieux dire. C’est tout de suite ce qui m’a frappé quand je suis revenu en début d’année sur SL. J’allais enfin pouvoir créer facilement une des applications-jeu de ma thèse, qui date de 95.
De quoi s’agissait-il ? Il existe deux paradigmes majeurs en intelligence artificielle, le paradigme cognitiviste, ou approche symbolique, et le paradigme connexionniste, ou approche subsymbolique. Le premier a notamment engendré les systèmes experts, et le second les réseaux de neurones. Les deux paradigmes possèdent des avantages et des inconvénients, mais il se trouve qu’ils se complètent assez bien, et que la coopération de systèmes ayant des composants relevant de chacun des paradigmes permet d’obtenir des artefacts aux capacités cognitives plus élaborées.
On peut montrer qu’une série de dualités résume l’alternative qui se pose au concepteur d’artefacts intelligents pour le choix d’un des deux paradigmes : inné et acquis, savoir-que et savoir-faire, res cogitans et res extensa, dynamique et statique, continu et discret… En me fondant sur des théories psychologiques et neurobiologiques de l’époque, j’avais montré qu’il est possible de concevoir des systèmes hybrides (symboliconnexionnistes) fortement couplés dans lesquels ces dualités ne sont plus opposées.
Un exemple dans le domaine de la reconnaissance d’écriture : un de mes encadrants de thèse (nous l’appelerons André car il va se reconnaître :) avait dans sa propre thèse couplé deux systèmes pour reconnaître des codes postaux. Un module spécialisé dans la reconnaissance des contours des chiffres, et un autre dans celui du pixmap (les dégradés de gris). La coopération de ces deux modules donnait des résultats excellents, meilleurs que chaque module séparément. Mais il restait des chiffres impossible à reconnaître, mais qu’un être humain savait reconnaître.
Il restait aussi des chiffres illisibles même par un être humain…
Ces deux modules étaient des spécialistes de la lecture. Les réseaux de neurones qui étaient dans ces modules avaient appris à lire. Pour gagner les quelques dixièmes de pourcent de reconnaissance réussie qui nous manquaient, j’ai ajouté un troisième module, qui a lui appris à lire. Construit à la fois avec des neurones et des règles d’écriture, il était activé dès qu’un chiffre n’était pas reconnu. Imaginez par ex. un 2 avec une boucle en bas à gauche à la place de la pointe. Quand le système à deux modules échouait, je repérais le chiffre fautif, et je faisais faire des lignes d’écriture au système à trois modules avec des chiffres similaires, que je saisissais sur une tablette graphique. Les résultats ont été immédiats et le système global a obtenu les mêmes performances qu’un humain, pour ces types de caractères. Le système, hybride, avait appris à lire et à écrire, pour résoudre la seule performance qu’on attendait de lui : lire.
J’en reviens à présent aux mondes virtuels. Une autre application que j’ai testée était l’apprentissage de la marche pour un robot. Il y avait à l’époque des programmes d’exploration de Mars, avce des robots de toutes sortes, à roues, à chenilles ou à pattes. Je me suis intéressé au robot hexapode. Impossible à l’époque de s’en procurer un (même en légo, j’ai essayé aujourd’hui ce serait faisable), il a fallu donc se tourner vers la simulation, avec toutes les limites qu’elle pouvait avoir. Une simulation en 2D, vue de dessus.
Arcandie, mon robot hexapode, pouvait lever ou baisser ses pattes, et les bouger dans tous les sens dans un rayon de quelques pixels. Il avait un but à atteindre (implémenté sous forme de règle symbolique). Il avait un équilibre à garder (lois de la physique, et plus particulièrement du triangle de sustentation, implémentées également sous forme de règle symbolique). D’autres lois symboliques exprimaient que le robot ne volait pas (les six pattes ne peuvent être ensemble en position haute), et que ses pattes ne sont pas extensibles à l’infini et restent attachées au corps. Il avait enfin un ensemble de réseaux de neurones (initialisé avec des poids synaptiques tirés au hasard, comme d’habitude) calquant ce qu’on savait à l’époque des composants neuronaux en jeu dans les systèmes moteurs [Sheperd, G.M. 1998, Neurobiology. Oxford University Press].
Que fit le robot, une fois laché ? Plusieurs démarches apparurent, par ex. deux pattes de devant levées, puis celles du milieu, puis les pattes postérieures. Ou des démarches 2-4, comme une grenouille. Il tombait souvent (surtout quand il levait 3&nsbp;pattes d’un côté, puis 3 de l’autre). Mais dans tous les cas (quels que soient les poids synaptiques de départ des neurones), plus ou moins rapidement (entre 100 et 400 pas), la démarche en tripode, naturelle, de tous les animaux à six pattes, émergea d’elle-même. Nous ne l’avions pas inscrite en dur dans le système. Elle fut la résultante de notre approche hybride, symboliconnexionniste du problème.
La simulation en 2D était frustrante. Je ne pense pas d’ailleurs que je pourrai la faire tourner à nouveau sans rentrer dans le code (X-Window de l’époque…). Il est bien plus motivant de la tenter à nouveau dans un univers en 3D, d’autant plus qu’il est possible de faire tourner les mécanismes d’apprentissage des réseaux de neurones à l’extérieur de Second Life, et de n’échanger que les positions dans SL et les mouvements à faire. C’est d’autant plus motivant que dans les systèmes hybrides, les relations particulières qui s’établissent entre le système et son environnement (perception et action) et entre le système et son concepteur (processus éducationnel) sont fondamentales.
Et dans Second Life, il y a les deux : un environnement très riche (terrains, bâtiments, objets mobiles…) et de nombreux « éducateurs » potentiels. Si je recrée Arcandie, elle sera visible sur l’île de Telecom Bretagne bien sûr.
J’ai vu les quelques expériences de vie artificielle déjà proposées (écosystèmes Second Nature 3 Pseudozoa Terminus (lire les billets de Wiangxiang), et les robots/chatbots Takashi sur Penglai, Sparky, Mary Jane (lire les billets de Wiangxiang là aussi)). Elles sont doublement artificielles pour moi. Ce sont des objets quasi-autonomes, mais ayant un périmètre d’actions restreint. C’est le cas des écosystèmes d’animaux de certaines îles. Mais ce n’est pas la vie artificielle car il manque les capacités d’apprentissage (entre autres). Leurs comportements sont scriptés, et même s’il y a une certaine liberté dans ces comportements, on reste au niveau de l’approche symbolique.
Il est possible, avec l’approche hybride, et d’autres connaissances qui ont été obtenues en sciences cognitives depuis dix ans, de s’approcher d’une véritable vie artificielle dans un monde virtuel (ce qui ne signifie pas s’approcher d’une « vie artificielle dans notre monde réel »). Des avatars autonomes, capables de converser (pas seulement de répondre selon des schèmes pré-établis aux propos qu’on leur fait, comme on l’observe aujourd’hui avec AIML) et d’apprendre, sont possibles.
Ce sera l’objet de mes futurs billets « Cogni ».
Il est possible qu’une équipe de recherche sur la pensée artificielle, avec des fondements réellement nouveaux, se monte bientôt sur Brest, et je compte y apporter ma pierre avec des systèmes hybrides plongés dans Second Life.