Retour à la page d'accueilEnseignement scientifique · Terminale (maths expertes) · Changer de matière
Commencer gratuitement
Terminale (maths expertes) · Enseignement scientifique
Modèles, transport d'énergie et dynamique des populations · Intelligence artificielle

Apprentissage automatique et données

Lucas dépose une photo de vacances dans la Vanoise sur son téléphone. Aussitôt, l'application la classe dans l'album « Montagne ». Personne n'a écrit de règle du type « si l'image est bleue en haut et blanche en bas… ». Comment la machine a-t-elle appris à reconnaître une montagne ? Et peut-on lui faire confiance quand elle se trompe ?

Apprendre à partir de données

En apprentissage automatique (machine learning), on ne programme pas la règle : on fournit des exemples, et l'algorithme règle lui-même ses paramètres pour que ses réponses soient les plus justes possible sur ces exemples. Cette phase s'appelle l'entraînement.

Mais réussir sur les exemples déjà vus ne prouve rien : un élève qui connaît par cœur les corrigés réussit le DS qui reprend les mêmes exercices, pas forcément un nouveau sujet. On coupe donc les données en deux :

  • le jeu d'entraînement (souvent 70 % à 80 % des données), qui sert à régler les paramètres ;

  • le jeu de test, mis de côté, qui sert uniquement à évaluer l'algorithme sur des données qu'il n'a jamais vues.

Les données sont le carburant de l'apprentissage : un service de recommandation de vidéos utilise par exemple l'historique de visionnage, la durée de visionnage, l'heure de connexion ou les « j'aime ». Ces données personnelles posent un problème de vie privée : elles permettent de déduire des goûts, des habitudes, parfois des opinions ou l'état de santé, et peuvent être réutilisées ou piratées.

Entraîne-toi★☆☆Pas commencé
Un algorithme de classification doit détecter des images de chats. Sur $200$ images de test, il en classe correctement $184$. a) Calculer le taux de réussite. b)…

Un algorithme de classification doit détecter des images de chats. Sur $200$ images de test, il en classe correctement $184$.

  1. a) Calculer le taux de réussite.
  2. b) Calculer le taux d'erreur.
Résoudre
Entraîne-toi★☆☆Pas commencé
Pour entraîner un modèle, on dispose de $12\,000$ images. On en garde $80\ \%$ pour l'entraînement et $20\ \%$ pour le test. a) Calculer le nombre d'images de chaque…

Pour entraîner un modèle, on dispose de $12\,000$ images. On en garde $80\ \%$ pour l'entraînement et $20\ \%$ pour le test.

  1. a) Calculer le nombre d'images de chaque ensemble.
  2. b) Expliquer pourquoi les images de test ne doivent pas servir à l'entraînement.
Résoudre
Entraîne-toi★☆☆Pas commencé
Un programme d'intelligence artificielle recommande des vidéos à partir de l'historique de visionnage. a) Citer deux données utilisées par un tel programme. b) Citer un…

Un programme d'intelligence artificielle recommande des vidéos à partir de l'historique de visionnage.

  1. a) Citer deux données utilisées par un tel programme.
  2. b) Citer un risque pour la vie privée.
Résoudre

Au-delà du taux de réussite : la matrice de confusion

Un seul pourcentage peut tromper. Prenons un test médical par IA : une maladie touche $1\ \%$ des patients. Un « test » qui répond toujours « sain » a $99\ \%$ de réussite… et ne détecte aucun malade ! Il faut distinguer les deux types d'erreur.

On range les résultats dans un tableau, la matrice de confusion :

Matrice de confusion d'un test : vrais positifs 36, faux positifs 18, faux négatifs 4, vrais négatifs 342 Réalité : malade Réalité : sain VP = 36 vrai positif FP = 18 faux positif FN = 4 faux négatif VN = 342 vrai négatif Test positif Test négatif Vert : bonne réponse. Orange : erreur.

Pourquoi deux indicateurs ? Parce que les deux erreurs n'ont pas les mêmes conséquences : un faux négatif laisse un malade sans soin, un faux positif provoque une inquiétude et des examens inutiles. Une bonne sensibilité répond à la première question, une bonne spécificité à la seconde.

Entraîne-toi★★☆Pas commencé
Un test médical par IA détecte une maladie. Sur $1\,000$ patients, $100$ sont malades. Le test en détecte $90$ (vrais positifs) et signale à tort $45$ patients sains…

Un test médical par IA détecte une maladie. Sur $1\,000$ patients, $100$ sont malades. Le test en détecte $90$ (vrais positifs) et signale à tort $45$ patients sains (faux positifs).

  1. a) Compléter le tableau : vrais positifs, faux négatifs, faux positifs, vrais négatifs.
  2. b) Calculer la sensibilité $\dfrac{VP}{VP+FN}$.
  3. c) Calculer la spécificité $\dfrac{VN}{VN+FP}$.
  4. d) Calculer le taux de réussite global.
