Ce qui fait vraiment converger un entraînement
Deux pour cent d’écart sur le taux d’apprentissage séparent une exécution convergée d’une autre à cinq ordres de grandeur, un conditionnement prédit le taux de convergence à six décimales, et la descente de gradient stochastique à pas fixe ne converge jamais - elle se stabilise dans une boule dont le rayon croît comme la racine carrée du pas. Chaque chiffre a été calculé sur un problème dont l’optimum exact est connu.
Prérequis : Rétropropagation et descente de gradient
Un taux d’apprentissage de 1,1246 entraîne un modèle. Un taux de 1,1473 envoie le même modèle, sur les mêmes données, depuis le même point de départ, vers une perte cinq ordres de grandeur plus mauvaise.
Rien n’a changé dans le modèle. L’écart entre ces deux nombres est de deux pour cent, et il n’y a aucune dégradation progressive entre eux : l’exécution se pose ou elle est projetée au loin. Cette falaise a une position exacte, elle se calcule avant même le début de l’entraînement, et le même petit morceau de théorie qui la localise prédit aussi le nombre de pas que prendra une exécution réussie.
Tout ce qui suit est mesuré sur un problème délibérément petit : des moindres carrés à 400 points et deux paramètres, dont l’optimum exact est connu sous forme close. Connaître la réponse à l’avance est tout l’enjeu : cela transforme chaque affirmation en mesure plutôt qu’en impression.
A. La falaise
Au voisinage d’un minimum, la perte est une cuvette quadratique, et la forme de cette cuvette est la hessienne . En écrivant l’erreur , un pas de gradient n’est rien d’autre que
Décomposez l’erreur selon les vecteurs propres de . Chaque composante est multipliée par , où est la courbure de cette direction, et les directions n’interagissent jamais. Un pas unique n’est donc pas un mouvement : c’est autant de contractions indépendantes que le problème compte de directions de courbure, chacune à son propre rythme.
Une composante ne décroît que lorsque , soit exactement . Comme toute direction doit décroître, la contrainte déterminante est la courbure la plus raide :
Sur ce problème , donc le seuil vaut . Les deux tailles de pas du début de cet article valent 0,99 et 1,01 fois ce nombre, et après 200 pas elles laissent la perte à 0,236592 et à 23585,65.
Voilà la falaise. Ce n’est pas une zone d’instabilité avec une plage grise au
milieu ; c’est un changement de signe dans , après quoi la direction
la plus raide est multipliée par le même facteur supérieur à un à chaque pas.
Quiconque a vu une courbe de perte partir en NaN trente pas après une
augmentation « anodine » du taux d’apprentissage a vu exactement cette
arithmétique.
Interactif : le pas, et le bord de la stabilité
η = 0.6816, et la falaise est à 2/L = 1.1360.
- Contraction par pas
- 0.949667
- Pas pour six décimales
- > 260
- Falaise à 2/L
- 1.1360
Six décimales sont hors d’atteinte en 260 pas à ce réglage. Le conditionnement vaut 23.8410 - un allongement modéré, sur un problème à deux paramètres - et il fixe le taux à lui seul. Augmentez β : le zigzag en travers de la vallée s’annule tandis que la progression le long s’accumule, et la dépendance passe de κ à √κ.
B. Stable n’est pas rapide
Connaître ne signifie pas poser : stabilité et vitesse sont des questions distinctes aux réponses distinctes.
L’erreur se contracte de par pas, où est la courbure la plus plate. Augmenter aide la direction plate et nuit à la raide : le meilleur pas est donc là où les deux coûts s’égalent, soit . Toute taille de pas entre celle-ci et le seuil est à la fois plus lente et plus près de la falaise.
Une telle dérivation mérite vérification plutôt que confiance. Exécuter les mêmes 200 pas pour chacune de 2000 tailles de pas et retenir celle qui finit au plus près de donne 1,088582 contre 1,090230 pour la formule - un accord à . Ce petit écart ne vient pas de la grille : sur 200 pas seulement, le meilleur pas se situe juste sous l’optimum asymptotique, et s’en rapproche à mesure que l’exécution s’allonge. Une formule avec une erreur de signe ressemble encore à une formule ; une recherche sur grille coûte trois lignes et ne trompe pas.
C. Un seul nombre prédit toute l’exécution
Réinjectez et la contraction devient fonction d’une seule quantité, le conditionnement , l’allongement de la cuvette :
Ici , donc . La mesure de l’exécution réelle - aux pas 20 et 100, puis extraction du rapport par pas - donne . Six décimales, sans rien ajuster : la prédiction utilise deux valeurs propres d’une matrice et reproduit une exécution qui n’en sait rien.
Notez de combien peu dépend ce taux. Ni des données au-delà de leur hessienne, ni du point de départ, ni de la dimension. Et notez l’échelle : est un conditionnement modéré, et il coûte déjà 165 pas pour diviser l’erreur par un million sur un problème à deux paramètres. Les réseaux réels se comptent en milliers.
C’est aussi la raison pour laquelle remettre à l’échelle une seule colonne d’entrée peut transformer un temps d’entraînement. est une propriété du paramétrage, non de ce qui est appris. Standardiser les variables, la normalisation par lot et la normalisation par couche déplacent toutes les valeurs propres de la hessienne, et déplacer celles-ci, c’est déplacer le taux. Ce ne sont pas des politesses statistiques, c’est du conditionnement.
D. Ce que fait réellement l’inertie
La descente de gradient jette l’histoire de l’exécution à chaque pas - y compris le fait que le gradient de la direction plate pointe du même côté depuis cent pas, tandis que celui de la direction raide alterne de signe.
L’inertie conserve une vitesse courante, , et les deux directions en reçoivent gratuitement un traitement opposé. Au fond de la vallée, où les gradients successifs concordent, la moyenne amortie atteint environ fois un gradient isolé. En travers, où ils alternent, ils s’annulent en grande partie. Un unique mécanisme aveugle amplifie exactement la direction lente et amortit exactement celle qui oscille, et le taux devient
La dépendance au conditionnement est passée de à . L’inertie atteint la précision au millionième en 42 pas contre 165 - un facteur 3,9, là où les taux asymptotiques prédisent .
Ce déficit mérite d’être conservé plutôt qu’arrondi. Le taux de Polyak est asymptotique. Avec son réglage, les deux directions de courbure se trouvent exactement aux extrêmes, si bien que chacune reçoit une racine double, en et en , et qu’une racine double décroît comme et non comme . Mesurée entre les pas 20 et 60, la contraction réelle vaut 0,677786, proche des que prédit ce facteur supplémentaire. Sur ce problème l’asymptotique n’arrive jamais, car l’exécution atteint d’abord la précision machine. L’affirmation honnête n’est donc pas que l’inertie converge à 0,660022, mais qu’elle transforme un problème en en un problème en , dont on obtiendra l’essentiel sur une exécution réelle.
Les deux exécutions sont ci-dessous, chacune à ses réglages optimaux, l'erreur en échelle logarithmique. Au conditionnement réel de ce problème, les comptes sont ceux qui viennent d'être cités : 165 pas contre 42. Mais l'essentiel est le curseur. Un changement d'exposant est précisément ce que deux nombres ne peuvent pas montrer : faites glisser le conditionnement et regardez les courbes se séparer, la première croissant comme kappa et la seconde comme sa racine. Les deux taux affichés sont eux aussi distingués à dessein : l'asymptotique est une limite, le mesuré est ce que fait réellement cette exécution.
Interactif : ce que vaut la racine carrée
Chaque méthode à ses réglages optimaux. Erreur en échelle log.
- Simple, pas jusqu’à 1e-6
- 165
- Momentum, pas
- 42
- Taux momentum, asymptotique
- 0.660021
- Taux momentum, mesuré
- 0.677785
Le problème de la leçon : 165 pas pour six chiffres contre 42, un facteur 3.9 là où les taux asymptotiques en prédisent 4,9. L’écart mérite d’être gardé. 0.660021 est une limite ; mesurée des pas 20 à 60, la contraction réelle vaut 0.677785, car le réglage de Polyak donne une racine double à chaque direction de courbure, et une racine double décroît comme t fois le taux puissance t. Ce facteur s’efface lentement, et ici il n’en a jamais le temps : la précision machine arrive avant.
E. Et puis le gradient n’est plus exact
Tout ce qui précède supposait le vrai gradient. Un entraînement réel dispose d’une estimation sur mini-lot, et cette seule substitution détruit la garantie que tout cela converge.
L’estimation est sans biais - un échantillon uniforme de gradients par exemple a pour espérance le gradient complet - donc un petit lot ne pointe pas vers une direction systématiquement différente. Ce qui change est la dispersion : à l’origine , où le gradient complet vaut , le bruit typique vaut 1,4382 à et 0,3027 à . Seize fois le calcul pour 4,75 fois la précision, proche du que prédit la moyenne et un peu au-dessus parce que ces lots sont tirés sans remise dans seulement points, ce qui prédit . Coût linéaire, bénéfice en racine carrée : ce taux de change est tout l’argument en faveur des petits lots et des pas nombreux.
La conséquence est qu’une exécution à pas fixe ne converge jamais. Chaque pas contracte vers et chaque pas injecte du bruit d’échantillonnage frais, et à un certain rayon les deux s’équilibrent. Sur 120 000 pas, en mesurant la distance quadratique moyenne sur la queue :
| taille de pas | distance quadratique moyenne à |
|---|---|
| 0,2000 | 0,109343 |
| 0,1000 | 0,075358 |
| 0,0500 | 0,053134 |
| 0,0250 | 0,037673 |
| 0,0125 | 0,026497 |
Aucune de ces valeurs ne tend vers zéro. Et le taux de change est pire qu’il n’y paraît : diviser par deux, de 0,20 à 0,10, réduit le plancher de 31 % et non de 50 %. L’ajustement sur tout l’intervalle d’un facteur seize donne un exposant de 0,5090 - le rayon croît en , parce que la variance stationnaire est en et que la distance en est la racine carrée.
Seize fois la patience pour quatre fois la précision est un marché assez mauvais pour qu’on abandonne le pas constant au lieu de le réduire. Le remplacer par - même taux initial, mêmes données, même germe - amène l’exécution à 0,009909, onze fois plus près sur le même horizon, et elle progresse encore au moment de l’arrêt.
Ce qui fait qu’un calendrier fonctionne, c’est un couple de conditions qui tirent en sens contraires : , pour que l’exécution conserve assez de trajet total pour arriver d’où qu’elle parte, et , pour que le bruit injecté soit sommable et que la boule puisse se refermer. Un pas constant satisfait la première et échoue à la seconde. Un pas décroissant en échoue à la première et peut manquer de trajet avant d’arriver.
Rien de tout cela n'a besoin d'être simulé. Sur une quadratique, le moment d'ordre deux de l'erreur obéit à une récurrence exacte : la figure ci-dessous exécute donc toute l'expérience comme un calcul, sans graine et sans 120 000 pas, le plancher étant disponible en forme close. Son échelle de bruit est calibrée sur la ligne 0,2 ci-dessus, et les quatre autres deviennent des prédictions, à 2,5 % près. La forme close explique aussi l'exposant : il dépasse un demi parce que la contraction par pas vaut 2 - eta lambda et non 2.
Interactif : le plancher qu’un pas constant ne quitte pas
Le moment d’ordre deux exactement, par récurrence. Ni tirage ni graine.
- Rayon du nuage
- 0.109343
- Gain en divisant le pas par deux
- 30%
- Exposant ajusté
- 0.5025
Au pas 0.2000, l’itéré s’installe dans un nuage de rayon 0.109343 et y reste. Diviser le pas par deux ne gagne que 30 %, non cinquante, car l’équilibre laisse un moment d’ordre deux proportionnel à eta et la distance en est la racine. L’ajustement sur toute la plage donne 0.5025, au-dessus d’un demi.
F. La comparaison qui s’inverse
Reste la question pratique : quel optimiseur ? Même problème, mêmes lots, même germe, chacun à un pas fixe raisonnable - SGD à , inertie à avec , Adam à - avec :
| pas | SGD | inertie | Adam |
|---|---|---|---|
| 200 | 0,770159 | 0,351537 | 0,387005 |
| 1000 | 0,236251 | 0,236032 | 0,234713 |
| 5000 | 0,235990 | 0,249702 | 0,261468 |
| 20000 | 0,237333 | 0,240899 | 0,247613 |
À 200 pas le classement est celui qu’on attend, et l’écart est grand. À 5000 pas il s’est inversé : la SGD simple est la plus proche de l’optimum et les deux méthodes les plus rapides se sont stabilisées plus loin. Un seul pas d’une seule exécution est bruité - avec d’autres germes de lots, la SGD n’est en tête au pas 5000 qu’environ une fois sur deux - mais en moyenne sur les pas 3000 à 8000, l’ordre SGD, inertie, Adam a tenu pour chacun des 40 autres germes essayés.
Rien n’a échoué. L’inertie et Adam avancent chacun davantage par pas, ce qui revient à un effectif plus grand - et d’après le résultat en , un pas effectif plus grand signifie une boule plus large. Le premier en tête finit dernier précisément à cause de ce qui le rendait rapide.
Adam garde néanmoins sa place sur la coordonnée pour laquelle il a été conçu. Diviser par une estimation courante de l’échelle du gradient de chaque coordonnée, c’est du conditionnement appliqué coordonnée par coordonnée, et sur la direction plate de ce problème Adam est à 0,018492 de l’optimum après 1000 pas là où la SGD en est encore à 0,178858.
En bref
Trois résultats, une recette. La taille du pas a un plafond exact fixé par la courbure la plus raide, et un optimum différent et plus bas fixé par le rapport des courbures extrêmes. L’inertie et les méthodes adaptatives achètent la progression initiale en s’attaquant à ce rapport. Un calendrier décroissant achète les dernières décimales en refermant la boule de bruit. Aucun ne remplace l’autre, et c’est pourquoi toute recette d’entraînement sérieuse précise les deux.
Et quand une exécution reste bloquée à une perte qui ne bouge plus, la première question n’est pas vers quel optimiseur basculer. C’est de savoir si l’exécution est bien à un minimum, ou seulement au bord d’une boule de bruit dont vous pouvez calculer le rayon.
Références et lectures complémentaires
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (Adaptive Computation and Machine Learning), 2016source ↗
- Stephen Boyd, Lieven Vandenberghe, Convex Optimization, Cambridge University Press, 2004source ↗
Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.