Aller au contenu principal
iaCe qu'apprendre veut dire pour une machine

Ce qu'apprendre veut dire pour une machine

Ce que ce chapitre apporte

  • Situer intelligence artificielle, apprentissage automatique et apprentissage profond les uns par rapport aux autres.
  • Distinguer apprentissage supervisé, non supervisé et par renforcement, et reconnaître lequel s'applique.
  • Décrire un jeu de données par ses individus, ses attributs et sa cible.
  • Distinguer une variable quantitative d'une variable qualitative, ordinale ou nominale.
  • Expliquer pourquoi une corrélation apprise peut être trompeuse, et le montrer sur un cas.
  • Nommer ce qu'une machine n'apprend pas, et ce que cela implique pour qui l'emploie.
Une machine qui apprend ne comprend rien. Elle ajuste des nombres jusqu'à ce que ses réponses collent à celles qu'on lui a montrées, puis elle applique le même calcul à des cas nouveaux. Toute la difficulté du domaine tient dans cet écart : ce qui colle aux exemples n'est pas forcément ce qui est vrai, et une machine n'a aucun moyen de faire la différence. Ce chapitre pose le vocabulaire, la forme d'un problème d'apprentissage, et surtout la raison pour laquelle les six chapitres suivants parlent autant de données que d'algorithmes.

Trois mots emboîtés

Trois périmètres, du plus large au plus étroit

L'intelligence artificielle désigne l'ensemble des techniques visant à faire accomplir par une machine des tâches qui demandent, chez un humain, du raisonnement, de la perception ou de la décision. Le terme date de 1956, et il englobe des approches qui n'apprennent rien : un solveur de contraintes, un moteur de règles, un algorithme de recherche.

L'apprentissage automatique est la partie de ce domaine où le comportement n'est pas programmé mais estimé à partir de données. On ne décrit pas la règle, on fournit des exemples et l'on ajuste un modèle.

L'apprentissage profond est une famille de méthodes d'apprentissage automatique fondées sur des réseaux de neurones à plusieurs couches. C'est un cas particulier, pas un synonyme.

Trois erreurs de vocabulaire à ne pas commettre
« IA » n'est pas synonyme d'apprentissage. Le module sur la satisfiabilité booléenne de ce site décrit des systèmes qui décident, planifient et vérifient sans avoir jamais vu un exemple. Ils relèvent pleinement de l'intelligence artificielle.
« Apprentissage profond » n'est pas synonyme de « moderne ». Sur des données tabulaires, celles d'un tableur, les méthodes classiques restent souvent meilleures que les réseaux, et beaucoup moins coûteuses.
« Le modèle a appris » n'est pas « le modèle a compris ». Il a trouvé des coefficients qui minimisent une erreur sur un échantillon. Rien d'autre n'a eu lieu.

Deux phases, et il faut les séparer

Apprentissage et production

La phase d'apprentissage estime les paramètres d'un modèle à partir d'un jeu de données dont on connaît les réponses attendues.

La phase de production applique le modèle figé à des données nouvelles, dont on ne connaît pas les réponses.

Pourquoi cette séparation gouverne tout le reste
Ce qu'on mesure pendant l'apprentissage n'est pas ce qui intéresse. Un modèle qui reproduit parfaitement les exemples qu'on lui a montrés peut être inutile sur des cas nouveaux : il a retenu les exemples au lieu d'en extraire une régularité.
Toute l'évaluation d'un modèle consiste donc à estimer sa performance sur des données qu'il n'a pas vues. C'est le sujet entier du chapitre 7, et c'est la différence entre un travail sérieux et une démonstration flatteuse.

Trois familles d'apprentissage

