Le comportement de l'optimisation
- Leçon 12
- 50 min
- Module 4 : Comment les modèles apprennent
Leçon 12 sur 18 · Mathématiques et statistiques essentielles pour l'IALe comportement de l'optimisation
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
Lisez une courbe de perte d’entraînement et dites ce qui ne va pas dans un entraînement. Le taux d’apprentissage peut être trop faible ou trop élevé, ou l’entraînement peut cesser de progresser. Ce sont les premières questions à poser quand un modèle n’apprend pas.
Carnet JupyterFacultatif : vérifier les nombres dans un carnet
Le carnet (notebook) Jupyter est facultatif : une calculatrice suffit pour cette leçon. Il exécute la descente de gradient sur le modèle des billets avec n’importe quel taux d’apprentissage. Il représente chaque étape par une trace textuelle. Vous voyez un entraînement converger, zigzaguer et diverger vers inf (infini) et nan (pas un nombre). Vous voyez aussi une bille s’arrêter dans un minimum local. Le carnet exécute également la descente de gradient stochastique avec les mêmes lots que l’explorateur de lots de cette page. Les exercices guidés et les exercices du module comprennent des vérifications. Il utilise seulement la bibliothèque standard de Python et ne nécessite donc 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
- La règle de mise à jour, w − taux d’apprentissage × gradient, et une étape à la main. Voir Perte et gradients : la règle de mise à jour et Exemple détaillé : deux étapes à la main.
- Les nombres du modèle des billets : le gradient est 15w − 94, le meilleur
wvaut environ 6,27 et la perte minimale vaut environ 1,22. Ils se trouvent dans Perte et gradients : la courbe de perte et Le gradient. - La contribution de chaque billet au gradient à
w = 6(−2, −4, 6 et −16). Voir Perte et gradients : d’où vient le gradient. La section sur les mises à jour stochastiques utilise ce tableau.
Ce que vous devez préparer (le carnet n’a besoin de rien de tout cela)
- Une calculatrice. Celle d’un téléphone suffit. Les exercices du module comprennent sept étapes de la règle de mise à jour.
- 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. - Environ 20 minutes à la fin pour les exercices et la vérification du module.
Le carnet a été testé dans Jupyter avec Python 3.14.6 (bibliothèque standard seulement).
Où vous rencontrez cela en IA
Section intitulée « Où vous rencontrez cela en IA »- Paramètres d’entraînement. Un script d’entraînement contient des lignes comme
learning_rate = 3e-4etepochs = 3. Le taux d’apprentissage est souvent le paramètre le plus important d’un entraînement. On le change avant tout le reste. - Courbes de perte sur un tableau de bord. Des outils comme TensorBoard tracent la perte après chaque étape. Les ingénieurs examinent chaque jour la forme de cette courbe : pente forte, plate, bruitée ou montante.
- « La perte est NaN ». Un entraînement s’arrête, ou le journal (log) affiche
loss: nan(perte : pas un nombre). La cause habituelle est un taux d’apprentissage trop élevé. Cette leçon montre pourquoi. - Réglage fin d’un modèle de langage. Le réglage fin modifie les paramètres d’un modèle entraîné à partir de nouveaux exemples. Un taux d’apprentissage trop élevé peut détruire en quelques étapes ce que le modèle savait déjà.
Taux d’apprentissage : trop faible, bon, trop élevé
Section intitulée « Taux d’apprentissage : trop faible, bon, trop élevé »Dans la dernière leçon, Priya a utilisé un taux d’apprentissage de 0,05 et atteint w = 6.2 en trois étapes. Tomás demande : « Pourquoi pas 0,01, pour être prudent? Ou 0,15, pour aller vite? »
Voici le fait essentiel pour ce modèle. Le gradient est 15 × (w − 6,27), donc il est proportionnel à la distance du fond. Chaque étape multiplie donc cette distance par le même nombre, 1 − 15 × taux d’apprentissage :
| Taux d’apprentissage | 1 − 15 × taux | Ce que fait chaque étape | Comportement |
|---|---|---|---|
| 0,01 | 0,85 | Garde 85 % de la distance | Lent : beaucoup de petits pas |
| 0,05 | 0,25 | Garde 25 % de la distance | Rapide et régulier |
| 0,0667 (= 1/15) | 0 | Arrive au fond | Une étape, seulement pour cette courbe précise |
| 0,1 | −0,5 | Saute par-dessus le fond, à une distance deux fois plus petite de l’autre côté | Zigzague, mais atteint quand même le fond |
| 0,13 | −0,95 | Saute par-dessus, presque aussi loin de l’autre côté | Zigzag lent |
| 0,1333 (= 2/15) | −1 | Saute exactement aussi loin de l’autre côté | Rebondit sans fin |
| 0,14 | −1,1 | Saute par-dessus, plus loin chaque fois | Diverge : la perte augmente sans limite |
Donc, pour ce modèle :
- Sous environ 0,067, les pas descendent régulièrement. Les taux plus faibles sont plus lents.
- Entre 0,067 et 0,133, chaque pas saute par-dessus le fond, mais les sauts diminuent. Le trajet zigzague vers le fond.
- Au-dessus de 0,133, les sauts augmentent. Le modèle diverge : il s’éloigne du fond à chaque étape.
Les nombres 0,067 et 0,133 sont propres à cette courbe. Une courbe de perte plus raide a des limites plus basses. Dans un entraînement réel, vous ne pouvez pas les calculer. Vous essayez donc quelques taux et observez la perte.
Explorer
Trouvez les taux d'apprentissage qui échouent
Prédisez d’abord : Quel taux d'apprentissage atteint la perte minimale en moins d'étapes : 0,01, 0,06 ou 0,12? Que se passe-t-il à 0,14?
- Étape
- 8
- w
- 5,104
- Perte
- 11,354
- Pente (gradient)
- −17,439
- Prochain pas = −taux × pente
- 0,174
Descente. Chaque pas est plus petit, car la pente diminue près du fond.
Description textuelle de l’explorateur
Le graphique du haut montre la courbe de perte du modèle des billets. Elle forme un bol dont le fond se trouve à w ≈ 6,27, avec une perte d’environ 1,217. La bille part de w = 2. Le curseur propose 13 taux d’apprentissage, de 0,005 à 0,16, et commence à 0,01. Step effectue une mise à jour, Play la répète et Reset (réinitialiser) revient à w = 2. L’affichage des valeurs indique l’étape, w, la perte, le gradient et le prochain déplacement. À 0,01, w passe par 2, 2,64, 3,18 et 3,65 : de petits pas lents. À 0,06, w passe par 2, 5,84, 6,22 et 6,26 : un trajet régulier et rapide. À 0,12, w saute à 9,68, puis à 3,54, puis à 8,45 : un zigzag qui se rapproche lentement de 6,27. À 0,14, w saute à 10,96, puis à 1,10, puis à 11,95. La perte passe de 137,75 à 166,4, puis à 201,1 et à 243,1. Après environ 20 étapes, l’explorateur arrête l’entraînement. La ligne d’état nomme chaque comportement. Le graphique du bas a une limite supérieure fixe. Il trace les pertes plus élevées sur le bord supérieur, où un entraînement divergent semble donc plat. Lisez la perte dans l’affichage des valeurs.
À quoi ressemble une courbe de perte d’entraînement
Section intitulée « À quoi ressemble une courbe de perte d’entraînement »Un journal d’entraînement ne montre pas le bol. Il montre seulement la perte après chaque étape. Voici trois entraînements du modèle des billets à partir de w = 2, avec trois taux d’apprentissage :
- Taux d'apprentissage de 0,01
- Taux d'apprentissage de 0,05
- Taux d'apprentissage de 0,13
Description textuelle du graphique
Les trois entraînements commencent avec une perte de 137,75. Avec un taux d’apprentissage de 0,05, la perte vaut 9,75 après une étape et 1,75 après deux. Elle reste à 1,217 à partir de l’étape 5. Avec un taux d’apprentissage de 0,01, la perte diminue lentement : 99,9 après une étape, 38,4 après quatre, 6,5 après dix et 1,42 après vingt. Avec un taux d’apprentissage de 0,13, la perte diminue aussi lentement : 124,4 après une étape, 50,2 après dix et 18,8 après vingt.
Examinez les entraînements avec 0,01 et 0,13. Les deux courbes descendent lentement, mais pour des raisons opposées. À 0,01, les pas sont trop courts. À 0,13, les pas sont trop longs : w saute d’un côté du bol à l’autre. Le zigzag se resserre lentement. La courbe de perte seule ne vous dit pas de quel cas il s’agit. Si vous augmentez le taux d’apprentissage et que l’entraînement accélère, les pas étaient trop courts. S’il se dégrade ou diverge, ils étaient trop longs.
Quand le taux est trop élevé, la courbe monte :
- Taux d'apprentissage de 0,12
- Taux d'apprentissage de 0,14
Description textuelle du graphique
Les deux entraînements commencent avec une perte de 137,75. Avec un taux d’apprentissage de 0,12, la perte diminue : 88,6, 57,1, 37,0 et 1,86 après douze étapes. Avec un taux d’apprentissage de 0,14, la perte augmente à chaque étape : 166,4, 201,1, 243,1 et 1 346 après douze étapes. Elle augmente d’environ 21 % par étape et ne s’arrête jamais.
Une perte divergente augmente du même facteur à chaque étape et devient donc très grande rapidement. À un taux d’apprentissage de 0,16, la perte du modèle des billets dépasse le plus grand nombre représentable sur 32 bits. Cette limite vaut environ 3,4 × 10³⁸. Il faut environ 125 étapes pour l’atteindre. L’ordinateur stocke alors la perte sous la forme inf. Un autre calcul avec inf, comme inf − inf, donne nan : « pas un nombre ». C’est le loss: nan d’un journal d’entraînement.
Convergence
Section intitulée « Convergence »Un entraînement converge quand ses pas deviennent si petits que les paramètres et la perte cessent de changer. Sur la courbe de perte, la bille atteint le fond. Dans le journal d’entraînement, la courbe de perte devient plate. Avec un taux d’apprentissage de 0,05, le modèle des billets converge après environ 5 étapes. Avec 0,01, il lui en faut plus de 30.
Une courbe plate ne signifie pas toujours que le modèle est le meilleur possible. Elle signifie que cette méthode, avec ces paramètres, a cessé de progresser. Une équipe arrête généralement l’entraînement quand la perte sur des billets de validation distincts cesse de diminuer. Beaucoup de configurations réduisent aussi le taux d’apprentissage pendant l’entraînement selon un calendrier de taux d’apprentissage. Les pas sont longs au début et courts près du fond.
Minima locaux : le point de départ compte
Section intitulée « Minima locaux : le point de départ compte »Le bol du modèle des billets a un seul fond. Les courbes de perte des modèles plus grands ne sont pas des bols. Un minimum local est un point où la perte est plus faible que partout à proximité. Ce n’est toutefois pas la perte la plus faible de toute la courbe. À un minimum local, le gradient vaut 0, donc la descente de gradient s’y arrête. Elle ne voit pas la vallée plus profonde.
Le prochain explorateur présente une courbe de perte inventée avec deux vallées. Vous pouvez changer le point de départ de la bille.
Explorer
Deux vallées : où la bille s'arrête-t-elle?
Prédisez d’abord : La bille part de w = 1, à droite de la bosse. Trouvera-t-elle la vallée plus profonde à gauche?
- Étape
- 8
- w
- 1,944
- Perte
- 1,922
- Pente (gradient)
- −0,798
- Prochain pas = −taux × pente
- 0,08
Descente. Chaque pas est plus petit, car la pente diminue près du fond.
Description textuelle de l’explorateur
Le graphique montre une courbe de perte inventée pour w allant de −3,6 à 3,6. Elle présente une vallée profonde près de w = −2,5, une bosse près de w = 0,2 et une vallée moins profonde près de w = 2,3. La perte vaut environ 0,1 dans la vallée profonde et environ 1,8 dans l’autre. La bille part de w = 1. Le taux d’apprentissage commence à 0,1. Un deuxième curseur règle le point de départ, de −3,4 à 3,4. Depuis w = 1, la bille roule à droite et s’arrête dans la vallée peu profonde près de w = 2,3. C’est un minimum local, où le gradient vaut 0. Depuis tout point à gauche de la bosse, par exemple w = −0,5, elle roule vers la vallée plus profonde. La ligne d’état indique quand la bille s’arrête au minimum local.
Que signifie cela en pratique? Les modèles ayant des millions de paramètres ont des surfaces de perte avec un très grand nombre de dimensions. Une image à une dimension exagère le problème. Les équipes échouent rarement à cause d’un mauvais minimum local. Mais deux entraînements partant de valeurs aléatoires différentes peuvent aboutir à des modèles différents, avec des résultats différents. Les équipes prennent donc ces mesures :
- fixer la graine aléatoire, le nombre qui définit le départ aléatoire, pour pouvoir répéter un entraînement;
- entraîner plusieurs fois avec différentes graines quand une décision dépend d’une petite différence entre les modèles.
Mises à jour stochastiques : pourquoi les courbes de perte réelles sont bruitées
Section intitulée « Mises à jour stochastiques : pourquoi les courbes de perte réelles sont bruitées »Dans la dernière leçon, le gradient était une moyenne sur les quatre billets. Larkfield reçoit environ 1 200 nouveaux billets par semaine, et les modèles réels s’entraînent sur des millions d’exemples. Calculer le gradient complet à chaque étape est trop lent.
L’entraînement utilise donc un mini-lot : un petit groupe aléatoire d’exemples, par exemple 32. Chaque étape calcule le gradient sur un seul lot, puis effectue la mise à jour. Un passage sur tous les exemples d’entraînement est une époque. Cette méthode est la descente de gradient stochastique (SGD). « Stochastique » signifie « avec du hasard ».
Le gradient d’un lot est une estimation. Rappelez-vous la contribution de chaque billet au gradient à w = 6 :
| Lot | Gradient sur ce lot | Gradient réel (les quatre billets) |
|---|---|---|
| T-3101 seulement | −2 | −4 |
| T-3102 seulement | −4 | −4 |
| T-3103 seulement | +6 | −4 |
| T-3104 seulement | −16 | −4 |
| T-3101 et T-3102 | −3 | −4 |
| T-3103 et T-3104 | −5 | −4 |
Un lot d’un billet peut donner un gradient quatre fois trop grand (T-3104) ou orienté dans le mauvais sens (T-3103). Ensemble, les lots donnent le bon résultat : la moyenne des quatre gradients à un billet vaut −4. Les lots plus grands donnent des estimations plus proches du gradient réel, mais chaque étape coûte plus cher.
Voici un entraînement par SGD sur le modèle des billets. Chaque étape utilise un billet, le taux d’apprentissage vaut 0,01 et chaque époque place les billets dans un nouvel ordre aléatoire. Un journal d’entraînement affiche la perte sur le lot, avant la mise à jour :
- Perte sur le lot (ce que le journal affiche)
- Perte sur les quatre billets
Description textuelle du graphique
L’axe horizontal montre les étapes 13 à 40. La perte sur le lot, celle du seul billet de chaque étape, oscille entre environ 0,37 et 8,7. Par exemple, elle vaut 2,58 à l’étape 13, 8,72 à l’étape 14 et 1,00 à l’étape 15. La perte sur les quatre billets, après chaque étape, vaut 3,13 à l’étape 13. Elle reste ensuite entre environ 1,22 et 1,95. Sa valeur minimale possible est 1,217.
La perte sur le lot varie brusquement parce que chaque billet a sa propre erreur, pas parce que le modèle se dégrade. T-3103 a toujours une grande erreur avec ce modèle simple. Ses étapes montrent donc une perte élevée sur le lot. C’est pourquoi les tableaux de bord d’entraînement montrent une ligne bruitée et tracent souvent une version lissée par-dessus. Lisez la tendance sur plusieurs étapes, pas sur une seule.
Le bruit a un deuxième effet : w ne se stabilise jamais exactement au fond. Il continue de bouger un peu autour de 6,27. Dans le prochain explorateur, vous choisissez la taille du lot et observez les deux effets.
Explorer
Changez la taille du lot
Prédisez d’abord : Avec un billet par étape, w atteindra-t-il 6,27 et s'y arrêtera-t-il, comme avec les quatre billets?
- Étape
- 20
- Époque
- 5
- Billets dans ce lot
- T-3104
- Gradient sur ce lot
- −11,959
- Vrai gradient (les quatre)
- −2,106
- w après l’étape
- 6,365
L’étape 20 a utilisé T-3104. Le gradient du lot est −11,96; le vrai gradient est −2,11. Il s’écarte de 9,85.
Description textuelle de l’explorateur
L’explorateur exécute la descente de gradient stochastique sur le modèle des billets. Il part de w = 5,5 avec un taux d’apprentissage de 0,02. Des boutons permettent de choisir 1, 2 ou 4 billets par lot; il commence à 1. Step effectue une mise à jour, Play la répète et Reset revient à w = 5,5. L’affichage des valeurs indique l’étape, l’époque et les billets du lot. Il montre aussi le gradient sur le lot, le gradient réel sur les quatre billets et w après l’étape. Le graphique du haut montre la perte après chaque étape. Les points représentent la perte sur le lot, et la ligne représente la perte sur les quatre billets. Une ligne pointillée marque la perte minimale, 1,217. Le graphique du bas montre w après chaque étape, avec une ligne pointillée au meilleur w, soit 6,27. Avec 1 billet par lot, la première étape utilise seulement T-3104. Son gradient vaut −32, mais le gradient réel vaut −11,5. À l’étape 3, T-3103 donne +9,14 alors que le gradient réel vaut −1,38 : le pas va dans le mauvais sens. Des étapes 21 à 40, w continue de bouger entre environ 6,01 et 6,49. La perte sur le lot oscille entre 0,04 et 6,1. Avec 2 billets par lot, w reste entre environ 6,16 et 6,37. Avec les 4 billets, chaque étape est exacte et w se stabilise à 6,27.
Les lots plus grands donnent des pas plus réguliers, mais chaque étape demande plus de calculs. L’entraînement réel utilise des lots de dizaines à des milliers d’exemples. Il obtient ainsi presque toute la régularité pour une petite partie du coût. Beaucoup de configurations réduisent aussi le taux d’apprentissage vers la fin de l’entraînement, ce qui réduit le bruit restant.
Exemple détaillé : Priya lit un journal d’entraînement
Section intitulée « Exemple détaillé : Priya lit un journal d’entraînement »Tomás entraîne le véritable modèle de classification des billets, qui compte environ 2 millions de paramètres. Après quelques minutes, il montre le journal à Priya (sortie fictive) :
epoch 1 step 100 lr 0.01 loss 0.693epoch 1 step 200 lr 0.01 loss 0.912epoch 1 step 300 lr 0.01 loss 4.85epoch 1 step 400 lr 0.01 loss 961.2epoch 1 step 500 lr 0.01 loss infepoch 1 step 600 lr 0.01 loss nanPriya le lit depuis le début :
- La perte augmente à chaque rapport, et de plus en plus vite. C’est la forme de la divergence, comme dans le graphique avec un taux d’apprentissage de 0,14.
inf, puisnan. La perte est devenue trop grande pour être stockée, et le calcul suivant a donné « pas un nombre ». À ce stade, tous les paramètres valent probablementnanaussi. L’entraînement ne peut pas se rétablir.- Diagnostic : le taux d’apprentissage, 0,01, est trop élevé pour ce modèle.
Tomás divise le taux d’apprentissage par dix, à 0,001, et recommence depuis le début :
epoch 1 step 100 lr 0.001 loss 0.693epoch 1 step 200 lr 0.001 loss 0.481epoch 1 step 300 lr 0.001 loss 0.402epoch 1 step 400 lr 0.001 loss 0.377epoch 2 step 500 lr 0.001 loss 0.351epoch 2 step 600 lr 0.001 loss 0.358La perte diminue vite au début, puis plus lentement. Elle augmente un peu à l’étape 600. Priya dit que c’est le bruit normal des lots, pas de la divergence : une valeur plus élevée, pas une tendance montante. L’entraînement se déroule bien.
Exercice guidé : diagnostiquer trois entraînements
Section intitulée « Exercice guidé : diagnostiquer trois entraînements »Chaque journal montre la perte tous les 100 pas (sortie fictive). Écrivez votre diagnostic pour chaque entraînement dans c03-notes.md.
loss 0.693 0.691 0.689 0.687 0.685 0.683loss 0.693 0.512 0.388 0.341 0.330 0.327loss 0.693 0.590 0.731 0.552 0.802 0.517- Pour chaque entraînement, indiquez si la perte diminue, reste stable, augmente ou fait des sauts.
- Pour chaque entraînement, indiquez la cause la plus probable : taux d’apprentissage trop petit, adéquat ou trop grand.
- Pour chaque entraînement, proposez une action à Tomás.
Afficher un exemple de réponse
- Entraînement A : la perte diminue de seulement 0,002 par relevé, suivant une ligne droite à faible pente. Le taux d’apprentissage est probablement trop petit. Action : essayez un taux d’apprentissage 3 ou 10 fois plus grand et comparez les premières centaines de pas.
- Entraînement B : la perte diminue rapidement, puis se stabilise près de 0,33. C’est un bon entraînement, proche de la convergence. Action : gardez-le; vérifiez la perte sur les billets de validation pour décider quand arrêter.
- Entraînement C : la perte fait de grands sauts dans les deux sens, et les valeurs élevées augmentent (0,731, puis 0,802). Les pas sont trop grands : ce zigzag pourrait bientôt diverger. Action : réduisez le taux d’apprentissage. Le bruit des lots produit généralement de plus petits sauts autour d’une tendance à la baisse.
Vérification : pour l’entraînement A, vous n’avez pas écrit « le modèle a convergé ». Une baisse lente et régulière n’est pas une courbe plate.
Variante autonome : un nouveau taux d’apprentissage
Section intitulée « Variante autonome : un nouveau taux d’apprentissage »Tomás utilise maintenant un taux d’apprentissage de 0,003. Le journal montre une perte qui diminue rapidement, puis quelques valeurs plus élevées, puis nan (valeur non numérique) au pas 2 000. Écrivez deux causes possibles dans c03-notes.md. Pour chacune, proposez une vérification permettant de les distinguer.
Afficher un exemple de réponse
- Le taux d’apprentissage est encore trop grand. Les valeurs plus élevées avant
nanforment un zigzag qui s’amplifie. Vérification : recommencez avec 0,001 depuis le même point de départ (même graine aléatoire). Sinandisparaît, le taux était la cause. - Des données incorrectes dans un lot, par exemple un billet au texte vide ou extrêmement long qui produit une valeur
inf(infinie). Vérification : trouvez le lot au pas 2 000 et examinez ses exemples. Sinanapparaît au même pas avec tous les taux d’apprentissage, les données sont probablement la cause.
Erreur courante
Le journal affiche loss : nan
Symptôme : le journal d’entraînement affiche loss: nan (perte : valeur non numérique) ou inf. Chaque prédiction du modèle enregistré vaut nan ou donne la même valeur. Plusieurs heures de calcul sont perdues, et un modèle enregistré après ce point est défectueux.
Cause : le plus souvent, un taux d’apprentissage trop grand. Chaque pas dépasse davantage le fond. La perte augmente jusqu’à dépasser ce que l’ordinateur peut stocker, et le calcul suivant donne nan. Parfois, les données contiennent une valeur qui est déjà inf ou qui est manquante.
Correction : arrêtez l’entraînement. Réduisez le taux d’apprentissage, souvent d’un facteur de 10. Recommencez depuis le début ou depuis le dernier modèle enregistré sans nan. Si cela se reproduit au même pas, vérifiez si le lot de ce pas contient des données incorrectes. Plusieurs équipes limitent aussi la taille de chaque pas, une méthode appelée écrêtage du gradient.
Vérifiez votre compréhension
La descente de gradient s'arrête à un point où le gradient vaut 0. Expliquez pourquoi ce point ne donne pas toujours le meilleur modèle.
Afficher la réponse
Un gradient de 0 signifie seulement que la courbe est plate ici. Ce point peut être un minimum local : plus bas que tous les points voisins, mais plus haut qu’une vallée ailleurs. La descente de gradient ne voit que la pente au point actuel. Elle ne peut donc pas connaître l’autre vallée. Le point de départ détermine la vallée qu’elle atteint.
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
Dans un entraînement stochastique, la perte du lot passe de 0,31 à un pas à 0,52 au suivant. Tomás veut arrêter l'entraînement. Que lui dites-vous?
Afficher la réponse
Une seule valeur plus élevée ne justifie pas un arrêt. Chaque lot contient des exemples différents. La perte du lot varie donc d’un pas à l’autre, même quand le modèle s’améliore. Examinez la tendance sur plusieurs pas, ou une courbe lissée. Arrêtez seulement si la tendance monte, ou si la perte sur les exemples de validation cesse de diminuer.
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.
Exercice du module
Section intitulée « Exercice du module »Vous calculez à la main les pas de descente de gradient du modèle de billets. Pour ce modèle, le gradient vaut 15w − 94, et la perte vaut (1 183 − 376w + 30w²) ÷ 4.
Exemple détaillé : taux d’apprentissage de 0,1
Section intitulée « Exemple détaillé : taux d’apprentissage de 0,1 »Priya commence à w = 2 avec un taux d’apprentissage de 0,1. À chaque pas, elle calcule le gradient au w actuel, puis le déplacement (−0,1 × gradient). Elle calcule ensuite le nouveau w, puis la perte au nouveau w :
| Pas | w avant | Gradient 15w − 94 | Déplacement −0,1 × gradient | w après | Perte après |
|---|---|---|---|---|---|
| 1 | 2 | −64 | +6,4 | 8,4 | 35,35 |
| 2 | 8,4 | 32 | −3,2 | 5,2 | 9,75 |
| 3 | 5,2 | −16 | +1,6 | 6,8 | 3,35 |
| 4 | 6,8 | 8 | −0,8 | 6,0 | 1,75 |
Ce que montre le tableau :
- Le signe du gradient change à chaque pas. Ainsi,
wpasse d’un côté de 6,27 à l’autre : 2, 8,4, 5,2, 6,8, 6,0. C’est un zigzag. - Chaque saut est deux fois plus court que le précédent : 6,4, 3,2, 1,6, 0,8. Le facteur vaut 1 − 15 × 0,1 = −0,5.
- La perte diminue quand même à chaque pas : 137,75, 35,35, 9,75, 3,35, 1,75. Un zigzag de
wpeut se cacher derrière une courbe de perte lisse.
Votre tâche : deux autres taux d’apprentissage
Section intitulée « Votre tâche : deux autres taux d’apprentissage »Créez un tableau comme celui de Priya dans c03-notes.md pour chaque entraînement. Commencez à w = 2 chaque fois.
- Taux d’apprentissage de 0,02 : faites trois pas.
- Taux d’apprentissage de 0,15 : faites quatre pas.
- Pour chaque entraînement, écrivez une phrase : le taux d’apprentissage est-il trop petit, adéquat ou trop grand? Quels éléments de votre tableau le montrent?
- Vérifiez vos tableaux dans le premier explorateur de cette leçon, avec les mêmes taux d’apprentissage.
Afficher la réponse modèle
Taux d’apprentissage de 0,02 :
| Pas | w avant | Gradient | Déplacement | w après | Perte après |
|---|---|---|---|---|---|
| 1 | 2 | −64 | +1,28 | 3,28 | 68,12 |
| 2 | 3,28 | −44,8 | +0,896 | 4,176 | 34,00 |
| 3 | 4,176 | −31,36 | +0,6272 | 4,8032 | 17,28 |
Trop petit, ou du moins lent. Chaque pas va dans la bonne direction, mais laisse 70 % de la distance à parcourir (1 − 15 × 0,02 = 0,7). Après trois pas, w reste loin de 6,27, et la perte vaut encore 17,28.
Taux d’apprentissage de 0,15 :
| Pas | w avant | Gradient | Déplacement | w après | Perte après |
|---|---|---|---|---|---|
| 1 | 2 | −64 | +9,6 | 11,6 | 214,55 |
| 2 | 11,6 | 80 | −12 | −0,4 | 334,55 |
| 3 | −0,4 | −100 | +15 | 14,6 | 522,05 |
| 4 | 14,6 | 125 | −18,75 | −4,15 | 815,02 |
Trop grand. Chaque déplacement est plus long que le précédent (9,6, 12, 15, 18,75). w s’éloigne davantage de 6,27 de chaque côté, et la perte augmente à chaque pas. Le facteur vaut 1 − 15 × 0,15 = −1,25, donc chaque saut est 25 % plus long. L’entraînement diverge. Un entraînement réel atteindrait inf et nan.
Exécutez du Python dans votre navigateur
Facultatif : vérifier vos calculs
Cet encadré affiche quatre pas de descente de gradient pour le modèle de billets. Exécutez-le avec rate = 0.1 et comparez avec le tableau de Priya. Changez ensuite le taux à 0,02 et à 0,15, et la plage pour obtenir trois ou quatre pas. Vérifiez vos réponses.
Tab ajoute quatre espaces. Appuyez sur Esc, puis sur Tab, pour quitter la zone. Ctrl+Enter exécute le code.
Vérification du module
Section intitulée « Vérification du module »Vérifiez votre compréhension
Que fait un pas de descente de gradient? Écrivez la règle de mise à jour en mots et nommez chaque partie.
Afficher la réponse
Un pas modifie légèrement chaque paramètre pour réduire la perte. La règle : nouveau w = w − taux d’apprentissage × gradient. Le gradient est la pente de la perte au w actuel : il donne la direction et l’inclinaison. Le signe moins fait descendre le pas. Le taux d’apprentissage, choisi par une personne, fixe la longueur du pas.
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
Larkfield entraîne un classificateur sur 1 200 billets avec des mini-lots de 40 billets. Combien de pas compte une époque? Après 3 époques, la perte du lot varie encore entre 0,30 et 0,45 à chaque pas. Prévoyez : y a-t-il un problème?
Afficher la réponse
Une époque compte 1 200 ÷ 40 = 30 pas, donc 3 époques comptent 90 pas. Les sauts de perte du lot sont normaux en descente de gradient stochastique, car chaque lot contient des billets différents. Tout va bien si la tendance sur plusieurs pas diminue ou reste stable à une valeur faible. Vérifiez une courbe lissée, ou la perte sur tous les billets de validation, avant de décider.
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
Vérification finale : expliquez pourquoi un pas peut être trop petit ou trop grand. Utilisez le modèle de billets comme exemple.
Afficher la réponse
La règle de mise à jour déplace w du produit du taux d’apprentissage et du gradient. Le taux d’apprentissage fixe la taille du pas.
- Trop petit (par exemple 0,01) : chaque pas va dans la bonne direction, mais couvre peu de distance vers le fond (15 % ici). L’entraînement demande beaucoup de pas, donc du temps et des ressources de calcul. Dans le journal, la perte diminue lentement et régulièrement.
- Trop grand (au-dessus de 0,133 pour ce modèle, par exemple 0,15) : chaque pas dépasse le fond et atterrit plus loin de l’autre côté. La perte augmente à chaque pas, l’entraînement diverge, et le journal se termine par
infetnan. Entre 0,067 et 0,133, les pas dépassent aussi le fond, mais ils raccourcissent. L’entraînement atteint donc le fond en zigzag. - Adéquat (par exemple 0,05) : de grands pas loin du fond, où le gradient est grand, et de petits pas près du fond. La perte atteint sa valeur minimale en quelques pas.
Les limites dépendent de l’inclinaison de la courbe de perte. Pour un modèle réel, vous ne pouvez pas les calculer. Vous essayez donc plusieurs taux et lisez les courbes de perte.
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
Dans ce module, vous avez observé un modèle apprendre :
- Un modèle est une fonction avec des paramètres. La pente d’une fonction est la variation de sortie par unité d’entrée. La dérivée est la pente en un point.
- La perte mesure à quel point le modèle se trompe. Le gradient est la pente de la perte. La descente de gradient déplace chaque paramètre dans le sens opposé à son gradient, un pas à la fois.
- Le taux d’apprentissage fixe la taille du pas. Trop petit, il ralentit l’entraînement; trop grand, il dépasse le fond, produit des zigzags ou fait diverger vers
nan. - Une courbe de perte d’entraînement montre le résultat. Une pente forte, puis une courbe plate, est un bon signe. Une baisse lente et droite suggère un petit taux. Une hausse suggère un taux trop grand.
- La descente de gradient peut s’arrêter dans un minimum local. Le point de départ aléatoire détermine la vallée qu’elle trouve.
- L’entraînement réel utilise des mini-lots. Les gradients des lots sont des estimations bruitées, donc les courbes de perte réelles sont bruitées. Lisez la tendance.
Ensuite, dans le module 5, vous vérifierez si un résultat mesuré sur un échantillon de billets est réel ou dû au hasard.
Leçon suivante : Échantillons et populations