Le blog de Nicolas Ruiz

Aller au contenu | Aller au menu | Aller à la recherche

mardi 30 novembre 2004

Créer une Intelligence Artificielle : pour quelle utilité ?

Avant d'essayer de simuler ou de recréer une quelconque intelligence, il faut savoir ce que l'on veut imiter : nous l'avons vu dans le billet précédent, les clés de l'IA commencent par une certaine approche de l'IP puis de l'IH. Pourtant, dans le cas d'un chatterbot par exemple, toutes les constantes sont-elles nécessaires ? Un chatterbot se contente en effet « simplement » de répondre à des questions, pas de voir ni de sentir. Seule la constante « Son » pourra donc être utilisée mais dans ce cas-là, cela équivaudrait à une entrée de caractères (et si reconnaissance vocale il y a, ce ne sera pas l'IA à proprement parler qui s'en occupera mais un de ses modules : nous considérerons donc que l'IA entre véritablement en jeu lorsqu'elle reçoit une chaine en paramètre qui équivaut à une requête) ; cela rejoint donc un exemple très utilisé en IA car libéré de toutes ces contraintes : le test du téléphone. Au téléphone, on ne voit pas notre interlocuteur, on ne le sent pas, on se contente de recevoir et d'envoyer des requêtes. Pour le chatterbot, c'est pareil : il est aveugle et ne peut sentir, tout ce qu'il peut recevoir reste une requête extérieure (clavier ou micro). Concevoir une IA avec ce « simple » cahier des charges (dans ces termes) reste donc la voie à explorer pour des applications grand public à moyen terme (car les applications gourmandes en sécurité ne tarderont pas à vouloir voir et reconnaître leur environnement et leurs utilisateurs).

Passons maintenant au point important de ce billet, celui qui lui donne son nom : l'utilité de l'IA. A quoi cela servirait de créer une autre intelligence ? Et bien, outre que cela pourrait nous donner des points de vue interessants, les systèmes d'IA serviront à résoudre des problèmes (ce qu'ils font déjà) mais surtout, ils passeraient pour une nouvelle évolution de l'espèce humaine : l'intelligence évoluée. La puissance des ordinateurs évoluant continuellement, leur capacité de stockage aussi, on peut espérer d'ici un siècle avoir affaire à des systèmes d'IA très performant, voire plus performant qu'un être humain dans un domaine de prédilection. Les systèmes pourraient donc aider l'homme à évoluer et à trouver des solutions que nous n'aurions pas trouver avant des siècles. Le deuxième scénario, plus chaotique, serait de dire que les robots terrasseraient la race humaine pour devenir les maîtres de la Terre. Un tel scénario a peu de chances de se produire même si l'arrivée de l'IA pourra réveiller l'envie de pouvoir de certains.

L'utilité de l'IA ne différencie donc pas des autres inventions de l'être humain : l'aider, l'assister, être à son service pour que ce dernier puisse évoluer (dans n'importe quel sens).

jeudi 25 novembre 2004

Les clés de l'Intelligence Artificielle

Avant d'essayer de programmer quoi que ce soit en IA, il faut observer l'existant et s'en inspirer. Toutes les technologies importantes (avions, automobiles) ont procédé de cette façon, il est nécessaire de les suivre dans cette voie.

L'intelligence primaire (IP) :

Les animaux peuvent être considérés comme des êtres ayant plus ou moins une intelligence primaire. Certains sont étonnants mais ne se hissent en aucun cas à notre niveau ; ils entreront aussi dans cette catégorie. Si nous analysons de visu l'IP, on constate que les animaux, en général, font la jonction entre trois constantes : - Les sons - Les images - Les odeurs

Les deux premières constantes sont les plus importantes. La troisième n'apporte qu'un complément d'information et ne peut être utilisé que peu de temps avant l'action (même l'être humain a du mal a se rappeler d'une odeur bien précise, notre vocabulaire étant trop limité pour cela : ce facteur de souvenir entrera donc uniquement en jeu lorsque l'odeur se manifestera). Le cumul de ces constantes n'est pas obligatoire pour déclencher la réponse de l'animal (l'action), mais plus il y aura de constantes en jeu, plus l'information sera vérifiée et entraînera donc l'action adéquate. Il est même intéressant de noter que si l'une de ces constantes entrent en jeu, elle peut entraîner les autres avec elle (un son déclenche le souvenir d'une image et donc d'une action). On peut donc schématiser simplement l'intelligence primaire par :


