Aller au contenu principal

Module 4 — Comment une machine apprend

« Le modèle apprend des données » : cette formule, employée depuis le début du cours, décrit un mécanisme précis et étonnamment simple dans son principe. Ce module le démonte pièce par pièce, sans prérequis mathématique. À la fin, l'expression « entraîner un modèle » désignera pour vous une procédure concrète, pas une incantation.

Un modèle est une fonction à réglages

Reprenons la définition du module 1 : un modèle transforme une entrée en prédiction. Ce qui rend cette fonction ajustable, ce sont ses paramètres — des nombres internes qui pondèrent l'influence de chaque information.

Prenons un exemple minuscule : estimer le prix d'un appartement à partir de sa surface.

prix estimé = a × surface + b

Ici, a et b sont les deux paramètres. Avec a = 3 000 et b = 20 000, un 50 m² est estimé à 170 000. Avec d'autres valeurs, l'estimation change. Apprendre, c'est trouver les valeurs de a et b qui donnent les estimations les moins fausses sur les exemples connus.

Un vrai modèle immobilier utilise des dizaines de variables ; un grand modèle de langage compte des milliards de paramètres. Mais le principe reste exactement celui-ci : des nombres à régler pour que la sortie colle aux exemples.

La fonction de perte : donner un score à l'erreur

Pour régler les paramètres, il faut d'abord mesurer à quel point le modèle se trompe. C'est le rôle de la fonction de perte (loss function) : un nombre unique qui résume l'erreur du modèle sur les données d'entraînement. Grande perte, mauvais modèle ; perte faible, bon modèle — sur ces données du moins.

Pour notre exemple, la perte classique est l'écart quadratique moyen : pour chaque appartement du jeu d'entraînement, on calcule la différence entre le prix estimé et le prix réel, on l'élève au carré (pour que les écarts positifs et négatifs ne s'annulent pas, et pour pénaliser davantage les grosses erreurs), puis on fait la moyenne.

L'apprentissage devient alors un problème d'optimisation, formulable en une phrase :

Trouver les valeurs des paramètres qui rendent la fonction de perte aussi petite que possible.

Le choix de la perte est un choix métier

La fonction de perte encode ce que « se tromper » veut dire pour vous. Pénaliser pareillement une sous-estimation et une surestimation ? En détection de fraude, rater une fraude coûte-t-il autant que bloquer un client honnête ? Ces arbitrages se traduisent mathématiquement dans la perte. Un modèle optimise exactement ce qu'on lui demande d'optimiser — y compris quand on lui demande mal.

La descente de gradient : chercher le bas de la vallée

Reste à trouver le minimum. Impossible d'essayer toutes les combinaisons : avec des millions de paramètres, l'espace est inimaginablement vaste. L'algorithme central du domaine procède autrement : la descente de gradient.

L'image standard — et fidèle : la perte dessine un paysage vallonné dont chaque point est une combinaison de paramètres et dont l'altitude est l'erreur. Vous êtes déposé quelque part dans ce paysage, dans le brouillard. Pour descendre, une stratégie simple : sentir la pente sous vos pieds et faire un pas dans la direction la plus descendante. Puis recommencer.

Le gradient est l'objet mathématique qui indique la pente : pour chaque paramètre, il dit si l'augmenter ferait monter ou baisser la perte, et de combien. Un pas de descente ajuste donc tous les paramètres simultanément, chacun dans le sens qui réduit l'erreur. Répétée massivement, cette procédure fait « descendre » le modèle vers une bonne combinaison.

Deux réglages pratiques dominent la vie des praticiens.

Le taux d'apprentissage (learning rate) : la taille du pas. Trop grand, on enjambe la vallée et la perte oscille ou explose. Trop petit, la descente prend un temps déraisonnable. C'est l'hyperparamètre le plus sensible du domaine.

Le traitement par lots (mini-batches) : calculer la pente sur tout le jeu de données à chaque pas serait trop lent. On la calcule sur un petit paquet d'exemples tirés au hasard — la direction est un peu bruitée mais suffisante, et on avance beaucoup plus vite. Un passage complet sur les données s'appelle une époque (epoch).

Ce que cette mécanique implique

L'apprentissage est un processus numérique, pas une compréhension. Le modèle n'a pas « saisi » que la surface fait le prix ; ses paramètres ont convergé vers des valeurs qui minimisent une erreur moyenne. La nuance éclaire les échecs : si les données contiennent une régularité parasite (les appartements chers du jeu de données sont tous à Paris), le modèle l'apprend avec le même zèle que les vraies causes.

La perte d'entraînement n'est pas la performance. Une perte minuscule sur les exemples connus peut cacher un modèle inutilisable sur des cas nouveaux — c'est le surapprentissage, objet exact du module suivant.

Le coût de calcul vient de la répétition. Des millions de pas, chacun sur des milliers d'exemples, chacun ajustant des millions ou des milliards de paramètres : voilà pourquoi l'entraînement des grands modèles se chiffre en semaines de calcul et en millions de dollars, alors que l'inférence — un seul passage avant — reste bon marché.

Ce qu'il faut retenir

  • Un modèle est une fonction à paramètres ; apprendre = régler les paramètres pour minimiser une fonction de perte mesurée sur les exemples.
  • La descente de gradient trouve ce minimum pas à pas : calculer la pente, avancer, répéter.
  • Taux d'apprentissage et mini-lots sont les deux réglages pratiques essentiels ; le choix de la perte est un choix métier autant que technique.
  • Le modèle optimise ce qu'on mesure — y compris les régularités parasites. La qualité des données n'est pas un détail, c'est le cœur.

Au module suivant : les deux façons dont cet apprentissage échoue — surapprentissage et sous-apprentissage — et les remèdes standards.