Perte et gradients
- Leçon 11
- 45 min
- Module 4 : Comment les modèles apprennent
Leçon 11 sur 18 · Mathématiques et statistiques essentielles pour l'IAPerte et gradients
1. Nombres, notation et résumés de données
2. Vecteurs et matrices
3. Probabilités et raisonnement conditionnel
4. Comment les modèles apprennent
5. Échantillonnage et preuves statistiques
6. Les statistiques au service des décisions sur les modèles
Ce que vous saurez faire
Mesurez l’erreur d’un modèle avec un seul nombre. Trouvez ensuite dans quelle direction modifier le modèle pour réduire ce nombre. Ces deux idées, la perte et le gradient, permettent à tous les réseaux de neurones d’apprendre.
Carnet JupyterFacultatif : vérifier les nombres dans un carnet
Le carnet (notebook) Jupyter est facultatif : vous pouvez suivre cette leçon avec une calculatrice. Il calcule la perte et le gradient du modèle de billets de soutien pour toute valeur de w. Il trace aussi la courbe de perte avec des barres de texte. Il effectue des étapes de descente de gradient avec une trace textuelle et mesure deux dérivées partielles. La pratique guidée et la variante autonome comprennent des vérifications. Il utilise seulement la bibliothèque standard de Python, donc il ne nécessite aucune installation.
Le carnet est en anglais. Colab et Kaggle ouvrent votre propre copie. Il faut un compte Google ou Kaggle gratuit. Vous êtes bloqué ? Consultez le carnet de solution.
Avant de commencerCe qu’il faut savoir et avoir sous la main
Ce que vous devez savoir
- Le modèle de billets minutes = w × longueur et les quatre billets T-3101 à T-3104, présentés dans Fonctions et variation : un modèle est une fonction.
- La pente avec ses unités et la dérivée comme pente d’une tangente, présentées dans Fonctions et variation : la pente en un point.
- La moyenne et la variance comme moyenne des distances au carré, présentées dans Décrire un jeu de données : dispersion. La perte dans cette leçon élève aussi les différences au carré.
Ce que vous devez préparer (le carnet n’en a pas besoin)
- Une calculatrice. Celle d’un téléphone suffit.
- Votre fichier
c03-notes.md, avec le titre## How models learn(comment les modèles apprennent). Vous avez ajouté ce titre dans l’encadré « Avant de commencer » de Fonctions et variation. Si vous ne trouvez pas le fichier, créez un fichier vide portant ce nom et ajoutez le titre. Cette leçon n’utilise pas les réponses précédentes.
Le carnet a été testé dans Jupyter avec Python 3.14.6 (bibliothèque standard seulement).
Où vous rencontrez ces notions en IA
Section intitulée « Où vous rencontrez ces notions en IA »- Journaux d’entraînement. Un script d’entraînement affiche des lignes comme
step 200 loss 0.418(étape 200, perte 0,418). La perte est le nombre que l’entraînement tente de réduire. Si elle ne diminue pas, le modèle n’apprend pas. - Choisir une perte. Une bibliothèque vous demande de choisir une fonction de perte. L’erreur quadratique moyenne (MSE) est le choix habituel quand le modèle prédit un nombre, comme des minutes ou un prix. Une autre perte, l’entropie croisée, est courante pour les classes, comme l’équipe responsable d’un billet.
- Gradients dans les cadriciels. Dans PyTorch, une ligne,
loss.backward(), calcule le gradient pour chaque paramètre du modèle. Ensuite, l’optimiseur modifie un peu chaque paramètre. Cette leçon montre ce que cette ligne calcule, avec un modèle à un seul paramètre.
Quelle est l’erreur à w = 6? La perte
Section intitulée « Quelle est l’erreur à w = 6? La perte »Dans la dernière leçon, le modèle de Tomás était minutes = w × longueur. La droite avec w = 6 semblait proche des quatre billets, mais « proche » n’était pas un nombre. Priya en fait un nombre.
Pour chaque billet, l’erreur est le nombre réel de minutes moins le nombre prédit. Ensuite, elle élève chaque erreur au carré et calcule la moyenne des carrés :
| Billet | Longueur x | Minutes réelles y | Prédiction 6 × x | Erreur y − prédiction | Erreur au carré |
|---|---|---|---|---|---|
| T-3101 | 1 | 7 | 6 | 1 | 1 |
| T-3102 | 2 | 13 | 12 | 1 | 1 |
| T-3103 | 3 | 17 | 18 | −1 | 1 |
| T-3104 | 4 | 26 | 24 | 2 | 4 |
| Somme | 7 |
La moyenne des erreurs au carré est 7 ÷ 4 = 1,75. Ce nombre est l’erreur quadratique moyenne (MSE).
Une perte est un nombre qui mesure l’erreur d’un modèle sur un ensemble d’exemples. Plus elle est faible, mieux c’est, et 0 signifie qu’il n’y a aucune erreur. Ici, la perte est la MSE, en minutes au carré. Le carré joue deux rôles :
- Il élimine le signe. Une erreur de −1 et une erreur de +1 sont aussi mauvaises l’une que l’autre. Sans le carré, elles s’annuleraient.
- Il donne plus de poids aux grandes erreurs. L’erreur pour T-3104 est de 2 minutes, mais elle ajoute 4 à la somme. Une erreur de 4 minutes ajouterait 16, autant que seize erreurs de 1 minute.
Lisez cette formule ainsi : « La perte à w est la moyenne, sur les n billets, des différences au carré entre les minutes réelles et prédites. » Vous avez rencontré le symbole de somme dans le module 1.
Priya fait le même calcul pour d’autres valeurs de w :
| w | Prédictions | Erreurs | Erreurs au carré | Somme | Perte (MSE) |
|---|---|---|---|---|---|
| 2 | 2, 4, 6, 8 | 5, 9, 11, 18 | 25, 81, 121, 324 | 551 | 137,75 |
| 5 | 5, 10, 15, 20 | 2, 3, 2, 6 | 4, 9, 4, 36 | 53 | 13,25 |
| 6 | 6, 12, 18, 24 | 1, 1, −1, 2 | 1, 1, 1, 4 | 7 | 1,75 |
| 7 | 7, 14, 21, 28 | 0, −1, −4, −2 | 0, 1, 16, 4 | 21 | 5,25 |
La courbe de perte
Section intitulée « La courbe de perte »La perte est une fonction de w : chaque valeur de w donne une perte. Tracez-la pour plusieurs valeurs, et vous obtenez la courbe de perte :
Description textuelle du graphique
L’axe horizontal représente w, de 2 à 10,5. L’axe vertical représente la perte. La courbe forme un bol. À w = 2, la perte est de 137,75. Elle descend à 13,25 à w = 5, puis à 1,75 à w = 6. Elle atteint son minimum, environ 1,22, à w ≈ 6,27. Ensuite, elle remonte : 5,25 à w = 7 et environ 135,6 à w = 10,5.
Le point le plus bas est à w ≈ 6.27, avec une perte d’environ 1,22. La perte n’atteint jamais 0, car aucune droite ne passe par les quatre points. Pour ce petit modèle, vous pourriez trouver le fond à partir du graphique. Un vrai modèle possède des millions de paramètres, donc personne ne peut tracer sa courbe de perte. L’entraînement doit trouver le fond sans voir toute la courbe. Il connaît seulement la pente à sa position actuelle.
Le gradient : la pente de la perte
Section intitulée « Le gradient : la pente de la perte »Placez-vous à une valeur de w sur la courbe de perte. La pente de la courbe à cet endroit vous indique deux choses :
- Le signe donne la direction. Une pente négative signifie que la perte diminue vers la droite. Une valeur de
wplus grande est donc préférable. Une pente positive signifie qu’une valeur dewplus petite est préférable. - La grandeur indique à quel point la pente est raide. Une pente de grande amplitude signifie que la perte change rapidement ici. Vous êtes donc probablement loin du fond.
Cette pente est le gradient : la dérivée de la perte par rapport à un paramètre. Avec un seul paramètre, le gradient est un nombre. Son unité est la « perte par unité de w », ici des minutes au carré par (minute par cent mots). En pratique, on écrit rarement cette unité, mais le sens reste le même : variation de perte par unité de variation de w.
Explorer
Lisez le gradient à n'importe quelle valeur de w
Prédisez d’abord : À w = 2, la pente de la perte est-elle positive ou négative? Ensuite : à quelle valeur de w la pente est-elle exactement 0?
- w
- 2
- Perte
- 137,75
- Pente (gradient)
- −64
- Pour réduire la perte
- augmenter w
La pente est de −64 : elle est négative, donc la perte baisse vers la droite. Un w plus grand réduit la perte.
Description textuelle de l’explorateur
Le graphique montre la courbe de perte pour w allant de 1 à 11,5. Au départ, le point est à w = 2, avec une perte de 137,75. La tangente y descend fortement : la pente est de −64, donc une valeur de w plus grande réduit la perte. Le curseur, un glissement ou les touches fléchées déplacent le point entre w = 2 et w = 10,5. À w = 5, la pente est de −19. À w = 6, elle est de −4. À w ≈ 6,27, elle est de 0 : c’est le fond de la courbe. À w = 7, elle est de +11, donc une valeur de w plus petite réduit la perte.
Pour ce modèle, le gradient a une formule courte. Vous n’avez pas besoin de la démontrer :
Lisez-la ainsi : « La dérivée de la perte par rapport à w égale 15 fois w, moins 94. » À w = 6, elle vaut 90 − 94 = −4. À w = 2, elle vaut 30 − 94 = −64.
D’où vient le gradient
Section intitulée « D’où vient le gradient »Le gradient est une moyenne sur les billets, comme la perte. Chaque billet ajoute sa propre contribution : 2 × (prédiction − valeur réelle) × longueur. À w = 6 :
| Billet | Prédiction − valeur réelle | × longueur | × 2 = contribution de ce billet |
|---|---|---|---|
| T-3101 | 6 − 7 = −1 | −1 | −2 |
| T-3102 | 12 − 13 = −1 | −2 | −4 |
| T-3103 | 18 − 17 = 1 | 3 | 6 |
| T-3104 | 24 − 26 = −2 | −8 | −16 |
| Moyenne | −16 ÷ 4 = −4 |
Chaque billet tire w dans sa propre direction. T-3103 dit « réduisez w », car le modèle prédit trop de minutes pour lui. Les trois autres disent « augmentez w », et T-3104, le billet le plus long, tire le plus fort. Le gradient est la moyenne de toutes ces forces. Retenez ce tableau : dans la prochaine leçon, il explique pourquoi les vraies courbes d’entraînement sont bruitées.
La règle de mise à jour : descendre d’un pas
Section intitulée « La règle de mise à jour : descendre d’un pas »Priya peut maintenant améliorer w sans voir la courbe. Elle utilise la règle de mise à jour :
Lisez-la ainsi : « Le nouveau w est l’ancien w moins le taux d’apprentissage multiplié par le gradient. » La lettre grecque η (êta) est le taux d’apprentissage. C’est un petit nombre choisi par une personne, qui détermine l’ampleur de chaque changement. Une application de la règle est une étape. Cette méthode est la descente de gradient : descendre la courbe de perte, une étape à la fois.
Deux détails font fonctionner la règle :
- Le signe moins inverse la direction. Un gradient négatif (la perte diminue vers la droite) augmente
w. - Le taux d’apprentissage garde le pas petit. À
w = 2, le gradient est de −64. Sans taux d’apprentissage,wpasserait à 66, bien au-delà du fond.
Exemple détaillé : deux étapes à la main
Section intitulée « Exemple détaillé : deux étapes à la main »Priya commence à w = 2 avec un taux d’apprentissage de 0,05. À chaque étape, elle calcule le gradient (15w − 94), le déplacement (−0,05 × gradient) et le nouveau w :
| Étape | w avant | Gradient 15w − 94 | Déplacement −0,05 × gradient | w après | Perte après |
|---|---|---|---|---|---|
| 1 | 2 | −64 | +3,2 | 5,2 | 9,75 |
| 2 | 5,2 | −16 | +0,8 | 6,0 | 1,75 |
| 3 | 6,0 | −4 | +0,2 | 6,2 | 1,25 |
La perte descend de 137,75 à 9,75, puis à 1,75, puis à 1,25. Les pas deviennent plus petits d’eux-mêmes : le taux d’apprentissage reste le même, mais le gradient diminue près du fond. La courbe y est plus plate. Après trois étapes, w = 6.2 est proche de la meilleure valeur, 6,27.
Grace demande ce que cela signifie pour elle. Le modèle dit maintenant : chaque centaine de mots d’un billet ajoute environ 6,2 minutes de travail.
Explorer
Descente de gradient sur le modèle de billets
Prédisez d’abord : Avec un taux d'apprentissage de 0,05, Priya était à w = 6,2 après trois étapes. Combien d'étapes faut-il pour que la perte affiche 1,217, la valeur minimale?
- Étape
- 8
- w
- 6,267
- Perte
- 1,217
- Pente (gradient)
- −0,001
- Prochain pas = −taux × pente
- 0
Convergence après 8 étapes : la pente est presque nulle, donc les pas sont presque nuls aussi.
Description textuelle de l’explorateur
Le graphique du haut est la courbe de perte du modèle de billets. Il forme un bol dont le fond est à w ≈ 6,27, avec une perte d’environ 1,217. La balle commence à w = 2. Le curseur du taux d’apprentissage propose 13 valeurs de 0,005 à 0,16; il commence à 0,05. Step (étape) effectue une mise à jour, Play (lecture) la répète, et Reset (réinitialiser) revient à w = 2. L’affichage indique le numéro d’étape, w, la perte, le gradient et le prochain déplacement. Avec un taux d’apprentissage de 0,05, w passe par 2, 5,2, 6,0, 6,2 et 6,25. La perte affiche 1,217 après cinq étapes. Sans JavaScript, le graphique montre les huit premières étapes à 0,05. Le graphique du bas montre la perte après chaque étape : elle passe de 137,75 à 9,75 après la première étape, puis s’aplatit.
Essayez quelques autres taux d’apprentissage dans l’outil d’exploration avant de continuer. La prochaine leçon explique ce que vous voyez.
Deux paramètres : les dérivées partielles
Section intitulée « Deux paramètres : les dérivées partielles »Les vrais modèles ont plus d’un paramètre. Tomás en ajoute un deuxième, un nombre fixe de minutes pour chaque billet, b :
Le paramètre b est un biais : il déplace toute la droite vers le haut ou le bas. Maintenant, la perte dépend de deux boutons de réglage, w et b. Pour trouver la direction de chaque bouton, Priya ajuste légèrement un seul bouton à la fois et garde l’autre fixe. Elle commence à w = 6, b = 0, où la perte est de 1,75 :
| Changement | w | b | Perte | Variation de perte | Variation de perte ÷ petit ajustement | Pente exacte (très petit ajustement) |
|---|---|---|---|---|---|---|
| Départ | 6 | 0 | 1,75 | |||
| Augmenter w de 0,1 | 6,1 | 0 | 1,425 | −0,325 | −3,25 | −4 |
| Augmenter b de 0,1 | 6 | 0,1 | 1,61 | −0,14 | −1,4 | −1,5 |
Chaque pente exacte est une dérivée partielle : la pente de la perte pour un paramètre, quand tous les autres restent fixes. Les mathématiciens l’écrivent avec un d arrondi, ∂ :
Lisez-les ainsi : « La dérivée partielle de la perte par rapport à w est −4 » et « par rapport à b est −1,5 ». Le gradient est la liste de toutes les dérivées partielles : ici (−4, −1,5). Les deux sont négatives, donc la règle de mise à jour augmente un peu w et b. La même règle s’applique à chaque paramètre, avec sa propre dérivée partielle.
Un grand modèle de langage possède des milliards de paramètres. Son gradient est une liste de milliards de dérivées partielles, une par paramètre. Une méthode appelée rétropropagation les calcule toutes à la fois. La règle de mise à jour modifie ensuite un peu chaque paramètre, à chaque étape. L’idée est la même que dans le tableau ci-dessus.
Pratique guidée : la perte à w = 7
Section intitulée « Pratique guidée : la perte à w = 7 »Vérifiez vous-même le tableau de Priya. Écrivez les résultats dans c03-notes.md.
- Pour chaque billet, calculez la prédiction 7 × longueur. Résultat attendu : 7, 14, 21, 28.
- Calculez chaque erreur, valeur réelle − prédiction. Résultat attendu : 0, −1, −4, −2.
- Élevez chaque erreur au carré. Résultat attendu : 0, 1, 16, 4.
- Additionnez les carrés et divisez par 4. Résultat attendu : 21 ÷ 4 = 5,25.
- Calculez le gradient à
w = 7avec 15w − 94. Résultat attendu : 105 − 94 = 11. - Écrivez dans quelle direction la règle de mise à jour déplace
w, et pourquoi.
Afficher un exemple de réponse
La perte à w = 7 est de 5,25, supérieure à 1,75 à w = 6. Le gradient est de +11 : il est positif, donc la perte augmente vers la droite. La règle de mise à jour soustrait le taux d’apprentissage multiplié par 11, donc w diminue. Avec un taux d’apprentissage de 0,05, le déplacement est de −0,55, et le nouveau w est de 6,45.
Vérification : un seul billet, T-3103, contribue 16 sur les 21. Une grande erreur détermine la majeure partie de la perte.
Variante autonome : partir de l’autre côté
Section intitulée « Variante autonome : partir de l’autre côté »Commencez à w = 8 avec un taux d’apprentissage de 0,05.
- Calculez la perte à
w = 8. - Faites deux pas avec la règle de mise à jour. Pour chaque pas, écrivez le gradient, le déplacement et le nouveau
w. - Calculez la perte après le deuxième pas. Comparez le sens des déplacements avec l’exemple de Priya.
Afficher un exemple de réponse
- Prédictions : 8, 16, 24, 32. Erreurs : −1, −3, −7, −6. Carrés : 1, 9, 49, 36. Somme : 95. Perte : 95 ÷ 4 = 23,75.
- Pas 1 : gradient 15 × 8 − 94 = 26. Déplacement : −0,05 × 26 = −1,3. Nouveau
w= 6,7. Pas 2 : gradient 15 × 6,7 − 94 = 6,5. Déplacement : −0,325. Nouveauw= 6,375. - Prédictions : 6,375, 12,75, 19,125, 25,5. Erreurs : 0,625, 0,25, −2,125, 0,5. Carrés : 0,390625, 0,0625, 4,515625, 0,25. Somme : 5,21875. Perte : environ 1,30.
Les déplacements sont négatifs ici, car le gradient est positif. Le modèle prédit trop de minutes, donc w diminue. Dans l’exemple de Priya, les déplacements étaient positifs. La règle de mise à jour trouve le sens toute seule.
Exécutez du Python dans votre navigateur
Facultatif : vérifier la perte et le gradient
Cet encadré calcule la perte et le gradient pour n’importe quel w. Exécutez le code, puis ajoutez 8 et 6,375 à la liste et vérifiez vos réponses. Dans un contexte professionnel, une bibliothèque calcule la perte pour vous. Par exemple, mean_squared_error (erreur quadratique moyenne) dans scikit-learn, ou MSELoss (perte par erreur quadratique moyenne) dans PyTorch.
Tab ajoute quatre espaces. Appuyez sur Esc, puis sur Tab, pour quitter la zone. Ctrl+Enter exécute le code.
Erreur courante
Mesurer avec les erreurs seules : les erreurs s'annulent
Symptôme : un rapport indique : « Le modèle avec w = 6.3 a une erreur moyenne de 0 minute. Il est parfait. » Mais l’erreur pour T-3103 atteint presque 2 minutes.
Cause : le rapport prend la moyenne des erreurs sans les élever au carré. À w = 6.3, les erreurs sont 0,7, 0,4, −1,9 et 0,8. Leur somme est 0, donc l’erreur moyenne est 0, même si chaque prédiction est fausse.
Solution : élevez les erreurs au carré (MSE), ou prenez leurs valeurs absolues (erreur absolue moyenne), avant de calculer la moyenne. La MSE à w = 6.3 est de 1,225, et non de 0. Une erreur moyenne proche de 0 montre seulement que le modèle ne prédit ni trop haut ni trop bas globalement.
Vérifiez votre compréhension
Pourquoi la perte utilise-t-elle les erreurs au carré plutôt que les erreurs elles-mêmes? Donnez les deux raisons.
Afficher la réponse
D’abord, le carré élimine le signe. Les erreurs au-dessus et au-dessous de la valeur réelle ne peuvent donc pas s’annuler. Ensuite, les grandes erreurs comptent davantage : une erreur de 4 ajoute 16, mais une erreur de 1 ajoute seulement 1. Un modèle avec une seule très mauvaise prédiction obtient une perte élevée.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
À w = 7, le gradient est +11. Prédisez : la règle de mise à jour augmente-t-elle ou diminue-t-elle w? Avec un taux d'apprentissage de 0,05, quel est le nouveau w?
Afficher la réponse
Elle le diminue. Le gradient est positif, donc la perte augmente vers la droite. Le signe moins dans la règle déplace w vers la gauche. Le déplacement est −0,05 × 11 = −0,55, donc le nouveau w est 7 − 0,55 = 6,45.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Un modèle a deux paramètres. Aux valeurs actuelles, les dérivées partielles sont −4 pour w et +2 pour b. Que fait la règle de mise à jour à chaque paramètre, et pourquoi?
Afficher la réponse
Elle augmente w, car sa dérivée partielle est négative : la perte diminue quand w augmente. Elle diminue b, car sa dérivée partielle est positive : la perte augmente quand b augmente. Chaque paramètre se déplace dans le sens opposé à sa propre dérivée partielle.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Récapitulatif
- La perte est un nombre qui mesure à quel point un modèle se trompe. L’erreur quadratique moyenne élève chaque erreur au carré. Les erreurs ne peuvent donc pas s’annuler, et les grandes erreurs comptent davantage.
- La courbe de perte montre la perte pour chaque valeur d’un paramètre. L’entraînement cherche son point le plus bas.
- Le gradient est la pente de la perte. Son signe donne le sens, et sa grandeur indique à quel point la pente est forte.
- La règle de mise à jour, w − taux d’apprentissage × gradient, fait un pas vers le bas. Les pas deviennent plus petits d’eux-mêmes près du minimum.
- Avec plusieurs paramètres, chacun a une dérivée partielle. Le gradient est la liste de ces dérivées, et la même règle met à jour chaque paramètre.
Ensuite, vous verrez ce qui arrive quand le taux d’apprentissage est trop petit ou trop grand. Vous verrez aussi pourquoi les courbes d’entraînement réelles présentent des fluctuations.
Leçon suivante : Le comportement de l'optimisation