Leçon 1 — Le problème que l'IA résout
Avant de demander ce que l'intelligence artificielle est, il est utile de voir pour quel problème elle a été inventée. Ce problème s'énonce simplement et résiste étonnamment bien : certaines tâches sont impossibles à décrire sous forme de liste d'instructions, alors même qu'un enfant de cinq ans les accomplit sans effort.
L'expérience qui montre le mur
Prenez une tâche que tout le monde juge triviale : décider si une photo contient un chat.
Vous êtes programmeur. Écrivez les règles.
Vous commencerez peut-être par « un chat a deux oreilles pointues ». Puis quelqu'un soumet une photo de chat vu de dos, oreilles rabattues. Vous ajoutez « un chat a des moustaches » — et recevez un gros plan sur une patte. Vous ajoutez « un chat est poilu » — et tombez sur un Sphynx, qui est nu. Vous ajoutez des règles de couleur, et on vous envoie un chat noir photographié de nuit, où l'animal entier tient en trois nuances de gris foncé à peine distinguables.
Après deux mille règles, vous échouez encore sur des photographies qu'un enfant trie instantanément. Et chaque nouvelle règle ajoutée pour rattraper un cas en casse discrètement trois autres.
Le problème n'est pas que vous êtes un mauvais programmeur. Le problème est que vous ne connaissez pas les règles que vous utilisez vous-même. Vous reconnaissez un chat sans pouvoir dire pourquoi. Un savoir que l'on ne sait pas exprimer ne peut pas être transcrit en code.
C'est là le mur. On l'appelle le paradoxe de Polanyi, du nom du philosophe qui l'a formulé sans détour : nous en savons plus que nous ne pouvons en dire.
Les deux époques qui ont précédé
Les règles écrites par des experts (années 1960 à 1990)
La première réponse sérieuse a été le système expert. L'idée était raisonnable : si une machine ne peut pas découvrir les règles, laissons un spécialiste humain les dicter. Un médecin énonce des centaines de règles du type « si le patient présente ce symptôme et ce résultat d'analyse, alors envisager ce diagnostic », et un moteur d'inférence les enchaîne.
Cela a fonctionné, dans certaines limites. MYCIN, construit à Stanford dans les années 1970, diagnostiquait les infections sanguines à peu près aussi bien qu'un jeune médecin. Mais trois défauts se sont révélés fatals :
- Extraire les règles était un supplice. Interroger des experts pendant des mois produisait quelques centaines de règles là où la réalité en demandait des dizaines de milliers.
- Les règles se contredisaient. Au-delà d'un certain volume, plus personne ne savait dire si ajouter une règle améliorait le système ou le corrompait.
- Rien ne se généralisait. Un système bâti pour les infections sanguines ne valait rien pour les maladies pulmonaires. Tout devait repartir de zéro.
Les financements se sont effondrés à deux reprises, dans des périodes que l'on appelle aujourd'hui les hivers de l'IA. Au milieu des années 1990, « intelligence artificielle » était presque un terme que l'on évitait dans une demande de subvention.
Apprendre à partir d'exemples (à partir des années 1990)
L'autre approche existait depuis les années 1950 et fut longtemps jugée décevante : arrêter d'écrire des règles, et laisser la machine les déduire d'exemples.
Au lieu de décrire un chat, vous montrez à la machine cent mille photographies étiquetées « chat » ou « pas un chat » et vous la laissez déterminer d'elle-même quelles régularités visuelles séparent les deux piles. Personne n'écrit jamais « oreilles pointues ». La machine découvre, seule, que certaines combinaisons de formes et de textures prédisent bien l'étiquette.
C'est le machine learning, et il inverse la relation entre le programmeur et le programme :
| Programmation classique | Machine learning | |
|---|---|---|
| Ce que l'humain fournit | les règles | des exemples et leurs réponses |
| Ce que la machine produit | des réponses | les règles |
| Pour améliorer le résultat | réécrire le code | fournir plus de données, et de meilleures |
| Où se situe la difficulté | exprimer la logique | collecter et nettoyer les données |
Pourquoi cela n'a décollé que vers 2012
Les mathématiques derrière les réseaux de neurones étaient largement établies à la fin des années 1980. Pourquoi le monde ne l'a-t-il remarqué que vers 2012 ? Parce qu'une méthode ne sert à rien avant que trois ingrédients arrivent ensemble, et ils sont arrivés tard.
Les données. Un modèle apprend d'exemples, et il lui en faut un nombre énorme. Avant le web, il n'existait aucun moyen de rassembler un million de photographies étiquetées. Le jeu de données ImageNet, publié en 2009, en a fourni quatorze millions d'annotées — la première pile assez grande pour compter.
La puissance de calcul. Entraîner un réseau, c'est effectuer des milliards de petites multiplications. Les processeurs conçus pour les jeux vidéo, les GPU, font précisément cela, des milliers d'opérations en parallèle. Les détourner vers le machine learning a fait passer les temps d'entraînement de plusieurs mois à quelques jours.
Un résultat vérifiable. En 2012, un réseau nommé AlexNet a participé au concours ImageNet et fait chuter le taux d'erreur de 26 % à 16 % en une seule année, dans un domaine où les progrès se mesuraient en fractions de pourcent. L'écart était trop grand pour être balayé. En trois ans, tous les concurrents sérieux étaient passés au deep learning.
L'IA moderne n'est pas une idée neuve. C'est une vieille idée qui a enfin disposé d'assez de données et d'assez de puissance de calcul pour fonctionner. Cela compte quand vous évaluez une promesse : une approche qui exige des données que vous n'avez pas ne marchera pas chez vous, aussi impressionnante que soit la démonstration.
Ce que cela change pour vous, concrètement
Le passage de « écrire des règles » à « fournir des exemples » déplace la difficulté plutôt qu'il ne la supprime. Dans un projet réel, les parties difficiles deviennent :
- Ai-je les données ? Non pas « existe-t-il des données dans le monde », mais « ai-je, en interne et juridiquement exploitables, assez d'exemples étiquetés ».
- Mes données sont-elles représentatives ? Un modèle entraîné uniquement sur des photos de jour échouera de nuit. Il ne vous avertira pas ; il se trompera, simplement.
- Puis-je tolérer de me tromper parfois ? Un modèle donne une probabilité, jamais une garantie. Certains usages l'acceptent. D'autres non.
Ces trois questions décident du sort de la plupart des projets, bien avant que quiconque ne choisisse un algorithme. La leçon 4 montre pourquoi.
En trois phrases
Certaines tâches ne peuvent pas s'écrire sous forme de règles parce que nous sommes incapables d'énoncer les règles que nous utilisons nous-mêmes. Le machine learning contourne cet obstacle en déduisant les règles d'exemples étiquetés, ce qui déplace l'effort du code vers les données. L'approche n'est devenue exploitable que vers 2012, quand les grands jeux de données et les processeurs graphiques sont arrivés en même temps.
Suite — Leçon 2 : qu'est-ce que l'intelligence artificielle, exactement ? →