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 (
Le
Le
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
Parler avec un programme ?
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,
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)
Le programme est conçu comme un agent conversationnel général, avec lequel on communique avec une sorte de machine à écrire.
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,
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,
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.