Adloun

De la machine de Turing à l'intelligence artificielle

Cours complet · enseignement scientifique (terminale), chapitre 11 · terminale, enseignement scientifique

Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre

11.1 Introduction : une machine peut-elle faire ce qu'on ne lui a pas

appris ?

Une machine à laver exécute un programme de lavage ; elle ne fera jamais le café. Un métier à tisser du début du XIXe siècle reproduit le motif que ses cartes perforées décrivent ; il ne calculera jamais une racine carrée. Pendant des siècles, les machines qui traitent de l'information ont eu ce point commun : chacune ne sait faire qu'une chose, parce que ce qu'elle sait faire est inscrit dans sa mécanique.

En , un mathématicien anglais de vingt-quatre ans, Alan Turing, démontre qu'il peut en aller autrement : il décrit une machine imaginaire d'une simplicité déconcertante, et prouve qu'il en existe une capable de simuler toutes les autres pourvu qu'on lui donne leur description. C'est le concept de machine universelle, que les premiers ordinateurs matérialiseront dix ans plus tard. Si votre téléphone peut à la fois lire de la musique, calculer un itinéraire et traduire un texte, c'est parce qu'il est une machine universelle et que ces trois activités sont, pour lui, trois données différentes.

Ce chapitre suit ce fil, du ruban de Turing jusqu'aux systèmes qui apprennent à partir d'exemples. Il pose trois questions.

iRemarqueUne précaution de méthode, propre à ce chapitre

L'intelligence artificielle est le sujet scientifique sur lequel circule le plus d'affirmations invérifiables — dans les deux sens, celui de la promesse et celui de la catastrophe. Ce chapitre s'en tient donc à une règle stricte : il expose des principes, qui ne vieillissent pas, il ne cite un système particulier que s'il peut le dater, et il ne donne aucun chiffre de performance, puisque ces chiffres changent tous les six mois et dépendent de la tâche exacte sur laquelle on mesure. C'est exactement ce que demande le programme quand il inscrit l'esprit critique parmi les objectifs de l'enseignement scientifique.

11.2 Avant Turing : des machines à une seule tâche

11.2.1 Trois siècles d'automatisation partielle

Proposition 11.1Les machines à traiter l'information avant le

XXe siècle</div><div class='text-gray-700 leading-relaxed font-sans text-xs select-text'> Jusqu'au début du XXe siècle, les machines traitant l'information étaient limitées à une ou à quelques tâches prédéterminées (tisser grâce à un ruban ou des cartes perforées, trier un jeu de cartes perforées, séparer des cartes selon un critère, sommer des valeurs indiquées sur ces cartes, etc.).

Ces machines n'étaient nullement primitives : certaines étaient d'une grande complexité mécanique et d'une grande fiabilité. Leur limite n'était pas technique, elle était conceptuelle : la tâche était inscrite dans la disposition des engrenages, et changer de tâche voulait dire changer de machine.

Méthode : Analyser un document historique sur l'automatisation du

traitement de l'information</h4><div class="text-gray-700 leading-relaxed font-sans text-xs select-text"> Devant un texte, une gravure ou un schéma d'une machine ancienne, se poser cinq questions dans l'ordre :

  • Quelle est l'information traitée ? Des chiffres, des motifs textiles, des enregistrements de population, des lettres.
  • Sous quelle forme est-elle codée ? Position d'une roue, présence ou absence d'un trou, tension électrique. C'est la question centrale : toute machine à information suppose un code.
  • Où est inscrite la tâche à effectuer ? Dans la mécanique elle-même, ou sur un support séparé et remplaçable ? C'est ce qui sépare une machine spécialisée d'une machine programmable.
  • Qui peut la changer ? Le constructeur seulement, ou l'utilisateur ?
  • Qu'est-ce qui a rendu cette machine nécessaire ? Un besoin administratif, commercial, militaire, scientifique. Une machine ne naît jamais seule.

Logique, ordres de grandeur : comparer les durées de traitement avant et après une automatisation donne la mesure du gain.

11.3 La machine de Turing

11.3.1 Ce que Turing cherchait vraiment

Il faut commencer par corriger une idée reçue : Turing n'a pas cherché à inventer l'ordinateur. Il s'attaquait à un problème de logique mathématique posé par David Hilbert, le problème de la décision : existe-t-il une méthode mécanique qui, appliquée à un énoncé mathématique quelconque, dise en un nombre fini d'étapes s'il est démontrable ?

Pour répondre, il fallait d'abord définir ce que « méthode mécanique » veut dire. C'est ce que fait Turing dans son article de : il propose une définition mathématique de ce qu'est un calcul effectué en suivant des règles, sans intelligence ni intuition. Puis il démontre que la réponse à la question de Hilbert est non. La machine universelle, qui allait changer le monde, n'est qu'une étape de cette démonstration.

Définition 11.2Machine de Turing

Une machine de Turing est un objet mathématique, non un appareil. Elle est définie par quatre éléments :

  • un ruban illimité, divisé en cases, chacune portant un symbole pris dans un alphabet fini (par exemple , , et le symbole « case vide ») ;
  • une tête de lecture et d'écriture, placée sur une case, qui peut lire le symbole de cette case, le remplacer, et se déplacer d'une case vers la gauche ou vers la droite ;
  • un état interne, pris dans un ensemble fini d'états ;
  • une table de transition qui, pour chaque couple (état courant, symbole lu), indique le symbole à écrire, le sens du déplacement et le nouvel état.

La machine s'arrête lorsqu'elle atteint un état pour lequel la table ne prévoit rien. C'est tout. Il n'y a rien d'autre dans une machine de Turing.

Une machine de Turing en fonctionnement. À chaque étape, la

machine ne connaît que deux choses : son état et le symbole de la case encadrée. La table lui dit alors quoi écrire, où aller et dans quel état passer. Aucune vue d'ensemble, aucune mémoire du chemin parcouru : tout ce qu'il faut retenir doit être écrit sur le ruban.</div>

Exemple 11.3Faire tourner la machine à la main

Reprenons la figure. Le ruban porte et la tête est sur le dernier , dans l'état .

Étape . État , symbole lu . La première ligne de la table s'applique : écrire , aller à gauche, rester en . Le ruban devient .

Étape . État , symbole lu . Même ligne : écrire , aller à gauche, rester en . Le ruban devient .

Étape arrêt. État , symbole lu . Deuxième ligne : écrire , aller à gauche, passer en . Le ruban devient . Aucune règle ne concerne : la machine s'arrête.

Vérification : et . La machine a bien ajouté . Ce que vous venez de faire, c'est exécuter un programme — et vous n'avez, à aucun moment, eu besoin de comprendre ce que le calcul signifiait.

11.3.2 La machine universelle

Définition 11.4Machine universelle

Une machine de Turing universelle est une machine de Turing particulière qui prend sur son ruban deux choses : la description codée d'une machine quelconque , et la donnée sur laquelle on veut faire travailler . Alors produit exactement le même résultat que appliquée à .

Autrement dit, il n'est pas nécessaire de construire une machine par tâche : une seule machine suffit, à qui l'on fournit la description de la tâche comme une donnée parmi les autres.

Proposition 11.5De la machine universelle à l'ordinateur

Turing a été le premier à proposer le concept de machine universelle, qui a été matérialisé dix ans plus tard avec les premiers ordinateurs. Ceux-ci sont constitués au minimum d'un processeur et d'une mémoire vive.