Ce que contient le jeu de données décide de la famille
FamilleLe jeu de données contientLa question poséeExemples
Superviséles réponses attenduesprédire cette réponse sur un cas nouveaurégression, classification
Non superviséaucune réponsetrouver une structure dans les donnéespartitionnement, réduction de dimension
Par renforcementni réponses ni données fixes, mais un environnement qui récompensetrouver une politique d'actioncommande, jeu, robotique
La question à se poser en premier
« Ai-je, pour chaque exemple, la réponse que j'aimerais que la machine produise ? »
Oui : c'est du supervisé, et la nature de la réponse décide de la suite. Un nombre, c'est une régression ; une catégorie, c'est une classification.
Non : c'est du non supervisé, et il faut alors accepter qu'il n'y aura pas de bonne réponse à laquelle se comparer. Évaluer un partitionnement est un problème en soi, et le chapitre 4 y consacre une section.
Cette question paraît triviale et elle est pourtant celle qui est le plus souvent escamotée. Beaucoup de projets se lancent sans que personne ait vérifié que les étiquettes existent, ni ce qu'elles valent.

La forme d'un jeu de données

Individus, attributs, cible

Un jeu de données est un tableau. Chaque ligne est un individu, ou observation. Chaque colonne est un attribut, ou variable.

En apprentissage supervisé, une colonne particulière est la cible : celle qu'on veut prédire. Les autres sont les variables explicatives.

Les types d'attributs, et pourquoi ils comptent

Quantitatif continu : une mesure, avec des valeurs intermédiaires qui ont un sens. Une température, une distance, un salaire.

Quantitatif discret : un comptage. Un nombre de pièces, un nombre d'incidents.

Qualitatif ordinal : des catégories ordonnées. Un niveau de satisfaction de 1 à 4, une taille S, M, L.

Qualitatif nominal : des catégories sans ordre. Une marque, une ville, un statut.

Coder une catégorie par un nombre invente un ordre
Écrire « célibataire = 0, marié = 1, divorcé = 2, veuf = 3 » ne se contente pas de numéroter. Cela affirme que divorcé est entre marié et veuf, que la distance de célibataire à veuf vaut trois fois celle de célibataire à marié, et qu'une moyenne de 1,5 a un sens.
Aucune de ces affirmations n'est vraie, et pourtant tout algorithme qui calcule des distances ou des sommes les prendra au pied de la lettre. Le chapitre 3 donne la parade, qui consiste à ne pas ordonner ce qui n'est pas ordonné.

Ce qu'une machine apprend vraiment

Voici le point du chapitre. Un modèle apprend des régularités observées dans un échantillon, et rien de plus. Il ne sait pas distinguer une régularité causale d'une coïncidence de recrutement.

Un parc de machines, et une marque accusée à tort

Un service de maintenance relève les pannes sur mille machines de deux marques, réparties entre deux ateliers : un atelier tempéré et un atelier surchauffé.

Le taux de panne global accuse nettement la marque A. Un modèle entraîné sur la seule marque apprendrait exactement cela, et recommanderait d'abandonner ce fournisseur.

Le code ci-dessous refait le calcul atelier par atelier, et la conclusion s'inverse.

main.py
Sortie
>_ Prêt à exécuter…
Ce que le calcul montre, et ce qu'il faut en retirer
Globalement, la marque A tombe en panne plus de deux fois plus souvent que la marque B.
Dans chaque atelier pris séparément, la marque A tombe en panne moins souvent que la marque B.
Les deux affirmations sont exactes. La contradiction n'est qu'apparente : la marque A a été installée majoritairement dans l'atelier surchauffé, où toutes les machines tombent en panne. Ce n'est pas la marque qui explique les pannes, c'est la température, et la marque n'en est que le témoin.
Ce renversement porte un nom, le paradoxe de Simpson. Il n'a rien d'une curiosité : c'est la forme la plus courante d'un biais de confusion, et un modèle qui ne voit pas la variable d'atelier le reproduira fidèlement.
Garbage in, garbage out
La formule est usée et elle est exacte. Un algorithme d'apprentissage est une machine à reproduire ce qu'il y a dans les données, y compris ce qu'on n'y a pas cherché.
Il reproduira les biais de collecte : ce qui a été mesuré, sur qui, et ce qui ne l'a pas été. Il reproduira les variables confondantes, comme l'atelier ci-dessus. Il reproduira les décisions passées quand les étiquettes viennent d'humains.
Et il le fera avec une confiance parfaite, sans jamais rien signaler. C'est pourquoi les chapitres 2 et 3 précèdent les algorithmes, et non l'inverse.

