Du côté de la programmation

Mon but n'est pas de vous surprendre ou de vous choquer. Pour le dire simplement, nous disposons aujourd’hui de machines qui pensent, qui apprennent et qui créent. De plus, leurs capacités sur ces sujets vont augmenter rapidement jusqu'à ce que, à un horizon proche, l'éventail des problèmes qu'elles pourront traiter sera proche de ce que l'esprit humain peut faire. Herbert A. Simon (1958)
Prix Turing 1973

Quelques programmes emblématiques

Le domaine fait de beaux progrès dans la thématique de la résolution de problèmes (problem solving). De nombreux systèmes dits intelligents sont inventés, principalement des programmes (SHRDLU, ELIZA, General Problem Solver) et certains robots (SHAKEY). Les premiers langages de programmation sont inventés pour interagir plus efficacement les premiers ordinateurs qui existaient. Citons par exemple LISP, FORTRAN, COBOL et PROLOG, qui sont encore utilisés.

Le Logic Theory Machine (LTM) réussit à prouver 38 théorèmes, parmi une liste de 52 théorèmes que le logicien Bertrand Russell considéraient comme fondamentaux. Il propose même une démonstration jugée plus élégante que celle existante. Russell propose de publier cet démonstration dans un article, mais le journal refuse d’accepter un programme comme co-auteur.

Le General Problem Solver (GPS) généralise le LTM. Il n’est plus limité à la logique et peut être appliqué à n’importe quel problème, d’où son nom. Une fois que l’humain a décrit le problème à traiter, sous la forme d’objectifs hiérarchisés et de moyens d’actions, GPS s’occupe de la logique. Il sait par exemple résoudre le problème des missionnaires et des cannibales, qui est difficile même pour un humain.

Pour franchir une rivière, trois missionnaires et trois cannibales doivent utiliser une barque qui ne peut supporter plus de deux personnes. Si, à tout moment, les cannibales sont strictement plus nombreux que les missionnaires sur l'une des deux rives, les missionnaires seront tués et mangés. Les six protagonistes peuvent-ils traverser la rivière sains et saufs ? S'ils le peuvent, comment y arrivent-ils avec un minimum de traversées et quel est le nombre de façons de parvenir à ce minimum ? Le missionnaire et les cannibales

Pandemonium est un programme de logique symbolique. Il est constitué d'une assemblée de démons et fonctionne de manière parallèle. Chaque démon est spécialisé dans la reconnaissance d’un motif précis. Selon ce qu'il décide, il se manifeste de façon plus ou moins bruyante et de façon souvent contradictoire par rapport aux autres voisins. Dans cette cacophonie, un démon supérieur choisit la réponse la plus plausible. Pandemonium a beaucoup influencé les approches connexionnistes et symboliques.

SHRDLU est un des programmes de traitement du langage les plus connus. Il évolue dans un monde composé de blocs cubiques (block world). Créé au début des années 1970, il peut construire des assemblages de blocs à partir d’instructions exprimées en anglais, et dont la syntaxe peut être parfois complexe. Il est capable de modifier un assemblage existant et de déterminer la liste des actions à mener. Son influence est importante et sort du domaine restreint des spécialistes de l’IA.

Parler avec un programme ?

Alan Turing se demande si les machines peuvent penser. En 1950, il imagine le jeu de l'imitation (imitation game ou test de Turing). Un interrogateur discute avec deux témoins, dont un humain et un programme. Chaque témoin tente de convaincre l’interrogateur qu’il est bien humain. Le but pour l’interrogateur est de décider lequel est un programme ; il peut poser des questions sur n'importe quel sujet.