Les dates concordent : l'article de Turing paraît en ; l'ENIAC, premier grand calculateur électronique polyvalent, est présenté publiquement en février ; le rapport de John von Neumann sur l'EDVAC, en juin , décrit l'architecture où programme et données partagent la même mémoire ; le premier programme enregistré en mémoire est exécuté à Manchester le juin .

iRemarqueUne idée à laquelle nous devons tout, et une limite

Retenez la conséquence : un programme est une donnée. C'est pour cela qu'on peut le stocker sur un disque, l'envoyer par le réseau, le recopier, le modifier, et surtout le traduire — un compilateur est un programme dont la donnée d'entrée est un autre programme. Cette idée, qui paraît banale, était absolument neuve.

Turing démontre dans le même article une limite non moins importante : il n'existe aucune machine capable de dire, pour une machine quelconque et une donnée quelconque, si le calcul finira par s'arrêter. C'est le problème de l'arrêt, et il est indécidable. Cela signifie qu'aucun logiciel ne pourra jamais vérifier automatiquement, dans tous les cas, qu'un programme ne part pas en boucle infinie. Ce n'est pas une question de puissance de calcul : c'est une impossibilité démontrée.

iRemarqueCe qu'une machine de Turing n'est pas

Ce n'est pas un ordinateur, et personne n'en a jamais construit pour calculer : c'est un outil de démonstration mathématique, volontairement dépouillé. Ce n'est pas non plus un modèle du cerveau, ni une machine « lente » : la question du temps de calcul ne se pose pas pour elle. Son intérêt tient à un résultat : tout ce que l'on sait calculer avec un ordinateur d'aujourd'hui peut être calculé par une machine de Turing — plus lentement, mais exactement. La puissance des machines a été multipliée par des milliards depuis ; l'ensemble de ce qu'elles peuvent calculer, lui, n'a pas bougé.

11.4 L'ordinateur : un processeur, une mémoire, et des données

11.4.1 L'architecture minimale

Définition 11.6Processeur, mémoire vive, mémoire de masse

Le processeur exécute les instructions : il lit une instruction en mémoire, l'exécute, passe à la suivante. Il contient une unité de commande, qui décode les instructions, et une unité de calcul, qui effectue les opérations arithmétiques et logiques.

La mémoire vive contient les instructions et les données en cours d'utilisation. Elle est rapide et volatile : son contenu disparaît quand l'alimentation s'arrête.

La mémoire de masse (disque, mémoire flash) conserve les informations en l'absence d'alimentation. Elle est beaucoup plus lente et beaucoup plus grande.

L'architecture minimale d'un ordinateur. Les deux blocs

indispensables sont le processeur et la mémoire vive ; tout le reste est du confort, indispensable à l'usage mais pas au concept. Le programme et les données occupent la même mémoire et voyagent sur le même bus.</div>

Proposition 11.7Tout est donnée, y compris les programmes

Un ordinateur peut manipuler des données de natures diverses une fois qu'elles ont été numérisées : textes, images, sons. Les programmes sont également des données : ils peuvent être stockés, transportés et traités par des ordinateurs. En particulier, un programme écrit dans un langage de programmation de haut niveau (Python, Scratch, etc.) peut être traduit en instructions spécifiques à chaque type de processeur.

Définition 11.8Langage de haut niveau, compilation, interprétation

Un langage de haut niveau est un langage conçu pour être lisible par un être humain : Python, Scratch, Java. Le processeur, lui, ne comprend qu'un jeu d'instructions élémentaires propre à son modèle. Il faut donc traduire, et il y a deux façons de le faire.

La compilation traduit le programme entier, une fois pour toutes, en instructions machine ; on obtient un fichier exécutable, rapide, mais lié à un type de processeur et à un système d'exploitation.

L'interprétation traduit et exécute instruction par instruction, au moment de l'exécution ; le programme reste un simple fichier de texte, transportable partout où l'interpréteur existe, mais s'exécute plus lentement. Python fonctionne principalement ainsi.

Méthode : Distinguer un fichier exécutable des autres fichiers

  • Regarder ce que dit le système d'exploitation, pas seulement le nom. Sous Windows, les fichiers .exe, .bat, .msi sont exécutables ; sous macOS, ce sont les paquets .app ; sous GNU/Linux, l'exécutabilité n'est pas une extension mais une permission attachée au fichier, que l'on voit avec la commande ls -l sous la forme d'un x.
  • Se rappeler qu'un document peut contenir du code. Un classeur de tableur avec macros, un document de traitement de texte, un fichier PDF peuvent embarquer des instructions. La frontière entre « document » et « programme » est moins nette qu'il n'y paraît.
  • Se méfier de l'extension affichée. Un système qui masque les extensions connues peut présenter photo.jpg.exe comme photo.jpg. C'est un procédé classique de diffusion de logiciels malveillants.
  • Conclure sur la conséquence pratique : ouvrir un document, c'est le lire ; exécuter un fichier, c'est lui confier les commandes de la machine, avec vos propres droits.

11.5 Tout numériser : bits, octets et ordres de grandeur

11.5.1 Le codage

Définition 11.9Bit, octet

Un bit est la plus petite quantité d'information : le choix entre deux possibilités, notées et . Un octet est un groupe de bits ; il permet donc combinaisons différentes. Les multiples usuels sont le kilooctet ( ko octets), le mégaoctet (), le gigaoctet () et le téraoctet ().

Attention : l'informatique emploie parfois des multiples de plutôt que de , notés alors kio, Mio, Gio. C'est la raison pour laquelle un disque vendu pour To affiche environ Gio une fois branché : rien n'a été volé, ce sont deux comptages différents.

Méthode : Calculer la taille d'un fichier et situer un ordre de grandeur

  • Compter les caractères, espaces et retours à la ligne compris. Pour une page dactylographiée ordinaire : environ lignes de caractères, soit caractères.
  • Multiplier par la taille d'un caractère. En codage ASCII, non compressé, chaque caractère occupe un octet. La page pèse donc environ octets, soit ko.
  • Vérifier l'ordre de grandeur : une page à ko, un livre de pages à ko. Le texte est, de très loin, le contenu le plus léger.
  • Signaler les hypothèses. L'ASCII ne code que caractères et ignore les accents ; en UTF-8, les caractères accentués occupent deux octets, ce qui alourdit un texte français d'environ . Et un fichier de traitement de texte contient bien davantage que le texte : mise en forme, polices, historique.
  • Pour une image, un son ou une vidéo, retenir les ordres de grandeur de la figure ci-dessous plutôt qu'une formule : photographie quelques Mo ; minute de son compressé Mo, non compressé Mo ; heure de vidéo compressée quelques Go. Une seconde de son non compressé se calcule directement : .

Ordres de grandeur, proportionnalité, puissances de .

Ordres de grandeur des tailles de fichiers, sur une échelle

où chaque graduation multiplie la taille par dix. Un livre entier en texte brut pèse moins qu'une seule photographie, et une heure de vidéo pèse mille fois plus qu'un livre. Cette hiérarchie explique à elle seule la structure des réseaux et le coût de leur usage.</div>

11.6 Les bogues

Proposition 11.10Des programmes immenses, donc des erreurs

Un programme peut comporter jusqu'à plusieurs centaines de millions de lignes de code, ce qui rend très probable la présence d'erreurs appelées bogues (ou bugs). Ces erreurs peuvent conduire un programme à avoir un comportement inattendu et entraîner des conséquences graves.