Résoudre

Quand le test est positif : probabilités conditionnelles

La sensibilité répond à « si je suis malade, quelle est la probabilité que le test soit positif ? ». Mais le patient se pose la question inverse : « mon test est positif, quelle est la probabilité que je sois malade ? » Ce n'est pas la même probabilité : $P_M(T)\ne P_T(M)$.

On la calcule avec un arbre pondéré et la formule des probabilités totales. Notons $M$ « la personne est malade » et $T$ « le test est positif ».

Le résultat surprend : avec un bon test, moins d'un test positif sur trois correspond à un vrai malade. Pourquoi ? Parce que la maladie est rare : les $9\,800$ personnes saines, même avec seulement $5\ \%$ d'erreur, produisent plus de faux positifs ($490$) que les $200$ malades ne produisent de vrais positifs ($180$). La performance d'un test ne suffit pas : il faut aussi tenir compte de la prévalence de la maladie.

Entraîne-toi★★★Pas commencé
Une maladie touche $1\ \%$ de la population. Un test par IA a une sensibilité de $95\ \%$ et une spécificité de $90\ \%$. a) Construire l'arbre pondéré de probabilités.…

Une maladie touche $1\ \%$ de la population. Un test par IA a une sensibilité de $95\ \%$ et une spécificité de $90\ \%$.

  1. a) Construire l'arbre pondéré de probabilités.
  2. b) Calculer la probabilité qu'un test soit positif.
  3. c) Calculer la probabilité qu'une personne soit malade sachant que son test est positif.
  4. d) Commenter le résultat et expliquer pourquoi un test performant peut donner beaucoup de faux positifs.
Résoudre

Séparer deux classes par une droite

Le modèle le plus simple pour classer des points du plan est une droite d'équation $y = ax + b$. Un point $M(x_M ; y_M)$ est classé selon sa position :

  • au-dessus de la droite si $y_M > a\,x_M + b$ ;

  • en dessous si $yM < a\,x_M + b$ ;

  • sur la droite si l'égalité est vraie (la règle de classement doit alors fixer une convention).

Pourquoi ça marche ? Pour une même abscisse $x_M$, le point de la droite a pour ordonnée $a\,x_M + b$ : il suffit de comparer l'ordonnée du point à celle de la droite.

Un point est mal classé quand la classe prédite par la droite diffère de sa vraie classe. Apprendre, ici, c'est trouver les valeurs de $a$ et $b$ qui font le moins d'erreurs sur le jeu d'entraînement.

Entraîne-toi★★☆Pas commencé
Un algorithme apprend à séparer deux classes de points par une droite d'équation $y=2x+1$. Les points $A(1\,;4)$, $B(2\,;3)$ et $C(0\,;-1)$ sont à classer : classe 1 si…

Un algorithme apprend à séparer deux classes de points par une droite d'équation $y=2x+1$. Les points $A(1\,;4)$, $B(2\,;3)$ et $C(0\,;-1)$ sont à classer : classe 1 si le point est au-dessus de la droite, classe 2 sinon.

  1. a) Classer chacun des points.
  2. b) Un point $D(3\,;7)$ est-il bien classé s'il appartient à la classe 2 ?
Résoudre

Apprendre = minimiser une erreur : la descente de gradient

Comment l'algorithme choisit-il ses paramètres ? Il mesure une erreur $E(w)$ qui dépend d'un paramètre $w$, et cherche la valeur de $w$ qui la rend minimale. Comme quand tu descends une vallée dans le brouillard : tu regardes la pente sous tes pieds et tu avances vers le bas.

Cette « pente » est la dérivée $E'(w)$. La descente de gradient construit une suite :

$$w_{k+1} = w_k - \eta\,E'(w_k)$$

où $\eta > 0$ est le taux d'apprentissage (la taille du pas). Si $E'(w_k) > 0$, l'erreur augmente avec $w$ : on diminue $w$. Si $E'(wk) < 0$, on l'augmente. Dans les deux cas, on se rapproche du minimum.

Entraîne-toi★★★Pas commencé
Un algorithme d'apprentissage ajuste un paramètre $w$ pour minimiser l'erreur $E(w)=(w-3)^2+2$. On utilise la descente de gradient : $w_{k+1}=w_k-\eta\,E'(w_k)$ avec…