Ce qu'une machine n'apprend pas

Quatre limites qui ne se corrigent pas par plus de données
La causalité. Un modèle apprend des associations. Rien dans un tableau ne dit ce qui cause quoi, et augmenter la taille de l'échantillon ne le dira pas davantage. Cela s'obtient par l'expérimentation ou par une hypothèse extérieure aux données.
Ce qui n'a pas été mesuré. Si la colonne « atelier » n'existe pas, aucun algorithme ne l'inventera. La qualité d'un modèle est plafonnée par le choix des attributs, qui est un choix humain.
Ce qui change après l'apprentissage. Un modèle figé applique des régularités passées à un monde qui bouge. Ce décalage a un nom, la dérive, et il oblige à surveiller un modèle en production comme on surveille un serveur.
Ce qu'il faut faire du résultat. Un modèle produit un nombre ou une catégorie. Décider ce qu'on en fait, avec quel seuil et avec quelles conséquences, n'est pas une question technique. Le chapitre 11 y revient.
La question de fin de projet, à poser au début
« Que se passe-t-il quand le modèle se trompe ? »
S'il recommande un film, rien. S'il oriente une intervention de maintenance, on perd une heure. S'il refuse un dossier, quelqu'un subit une décision qu'il ne comprend pas.
Cette question détermine le seuil à choisir, la métrique à surveiller, et le niveau d'explication à fournir. Elle se pose au moment de cadrer le problème, pas au moment de livrer.

Ce que fera ce module

Le chemin, en quatre temps

Comprendre les données avant d'y toucher : chapitre 2.

Les préparer, ce qui occupe en pratique la majeure partie du travail : chapitre 3.

Apprendre : sans étiquettes au chapitre 4, un nombre aux chapitres 5 et 6, une catégorie au chapitre 8, avec des couches au chapitre 10.

Vérifier : la généralisation au chapitre 7, les métriques au chapitre 9, et ce que le système décide vraiment au chapitre 11.

Exercices type

Un service veut regrouper ses clients en profils types, sans savoir à l'avance lesquels. Quelle famille d'apprentissage ?

Non supervisée. Le jeu de données ne contient aucune colonne « profil » : il n'y a pas de réponse attendue à laquelle se comparer.

C'est un problème de partitionnement, traité au chapitre 4.

Attention à la conséquence : sans étiquettes, il n'existe pas de mesure objective de la qualité du résultat. On évaluera la cohérence interne des groupes et leur interprétabilité métier, ce qui est bien plus discutable qu'une erreur de prédiction.

Prédire le nombre de tickets d'incident du mois prochain : régression ou classification ?

Régression, puisque la cible est un nombre.

La classification prédit une catégorie. Si la question devenait « le mois prochain dépassera-t-il 200 tickets, oui ou non », ce serait une classification binaire, et les métriques du chapitre 9 s'appliqueraient au lieu de celles du chapitre 5.

C'est un choix de modélisation, pas une propriété du problème : la même question peut se poser dans les deux formes, et il faut savoir pourquoi on retient l'une.

Classer les types d'attributs : niveau d'étude codé de 1 à 5, code postal, température, marque

Niveau d'étude : qualitatif ordinal. Les valeurs sont ordonnées, mais les écarts n'ont pas de sens numérique : rien ne dit que passer de 1 à 2 « vaut » autant que de 4 à 5.

Code postal : qualitatif nominal, malgré son apparence numérique. Le 75001 n'est pas « plus petit » que le 92100 en quoi que ce soit d'utile. C'est le piège le plus classique du domaine.