Un système d'exploitation courant compte plusieurs dizaines de millions de lignes, et le logiciel embarqué d'une automobile récente se chiffre en dizaines, voire en centaines de millions. Aucune relecture humaine ne peut couvrir de tels volumes, et le problème de l'arrêt interdit d'espérer un vérificateur automatique universel.

Définition 11.11Bogue

Un bogue est un écart entre ce qu'un programme fait et ce que son auteur voulait qu'il fasse. Ce n'est pas une panne : le matériel fonctionne, le programme s'exécute exactement comme il est écrit. C'est l'écriture qui est fautive.

Exemple 11.12Trois bogues aux conséquences graves

Therac-, -. Un appareil de radiothérapie a délivré à au moins six patients des doses de rayonnement massivement supérieures à celles prescrites ; plusieurs en sont morts. La cause combinait un défaut du programme, qui apparaissait seulement lorsque l'opérateur tapait très vite une correction, et la suppression des sécurités mécaniques présentes sur le modèle précédent — on avait décidé que le logiciel suffirait.

Ariane , vol , juin . Le lanceur a été détruit secondes après le décollage. La cause : une conversion non protégée d'un nombre à virgule flottante sur bits vers un entier sur bits, dans le système de référence inertielle. Le code venait d'Ariane , où cette valeur ne pouvait pas dépasser la limite ; Ariane , plus rapide, l'a dépassée. Le logiciel était correct — pour une autre fusée.

Mars Climate Orbiter, septembre . La sonde a été perdue à l'arrivée sur Mars. Un logiciel au sol produisait des résultats dans une unité anglo-saxonne tandis que le logiciel de bord les attendait en unités du système international. Chacun des deux programmes était juste ; c'est leur accord qui manquait.

Ces trois cas partagent un trait : aucun n'est dû à une faute de calcul. Ce sont des défauts d'hypothèses — sur l'utilisateur, sur le domaine des valeurs, sur l'unité employée.

iRemarqueD'où vient le mot « bug » ?

On raconte souvent que le mot vient d'un papillon de nuit trouvé le septembre dans un relais du calculateur Mark II de Harvard, collé au journal de bord de l'équipe de Grace Hopper avec la mention « premier cas avéré de bug découvert ». L'anecdote est authentique — mais elle n'explique pas l'origine du mot : les ingénieurs employaient déjà « bug » pour un défaut technique bien avant, et on en trouve l'usage sous la plume d'Edison dès . C'est justement le sel de la note : elle est drôle parce que le mot existait déjà. Une histoire séduisante, souvent répétée, partiellement fausse — il a suffi de chercher la source pour le voir.

Méthode : Corriger un algorithme ou un programme bogué simple

  • Décrire précisément le comportement attendu avant de regarder le code : sur telle entrée, telle sortie. Sans cette phrase, on ne peut pas savoir s'il y a un bogue.
  • Trouver un cas qui échoue, aussi petit que possible. Un bogue qu'on ne sait pas reproduire ne se corrige pas.
  • Dérouler le programme à la main sur ce cas, en écrivant la valeur de chaque variable à chaque tour de boucle. C'est fastidieux et c'est la méthode qui marche.
  • Chercher d'abord dans la liste des fautes classiques : une boucle qui fait un tour de trop ou de trop peu ; une variable mal initialisée ; une comparaison au lieu de ; un cas particulier non traité (liste vide, division par zéro, valeurs négatives).
  • Corriger, puis retester le cas qui échouait et les cas qui marchaient. Une correction crée souvent un nouveau bogue ailleurs.
  • Ajouter le cas trouvé à un jeu de tests conservé pour la suite.

Logique : la correction d'un programme est un raisonnement, pas un tâtonnement.

Exemple 11.13Un programme bogué et sa correction

Ce programme doit renvoyer la plus grande valeur d'une liste de nombres.


def maximum(liste):
    m = 0
    for i in range(1, len(liste)):
        if liste[i] > m:
            m = liste[i]
    return m

Il contient deux fautes. Première : m est initialisé à , donc sur la liste [-5, -2, -9] le programme renvoie , qui n'est pas dans la liste. Seconde : la boucle commence à l'indice , donc le premier élément n'est jamais examiné ; sur [10, 3, 4] le programme renvoie .

La version corrigée initialise le maximum avec le premier élément et parcourt toute la liste :


def maximum(liste):
    if len(liste) == 0:
        return None          # cas particulier : liste vide
    m = liste[0]
    for i in range(1, len(liste)):
        if liste[i] > m:
            m = liste[i]
    return m

Notez le troisième correctif : le cas de la liste vide, qui n'apparaissait dans aucun des deux jeux d'essai mais qui aurait provoqué une erreur d'exécution.

11.7 L'intelligence artificielle : ce que le mot recouvre depuis

11.7.1 Une naissance datée

Proposition 11.14La naissance de l'intelligence artificielle et son

déplacement de sens</div><div class='text-gray-700 leading-relaxed font-sans text-xs select-text'> L'intelligence artificielle (IA) est née en . À cette époque, elle visait à simuler sur ordinateur les facultés cognitives humaines et recouvrait des approches relevant de l'informatique, des mathématiques et des sciences cognitives. L'approche symbolique (systèmes experts) initiée à la fin des années n'a pas tenu ses promesses. Aujourd'hui, on a tendance à attribuer le terme d'IA à l'un de ses sous-domaines, celui de l'apprentissage automatique.

Définition 11.15Intelligence artificielle

Le programme officiel en donne cette définition, qu'il faut lire attentivement : l'intelligence artificielle est « un champ interdisciplinaire théorique et pratique qui a pour objet la compréhension de mécanismes de la cognition et de la réflexion, et leur imitation par un dispositif matériel et logiciel, à des fins d'assistance ou de substitution à des activités humaines ».

Trois mots méritent d'être soulignés. Champ : c'est un domaine de recherche, pas une technique ni un produit. Imitation : il s'agit de reproduire le résultat d'une activité, ce qui ne dit rien du procédé employé. Activités humaines : reconnaître un objet dans une image, conduire, traduire, dialoguer — des tâches, définies une par une.

L'expression artificial intelligence apparaît en dans la proposition d'un séminaire d'été rédigée par John McCarthy, Marvin Minsky, Nathaniel Rochester et Claude Shannon ; le séminaire se tient à Dartmouth College, aux États-Unis, pendant l'été . Ses auteurs y écrivent que « chaque aspect de l'apprentissage, ou de toute autre caractéristique de l'intelligence, peut en principe être décrit assez précisément pour qu'une machine puisse le simuler ». C'est un programme de recherche, énoncé comme une hypothèse de travail. Soixante-dix ans plus tard, il n'est ni démontré ni réfuté.

Exemple 11.16L'approche symbolique et les systèmes experts

La première grande stratégie a consisté à écrire explicitement les connaissances sous forme de règles logiques. Un système expert contient une base de règles du type « si le patient a de la fièvre et telle bactérie a été isolée, alors envisager tel traitement », et un moteur qui enchaîne les règles. Le plus célèbre, MYCIN, développé à Stanford dans les années pour le diagnostic des infections bactériennes, obtenait des résultats comparables à ceux de médecins spécialistes lors des évaluations — et n'a jamais été utilisé en clinique.