Un algorithme d'apprentissage ajuste un paramètre $w$ pour minimiser l'erreur $E(w)=(w-3)^2+2$. On utilise la descente de gradient : $w_{k+1}=w_k-\eta\,E'(w_k)$ avec $\eta=0{,}25$ et $w_0=0$.

  1. a) Calculer $E'(w)$.
  2. b) Calculer $w_1$, $w_2$, $w_3$.
  3. c) Montrer que $w_{k+1}-3=\dfrac12(w_k-3)$ et en déduire $w_k$ en fonction de $k$.
  4. d) Étudier la limite de $(w_k)$ et conclure.
Résoudre

Coût énergétique et biais algorithmiques

L'empreinte carbone de l'apprentissage

Entraîner un grand modèle demande des milliers de processeurs qui tournent pendant des semaines : l'énergie consommée se mesure en MWh. Pour en déduire les émissions, on utilise le facteur d'émission du mix électrique (en $\text{g CO}_2\text{e}$ par kWh) :

$$\text{émissions} = \text{énergie (kWh)} \times \text{facteur d'émission}$$

Les biais

Un algorithme reproduit ce qu'il trouve dans ses données. Si elles reflètent des inégalités passées, il les reproduit, voire les amplifie : c'est un biais algorithmique. On le repère en comparant le taux de sélection de chaque groupe, c'est-à-dire la proportion de personnes retenues dans ce groupe.

Exemple : sur $500$ hommes et $500$ femmes candidats, un algorithme retient $100$ hommes et $50$ femmes. Taux de sélection : $\dfrac{100}{500} = 20\ \%$ pour les hommes, $\dfrac{50}{500} = 10\ \%$ pour les femmes. Le rapport $\dfrac{10}{20} = 0{,}5$ : à profil comparable, une femme a deux fois moins de chances d'être retenue.

Pour limiter un biais, on peut rééquilibrer les données d'entraînement, retirer les variables sensibles, auditer régulièrement les résultats ou garder une décision humaine. Chaque mesure a ses limites : d'autres variables (le prénom, le parcours) peuvent encore révéler le genre, et rééquilibrer ne corrige pas un critère de départ discutable.

Entraîne-toi★★☆Pas commencé
Un entraînement d'un grand modèle de langage consomme $1\,300\ \text{MWh}$. Le mix électrique français émet environ $60\ \text{g}$ de CO$2$ par $\text{kWh}$. a) Calculer…

Un entraînement d'un grand modèle de langage consomme $1\,300\ \text{MWh}$. Le mix électrique français émet environ $60\ \text{g}$ de CO$_2$ par $\text{kWh}$.

  1. a) Calculer l'énergie en $\text{kWh}$.
  2. b) Calculer les émissions en tonnes de CO$_2$ avec le mix français.
  3. c) Calculer les émissions avec un mix à $700\ \text{g}$ de CO$_2$ par $\text{kWh}$ et comparer.
Résoudre
Entraîne-toi★★★Pas commencé
Un algorithme de recrutement est entraîné sur des données historiques d'une entreprise où $80\ \%$ des candidats retenus étaient des hommes. Sur $1\,000$ candidatures de…

Un algorithme de recrutement est entraîné sur des données historiques d'une entreprise où $80\ \%$ des candidats retenus étaient des hommes. Sur $1\,000$ candidatures de test (500 hommes et 500 femmes), il retient $120$ hommes et $60$ femmes.

  1. a) Calculer le taux de sélection pour chaque groupe.
  2. b) Calculer le rapport entre les deux taux.
  3. c) Expliquer l'origine de ce biais algorithmique.
  4. d) Proposer deux mesures pour limiter ce biais et discuter leurs limites.
Résoudre

Retour au début : l'application de Lucas a appris à reconnaître les montagnes à partir de milliers d'images étiquetées, puis a été évaluée sur des images de test ; son taux de réussite, sa sensibilité et sa spécificité disent à quel point on peut s'y fier, et ses données personnelles, son coût énergétique et ses biais restent à surveiller.

L'essentiel

  • Un algorithme apprend en réglant des paramètres sur un jeu d'entraînement ; on l'évalue sur un jeu de test indépendant.

  • Taux de réussite $= \dfrac{R}{N}$ ; taux d'erreur $= 1 - $ taux de réussite.

  • Matrice de confusion : sensibilité $=\dfrac{VP}{VP+FN}$, spécificité $=\dfrac{VN}{VN+FP}$. Pour un test sur une maladie rare, $P_T(M)$ (arbre pondéré, probabilités totales) peut rester faible malgré un bon test.

  • Un classifieur linéaire classe un point selon sa position par rapport à la droite $y = ax + b$.

  • Descente de gradient : $w_{k+1} = w_k - \eta\,E'(w_k)$ ; sur une parabole, c'est une suite arithmético-géométrique qui converge vers le minimum si $\eta$ est bien choisi.

  • Émissions $=$ énergie (kWh) $\times$ facteur d'émission ; les données peuvent porter un biais que l'algorithme reproduit.

Voir tous les exercices de cette partie