Enseignement scientifique, Terminale • Programme français, lycées de Montréal
Exercices corrigés d'enseignement scientifique : de la machine de Turing à l'intelligence artificielle
Voici une série d'exercices corrigés d'enseignement scientifique pour la classe de Terminale, sur le sous-thème « De la machine de Turing à l'intelligence artificielle » du programme français révisé en 2023. Elle s'adresse aux élèves des lycées français, dont le Lycée Marie de France et le Collège Stanislas à Montréal, et à tout élève de Terminale générale, avec ou sans spécialité scientifique : les calculs sont des proportions, des comptages et des pourcentages.
Le fil de la série : une machine ne sait que ce qu'on lui a donné, des instructions quand on la programme, des exemples quand elle apprend. Chaque erreur se remonte à l'une ou à l'autre, et elle se compte : un bogue de borne, une hypothèse sur les données qui cesse d'être vraie, des exemples qui ne représentent pas tout le monde, une corrélation prise pour une cause.
La partie A pose les savoir-faire du programme : distinguer une machine à tâche fixe d'une machine universelle, reconnaître un fichier exécutable, calculer la taille d'une page de texte, corriger un programme bogué simple, estimer une valeur avec une courbe de tendance. La partie B passe à l'apprentissage automatique, aux biais, au tableau de contingence d'un diagnostic et aux questions éthiques.
Faites chaque exercice au complet avant d'ouvrir la correction : c'est en cherchant qu'on apprend, pas en lisant la solution.
Série autocorrigéeTape tes réponses sous chaque question : la page te dit juste ou faux avant d'ouvrir la correction. Avec un compte, chaque bonne réponse du premier coup rapporte des points.
•MACHINE UNIVERSELLE : proposée par Turing en 1936, matérialisée par les premiers ordinateurs à programme enregistré, vers 1948. Un ordinateur comporte au minimum un processeur et une mémoire vive.
•Un programme est une DONNÉE : il se stocke, se transporte et se traite. Un programme de haut niveau (Python) est traduit en instructions propres à chaque type de processeur ; un fichier exécutable (.exe sous Windows) contient déjà ces instructions.
•TAILLE D'UN TEXTE en ASCII non compressé : 1 caractère =1 octet =8 bits, espaces et fins de ligne compris. Une page, quelques ko ; un livre, environ 1 Mo ; une photo ou une chanson, quelques Mo ; une heure de vidéo, de l'ordre du Go.
•BOGUE : erreur dans un programme ; les plus fréquents sont aux BORNES (strictement inférieur au lieu d'inférieur ou égal). On les cherche en testant les cas limites.
•L'IA est née en 1956 ; aujourd'hui, le terme désigne surtout l'APPRENTISSAGE AUTOMATIQUE, où l'algorithme améliore ses résultats à partir de données d'entraînement au lieu de règles écrites.
•COURBE DE TENDANCE : estimer une valeur inconnue en interpolant dans la plage des données ; l'extrapolation loin des données n'a pas de valeur de preuve.
•BIAIS : un modèle ne vaut que pour la population que représentent ses données d'entraînement. Plus de données du même genre ne corrigent pas un biais.
•CORRÉLATION n'est pas CAUSALITÉ : facteur caché, hasard ou causalité inverse.
•TABLEAU DE CONTINGENCE : vrais et faux positifs, vrais et faux négatifs. Chaque pourcentage s'applique à la colonne qu'il décrit ; la probabilité d'être malade sachant un test positif se calcule parmi les positifs (inférence bayésienne).
Partie A : les bases (/50)
Exercice 1 : Des cartes perforées à la machine universelle
La frise place cinq dates de l'histoire du traitement automatique de l'information. En 1801, le métier à tisser de Jacquard lit une chaîne de cartes perforées : chaque carte dit quels fils lever, et changer les cartes change le motif du tissu. En 1890, la tabulatrice de Hollerith lit une carte perforée par habitant pour dépouiller le recensement des États-Unis. En 1936, Alan Turing décrit sur le papier une machine UNIVERSELLE, capable d'exécuter n'importe quel programme qu'on lui fournit comme une donnée. En 1948, à Manchester, un ordinateur exécute pour la première fois un programme rangé dans sa propre mémoire. En 1956 naît le champ de l'intelligence artificielle.
On adopte, pour la question b), un modèle simplifié : le recensement de 1890 compte 63 millions de cartes, et une tabulatrice en lit 50 par minute. Le dépouillement du recensement précédent, fait à la main, avait demandé près de huit ans.
a) Pour chacune des quatre machines suivantes, dites si elle est limitée à une tâche prédéterminée ou si c'est une machine universelle : le métier Jacquard, la tabulatrice, une calculatrice de poche à quatre opérations, l'ordinateur de 1948.
b) Combien d'heures une seule tabulatrice mettrait-elle à lire les 63 millions de cartes ? Combien de jours faut-il à 50 tabulatrices travaillant 7 heures par jour ?
c) Combien d'années séparent l'article de Turing du premier programme enregistré ? Qu'est-ce que la machine universelle a de radicalement nouveau ?
d) De quoi un ordinateur est-il constitué au minimum ? Expliquez pourquoi les cartes du métier Jacquard, qui « commandent » la machine, ne font pas de lui un ordinateur.
Voir la correction
Réponses
a)Jacquard, tabulatrice et calculatrice : tâche prédéterminée ; l'ordinateur de 1948 : machine universelle
b)1260000 minutes, soit 21000 heures pour une machine ; 60 jours pour 50 machines à 7 h par jour
c)12 ans ; le programme devient une donnée rangée en mémoire, que la même machine peut changer
d)Un processeur et une mémoire vive ; les cartes Jacquard choisissent un motif, pas une tâche : la machine ne sait que tisser
a) Une machine à tâche prédéterminée peut recevoir des réglages, mais elle ne fait qu'une seule sorte de travail. Le métier Jacquard ne sait que TISSER : ses cartes changent le motif, jamais la nature du travail. La tabulatrice ne sait que COMPTER et trier des cartes selon des critères câblés. La calculatrice de poche à quatre opérations ne sait faire que ces quatre opérations, quelle que soit la touche pressée. L'ordinateur de 1948, lui, exécute la suite d'instructions qu'on range dans sa mémoire : le même appareil calcule, trie, traduit ou joue selon le programme chargé. C'est la définition d'une machine universelle au sens de Turing.
b) C'est un calcul de proportionnalité. Une tabulatrice lit 50 cartes par minute, donc il lui faut 5063000000=1260000 minutes, soit 601260000=21000 heures. Avec 50 machines qui se partagent les cartes, la durée est divisée par 50 : 420 heures de travail, soit 7420=60 jours à 7 heures par jour. Deux mois au lieu de près de huit ans : c'est ce gain qui a lancé l'industrie de la mécanographie, dont est issue l'entreprise IBM. Le piège est de diviser les 21000 heures par 7 sans tenir compte des 50 machines, ce qui donne 3000 jours, ou d'oublier de passer des minutes aux heures.
c) De 1936 à 1948, il s'écoule 1948−1936=12 ans, environ une décennie comme le dit le programme. La nouveauté n'est pas la vitesse ni l'électricité, que les tabulatrices utilisaient déjà : c'est que le PROGRAMME devient une DONNÉE comme les autres. Il est écrit dans la même mémoire que les nombres qu'il traite, il peut être remplacé en quelques secondes, copié, transporté, et même produit par un autre programme. Une seule machine suffit donc pour toutes les tâches : on ne construit plus une machine par problème, on écrit un programme par problème.
d) Au minimum, un ordinateur comporte un PROCESSEUR, qui exécute les instructions, et une MÉMOIRE VIVE, qui contient à la fois le programme en cours et les données qu'il manipule. L'écran, le clavier ou le disque sont des périphériques utiles, pas indispensables : un ordinateur de bord de voiture n'a ni écran ni clavier. Les cartes Jacquard sont bien une information qui commande la machine, et c'est pour cela qu'on les cite comme ancêtres de la programmation ; mais elles ne choisissent qu'un MOTIF parmi tous ceux qu'un métier peut tisser. Aucune carte ne fera calculer, trier ou traduire le métier. La frontière entre une machine programmable et une machine universelle est exactement là : changer ce que fait la machine, et non seulement la façon dont elle fait toujours la même chose.
Coche ici les exercices faits ou à revoir : un compte gratuit, sans mot de passe, retient tes coches d'une visite à l'autre et te dit quel chapitre attaquer ensuite. Crée ton espace, un courriel suffit.
Exercice 2 : Programmable, et par qui ? Les fichiers exécutables
On recense six objets de la vie courante : (1) la calculatrice graphique du lycée, (2) un lave-linge à programmes, (3) un téléphone intelligent, (4) la boîte Internet de la maison, (5) l'ordinateur de bord d'une voiture récente, (6) une montre mécanique à remontage manuel.
La figure montre ensuite le contenu d'un dossier sur un ordinateur sous Windows, tel que l'affiche l'explorateur de fichiers, avec la taille de chaque fichier.
a) Combien de ces six objets contiennent un processeur, c'est-à-dire un petit ordinateur ?
b) Combien de ces objets leur UTILISATEUR peut-il programmer, en installant ou en écrivant un programme ? Choisir le programme « coton 40 degrés » d'un lave-linge, est-ce le programmer ?
c) Sous Windows, lequel de ces fichiers contient des instructions directement exécutables par le processeur ? Combien de fichiers du dossier sont des programmes, au sens large ?
d) On copie installateur.exe sur un téléphone intelligent : il ne s'exécute pas. Pourquoi ? En quoi le téléchargement de ce fichier montre-t-il qu'un programme est une donnée ?
Voir la correction
Réponses
a)5 objets sur 6 : tous sauf la montre mécanique
b)2 objets, la calculatrice et le téléphone ; choisir un programme de lavage n'est pas programmer
c)installateur.exe ; 2 programmes au sens large, installateur.exe et moyenne.py
d)Ses instructions sont propres à un type de processeur et de système ; il a été stocké et transporté comme n'importe quel fichier
a) La calculatrice, le lave-linge moderne, le téléphone, la boîte Internet et l'ordinateur de bord contiennent tous un processeur et de la mémoire : ce sont des ordinateurs enfermés dans un objet. Seule la montre mécanique n'en a pas : ses rouages font une seule chose, par construction. Réponse : 5 objets sur 6. Retenez que la plupart des ordinateurs du monde ne ressemblent pas à des ordinateurs : une voiture récente en compte plusieurs dizaines.
b) Contenir un processeur ne veut pas dire être programmable par SON UTILISATEUR. La calculatrice graphique accepte des programmes écrits par l'élève, en Python par exemple, et le téléphone accepte des applications installées par son propriétaire : 2 objets. Le lave-linge, la boîte Internet et l'ordinateur de bord sont programmés par leur FABRICANT, qui les met à jour par un câble au garage ou à distance par le réseau ; l'utilisateur n'écrit ni n'installe rien. Choisir « coton 40 degrés », c'est sélectionner l'un des programmes que le fabricant a écrits, exactement comme choisir une chaîne de télévision : ce n'est pas programmer. La question « programmable, et par qui ? » a donc trois réponses : par l'utilisateur, par le fabricant seulement, par personne.
c) Sous Windows, un fichier .exe contient des instructions en LANGAGE MACHINE, que le processeur exécute directement : c'est installateur.exe. Le fichier moyenne.py est aussi un programme, mais écrit en Python, un langage de haut niveau : c'est un simple texte, qu'on peut ouvrir dans un éditeur, et qu'un autre programme, l'interpréteur Python, traduit en instructions pour le processeur. Au sens large, le dossier contient donc 2 programmes. Les cinq autres fichiers sont des documents : un texte mis en page, une image, un son, un texte brut, une vidéo. Attention : l'extension n'est qu'une convention de Windows ; sous Linux, c'est une autorisation d'exécution attachée au fichier qui décide, et renommer notes.txt en notes.exe ne le rend pas exécutable.
d) Les instructions d'un fichier .exe sont écrites pour un TYPE de processeur et pour un système d'exploitation donnés ; un téléphone a en général un processeur d'une autre famille et un autre système, qui ne comprennent pas ces instructions. C'est pour cela qu'un programme écrit en Python peut être traduit pour chaque type de processeur, alors qu'un .exe ne sert que sur la machine pour laquelle il a été produit. Quant au téléchargement, il montre qu'un programme est une DONNÉE : ses 85 Mo ont été stockés sur un serveur, transportés par le réseau et écrits sur le disque exactement comme les 3,1 Mo de la photo. Rien, dans le fichier lui-même, ne distingue un programme d'une image : c'est l'usage qu'on en fait qui les sépare.
Exercice 3 : Combien pèse une page de texte en ASCII
Le code ASCII associe à chaque caractère non accentué, lettre, chiffre, signe de ponctuation ou espace, un nombre écrit sur 7 bits. Dans un fichier, chaque caractère ASCII occupe un OCTET, soit 8 bits. Un fichier de texte brut, sans mise en forme et non compressé, contient les caractères du texte, et à la fin de chaque ligne un caractère invisible de fin de ligne.
La page schématisée compte 50 lignes de 64 caractères, espaces compris. On prend 1 ko =1000 octets, 1 Mo =106 octets et 1 Go =109 octets.
a) Combien la page contient-elle de caractères imprimés ? Quelle est la taille du fichier en octets, fins de ligne comprises ? Le mot « élève » peut-il s'écrire en ASCII ?
b) Quelle est la taille de ce fichier en bits ?
c) Un roman de 300 pages de ce format est enregistré en texte brut. Quelle est sa taille en ko ?
d) On reprend le dossier de l'exercice 2. À combien de pages de texte correspond la photo vacances.jpg de 3,1 Mo ? À combien de romans correspond la vidéo film.mp4 de 1,4 Go ? Arrondissez à l'unité.
Voir la correction
Réponses
a)3200 caractères imprimés ; 3250 octets avec les 50 fins de ligne ; non, « é » et « è » ne sont pas dans l'ASCII
b)3250×8=26000 bits
c)300×3250=975000 octets, soit 975 ko
d)environ 954 pages pour la photo ; environ 1436 romans pour la vidéo
a) La page contient 50×64=3200 caractères, espaces compris : un espace est un caractère comme un autre, et il occupe un octet. Il faut y ajouter les 50 caractères de fin de ligne, invisibles mais bien présents dans le fichier : 3200+50=3250 caractères, donc 3250 octets en ASCII, soit 3,25 ko. On peut aussi raisonner ligne par ligne : 65 octets par ligne, 50×65=3250. Quant au mot « élève », il est impossible à écrire en ASCII strict : le code ne contient aucune lettre accentuée. Un texte français s'enregistre aujourd'hui en UTF-8, où les lettres non accentuées gardent leur octet unique et où « é » en prend deux ; la taille réelle d'une page française est donc un peu supérieure au calcul ASCII.
b) Un octet vaut 8 bits, donc la page occupe 3250×8=26000 bits. Le piège est de compter 7 bits par caractère parce que le CODE ASCII tient sur 7 bits : on obtiendrait 22750 bits. Mais le fichier range chaque caractère dans un octet entier, le huitième bit restant à 0 ; c'est la taille du fichier qu'on demande, pas celle du code. Distinguez aussi les deux unités dans l'écriture : « o » ou « B » pour l'octet, « b » ou « bit » pour le bit ; une confusion entre les deux fausse tout d'un facteur 8.
c) Le roman compte 300 pages identiques : 300×3250=975000 octets, soit 975 ko, un peu moins de 1 Mo. C'est l'ordre de grandeur à retenir : un livre entier en texte brut pèse environ un mégaoctet. Le résultat surprend souvent, parce que le texte est ce qui nous paraît le plus « riche », alors que c'est l'information la plus économe à stocker : un caractère ne coûte qu'un octet, là où un seul point d'une image en couleurs en coûte déjà trois avant compression.
d) La photo pèse 3,1 Mo, soit 3100000 octets : 32503100000≈953,8, donc environ 954 pages, plus de trois romans entiers pour UNE photo, même compressée au format JPEG. La vidéo pèse 1,4 Go, soit 1400000000 octets : 9750001400000000≈1435,9, soit environ 1436 romans, une bibliothèque municipale. Les ordres de grandeur à connaître : une page de texte, quelques ko ; un livre, environ 1 Mo ; une photo ou une chanson de quelques minutes, quelques Mo ; une heure de vidéo, de l'ordre du Go. Chaque famille pèse environ mille fois la précédente, et c'est ce qui explique qu'on stocke sans y penser des milliers de textes, mais qu'une vidéo remplisse un téléphone.
Exercice 4 : Un bogue à 37 secondes : corriger un test de bornes
Le 4 juin 1996, le premier vol d'Ariane 5 s'est terminé par la destruction de la fusée, moins de quarante secondes après le décollage. Le logiciel de guidage avait été repris d'Ariane 4. Il convertissait une grandeur liée à la vitesse horizontale en un entier signé écrit sur 16 bits, qui ne peut prendre que les valeurs entières de −32768 à 32767, comme le montre la figure. Sur la trajectoire d'Ariane 5, la valeur a dépassé cette plage ; la conversion a échoué, et les deux calculateurs, le principal et celui de secours, qui exécutaient le même programme, se sont arrêtés l'un après l'autre.
Un élève écrit la fonction ci-dessous, censée renvoyer True si une valeur entière v peut s'écrire sur 16 bits signés, et False sinon.
def tient_sur_16_bits(v):
if v > -32768 and v < 32767:
return True
else:
return False
a) Parmi les valeurs 20000 ; 32767 ; 40000 ; −32768 ; −50000, combien peuvent s'écrire sur 16 bits signés ?
b) Que renvoie tient_sur_16_bits(32767) ? Et tient_sur_16_bits(-32768) ? Qu'aurait-on dû obtenir ?
c) Quelle condition corrige la fonction ? Combien de valeurs entières la version boguée refuse-t-elle à tort ?
d) Dans un modèle simplifié, la grandeur convertie augmente de 890 unités par seconde depuis le décollage d'Ariane 5, et de 178 unités par seconde sur Ariane 4. Au bout de combien de secondes dépasse-t-elle 32767 sur Ariane 5 ? Quelle valeur atteint-elle sur Ariane 4 au bout de 40 secondes ? D'où venait donc l'erreur ?
Voir la correction
Réponses
a)3 valeurs : 20000, 32767 et −32768
b)False et False, alors qu'on attendait True et True
c)v >= -32768 and v <= 32767 ; 2 valeurs refusées à tort, les deux bornes
d)t=89032767≈36,8 s ; 7120 sur Ariane 4 ; une hypothèse sur les données, vraie pour Ariane 4, fausse pour Ariane 5
a) Une valeur tient sur 16 bits signés si elle est comprise entre −32768 et 32767, BORNES COMPRISES. 20000 convient, 32767 aussi puisque c'est la borne supérieure, et −32768 également, c'est la borne inférieure. 40000 dépasse la borne du haut et −50000 celle du bas. Réponse : 3 valeurs. La plage n'est pas symétrique, −32768 d'un côté et 32767 de l'autre, parce que 16 bits donnent 216=65536 combinaisons, partagées entre les 32768 négatifs, le zéro et les 32767 positifs.
b) Pour v=32767, le test v < 32767 est FAUX, puisque 32767 n'est pas strictement inférieur à lui-même : la condition entière est fausse et la fonction renvoie False. De même, pour v=−32768, le test v > -32768 est faux, et la fonction renvoie False. Dans les deux cas, on attendait True. Ce genre d'erreur est le bogue le plus courant de tous : l'erreur de BORNE, un « strictement inférieur » écrit à la place d'un « inférieur ou égal ». Pour le trouver, on ne teste pas des valeurs au hasard, on teste exprès les bornes et leurs voisines immédiates.
c) La condition correcte est v >= -32768 and v <= 32767, avec des inégalités LARGES aux deux bouts. Écrire or à la place de and serait pire : toute valeur est soit supérieure à −32768, soit inférieure à 32767, et la fonction renverrait toujours True. La version boguée refuse à tort exactement 2 valeurs, les deux bornes ; elle répond juste pour toutes les autres. C'est ce qui rend les bogues si difficiles à voir : sur des milliers d'essais ordinaires, le programme paraît correct, et il suffit d'un cas limite pour qu'il se trompe.
d) Sur Ariane 5, la valeur vaut 890t au bout de t secondes ; elle dépasse 32767 quand 890t>32767, soit t>89032767≈36,8 s, ce qui correspond à la destruction observée. Sur Ariane 4, au bout de 40 s, elle vaut 178×40=7120, très loin de la limite : le même programme n'y avait jamais posé de problème. Le programme n'avait donc pas changé ; ce sont les DONNÉES qui avaient changé, la nouvelle fusée accélérant cinq fois plus vite horizontalement dans ce modèle. La protection contre le dépassement avait été jugée inutile pour Ariane 4, et personne n'avait revérifié cette hypothèse pour Ariane 5. La leçon tient en une phrase : un programme correct n'est correct que pour les données qu'on avait prévues.
Exercice 5 : Estimer l'âge d'un chêne avec une courbe de tendance
Un service forestier veut estimer l'âge d'un chêne sans l'abattre, à partir de la circonférence de son tronc mesurée à 1,30 m du sol. Pour construire le modèle, on dispose de DONNÉES D'ENTRAÎNEMENT : sept chênes abattus dans une même forêt exploitée, dense, dont on a mesuré la circonférence x, en cm, et compté les cernes, ce qui donne l'âge y, en années.
Les couples (x;y) sont : (45;28), (70;41), (95;52), (120;67), (140;74), (165;88), (190;97). Le tableur trace le nuage et donne la droite de tendance, arrondie : y=0,48x+7.
a) Estimez l'âge d'un chêne de la même forêt dont la circonférence vaut 150 cm.
b) Pour le chêne de 120 cm, calculez l'âge prédit par la droite, puis l'écart entre l'âge réel et l'âge prédit.
c) Selon le modèle, quelle circonférence un chêne de 60 ans devrait-il avoir ? Arrondissez au dixième.
d) Un chêne isolé dans un parc mesure 190 cm de circonférence ; un carottage, qui compte les cernes sans abattre l'arbre, donne 62 ans. De combien le modèle se trompe-t-il ? Expliquez l'erreur. Peut-on utiliser le modèle pour un chêne de 600 cm ?
Voir la correction
Réponses
a)0,48×150+7=79 ans
b)prédit 64,6 ans ; écart 67−64,6=2,4 ans
c)x=0,4860−7≈110,4 cm
d)prédit 98,2 ans, erreur +36,2 ans ; les données d'entraînement ne représentent que des arbres de forêt ; non, 600 cm est hors de la plage des données
a) On remplace x par 150 dans l'équation de la droite : y=0,48×150+7=72+7=79. Le modèle estime l'âge du chêne à 79 ans environ. C'est une INTERPOLATION : 150 cm est compris entre la plus petite circonférence mesurée, 45 cm, et la plus grande, 190 cm, là où le nuage montre que la droite suit bien les points. C'est exactement ce que fait un algorithme d'apprentissage le plus simple : il résume des exemples connus par une tendance, puis il l'applique à un cas nouveau.
b) Pour x=120, la droite prédit 0,48×120+7=57,6+7=64,6 ans ; l'arbre en a réellement 67, d'après ses cernes. L'écart vaut 67−64,6=2,4 ans : le modèle sous-estime légèrement cet arbre. Aucun point du nuage n'est exactement sur la droite, et c'est normal : la droite minimise l'ensemble des écarts, elle ne passe par aucun point en particulier. Un écart de deux ou trois ans sur un chêne de soixante-dix ans est une précision tout à fait acceptable pour un forestier.
c) On cherche x tel que 0,48x+7=60, soit 0,48x=53 et x=0,4853≈110,4 cm. On lit ici la droite dans l'autre sens : on connaît l'âge et l'on cherche la circonférence. Le calcul est légitime tant qu'on reste dans la plage des données, et il se vérifie en remplaçant : 0,48×110,4+7≈60.
d) Le modèle prédit 0,48×190+7=98,2 ans, alors que l'arbre en a 62 : il se trompe de 98,2−62=36,2 ans, plus de la moitié de son âge réel. La cause n'est pas le calcul, c'est la REPRÉSENTATIVITÉ des données d'entraînement : les sept chênes viennent tous d'une forêt dense, où les arbres se disputent la lumière et grossissent lentement. Un chêne isolé dans un parc reçoit toute la lumière, grossit beaucoup plus vite, et paraît donc plus vieux qu'il n'est. Le modèle n'est pas faux, il est valable pour la population qui l'a produit, et pour elle seule. Pour 600 cm, c'est une EXTRAPOLATION très loin des données : aucun arbre d'entraînement ne dépasse 190 cm, et la croissance d'un très vieux chêne ralentit, si bien que rien ne garantit que la tendance reste une droite. La réponse du tableur, 0,48×600+7=295 ans, n'a aucune valeur de preuve.
Partie B : problèmes et raisonnement (/50)
Exercice 6 : Apprendre par l'exemple : les k plus proches voisins et un chant d'oiseau
Une application reconnaît l'espèce d'un oiseau à partir d'un enregistrement de son chant. Elle mesure deux grandeurs : la fréquence dominante, en kHz, et la durée du chant, en secondes. Ses DONNÉES D'ENTRAÎNEMENT sont onze enregistrements dont l'espèce a été identifiée par des ornithologues : cinq mésanges et six fauvettes, placés sur la figure.
Un nouvel enregistrement donne le point N. L'algorithme des k plus proches voisins cherche les k exemples les plus proches de N et annonce l'espèce majoritaire parmi eux. Les distances de N aux sept exemples les plus proches, mesurées sur le graphique et rangées dans l'ordre croissant, sont : 0,57 (fauvette) ; 0,67 (mésange) ; 0,99 (mésange) ; 1,14 (fauvette) ; 1,26 (fauvette) ; 1,58 (mésange) ; 1,63 (mésange).
a) Quelle espèce l'application annonce-t-elle avec k=1 ?
b) Avec k=3 : combien de mésanges parmi les voisins retenus, et quelle espèce est annoncée ?
c) Avec k=5 : combien de fauvettes parmi les voisins retenus, et quelle espèce est annoncée ? Pourquoi la réponse dépend-elle de k ?
d) On découvre que l'enregistrement situé à la distance 1,14 avait été mal étiqueté : c'était une mésange. Avec k=5, combien de mésanges compte-t-on désormais, et quelle espèce est annoncée ? Qui a écrit la règle qui a changé la réponse ?
Voir la correction
Réponses
a)Fauvette : le plus proche voisin, à 0,57, est une fauvette
b)2 mésanges sur 3 voisins : mésange
c)3 fauvettes sur 5 voisins : fauvette ; chaque valeur de k regarde un voisinage différent
d)3 mésanges sur 5 : mésange ; personne n'a écrit de règle, la réponse vient des données
a) Avec k=1, on ne regarde que l'exemple le plus proche : il est à la distance 0,57, et c'est une fauvette. L'application annonce « fauvette ». Remarquez qu'aucune règle du type « si la fréquence dépasse 5 kHz, alors c'est une mésange » n'a été programmée : la réponse est lue directement dans les exemples. C'est le principe de l'apprentissage automatique : on ne dit pas à la machine COMMENT décider, on lui donne des cas déjà résolus.
b) Avec k=3, on retient les trois exemples les plus proches : 0,57 (fauvette), 0,67 (mésange) et 0,99 (mésange). Cela fait 2 mésanges contre 1 fauvette : l'application annonce « mésange ». Le même point N change donc d'espèce entre k=1 et k=3. On choisit en général un k impair pour éviter les égalités entre deux espèces.
c) Avec k=5, on ajoute les exemples à 1,14 et 1,26, deux fauvettes : on compte 3 fauvettes et 2 mésanges, et l'application revient à « fauvette ». La réponse dépend de k parce que N est situé à la FRONTIÈRE entre les deux nuages : chaque valeur de k regarde un voisinage de taille différente, et la majorité bascule selon les points qu'il englobe. Un k trop petit rend la réponse sensible à un seul exemple, éventuellement erroné ; un k trop grand finit par consulter des exemples éloignés, qui n'ont plus rien à dire sur N. Le paramètre k est un choix humain, que l'on règle en testant l'algorithme sur des enregistrements dont on connaît déjà la réponse.
d) Après correction de l'étiquette, les cinq plus proches voisins sont : fauvette (0,57), mésange (0,67), mésange (0,99), mésange (1,14), fauvette (1,26). On compte maintenant 3 mésanges contre 2 fauvettes, et l'application annonce « mésange ». Personne n'a modifié le programme : c'est la correction d'UNE donnée d'entraînement qui a changé la réponse. Ici, la règle de décision n'est écrite nulle part, elle est contenue dans les données ; une erreur d'étiquetage devient donc une erreur de l'application, sans qu'aucune ligne de code soit fausse. C'est pourquoi la qualité des données, et d'abord la justesse de leurs étiquettes, compte autant que l'algorithme.
Exercice 7 : Des données qui ne représentent pas tout le monde : un modèle de dermatologie
Une entreprise entraîne un modèle d'apprentissage automatique à reconnaître, sur une photographie, une lésion de la peau qui doit être montrée à un dermatologue. Ses données d'entraînement sont 10000 photographies déjà diagnostiquées, réparties selon la couleur de peau comme le montre le diagramme.
Pour évaluer le modèle, on lui soumet ensuite 500 photographies NOUVELLES de chaque groupe, dont on connaît le diagnostic. Il répond juste pour 460 photos de peaux claires, 425 de peaux intermédiaires et 340 de peaux foncées.
a) Quelle part, en pourcentage, chaque groupe représente-t-il dans les données d'entraînement ?
b) Combien d'erreurs le modèle commet-il sur les 500 photos de peaux foncées ? Combien de fois plus d'erreurs que sur les peaux claires ?
c) La brochure de l'entreprise annonce le taux de réussite « global », calculé en pondérant chaque groupe par sa part dans les données d'entraînement. Calculez ce taux, au dixième de pour cent. Que cache-t-il ?
d) Quelle mesure corrige réellement le problème ? Pourquoi cet usage de l'IA pose-t-il un problème éthique ?
Voir la correction
Réponses
a)claire 84%, intermédiaire 12%, foncée 4%
b)160 erreurs sur les peaux foncées, contre 40 sur les peaux claires : 4 fois plus
c)0,84×92+0,12×85+0,04×68=90,2% ; il cache un taux de réussite de 68% sur les peaux foncées
d)Compléter les données avec des photos de peaux foncées et publier les résultats groupe par groupe ; le modèle soigne moins bien une partie de la population
a) Les trois groupes totalisent 8400+1200+400=10000 photographies. Les parts sont 100008400=84% pour les peaux claires, 100001200=12% pour les peaux intermédiaires et 10000400=4% pour les peaux foncées. Le diagramme le montrait d'un coup d'œil : la troisième barre est vingt et une fois plus courte que la première. Ces données ne sont pas « fausses », chaque diagnostic peut être juste ; elles ne sont pas REPRÉSENTATIVES de la population à laquelle le modèle sera appliqué.
b) Sur les 500 photos de peaux foncées, le modèle répond juste 340 fois, donc il se trompe 500−340=160 fois, soit un taux de réussite de 500340=68%. Sur les peaux claires, il se trompe 500−460=40 fois, taux de réussite 92%. Le rapport des erreurs vaut 40160=4 : un patient à peau foncée a quatre fois plus de risques d'être mal orienté. Pour les peaux intermédiaires, 75 erreurs et 85% de réussite : la performance suit exactement la quantité d'exemples vus pendant l'entraînement.
c) Le taux « global » pondéré vaut 0,84×92+0,12×85+0,04×68=77,28+10,2+2,72=90,2%. Ce nombre est exact et pourtant trompeur : comme les peaux foncées ne pèsent que 4% de la moyenne, leur mauvais résultat disparaît presque. Un modèle qui réussit 90% en moyenne peut échouer une fois sur trois pour une partie de la population. Une moyenne résume un ensemble, elle ne dit rien de ce qui arrive à chaque groupe ; c'est pourquoi une évaluation sérieuse publie les résultats groupe par groupe.
d) Doubler toute la base à l'identique ne change rien : on aurait 16800 peaux claires et 800 peaux foncées, toujours 4%. Ce qui corrige le problème, c'est de COLLECTER des photographies diagnostiquées de peaux foncées jusqu'à une représentation suffisante, puis de réévaluer et de publier le taux de réussite de chaque groupe. Le problème est éthique parce que le modèle ne se trompe pas au hasard : il AMPLIFIE un déséquilibre des données en inégalité de soins, et il le fait de façon invisible derrière un bon chiffre global. Se pose aussi la question de la responsabilité : si un diagnostic manqué entraîne un retard de traitement, qui en répond, l'entreprise, le médecin qui a suivi l'avis de la machine, ou personne ?
Exercice 8 : Cinq affirmations à corriger
Chacune des cinq affirmations suivantes est FAUSSE. Dites pourquoi et donnez l'énoncé correct. Elles reprennent les idées des exercices 1 à 7, et deux d'entre elles demandent un calcul.
a) « L'intelligence artificielle est née avec les dialogueurs, au début des années 2020. »
b) « Un programme n'est pas une donnée : on ne peut ni le copier, ni l'envoyer, ni le modifier comme un fichier de texte. »
c) « Un texte de 5000 caractères enregistré en ASCII pèse 5000 bits. »
d) « Pour supprimer les biais d'un algorithme d'apprentissage, il suffit de lui fournir beaucoup plus de données. »
e) « Une IA qui découvre une forte corrélation entre deux grandeurs a découvert une relation de cause à effet. »
Voir la correction
Réponses
a)Le champ de l'IA est né en 1956 ; les dialogueurs n'en sont qu'une application récente
b)Un programme est une donnée : il se stocke, se transmet, se traduit et se modifie
c)5000 octets, soit 40000 bits
d)Plus de données du même genre reproduisent le biais ; il faut des données représentatives
e)Une corrélation ne prouve pas une cause : facteur caché, hasard ou causalité inverse
a) FAUX. Le champ de l'intelligence artificielle est né en 1956, lors d'un atelier de recherche tenu à Dartmouth, aux États-Unis, où le terme a été adopté. Il visait alors à simuler sur ordinateur les facultés cognitives humaines. L'approche dite symbolique, les systèmes experts fondés sur des règles écrites à la main, n'a pas tenu ses promesses. Énoncé correct : l'IA a soixante-dix ans ; les dialogueurs récents sont une application de son sous-domaine le plus actif aujourd'hui, l'apprentissage automatique, rendu possible par les données massives et la puissance de calcul.
b) FAUX. Depuis la machine universelle, un programme est rangé en mémoire comme n'importe quelle donnée. On le télécharge, on le copie sur une clé, on l'envoie par le réseau, et d'autres programmes le traitent : un traducteur transforme un programme Python en instructions pour un processeur donné. Énoncé correct : un programme est une donnée ; il se stocke, se transporte et se traite comme une image ou un texte, et c'est ce qui permet à une même machine d'exécuter n'importe quelle tâche.
c) FAUX, l'unité est la mauvaise. En ASCII, chaque caractère occupe un OCTET dans le fichier, même si son code tient sur 7 bits. Le texte pèse donc 5000 octets, soit 5000×8=40000 bits. Énoncé correct : un texte de 5000 caractères ASCII pèse 5000 octets, environ 5 ko, et 40000 bits ; on n'oublie pas les espaces et les fins de ligne, qui sont aussi des caractères.
d) FAUX. Si les nouvelles données ont le même déséquilibre que les anciennes, le modèle apprend le même biais, avec plus d'assurance : dans l'exercice 7, doubler la base laisse les peaux foncées à 4%. Énoncé correct : ce qui réduit un biais, c'est la REPRÉSENTATIVITÉ des données, c'est-à-dire des exemples de tous les cas que le modèle rencontrera, et une évaluation groupe par groupe ; la quantité seule ne corrige rien.
e) FAUX. Deux grandeurs peuvent varier ensemble parce qu'une troisième les commande toutes les deux, par hasard sur un petit échantillon, ou parce que la cause va dans l'autre sens. Un algorithme d'apprentissage repère des corrélations, il ne sait pas pourquoi elles existent : c'est exactement le piège de l'exercice 10. Énoncé correct : une corrélation est un indice, pas une preuve ; établir une cause demande une expérience contrôlée ou une explication par un mécanisme, et la décision fondée sur cette cause reste une décision humaine.
Exercice 9 : Problème : une IA lit le fond d'œil, tableau de contingence et inférence bayésienne
Le diabète peut abîmer les petits vaisseaux de la rétine ; cette atteinte, la rétinopathie, se traite bien si elle est repérée tôt. Un logiciel d'apprentissage automatique analyse une photographie du fond de l'œil et répond « positif », à montrer à un ophtalmologiste, ou « négatif ». On l'applique à 5000 patients diabétiques, parmi lesquels 8% ont une rétinopathie.
Le fabricant annonce que le logiciel est positif chez 87% des patients malades, et négatif chez 90% des patients sains. On appelle VRAI POSITIF un malade testé positif, FAUX POSITIF un sain testé positif, FAUX NÉGATIF un malade testé négatif et VRAI NÉGATIF un sain testé négatif.
a) Complétez le tableau de contingence : donnez le nombre de vrais positifs, de faux négatifs, de faux positifs et de vrais négatifs.
b) Un patient reçoit un résultat positif. Quelle est la probabilité qu'il soit réellement malade ? Un autre reçoit un résultat négatif : quelle est la probabilité qu'il soit sain ? Arrondissez au millième.
c) Quelle est la fréquence des faux positifs, puis celle des faux négatifs, dans l'ensemble des 5000 patients ?
d) On envoie chez l'ophtalmologiste tous les patients positifs. Combien de consultations cela fait-il, et combien de malades sont vus ? Si l'on envoyait au hasard le même nombre de patients, combien de malades verrait-on en moyenne, à l'unité près ?
d)808 consultations, 348 malades vus ; au hasard, environ 65 malades
a) On remplit d'abord les totaux de la maladie : 8% de 5000 font 400 malades, et il reste 4600 patients sains. Chez les 400 malades, le logiciel est positif dans 87% des cas : 0,87×400=348 vrais positifs, donc 400−348=52 faux négatifs. Chez les 4600 sains, il est négatif dans 90% des cas : 0,9×4600=4140 vrais négatifs, donc 4600−4140=460 faux positifs. Totaux des lignes : 348+460=808 tests positifs et 52+4140=4192 tests négatifs ; contrôle, 808+4192=5000. Le piège est d'appliquer les 10% d'erreur aux 5000 patients au lieu des seuls 4600 sains : chaque pourcentage s'applique à la colonne qu'il décrit.
b) Le patient positif appartient à la ligne des 808 positifs ; parmi eux, 348 sont malades. La probabilité qu'il soit malade vaut donc 808348≈0,431 : moins d'une chance sur deux, alors que le logiciel détecte 87% des malades. C'est l'INFÉRENCE BAYÉSIENNE : on remonte de l'effet observé, le test positif, à la probabilité de sa cause, la maladie. Avant le test, la probabilité d'être malade était de 8% ; le résultat positif la fait monter à environ 43%, sans en faire une certitude, parce que les 460 faux positifs, pris dans une population onze fois et demie plus nombreuse, dépassent les 348 vrais positifs. Pour un résultat négatif : 41924140≈0,988 ; la probabilité d'être malade malgré tout tombe à 419252≈0,012.
c) Rapportés à l'ensemble des patients, les faux positifs représentent 5000460=0,092, soit 9,2%, et les faux négatifs 500052=0,0104, soit 1,04%. Les deux erreurs n'ont pas le même coût : un faux positif coûte une consultation inutile et une inquiétude passagère ; un faux négatif laisse une maladie évoluer sans soin. C'est pourquoi un logiciel de dépistage est souvent réglé pour réduire les faux négatifs, quitte à produire plus de faux positifs, que l'examen suivant éliminera.
d) Tous les positifs consultent : 808 consultations au lieu de 5000, et l'ophtalmologiste voit les 348 malades testés positifs ; 52 malades échappent au dépistage. Si l'on choisissait 808 patients au hasard, on y trouverait en moyenne 8% de malades, soit 0,08×808=64,64, environ 65. À nombre égal de consultations, le logiciel fait voir plus de cinq fois plus de malades : c'est son véritable apport. Il ne remplace pas le spécialiste, qui décide du diagnostic ; il trie les patients pour que le temps du spécialiste aille d'abord à ceux qui en ont probablement besoin.
Exercice 10 : Problème : l'asthme protège-t-il de la pneumonie ? Corrélation, causalité et éthique
Un hôpital veut un modèle qui prédise, pour un patient atteint de pneumonie, son risque de décès, afin de renvoyer à domicile les patients à faible risque. Le modèle apprend sur les dossiers de 10000 patients déjà soignés, résumés dans le tableau. La situation s'inspire d'un cas réel, étudié par des chercheurs dans les années 1990 puis en 2015 ; les effectifs sont inventés pour l'exercice.
On sait de plus que, dans ces dossiers, les patients restés en service ordinaire se répartissent ainsi : 60 asthmatiques, dont 4 sont décédés, et 7520 non asthmatiques, dont 423 sont décédés.
a) Calculez le taux de décès des asthmatiques et celui des non asthmatiques, en pourcentage.
b) Le modèle a repéré cette corrélation. Quelle recommandation risque-t-il de produire pour un asthmatique atteint de pneumonie ?
c) Quelle part des asthmatiques, et quelle part des non asthmatiques, ont été admis en soins intensifs ? Calculez les taux de décès des deux groupes en service ordinaire, au dixième de pour cent. Qu'en concluez-vous ?
d) Pourquoi l'usage de ce modèle pose-t-il un problème éthique, et que faut-il exiger avant de s'en servir ?
Voir la correction
Réponses
a)asthmatiques 6009=1,5% ; non asthmatiques 9400517=5,5%
b)Classer les asthmatiques « à faible risque » et les renvoyer à domicile
c)90% contre 20% en soins intensifs ; en service ordinaire 6,7% contre 5,6% : à soins égaux, l'asthme aggrave le risque, le facteur caché est la décision médicale
d)Le modèle exploite une corrélation sans en connaître la cause et peut recommander une décision dangereuse : il faut un modèle explicable, testé, et un médecin responsable
a) Taux de décès des asthmatiques : 6009=0,015, soit 1,5%. Taux des non asthmatiques : 9400517=0,055, soit 5,5%. Dans ces dossiers, les asthmatiques meurent donc presque quatre fois moins souvent de leur pneumonie. La corrélation est réelle et nette : ce ne sont ni des erreurs de mesure, ni un effet du hasard sur un petit groupe, puisque 600 patients est un effectif déjà conséquent.
b) Le modèle ne sait rien de la médecine : il associe l'asthme à un faible taux de décès et en déduit que l'asthme est un facteur PROTECTEUR. Il classerait donc un asthmatique atteint de pneumonie parmi les patients à faible risque, et recommanderait de le renvoyer chez lui. Or tout médecin sait que l'asthme fragilise les poumons et rend la pneumonie plus dangereuse. Le modèle n'a pas fait d'erreur de calcul : il a appris fidèlement une régularité de ses données, et c'est cette régularité qui trompe.
c) En soins intensifs : 600540=90% des asthmatiques, contre 94001880=20% des non asthmatiques. Les médecins, sachant l'asthme dangereux, admettent presque tous les asthmatiques en soins intensifs, où ils sont surveillés et traités plus vite. À soins égaux, en service ordinaire, le taux de décès des asthmatiques vaut 604≈6,7%, celui des non asthmatiques 7520423≈5,6% : l'asthme AUGMENTE le risque. La corrélation globale s'explique par un FACTEUR CACHÉ, la décision médicale : l'asthme entraîne des soins intensifs, et ce sont eux qui font baisser la mortalité. Le modèle a pris l'effet d'un traitement pour une propriété de la maladie ; s'il était suivi, il supprimerait précisément les soins qui produisaient la corrélation.
d) Le problème est éthique parce que la décision concerne la vie de patients et que l'erreur ne se voit pas : le modèle affiche de bons résultats sur les données passées, et il ne dit pas sur quelles corrélations il s'appuie. Avant tout usage, il faut exiger un modèle dont on peut EXPLIQUER les prédictions, pour repérer une règle absurde comme celle-ci, une évaluation sur des patients nouveaux, et une RESPONSABILITÉ humaine clairement établie : c'est le médecin qui décide et qui répond de la décision, le modèle n'étant qu'une aide. S'y ajoute la protection des données personnelles : ces dossiers médicaux sont des données sensibles, dont l'usage pour entraîner un modèle doit être encadré.
Vous cherchez un tuteur pour l'enseignement scientifique à Montréal ?
Contactez-moi pour une première séance. Ce sous-thème demande peu de calcul et beaucoup de précision dans l'argumentation : c'est exactement ce qui se travaille bien en séance, et c'est un excellent réservoir de sujets de Grand oral.