Trois raisons se cumulent. Extraire les règles d'un expert est très long et une partie de son savoir est implicite : un radiologue ne sait pas dire en toutes lettres comment il reconnaît une image anormale. Les règles se contredisent dès qu'elles deviennent nombreuses. Le système est cassant : hors des cas prévus, il donne une réponse absurde sans le signaler. Les financements se sont retirés à deux reprises, dans les années puis à la fin des années — on parle des « hivers de l'intelligence artificielle ». Ce domaine a connu des cycles d'enthousiasme et de déception : il est raisonnable d'en tenir compte en lisant les annonces d'aujourd'hui.

iRemarqueLe test de Turing, et ce qu'il ne prouve pas

En , dans la revue Mind, Turing publie « Computing Machinery and Intelligence ». Constatant que la question « les machines peuvent-elles penser ? » est trop mal définie pour être traitée, il propose de la remplacer par une épreuve : un juge humain dialogue par écrit avec deux interlocuteurs cachés, une personne et une machine ; si le juge ne parvient pas à les distinguer mieux qu'au hasard, la machine réussit l'épreuve.

Remplacer une question métaphysique par une question expérimentale est une opération de méthode remarquable, mais il ne faut pas lui faire dire plus qu'elle ne dit : réussir ce test prouve qu'une machine imite une conversation, non qu'elle comprend. John Searle l'a illustré en par la « chambre chinoise » : une personne qui manipule des idéogrammes selon un manuel de règles, sans connaître un mot de chinois, produit des réponses parfaites sans rien comprendre. Retenez la distinction — imiter le résultat d'une activité et réaliser cette activité de la même manière sont deux choses différentes.

11.8 L'apprentissage automatique

11.8.1 Le renversement

Définition 11.17Apprentissage automatique

L'apprentissage automatique (ou apprentissage machine) est un processus par lequel un algorithme évalue et améliore ses propres performances, non pas sous l'intervention d'un humain chargé de programmer la machine, mais en répétant son exécution sur des jeux de données.

Concrètement : on choisit une famille de fonctions dépendant de paramètres ajustables, on mesure l'erreur commise sur des exemples, et on modifie les paramètres de manière à diminuer cette erreur. Répété un grand nombre de fois, ce procédé produit un jeu de paramètres — c'est ce jeu de paramètres que l'on appelle le modèle appris.

Proposition 11.18Ce que l'apprentissage automatique exploite

L'apprentissage machine exploite des méthodes mathématiques qui, à partir du repérage de tendances (par exemple, des corrélations ou des similarités) sur de très grandes quantités de données (données massives), permettent de faire des prédictions ou de prendre des décisions sur d'autres données.

Les deux mots à retenir sont corrélations et similarités. Aucune de ces deux notions n'est une explication : la première mesure que deux grandeurs varient ensemble, la seconde que deux objets se ressemblent. Un système d'apprentissage repère des régularités ; il ne comprend pas pourquoi elles existent. Toute la section « corrélation et causalité » de ce chapitre découle de ce point.

Le renversement opéré par l'apprentissage automatique. Dans

le schéma de gauche, ce qui entre est constitué des règles ; dans celui de droite, ce qui entre est constitué des réponses, et ce qui sort tient lieu de règles. Ce renversement explique à la fois la puissance de ces méthodes — on peut traiter des tâches qu'on ne sait pas décrire — et leur difficulté : le résultat n'est pas lisible.</div>

11.8.2 Supervisé, non supervisé : une distinction à ne pas confondre

Définition 11.19Apprentissage supervisé

L'apprentissage est supervisé lorsque les données d'entraînement sont étiquetées : chaque exemple est un couple formé d'une entrée et de la sortie attendue. L'algorithme ajuste ses paramètres pour que sa sortie s'approche le plus possible de l'étiquette. On distingue deux familles :

  • la régression, quand la sortie est un nombre : prédire le prix d'un logement à partir de sa surface ;
  • la classification, quand la sortie est une catégorie : décider si un message est indésirable, si une image contient un piéton.

Le coût de cette approche est caché dans le mot étiquetées : il a fallu que des êtres humains fournissent les bonnes réponses, exemple par exemple.

Définition 11.20Apprentissage non supervisé

L'apprentissage est non supervisé lorsque les données ne portent aucune étiquette. L'algorithme ne cherche pas à retrouver une réponse qu'on lui aurait montrée : il cherche une structure dans les données elles-mêmes. Les usages principaux sont :

  • le partitionnement, qui regroupe les données en paquets d'éléments semblables — par exemple l'algorithme des -moyennes ;
  • la réduction de dimension, qui décrit des données à très nombreuses variables par un petit nombre de variables synthétiques.

Point crucial : un algorithme non supervisé ne nomme pas les groupes qu'il trouve. Il dit « ces clients se ressemblent » ; c'est un être humain qui décide ensuite si cette ressemblance a un sens, et lequel.

Méthode : Reconnaître le type d'apprentissage sur un exemple

Une seule question suffit, et il faut se la poser d'abord : les données d'entraînement contiennent-elles la bonne réponse ?

  • Oui, chaque exemple porte une étiquette fournie par un humain ou par une mesure apprentissage supervisé. Préciser alors si l'étiquette est un nombre (régression) ou une catégorie (classification).
  • Non, on dispose seulement des données brutes apprentissage non supervisé. Préciser ce que l'algorithme cherche : des groupes, une simplification.
  • Il n'y a pas d'exemples, mais un signal de réussite obtenu en agissant apprentissage par renforcement : un agent choisit des actions, reçoit une récompense ou une pénalité, et ajuste sa stratégie. C'est ainsi qu'on entraîne un programme à jouer.
  • Vérifier qui a produit les étiquettes, quand il y en a. C'est la question qui décide de la qualité du résultat, et elle est presque toujours passée sous silence.
iRemarque« Apprendre » est une métaphore

Le vocabulaire de ce domaine est emprunté à la psychologie : apprendre, entraîner, neurone, attention. Ces mots sont commodes et trompeurs. Ce que fait un algorithme d'apprentissage est parfaitement décrit : il cherche les valeurs de paramètres qui minimisent une mesure d'erreur sur un ensemble d'exemples. Il n'y a là ni compréhension, ni intention. Conséquence pratique : un tel système est excellent à l'intérieur du domaine couvert par ses données d'entraînement et sans garantie au-dehors. Un système entraîné sur les radiographies d'un modèle d'appareil peut se dégrader fortement sur celles d'un autre, sans rien signaler : il n'a pas appris ce qu'est une fracture, il a appris ce qui, dans ses données, accompagnait l'étiquette « fracture ».

11.9 Deux algorithmes d'apprentissage que l'on peut faire à la main

11.9.1 La courbe de tendance : l'apprentissage supervisé le plus simple

Vous connaissez déjà un algorithme d'apprentissage supervisé, sans le savoir : l'ajustement d'un nuage de points par une droite. Les données d'entraînement sont les points ; l'étiquette est l'ordonnée ; les paramètres sont la pente et l'ordonnée à l'origine ; l'erreur est l'écart entre la droite et les points. Il n'y a pas de différence de nature entre cela et un réseau de neurones, seulement une différence de nombre de paramètres : deux ici, des milliards ailleurs.

Méthode : Utiliser une courbe de tendance pour estimer une valeur