Température : quantitatif continu.

Marque : qualitatif nominal.

Le code postal mérite une remarque supplémentaire : c'est aussi un excellent indicateur indirect du niveau de revenu et parfois de l'origine. Le chapitre 11 revient sur ces variables qui en disent plus qu'elles n'en ont l'air.

Un modèle atteint 99 % de bonnes réponses sur les données d'entraînement. Est-ce une bonne nouvelle ?

On n'en sait rien, et c'est même plutôt inquiétant.

La performance sur les données d'entraînement mesure la capacité du modèle à restituer ce qu'il a vu, pas à généraliser. Un modèle qui mémoriserait chaque exemple atteindrait 100 %, et serait sans valeur.

La seule mesure qui compte porte sur des données que le modèle n'a pas vues. Tant qu'elle n'est pas donnée, un chiffre d'entraînement n'est pas un résultat.

Le chapitre 7 montre comment organiser cette séparation, et pourquoi un écart important entre les deux chiffres a un nom : le sur-apprentissage.

Dans l'exemple des machines, quelle colonne aurait-il fallu ajouter, et que se passe-t-il si elle n'existe pas ?

Il fallait l'atelier, ou mieux, la température elle-même, qui est la cause réelle.

Si cette colonne n'existe pas dans le jeu de données, aucun algorithme ne la reconstituera. Le modèle apprendra que la marque A tombe en panne deux fois plus, ce qui est vrai dans les données et faux dans le monde.

Et rien ne le signalera : les métriques du modèle seront bonnes, puisqu'il prédit correctement sur des données qui portent le même biais.

C'est la limite la plus dure du domaine. La qualité d'un modèle est bornée par le choix des attributs, et ce choix est humain.

Vérification rapideon peut se reprendre

1.Un jeu de données contient une colonne indiquant si le client a résilié. Quelle famille d'apprentissage ?

2.Le code postal doit être traité comme…

3.Dans l'exemple du parc de machines, qu'est-ce qui explique réellement les pannes ?

4.Un modèle apprend des associations. Peut-il en déduire des causes ?

5.L'apprentissage profond est…

6.Que mesure la performance d'un modèle sur ses données d'entraînement ?

La méthode

  1. Vérifier que les étiquettes existent avant de parler d'algorithme, et regarder d'où elles viennent.
  2. Nommer la cible et la distinguer explicitement des variables explicatives.
  3. Typer chaque attribut : quantitatif, ordinal, nominal. Le code postal n'est pas un nombre.
  4. Chercher la variable confondante avant de conclure d'une corrélation.
  5. Refaire tout calcul agrégé sous-groupe par sous-groupe au moins une fois.
  6. Ne jamais annoncer une performance mesurée sur les données d'entraînement.
  7. Demander ce qui se passe quand le modèle se trompe, au moment de cadrer le problème.

Synthèse

  • IAapprentissage automatiqueapprentissage profond : trois périmètres emboîtés, pas trois synonymes.
  • L'apprentissage automatique estime un comportement à partir de données au lieu de le programmer.
  • Deux phases : apprentissage sur des exemples connus, production sur des cas nouveaux.
  • Supervisé : les réponses sont dans les données. Non supervisé : elles n'y sont pas.
  • Une cible numérique donne une régression, une cible catégorielle une classification.
  • Un jeu de données est un tableau d'individus et d'attributs, dont l'un peut être la cible.
  • Ordinal se code par un entier, nominal ne le peut pas sans inventer un ordre.
  • Le paradoxe de Simpson : une conclusion peut s'inverser en séparant les sous-groupes.
  • Un modèle reproduit les biais de collecte, les variables confondantes et les décisions passées.
  • Quatre choses ne s'apprennent pas : la causalité, ce qui n'a pas été mesuré, ce qui change après coup, et ce qu'il faut faire du résultat.