Je pense que dans une cinquantaine d'années, il sera possible de programmer des ordinateurs qui, disposant d'une très grande capacité de stockage [pour l'époque], joueront si bien le jeu de l'imitation qu'un interrogateur moyen n'aura pas plus de 70% de chances de faire la bonne identification après cinq minutes d'interrogatoire. Alan Turing (1950)

En l'an 2000, Alan Turing estimait que des ordinateurs pourraient réussir le test avec une performance supérieure à 30% : dans trois cas sur dix, un interrogateur humain se tromperait. Il déciderait ainsi que le témoin artificiel est un humain, c'est à dire que le programme arriverait à tromper l'interrogateur. Ce seuil semble aujourd'hui un peu faible, selon certains auteurs. Un seuil à 50% est généralement retenu, il permet de dire que le programme réussit en moyenne à tromper l’interrogateur plus souvent qu’un simple tirage aléatoire.

Le test de Turing pose de nombreuses questions : que mesure-t-il réellement ? Quels systèmes pourraient être capables de le passer ? Malgré ses limites, il reste pertinent comme outil d’évaluation des performances générales d’un agent conversationnel.

Eliza, Eliza

Je n'avais pas réalisé qu'une exposition extrêmement courte à un programme informatique relativement simple pouvait induire des pensées totalement délirantes chez des personnes tout à fait normales. Joseph Weizenbaum (1976)

SIRI et ChatGPT en sont pas les premiers agents conversationnels. Joseph Weizenbaum a créé le programme Eliza entre 1964 et 1967, dans le but d'étudier les relations entre les humains et les programmes. Eliza marque une étape importante dans la compréhension du langage naturel par les ordinateurs.

Le programme est conçu comme un agent conversationnel général, avec lequel on communique avec une sorte de machine à écrire. Eliza interprète un script spécifique à un domaine et détermine ainsi son style de conversation. Le script le plus connu s'appelle DOCTOR, où le programme joue le rôle d'un psychothérapeute. Ce programme est considéré comme le précurseur de nombreuses interfaces de conversation et de chatbots, avec lesquelles nous sommes devenus familiers.

J'ai été surpris de voir avec quelle rapidité et quelle profondeur les personnes qui conversaient avec DOCTOR s'impliquaient émotionnellement avec l'ordinateur et comment elles l'anthropomorphisaient sans équivoque. Une fois, ma secrétaire, qui m'avait regardé travailler sur le programme pendant de nombreux mois et qui savait donc certainement qu'il s'agissait simplement d'un programme informatique, a commencé à converser avec lui. Après seulement quelques échanges avec le programme, elle m'a demandé de quitter la pièce. Joseph Weizenbaum (1976)

[L'effet Eliza] est une illusion que l'on pourrait définir comme la susceptibilité des gens à surinterpréter et à accorder beaucoup trop de sens aux chaînes de symboles - en particulier des mots - assemblés par des ordinateurs. Douglas Hofstadter (1995)

Apprentissage automatique

L'apprentissage automatique est une discipline de l'intelligence artificielle, née avec elle. On parle aussi d'apprentissage statistique, ou d'apprentissage machine si on veut rester proche de l'appellation anglaise, machine learning. Son histoire est chahutée. De nombreux spécialistes de l’apprentissage automatique ne se sentent pas acteurs du domaine de l’IA. Ce sujet mérite un débat à part entière, à la frontière entre technique et culture.

Programmer les ordinateurs pour qu'ils apprennent par l'expérience pour, à la fin, être dispensé d'une grande partie de l’effort requis par une programmation détaillée. Arthur L. Samuel (1959)

Il n’y a pas vraiment d’apprentissage au sens humain du terme. Le but de l'apprentissage automatique est de construire des programmes dont le comportement n'est pas programmé explicitement. Le programme vit dans un contexte donné, ce contexte constitue son monde personnel, et il doit effectuer des arbitrages dans des situations données. Il va apprendre à reproduire ces arbitrages en reliant les situations aux résultats. Dit autrement, le programme va détecter des relations entre les données d’entrées et les données de sorties. Ces relations sont sauvegardées par le programme et constituent une base de connaissances, souvent incompréhensible pour un humain. Ces connaissances sont utilisées pour prédire le résultat le plus probable pour des données d’entrées qu’il ne connaît pas.

La reconnaissance de textes manuscrits ou d’images en sont des exemples classiques. Pour fonctionner, ces programmes sont entraînés sur de vastes bases de données.

Il existe trois types principaux d’apprentissage automatique. L’apprentissage supervisé, où le programme est entraîné avec des exemples d'entrée et de sortie. C’est le type d’apprentissage le plus utilisé actuellement. L’apprentissage non supervisé, où le programme extrait seul des classes ou groupes de points présentant des caractéristiques communes. L'apprentissage par renforcement, où le programme est un agent qui reçoit des récompenses ou des punitions en fonction de ses décisions. L'agent apprend à maximiser sa récompense en prenant des décisions en fonction de ses expériences passées.

De nombreux algorithmes d’apprentissage automatique ont été inventés et perfectionnés au cours des 70 dernières années. Citons les différentes types de régressions (Lasso, Ridge, logistique), arbre de décision, k plus proches voisins, modèles linéaires généralisés (des régressions, donc), machine à vecteurs de support, forêts aléatoires ... et les réseaux de neurones, bien connus du grand public. Chaque technique s’appuie sur un algorithme et un modèle mathématique différent, avec ses particularités.

Simple comme un jeu de dames

En 1959, Arthur Lee Samuel popularise l'apprentissage automatique en travaillant sur le jeu de dames (checkers). Dans ce jeu, les règles sont simples mais il est possible de construire une réelle stratégie. Comme d'habitude, travailler sur les jeux permet de développer des tactiques adaptées à des problèmes plus généraux. Puisque les contraintes informatiques de l'époque sont fortes et que la mémoire est limitée, il faut réfléchir.

Samuel programme notamment un arbre de recherche des positions du plateau atteignables à partir d'un état donné, et met en oeuvre une méthode d'élagage efficace (alpha-bêta pruning) basée sur une calcul de l'intérêt de la position des pièces sur le plateau de jeu. Samuel a également conçu divers mécanismes permettant à son programme de s'améliorer, comme une fonction de récompense. de données provenant de jeux professionnels. Il a profité du fait que les joueurs de dames ont accès à de nombreux volumes de parties annotées où les La reconnaissance de textes manuscrits ou d’images en sont des exemples classiques. Pour fonctionner, ces programmes sont entraînés sur de vastes bases de données.

Ces travaux montrent qu'il est désormais possible, avec une certaine certitude, de concevoir des systèmes d'apprentissage qui surpassent largement les performances d'une personne moyenne, et que ces systèmes pourraient être appliqués à des problèmes de la vie réelle d'une manière économiquement viable. Arthur L. Samuel (1959)

En 1961, Samuel défie le quatrième joueur national des USA. Son programme gagne. L'apprentissage automatique a de beaux jours devant lui.

D'ici dix ans, un ordinateur sera champion du monde d'échecs, à moins que les règles ne l'empêchent de concourir.
D'ici dix ans, un ordinateur découvrira et prouvera un nouveau théorème mathématique important.
D'ici dix ans, la plupart des théories de psychologie prendront la forme de programmes informatiques ou de spécifications techniques précises de tels programmes. Herbert A. Simon (1958)
Prix Turing 1973

La difficile généralisation de l'apprentissage

L'apprentissage automatique n'est pas le fin mot de l'histoire. Le souci majeur vient de l’étroitesse et de la spécificité de ce qui est appris par le programme. Ce qui est appris sur un jeu de données n’est utile que sur un jeu de données dont la structure et le contenu informationnel sont proches. Un agent conversationnel entraîné sur un corpus en anglais sera, par exemple, incapable de dire quelque chose d’utile sur du français. Un outil d’aide au diagnostic médical pour l’analyse d’IRM cardiaque ne saura pas lire une radiographie par rayons X. On parle d’apprentissage étroit. Les algorithmes d’apprentissage automatique sont donc extrêmement spécialisés.

Duck typing : si je vois un oiseau qui vole comme un canard, cancane comme un canard, et nage comme un canard, alors j'appelle cet oiseau un canard. James Whitcomb Riley (attribuée)

La construction d’une forme d'intelligence générale (ou forte) à partir de techniques d’apprentissage automatique impliquerait, peut-être, de réussir à casser ces silos de spécialisations, pour réaliser du transfert d’apprentissage. Cette question est encore ouverte.

précédent | suivant