inconnue</h4><div class="text-gray-700 leading-relaxed font-sans text-xs select-text">

  • Séparer les données : une partie sert à l'entraînement, une partie est mise de côté pour le test. Ne jamais évaluer un modèle sur les exemples qui ont servi à le construire.
  • Tracer le nuage des données d'entraînement et choisir la forme de la courbe d'après son allure.
  • Ajuster la courbe, à la calculatrice ou au tableur, et relever son équation.
  • Évaluer sur les données de test : calculer les écarts entre la prédiction et la valeur réelle, et en donner un ordre de grandeur.
  • Prédire la valeur inconnue en remplaçant l'abscisse dans l'équation.
  • Situer la prédiction : est-elle à l'intérieur de l'intervalle des données d'entraînement (interpolation, raisonnable) ou en dehors (extrapolation, fragile) ?

Calcul algébrique, lectures graphiques.

Deux modèles ajustés sur les mêmes sept exemples. La courbe

sinueuse passe exactement par tous les points : son erreur d'entraînement est nulle. La droite se trompe sur chacun d'eux. Et pourtant, sur un huitième exemple, c'est la droite qui prédira le mieux : la courbe a appris le bruit des données au lieu de la tendance. C'est le sur-apprentissage, la défaillance la plus fréquente de l'apprentissage automatique.</div>

Définition 11.21Sur-apprentissage

Il y a sur-apprentissage lorsqu'un modèle reproduit très bien les exemples d'entraînement, y compris leurs irrégularités accidentelles, et prédit mal sur des exemples nouveaux. Le remède se formule en une phrase : on ne juge un modèle que sur des données qu'il n'a jamais vues. C'est pour cela que la première étape de la méthode ci-dessus consiste à mettre de côté une partie des données.

11.9.2 Les plus proches voisins

Voici un algorithme d'apprentissage supervisé complet, que l'on peut exécuter avec une règle graduée. Pour classer un nouvel objet, on cherche les exemples les plus proches de lui dans les données d'entraînement, et on lui attribue la catégorie majoritaire parmi ces voisins.

L'algorithme des plus proches voisins. Chaque cercle

contient les , puis exemples les plus proches de l'objet à classer. La méthode n'a rien de mystérieux : elle mesure des distances et compte. Sa faiblesse est visible ici — près de la frontière entre les deux classes, la réponse dépend d'un paramètre choisi par un être humain.</div>

iRemarqueCe que cet exemple minuscule enseigne

Trois choses, qui valent pour des systèmes bien plus gros. Un : l'algorithme ne construit aucune règle, il conserve tous les exemples et compare ; sa « connaissance », ce sont les données elles-mêmes. Deux : le résultat dépend d'un choix humain, ici la valeur de ; dans un système réel, ces choix se comptent par dizaines et ne sont presque jamais publiés. Trois : loin de la frontière l'algorithme paraît infaillible, près de la frontière il est fragile — or c'est là que se trouvent les cas litigieux, le dossier limite, l'image ambiguë. Un système est le plus incertain là où sa décision compte le plus, et il ne le dit pas de lui-même.

iRemarqueUn mot sur les réseaux de neurones

Un neurone formel, décrit dès par Warren McCulloch et Walter Pitts, calcule une somme pondérée de ses entrées, y ajoute un terme constant, puis applique une fonction qui écrase le résultat. Les poids de cette somme sont les paramètres. En empilant des couches de tels neurones, on obtient un réseau capable de représenter des fonctions très variées.

L'apprentissage se fait par retour d'erreur : on présente un exemple, on compare la sortie à la réponse attendue, et on répercute l'écart de la dernière couche vers les premières en corrigeant chaque poids dans le sens qui diminue l'erreur. Répété sur des millions d'exemples, ce procédé popularisé en ajuste l'ensemble des poids : c'est le principe de la droite ajustée, appliqué à un très grand nombre de paramètres. D'où une difficulté : les poids n'ont aucune signification lisible. On peut vérifier qu'un réseau se trompe rarement ; on ne peut pas, en général, lire dans ses paramètres pourquoi il a répondu ceci plutôt que cela. C'est le problème de l'explicabilité, central dès que la décision engage une personne.

iRemarqueEt les modèles génératifs ?

Un modèle génératif de texte est entraîné à une tâche unique et parfaitement définie : étant donné un début de texte, prédire l'élément suivant. La « réponse attendue » est simplement la suite réelle du texte dans d'immenses corpus, ce qui évite d'avoir à étiqueter quoi que ce soit. Une fois entraîné, on l'utilise en boucle : produire un élément, l'ajouter au texte, recommencer. Une architecture efficace pour cela, dite transformeur, a été publiée en ; le premier dialogueur fondé sur ce principe à connaître une diffusion massive a été ouvert au public le novembre .

La conséquence découle directement de la tâche d'entraînement : un tel système produit un texte plausible, pas un texte vérifié. Il n'a pas de représentation séparée de ce qui est vrai, et peut donc énoncer avec la même assurance un fait exact et une référence inexistante. Vérifier ce qu'il produit n'est pas une précaution excessive : c'est la seule façon correcte de s'en servir.

Méthode : Analyser un exemple d'utilisation de l'intelligence

artificielle</h4><div class="text-gray-700 leading-relaxed font-sans text-xs select-text"> Devant un document décrivant une application — article de presse, notice d'un produit, publication scientifique — répondre dans cet ordre :

  • Quelle tâche exactement ? La formuler comme une entrée et une sortie : « à partir d'une image de la rétine, prédire la présence de telle lésion ». Si l'on n'y arrive pas, le document est trop vague pour être évalué.
  • Quelle est la source des données ? Qui les a produites, où, quand, avec quel matériel ? Ont-elles été étiquetées, et par qui ?
  • Quel type d'apprentissage ? Supervisé, non supervisé, par renforcement — la question de la section précédente.
  • Quelles corrélations sont exploitées ? Nommer les grandeurs que le système met en relation, et se demander si le lien est un mécanisme connu ou une simple coïncidence statistique.
  • Comment le système a-t-il été évalué ? Sur des données distinctes de l'entraînement ? Avec quelle mesure ? Comparé à quoi ?
  • Que se passe-t-il quand il se trompe ? Qui le détecte, qui en répond, et la personne concernée peut-elle contester ?

11.10 Les données : qualité, représentativité, biais

Proposition 11.22La qualité des données décide de tout

La qualité et la représentativité des données fournies sont essentielles pour la qualité des résultats. En effet, l'un des risques de l'apprentissage automatique réside dans l'amplification des biais des données. Par ailleurs, une interprétation trop rapide des données et un amalgame entre corrélation et causalité peuvent aboutir à des résultats erronés.

Définition 11.23Biais des données

Un jeu de données est biaisé lorsque sa composition ne reflète pas celle de la population sur laquelle le système sera utilisé, ou lorsqu'il enregistre des décisions passées elles-mêmes discutables. Un algorithme d'apprentissage reproduit fidèlement ce qu'il trouve dans ses données : si celles-ci portent un déséquilibre, il le reproduit — et, comme il l'applique ensuite systématiquement et à grande échelle, il l'amplifie.

Méthode : Reconnaître un biais dans un jeu de données

  • Demander d'où viennent les données. Qui les a produites, quand, où, par quel appareil, dans quel but initial ?
  • Comparer la composition de l'échantillon à celle de la population visée : âge, sexe, origine géographique, milieu, matériel utilisé. Tout écart est un biais potentiel.
  • Chercher qui manque. C'est la question la plus productive : ceux qui n'ont pas de smartphone, qui ne consultent pas, qui n'ont pas postulé, ne figurent nulle part dans les données — et ils sont invisibles au système.
  • Repérer le biais du survivant. Si les données ne contiennent que les cas qui sont « revenus », l'analyse portera sur les mauvais exemples.
  • Se demander ce que mesure réellement l'étiquette. « A été recruté » n'est pas « était le meilleur candidat » ; « a été arrêté » n'est pas « a commis une infraction ». Un système entraîné sur la première grandeur prédit la première, jamais la seconde.
  • Évaluer les performances séparément pour chaque groupe, et pas seulement en moyenne. Un taux d'erreur global de peut cacher sur un groupe et sur un autre.
