Journal d'un Terrien

Web log de Serge Boisse

On line depuis 1992 !

Publicité

Si cette page vous a plu, Copiez son adresse et partagez-la !
http://sboisse.free.fr/technique/info/cyc.php

cyc
Metadata
Serge Boisse
Le 31/03/2023 à 18:03
web/MOC
oui
oui

CYC : modéliser le bon sens

Pour pouvoir raisonner dans le monde réel, une IA doit posséder un grand nombre de connaissances sur le fonctionnement de ce monde. Ces connaissances constituent ce que l’on appelle le sens commun, elles sont partagées par tout le monde. Tout le monde sait qu’il fait plus sombre la nuit que le jour, que deux objets ne peuvent pas être au même endroit en même temps, ni un objet à deux endroits en même temps, que boire de l’eau étanche la soif, etc.

Considérons les trois phrases suivantes :

  • Le professeur a envoyé l’élève chez le censeur parce qu’il jetait des boulettes (il : l’élève)
  • Le professeur a envoyé l’élève chez le censeur parce qu’il voulait le voir (il : le censeur, le : l’élève)
  • Le professeur a envoyé l’élève chez le censeur parce qu’il voulait le punir (il : le professeur,  le : l’élève, pas le censeur !)

Pour comprendre ces phrases, (ou pour les traduire dans une autre langue) nous avons besoin de savoir qu’un élève peut jeter parfois des boulettes, mais rarement un professeur ; qu’aller chez le censeur peut être, pour un élève, une punition ; que le censeur d’un collège peut demander à un professeur de lui envoyer un élève, etc.  Sans nous en rendre compte, dans chacune de nos actions quotidiennes, nous utilisons des millions de faits que chacun de nous connaît, et que dont nous savons que chacun de nous les connaît, ce qui facilite bien les conversations !

Sauf que les ordinateurs, eux, ne savent rien de tout cela… Et qu’il se pourrait bien pourtant qu’il faille leur apprendre toutes ces règles de sens commun si nous voulons leur faire faire accomplir des choses un peu plus intelligentes que d’additionner des nombres.

Personnellement, je ne monterai pas dans un véhicule automobile piloté par un ordinateur, si je ne suis pas persuadé auparavant que le programme sait différentier un enfant d’un ballon, et qu’il sait qu’un enfant à infiniment plus  de valeur qu’un ballon ! Vous non plus ? Vous me rassurez !

Le projet CYC lancé par Douglas Lenat est le plus grand projet existant visant à capturer ces connaissances et à construire des raisonnements logiques à partir d’elles. CYC contient actuellement plus de deux millions cinq cent mille faits et règles sur la vie de tous les jours, relatif à près de deux cent mille concepts différents, et l’équipe de CYC en ajoute chaque jour des dizaines de nouveaux. C’est le plus grand « système expert », et également le plus grand « réseau sémantique » jamais construit. 

Depuis vingt ans, une dizaine de volontaires, les « cyclistes », passent leur temps à entrer de nouvelles données dans CYC.

Ce système expert  est si grand que l’ordinateur passerait bien plus de temps à rechercher les règles applicables qu’à les exécuter, si il n’était pas découpé en milliers de « microthéories ». Ces microthéories ressemblent aux agences de la société de l’esprit de Minsky, elles utilisent chacune leurs propres représentations des connaissances et leurs propres règles pour raisonner dessus. Par exemple il y a une microthéorie pour décrire les systèmes physiques, une pour décrire les véhicules, une pour décrire les phénomènes naturels, une pour décrire les différents animaux, une pour décrire les émotions humaines…. Ceci permet à CYC de décrire des connaissances et des assertions à priori contradictoires, mais néanmoins consistantes dans leur propre microthéorie.

Ces microthéories sont reliées par des « règles de transfert », qui permettent la traduction d’expressions logiques entre différentes théories. Il se pourrait que la plus grande contribution de CYC à l’IA ne soit pas la base de connaissances elle-même,  mais l’ontologie des connaissances, c’est à dire leur découpage en catégories et sous-catégories.

CYC est un système vraiment impressionnant. Dans l’une des multiples  applications qui ont été construites à partir de sa base de connaissance, on lui demande de choisir des images en fonction d’une question qu’on lui pose, ou de mots clef qu’on lui donne (un peu comme fait google images, sauf que les questions peuvent être beaucoup plus ambiguës et générales). Lorsqu’on lui a posé la question : « montre moi une personne heureuse », il a choisi l’image d’un père avec son enfant. Lorsqu’on lui a demandé pourquoi il avait choisi cette image, CYC a répondu « parce que cette image montre deux personnes (le père le et fils) ensemble, qu’un père aime généralement son fils, et que lorsqu’une personne est proche d’une autre personne qu’elle aime, elle est généralement heureuse ». Que dire de plus ?

L’une des motivations de Lenat pour créer CYC, était qu’il pensait que ce que nous appelons l’intelligence est simplement l’aptitude à raisonner à partir de nombreuses connaissances de sens commun.  Il suffirait, disait Lenat il y a vingt ans, de collecter un million de petits faits, et de créer un moteur qui permette de raisonner à partir de ces faits pour que l’intelligence « émerge » automatiquement. L’intelligence, pour lui , est un phénomène qui apparaît spontanément à partir d’un certain niveau de complexité et de connaissance. Les faits lui on donné (partiellement) tort : Lenat n’a cessé de relever la barre, et estime maintenant que le nombre de faits  de sens commun nécessaires pour donner à CYC « l’intelligence d’un enfant de quatre ans » est « entre quatre et vingt millions ».