La ou les actions pouvant être des mouvements, des sentiments ou tout se qui pourrait résulter de ces constantes. Pour comprendre facilement ce concept, prenons un exemple concret et simple : le chien. Le chien réagit à son maître à des sons ou des gestes, en fonction de ce qu'il a appris. Si on dit au chien de se coucher, les constantes associées à ce son sont des images où on voit le chien être couché, ce qui lui arrive s'il ne le fait pas (douleur) et ce qui lui arrive s'il le fait (récompense). Le chien réagit aussi en termes d'espace : s'il entend une porte et qu'il n'y a pas son maître avec lui, les constantes associées au son de la porte seront l'image de cette porte, sa position dans l'espace et la raison (probable) du déclenchement de tout cela : son maître rentre à la maison : le chien sera donc capable de l'accueillir.


Il y a comme cela des dizaines d'exemples et ils doivent constituer une base à un système d'IA. En effet, de simples associations comme nous venons de le voir permettent une grande polyvalence et cache une grande complexité.

L'intelligence Humaine (IH) :


L'IH est bien plus complexe que l'IP. Bien sûr, nous résonnons en terme d'images, de sons et d'odeurs mais le fait de posséder un langage (complexe) et une connaissance commune (contrairement aux animaux, nous pouvons apprendre autrement que par nous-mêmes, par notre mère, ou par notre ADN : nous avons des encyclopédies et une histoire J) nous oblige à entrer de nouveaux paramètres? de très nombreux paramètres. Si nous vivions à même la nature, en petits groupes, sans avoir de contact avec une civilisation, l'IH serait probablement quasiment identique à l'IP. Mais le fait est que nous vivons entre nous, que nous n'avons pas besoin de chasser pour survivre et que la loi de la jungle ne s'applique plus (dans le sens premier du terme). L'essentiel de nos communications se fait donc avec nos semblables, ces derniers possédant (semble-t-il) les mêmes facultés. L'action (qui peut être un mouvement, un sentiment, ou une réponse dans un langage complexe) ne se déclenche donc plus par trois mais par quatres constantes, dont la plus importante, le langage, possède des sous catégories. Le langage est en effet composé de mots et résulte de connaissances (sinon, il n'y aurait pas de langage, c'est une condition sine qua none) : la constante « Langage » sera donc activé (s'il elle est activable, il se peut en effet que l'on ne comprenne pas ce qui se dit) par la relation Mots-clés ET connaissances, ces dernières s'activant dans les deux sens : - d'abord dans le sens de celui qui envoie la requête (il faut qu'il sache de quoi il parle) - ensuite dans le sens de celui qui va formuler une réponse à cette requête (il faut qu'il est les connaissances requises pour y répondre : dans le cas contraire, soit l'action n'est pas activé, soit elle entraîne une autre requête (dans le sens inverse) avant d'être activé (« C'est à moi que tu parles ??? ») soit elle débouche sur une réponse négative (mais cela reste une réponse correcte)). La suite est identique à l'IP mais à des degrés différents : nous ne possédons pas la même expérience que les animaux et comme je l'ai souligné, nous avons l'avantage de tout savoir sur nos aïeux (et par la même, d'en savoir plus).

mercredi 24 novembre 2004

Définir l'Intelligence Artificielle

Il est difficile de donner une définition claire et exacte de l'intelligence artificielle tant que l'on arrive pas à définir l?intelligence elle-même : pourtant, c'est le cas, puisque entre autres, on n'arrive même pas à la mesurer. Les tests du QI sont en effet loin d'être juste. Cependant, dans un souci d'avancée, on pourrait définir l'intelligence comme le fait de posséder la conscience de soi par rapport au monde qui nous entoure ainsi qu'une une certaine logique et d'appliquer cette dernière, d'en déduire des réponses qui feront avancer de nouveau cette logique. Par logique étant défini la faculté de penser et de sortir des idées sensées, c'est-à-dire admises par la majorité des gens utilisant ces idées et régissant la société à une époque donnée.