Exemple 11.24Trois cas documentés

Le biais du survivant, . Le statisticien Abraham Wald est chargé d'aider à blinder les bombardiers. L'inventaire des impacts sur les appareils rentrés montre des zones très touchées et d'autres épargnées ; la conclusion intuitive — blinder là où il y a des impacts — est fausse, car les avions touchés dans les zones apparemment épargnées ne sont pas rentrés. L'échantillon était biaisé par sa condition même d'existence.

Reconnaissance de visages, . Une étude publiée en février par Joy Buolamwini et Timnit Gebru a mesuré séparément, pour plusieurs systèmes commerciaux d'analyse de visages, le taux d'erreur selon le sexe et la couleur de peau. Les écarts étaient considérables : le taux d'erreur le plus élevé, pour les femmes à peau foncée, dépassait de très loin celui obtenu pour les hommes à peau claire. Les jeux d'images d'entraînement disponibles à l'époque étaient fortement déséquilibrés. La performance globale annoncée par les fabricants, elle, était bonne — parce qu'une moyenne écrase les minorités.

Un outil de tri de candidatures, révélé en . La presse a rapporté en octobre qu'une grande entreprise avait développé puis abandonné un outil expérimental de tri automatique de curriculums. Entraîné sur les candidatures reçues et les décisions passées, il avait appris à pénaliser certains termes associés aux candidatures féminines. L'entreprise a indiqué que l'outil n'avait pas servi à évaluer de vrais candidats. Le mécanisme est exemplaire : l'algorithme n'avait aucune intention ; il reproduisait la statistique des décisions humaines antérieures.

11.11 Corrélation n'est pas causalité

Définition 11.25Corrélation

Deux grandeurs sont corrélées lorsque leurs variations sont liées : les grandes valeurs de l'une accompagnent régulièrement les grandes valeurs de l'autre (corrélation positive) ou ses petites valeurs (corrélation négative). C'est un constat statistique. Il ne dit rien du mécanisme.

Les quatre explications possibles d'une corrélation observée

entre deux grandeurs. Une seule autorise à dire « cause ». Un algorithme d'apprentissage repère la corrélation ; il ne distingue jamais, à lui seul, lequel des quatre cas il a devant lui.</div>

Méthode : Montrer qu'une corrélation n'est pas nécessairement une

causalité</h4><div class="text-gray-700 leading-relaxed font-sans text-xs select-text"> Devant l'affirmation « cause » appuyée sur une corrélation :

  • Vérifier la corrélation elle-même : sur combien d'observations, sur quelle période, avec quelle dispersion ?
  • Tester l'inversion : pourrait-il causer ? Beaucoup d'affirmations tombent à cette seule question.
  • Chercher une cause commune , en particulier le temps, la saison, l'âge, le revenu, le lieu — les quatre suspects habituels.
  • Évaluer la possibilité du hasard : si l'on a comparé des centaines de séries entre elles, certaines coïncideront nécessairement.
  • Chercher un mécanisme plausible. S'il n'y en a aucun, la prudence s'impose.
  • Se demander quelle expérience trancherait : idéalement, agir sur en tirant au sort qui le subit, et observer . Quand cette expérience est impossible ou interdite, la conclusion causale reste plus fragile — c'est le cas de la plupart des questions de société.

Corrélation et causalité, lectures graphiques.

Exemple 11.26Trois corrélations, trois statuts

Les ventes de glaces et les noyades augmentent ensemble d'un mois à l'autre. Cause commune : la chaleur, qui pousse à la fois à acheter des glaces et à se baigner. Interdire les glaces ne sauverait personne.

Le nombre de cigognes et le nombre de naissances, comparés région par région dans plusieurs études européennes, sont positivement corrélés. Cause commune probable : la taille et le caractère rural des régions, qui augmentent à la fois les habitats favorables aux cigognes et le nombre total d'habitants.

Un service de prévision des épidémies de grippe fondé sur les recherches en ligne, lancé en , a bien fonctionné plusieurs années avant de surestimer largement l'ampleur de l'épidémie de la saison - ; une analyse publiée dans la revue Science en mars a montré que le modèle avait capté des corrélations liées à la couverture médiatique et à l'évolution du moteur de recherche lui-même, et non à la maladie. Le système n'était pas devenu moins bon : le monde avait changé, et les corrélations apprises avec lui. C'est un mode de défaillance propre à ces techniques, et il est silencieux.

11.12 Décider avec un test : l'inférence bayésienne

Proposition 11.27L'inférence bayésienne

L'inférence bayésienne est une méthode de calcul de probabilités de causes à partir des probabilités de leurs effets. Elle est utilisée en apprentissage automatique pour modéliser des relations au sein de systèmes complexes, notamment en vue de prononcer un diagnostic.

Le sens de lecture est ce qui compte. Un test ou un classifieur fournit une probabilité de l'effet sachant la cause : « si la personne est malade, le test est positif dans des cas ». Ce que l'on veut savoir est l'inverse : « le test étant positif, quelle est la probabilité que la personne soit malade ? ». Ces deux nombres n'ont aucune raison d'être proches.

Définition 11.28Vrais et faux positifs, sensibilité, spécificité, valeur

prédictive</div><div class='text-gray-700 leading-relaxed font-sans text-xs select-text'> Pour un test à réponse binaire appliqué à une population où l'on connaît la vérité :

  • vrai positif (VP) : malade et test positif ; faux négatif (FN) : malade et test négatif ;
  • faux positif (FP) : non malade et test positif ; vrai négatif (VN) : non malade et test négatif.

La sensibilité est la proportion de tests positifs parmi les malades, . La spécificité est la proportion de tests négatifs parmi les non-malades, . La valeur prédictive positive est la proportion de malades parmi les tests positifs, — c'est elle qui intéresse la personne testée, et c'est elle qui dépend de la fréquence de la maladie dans la population.

La formule de Bayes exprime ce renversement : en notant « être malade » et « avoir un test positif », Le raisonnement par tableau de contingence, présenté ci-dessous, donne exactement le même résultat sans manipuler cette écriture.

Un test très bon appliqué à une maladie rare. La maladie

touche une personne sur cent ; le test détecte des malades et se trompe sur des personnes saines. Sur dix mille personnes, les faux positifs sont cinq fois plus nombreux que les vrais positifs, simplement parce qu'il y a cent fois plus de gens sains. Une personne dont le test est positif a environ une chance sur six d'être malade.</div>