De même, Lenat pensait qu’à partir d’une certaine masse critique, CYC pourrait s’alimenter lui-même en nouvelles connaissances , en surfant simplement sur le web. Mais il avait sous-estimé la somme de connaissances qu’il faut pour vraiment comprendre un texte écrit par un humain pour d’autres humains.  Aujourd’hui encore, même si CYC dispose d’une capacité limitée à surfer et apprendre sur le web, la plupart de ses connaissances sont encore entrés à la main, ou en tout cas vérifiées et surtout cataloguées à la main : Apprendre  quelque chose est bien, mais savoir dans quel contexte le nouveau fait est valide (et surtout n’est pas valide) est tout aussi important, sinon plus.

Il est à noter que CYC connaît beaucoup de chose sur le sens  commun et le « bon sens » bien de chez nous, mais qu’il connaît fort peut de choses sur la manière de raisonner avec toutes ces connaissances. CYC n’utilise pour raisonner que des règles logiques comme l’unification, le modus ponens et le modus tollens, règles dont nous avons déjà donné toutes les limitations dès le premier chapitre de ce livre.

C’est peut-être la principale faiblesse de CYC : il possède beaucoup de connaissances déclaratives, mais fort peu de connaissances procédurales (et ici, par « procédural », je ne veux pas dire des connaissances stockées sous forme de programme, mais des connaissances sur les moyens de traiter la connaissance par programme, et de fabriquer des programmes qui traitent les connaissances). Il n’en reste  pas moins pour créer une IA vraie, nous aurons besoin de « l’initialiser » en lui inculquant un grand nombre de données « innées », et utiliser CYC est certainement la manière la plus simple de le faire.

CYC a été beaucoup décrié, même par des spécialistes de l’IA, certains on même dit « Lenat est fou », parce qu’ils estiment que le travail énorme qui a été consacré à CYC aurait pu être utilisé à des choses utiles. Mais le nombre d’applications basées sur CYC ne fait qu’augmenter, même s’il est encore faible (la dernière en date concerne l’optimisation de la sécurité informatique). L’heure du retour sur investissement positif n’a pas encore sonnée, mais elle n’est peut-être pas si lointaine.

L’un des principaux acquits de Lenat est d’avoir montré que, contrairement aux idées reçues, on ne peut pas simplement faire apprendre une IA « à partir de rien ». Il est nécessaire de disposer d’un socle de connaissances (terme à la mode) minimal pour pouvoir apprendre quelque chose, et ce socle est bien plus grand que l’on ne croit.

Fort bien, mais les humains, eux, comment font-ils ? Il se trouve que les humains disposent de quelques avantages sur CYC :

•    Leur « moteur de raisonnement » est basé sur l’imagerie sensorielle, et pas sur la logique formelle, comme CYC. De plus, les humains peuvent faire des analogies entre la situation présente et des situations déjà vécues, et prendre des décisions basées sur ces analogies. Ils peuvent effectuer des transferts entre microthéories, basées sur des analogies.
•    Ils disposent d’émotions, qui les guident dans le choix des buts et des heuristiques pour les atteindre
•    Le bébé humain est capable d’apprendre par attachement, en imitant ses parents et en étant récompensé ou grondé par eux.

Le raisonnement analogique semble alors s’opposer au raisonnement logique.  Mais qu’est-ce qu’une analogie, et comment rendre les ordinateurs capables d’analogie ?

Nous avons déjà parlé un peu des analogies au chapitre 1. Mais pour aller plus loin il serait temps de s’adresser au « pape de l’analogie », Douglas Hoftstadter, et de lui poser la question : Comment fait-on pour faire des analogies, monsieur Hoftstadter ?
NB: cette page est extraite de mon livre "L'esprit, l'IA et la SIngularité".

La suite>: Copycat

Publicité
Commentaires

Commentaires (1) :

Page : [1] 

Vincent
Le 24/11/2014 à 17h40
Du coup, si on suit le texte, on nous parle du plan grand système expert jamais créé. Ce qui voudrait dire que le projet CYC s'inscrit dans l'intelligence artificielle faible. Ce qui voudrait encore dire qu'elle serait très performante dans son système mais a la fois très cadré. On pourrait donc la caractérisé d'IA forte car elle est en train de franchir la limite entre les 2 types d'IA. Du coup ma question, CYC fait partie de l'IA faible ou forte ?


Ajouter un commentaire (pas besoin de s'enregistrer)

Pseudo :
Message :


image de protection
En cliquant sur le bouton "Envoyer" vous acceptez les conditions suivantes : Ne pas poster de message injurieux, obscène ou contraire à la loi, ni de liens vers de tels sites. Respecter la "netiquette", ne pas usurper le pseudo d'une autre personne, respecter les posts faits par les autres. L'auteur du site se réserve le droit de supprimer un ou plusieurs posts à tout moment. Merci !
Ah oui : le bbcode et le html genre <br>, <a href=...>, <b>b etc. ne fonctionnent pas dans les commentaires. C'est voulu.
< Retour en haut de la page