L'exemple est facilement détournable mais reste dans la plupart des cas juste. De toute façon, d'aucune façon on ne pourra sortir de définition de l'intelligence tant qu'on n'aura pas exactement compris ce qui se passait dans nos têtes ; pour définir l'intelligence artificielle, il faut donc regarder autour de nous.

Dans la vie de tous les jours, le fait de parler avec une autre personne revêt une certaine forme d'intelligence : l'intelligence artificielle peut donc être définie comme le fait de se trouver devant une entité artificielle (un ordinateur), de lui parler et de recevoir des réponses en rapport avec la question et qui auraient pu être formulé par une autre personne (même si cet ordinateur donne ces réponses par rapport à des conditions et non pas parce qu'il « pense » que c'est une bonne réponse). Un test existe d'ailleurs pour cela : le test du Turing : imaginé par la personne du même nom dans la seconde moitié du 20ème siècle, il consiste, pour simplifier, à mettre une personne devant un terminal, celle-ci devant deviné si l'entité qui répond à ces questions est un homme ou une femme. Il a été détourné au profit de l'intelligence artificielle pour tester les programmes simulant l'homme ; le test est simple : placer un homme devant un ordinateur et lui demander de dialoguer. Il ne sait pas avec qui il dialogue, soit une machine, soit un homme. Le but est de faire la distinction entre ces deux entités. Si le « cobaye » n'y arrive pas, c'est gagné : l'ordinateur aura passé le test du Turing avec succès.

Qu'on se rassure, ceci n'est encore jamais arrivé. Un des rares chatterbot (robot de discussion littéralement) des plus performants actuellement, ALICE, remporte effectivement des prix mais n'arrive pas à imiter vraiment l'humain. Elle repose en effet sur une gigantesque base de données où toutes les questions possibles et inimaginables sont inscrites ainsi que leurs réponses respectives. Mais ce système est un cul-de-sac : non seulement, il va devenir très lourd au fil du temps mais surtout on remarque qu'Alice tourne en rond quand elle ne sait quoi répondre : en bref, elle est incapable de réellement apprendre, ce qui n'en fait pas un véritable « agent intelligent ».

Car, actuellement, on ne programme pas réellement de systèmes doués d'intelligence artificielle. En effet, la plupart des programmes actuels sont bridés, incapables de progresser. Ils ne peuvent apprendre sans que leur créateur le décide. A ce moment-là, on ne possède alors que d'une base de données inaltérable, un comble ; imaginez-vous avec une base de données dans votre entreprise de ce type : elle serait aussi inutile que l'annuaire gardé depuis 10 ans ! Complètement dépassé, désuet et inutilisable dans une industrie qui va aussi vite que celle de l'informatique.

Nous avons donc une simili-définition de ce qu'est l'intelligence artificielle : un système qui apprend et qui simule la vie. Reste à savoir désormais comment mettre cela en oeuvre, d'un point de vue concepteur et utilisateur et cela afin d'arranger les deux camps.

samedi 20 novembre 2004

Galerie : de HAL 9000 aux robots de SONY :



HAL 9000 (pour Heuristic ALgorithmic Computer) apparut dans 2001, l'odyssée de l'espace, de Stanley Kubrick et Clark. Il possédait sur Terre son double, SAL 9000 et, dans le scénario original, s'appelait Athéna et possédait une voix féminine. Dans « 2001 », HAL décida de détruire tous les membres de l'équipage car une de ses règles (faire régner une grande transparence dans l'information) entrait en paradoxe avec le but ultime de la mission (dont seul lui et les membres cryogénisés connaissaient la finalité), à savoir trouvé le troisième monolithe sur Io (un satellite de Jupiter).


Les robots de Honda, désormais très célèbres pour leur habilité et surtout le fait qu'ils se déplacent avec deux jambes (ce qui nécessite un centre de gravité assez haut)



Plusieurs modèles d'AIBO (pour Artificial Intelligence roBOt) de SONY, du moins au plus récent. Le second, plus "agressif" et destiné principalement à la surveillance, eut un succès mitigé. Le troisième modèle, sorti il y a peu a donc corrigé ces défauts...



Le dernier robot sorti des laboratoires de SONY : le QRio. Haut de 35cm, il devrait pouvoir avoir plus de fonctions que les AIBO. Pas de date de sortie annoncée.