Méthode : Produire un tableau de contingence et l'exploiter

  • Choisir un effectif total rond : ou . On raisonne sur des personnes, pas sur des probabilités — c'est beaucoup moins source d'erreurs.
  • Répartir selon la vérité : combien de malades, combien de non malades, d'après la fréquence de la maladie dans la population concernée.
  • Appliquer les caractéristiques du test à chaque groupe séparément : la sensibilité aux malades, la spécificité aux non malades.
  • Remplir le tableau à quatre cases VP, FN, FP, VN, et vérifier que la somme redonne l'effectif total.
  • Lire la ligne ou la colonne qui répond à la question posée. « Quelle proportion de positifs sont malades ? » se lit sur la colonne des positifs, pas sur la ligne des malades.
  • Interpréter en une phrase, et vérifier la vraisemblance en refaisant le calcul avec une fréquence différente.
  • Transposer. Le même tableau s'applique à toute classification binaire : « indésirable / légitime » pour un filtre de messages, « piéton / pas de piéton » pour une caméra. Il suffit de remplacer « malade » par la catégorie recherchée et « test positif » par la sortie du système.

Tableaux croisés, probabilités conditionnelles, formule de Bayes.

Exemple 11.29Le même raisonnement pour un filtre de messages

Un filtre anti-pourriel examine messages, dont sont réellement indésirables. Il détecte des messages indésirables et classe à tort des messages légitimes comme indésirables.

Indésirables : , dont détectés (VP) et passés (FN). Légitimes : , dont classés à tort (FP) et correctement délivrés (VN).

Le dossier « courrier indésirable » contient donc messages, dont sont légitimes : environ de son contenu ne devrait pas s'y trouver. C'est exactement le raisonnement du diagnostic médical, avec d'autres mots. Et il fait apparaître l'arbitrage central de toute classification : durcir le filtre diminue les indésirables qui passent, mais augmente les messages légitimes perdus. On ne peut pas diminuer les deux à la fois ; il faut choisir lequel des deux types d'erreur coûte le plus cher, et ce choix n'est pas technique.

iRemarquePourquoi cela s'appelle « bayésien »

Parce qu'on remonte de l'effet observé — le test est positif — à la probabilité de la cause — la personne est malade. La méthode porte le nom du révérend Thomas Bayes, dont le mémoire fut publié en , deux ans après sa mort.

Retenez la conséquence pratique, qui est le point du programme : la valeur prédictive positive d'un test dépend de la fréquence de la maladie dans la population testée. Le même test appliqué à des personnes déjà sélectionnées par leurs symptômes deviendrait très informatif — l'exercice le vérifie par le calcul. C'est la raison pour laquelle on ne dépiste pas une maladie rare dans la population générale avec n'importe quel test.

11.13 Usages, éthique et vigilance

Méthode : Recenser les outils numériques programmables de la vie

courante</h4><div class="text-gray-700 leading-relaxed font-sans text-xs select-text">

  • Lister les objets qui traitent de l'information autour de soi : téléphone, box internet, thermostat, montre connectée, ordinateur de bord d'un véhicule, caisse automatique, badge de transport.
  • Se demander pour chacun s'il contient un processeur et une mémoire. La réponse est presque toujours oui, même pour un objet qui n'en a pas l'air.
  • Distinguer trois degrés de programmabilité : programme figé gravé à la fabrication ; mises à jour possibles par le constructeur ; programmes installables ou modifiables par l'utilisateur.
  • Identifier qui détient ce pouvoir — constructeur, opérateur de service, utilisateur — et conclure : plus un objet est programmable à distance, plus il est utile et plus il dépend de celui qui le programme.

Méthode : Expliquer pourquoi certains usages de l'IA posent des problèmes

éthiques</h4><div class="text-gray-700 leading-relaxed font-sans text-xs select-text"> Un usage se discute en six points, et une réponse sérieuse en aborde au moins trois.

  • Les données. D'où viennent-elles ? Les personnes concernées ont-elles consenti ? Contiennent-elles des données personnelles ? Le règlement européen sur la protection des données, applicable depuis le mai , encadre précisément ce point.
  • L'enjeu de la décision. Une recommandation de film et un refus de prêt n'engagent pas la même chose. Plus la décision affecte durablement une personne, plus les exigences doivent être fortes.
  • L'explicabilité. La personne concernée peut-elle savoir pourquoi la décision a été prise, et la contester ? Un système dont on ne peut pas justifier la sortie est difficilement acceptable pour une décision administrative ou judiciaire.
  • L'équité. Les performances ont-elles été mesurées séparément selon les groupes ? Une moyenne globale peut masquer une injustice.
  • La responsabilité. Qui répond d'une erreur : le concepteur, l'exploitant, l'utilisateur ? Un système automatique n'est pas un sujet de droit ; il y a toujours quelqu'un derrière.
  • Les effets indirects. Travail d'annotation des données, consommation d'énergie et de matériaux des centres de calcul, effets sur les métiers concernés, utilisation d'œuvres protégées pour l'entraînement.

Exemple 11.30Trois usages, trois discussions

L'aide au diagnostic en imagerie médicale. Bénéfice possible : détecter des anomalies discrètes, traiter davantage d'examens. Vigilance : représentativité des images d'entraînement, risque que le praticien suive systématiquement la machine, responsabilité en cas d'erreur. Le principe qui fait consensus est celui de l'assistance — le système signale, un être humain décide.

La recommandation de contenus. Un système entraîné à maximiser le temps passé optimise exactement cela, et rien d'autre : si les contenus qui retiennent le plus l'attention sont les plus clivants, il les mettra en avant sans qu'aucune intention n'ait été programmée. Le problème n'est pas l'algorithme, c'est le critère qu'on lui a demandé d'optimiser — et ce critère est un choix humain.

La génération de contenus. Elle pose ensemble des questions de véracité (un texte plausible n'est pas un texte vrai), de droits (les données d'entraînement sont des œuvres produites par des personnes), d'attribution et d'authenticité. L'Union européenne a adopté en un règlement sur l'intelligence artificielle, entré en vigueur le août et d'application échelonnée, qui classe les usages par niveau de risque.

iRemarqueLire une annonce sur l'IA : six questions

Ni catastrophisme, ni publicité : des questions. Devant une affirmation du type « une IA fait désormais mieux que les experts », demandez : quelle tâche exactement ? sur quelles données a-t-elle été évaluée, et étaient-elles distinctes des données d'entraînement ? quelle mesure de performance, et que vaut-elle sur les groupes minoritaires ? comparée à qui, dans quelles conditions de travail ? le résultat a-t-il été reproduit par une équipe indépendante ? qui a financé l'étude et qui la diffuse ?

Ces six questions ne sont pas propres à l'intelligence artificielle : ce sont celles qu'on pose à n'importe quel résultat scientifique. Le fait qu'elles soient si rarement posées ici en dit long sur la place que ce sujet occupe dans le débat public.

11.14 Histoire des sciences : de la machine de Turing aux dialogueurs

— Turing définit le calcul en cherchant à répondre à un problème de logique posé par Hilbert, et obtient au passage la machine universelle et l'indécidabilité du problème de l'arrêt.

— McCulloch et Pitts proposent un modèle mathématique très simplifié du neurone, point de départ ancien du courant « connexionniste ».

- — L'ordinateur devient réel. Le rapport de von Neumann sur l'EDVAC () fixe l'architecture où le programme réside en mémoire ; l'ENIAC est présenté en février — il était programmé en modifiant son câblage, un travail assuré par une équipe de six mathématiciennes, Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas et Ruth Lichterman, longtemps absentes des récits ; le premier programme enregistré en mémoire s'exécute à Manchester le juin .

et — Les deux actes de naissance. Turing déplace la question avec « Computing Machinery and Intelligence » et son jeu de l'imitation ; le séminaire de Dartmouth donne son nom au domaine.

- — Le perceptron, espoir puis déception. Frank Rosenblatt construit le premier dispositif d'apprentissage à partir d'exemples. En , Marvin Minsky et Seymour Papert en démontrent mathématiquement les limites, et les financements se détournent du connexionnisme pour une quinzaine d'années.

— ELIZA, et une leçon inattendue. Joseph Weizenbaum écrit un programme de quelques centaines de lignes qui simule un entretien psychothérapeutique en reformulant les phrases de son interlocuteur. Le programme ne comprend rien, et Weizenbaum le sait mieux que quiconque puisqu'il l'a écrit. Il est stupéfait de constater que des utilisateurs — dont sa propre secrétaire — lui prêtent une compréhension et lui confient des choses intimes. Il en tirera un livre critique en . Cet « effet ELIZA » — attribuer à une machine une intériorité parce qu'elle produit un langage adéquat — est aujourd'hui plus actuel qu'en .

Années - — Les systèmes experts, leur succès de recherche et leur échec pratique.

— Le retour de l'apprentissage avec la diffusion de l'algorithme de rétropropagation de l'erreur.

— Deep Blue bat Garry Kasparov en match, du au mai. Le programme n'apprend pas : il explore méthodiquement un très grand nombre de positions et les évalue selon des règles écrites par des humains. C'est une victoire de la puissance de calcul et de l'approche classique.

et — Le retour du connexionnisme. Les réseaux profonds l'emportent en lors d'une compétition de reconnaissance d'images — trois facteurs se conjuguent : des jeux de données étiquetées immenses, des processeurs graphiques bon marché, des améliorations algorithmiques. En mars , un programme bat un champion de go, jeu dont l'espace des positions interdisait l'approche de Deep Blue, en combinant apprentissage sur des parties et apprentissage par renforcement contre lui-même.

- — Les modèles génératifs. L'architecture dite transformeur est publiée en ; le novembre , un dialogueur fondé sur ce principe est ouvert au grand public.

Les reconnaissances académiques. Le prix Turing a distingué Yoshua Bengio, Geoffrey Hinton et Yann Le Cun pour l'apprentissage profond. En octobre , le prix Nobel de physique a été attribué à John Hopfield et Geoffrey Hinton pour des travaux fondateurs sur les réseaux de neurones artificiels, et celui de chimie à David Baker, Demis Hassabis et John Jumper pour la prédiction et la conception de structures de protéines.

iRemarqueCe que cette chronologie enseigne

Un : les idées sont anciennes — le neurone formel date de , la rétropropagation des années ; ce qui a changé récemment, ce sont la quantité de données et la puissance de calcul, davantage que les principes. Deux : le domaine a connu deux périodes de désenchantement après des promesses excessives. Trois : les deux grandes approches — écrire des règles, apprendre à partir d'exemples — ne se sont pas remplacées l'une l'autre ; la victoire de appartient à la première, celle de combine les deux.

11.15 Bilan

Ce qu'il faut savoir

  • Avant le XXe siècle, les machines à traiter l'information étaient limitées à une ou quelques tâches prédéterminées.
  • Turing a été le premier à proposer, en , le concept de machine universelle, matérialisé dix ans plus tard par les premiers ordinateurs, qui comportent au minimum un processeur et une mémoire vive.
  • Un ordinateur manipule des données numérisées de toute nature — textes, images, sons — et les programmes sont eux-mêmes des données : on peut les stocker, les transporter, les traduire d'un langage de haut niveau vers les instructions d'un processeur.
  • Un programme peut comporter des centaines de millions de lignes, ce qui rend la présence de bogues très probable, avec des conséquences parfois graves.
  • L'intelligence artificielle est née en ; l'approche symbolique des systèmes experts n'a pas tenu ses promesses, et le terme désigne aujourd'hui surtout l'apprentissage automatique.
  • L'apprentissage automatique repère des tendances — corrélations, similarités — sur de très grandes quantités de données, et s'en sert pour prédire ou décider sur d'autres données.
  • La qualité et la représentativité des données décident de la qualité des résultats ; le risque principal est l'amplification des biais, et l'amalgame entre corrélation et causalité.
  • L'inférence bayésienne calcule la probabilité d'une cause à partir de celle de ses effets ; elle est au cœur de l'interprétation d'un diagnostic.

Ce qu'il faut savoir faire

  • Analyser un document historique sur le traitement automatique de l'information, en repérant où est inscrite la tâche.
  • Recenser les outils numériques programmables de la vie courante et identifier qui peut les programmer.
  • Distinguer un fichier exécutable d'un autre fichier sous un système d'exploitation donné.
  • Connaître l'ordre de grandeur de la taille d'un fichier image, son, vidéo, et calculer la taille en octets d'une page de texte en ASCII non compressé.
  • Corriger un algorithme ou un programme bogué simple, en visant les cas limites.
  • Utiliser une courbe de tendance pour estimer une valeur inconnue à partir de données d'entraînement, en distinguant interpolation et extrapolation.
  • Analyser un exemple d'usage de l'intelligence artificielle : identifier la source des données et les corrélations exploitées.
  • Reconnaître, sur des exemples réels, les biais possibles d'un jeu de données et les limites de sa représentativité.
  • Montrer, sur des exemples simples, qu'une corrélation ne correspond pas toujours à une causalité.
  • Produire un tableau de contingence pour calculer vrais et faux positifs et négatifs, et en déduire la proportion de malades parmi les personnes testées positives ; transposer à d'autres classifications.
  • Expliquer pourquoi certains usages de l'intelligence artificielle posent des problèmes éthiques.

Quatre repères

: la machine universelle de Turing. : la naissance de l'intelligence artificielle, au séminaire de Dartmouth. octet bits, et une page de texte ko. Une maladie rare rend un excellent test peu informatif : sur mille personnes dont une est malade, les faux positifs l'emportent.

Ce que ce chapitre dit de la science elle-même

Une seule idée a produit tout le reste : séparer la machine de la tâche. Tant que la tâche était inscrite dans les engrenages, il fallait une machine par usage. Depuis que la tâche est une donnée comme les autres, une seule machine suffit. Cette idée n'est pas venue d'un besoin industriel mais d'un problème de logique pure, posé par Hilbert et résolu — négativement — par Turing. C'est un argument à garder en tête chaque fois que l'on demande à quoi sert une recherche sans application immédiate.

Le second enseignement est plus inconfortable. Les méthodes d'apprentissage fonctionnent parce qu'elles repèrent des régularités, et elles échouent pour la même raison : elles ne distinguent pas une régularité qui tient à la nature des choses d'une régularité qui tient à la façon dont les données ont été collectées. Un système entraîné sur les décisions passées reproduira les décisions passées. Rien de cela n'est un dysfonctionnement : c'est le fonctionnement normal, et c'est pourquoi la question « d'où viennent les données ? » n'est pas annexe mais centrale.

Enfin, ce chapitre aura montré une chose qu'aucun communiqué ne dit : les défaillances de ces systèmes sont silencieuses. Un modèle sur-appris ne prévient pas qu'il extrapole ; un classifieur près de la frontière ne prévient pas qu'il hésite ; un jeu de données biaisé ne prévient pas qu'il l'est ; un test positif ne prévient pas qu'il est probablement faux. Savoir poser les questions qui font apparaître ces silences — c'est très exactement ce que le programme appelle l'esprit critique, et c'est ce qui restera de ce chapitre quand les outils dont il parle auront changé.

Continuer sur Adloun : animation, QCM, fiches, exercices