Aller au contenu
Kudos AI
Read in English
Réseaux de neurones

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.

11 min de lectureKudos AI

Prérequis : Rétropropagation et descente de gradient

Une surface de perte avec ses deux directions de courbure tracées en flèches, un pas de gradient contractant l’erreur le long de chacune d’un facteur 1 − ηλ, et la même exécution à 0,99 et 1,01 fois 2/L - l’une se posant, l’autre projetée hors du cadre.

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 w⋆w^\star 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 HH. En écrivant l’erreur et=wt−w⋆e_t = w_t - w^\star, un pas de gradient n’est rien d’autre que

et+1=(I−ηH) et.e_{t+1} = (I - \eta H)\, e_t .

Décomposez l’erreur selon les vecteurs propres de HH. Chaque composante est multipliée par 1−ηλ1 - \eta\lambda, où λ\lambda 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 ∣1−ηλ∣<1\lvert 1 - \eta\lambda\rvert < 1, soit exactement η<2/λ\eta < 2/\lambda. Comme toute direction doit décroître, la contrainte déterminante est la courbure la plus raide LL :

η<2L.\eta < \frac{2}{L}.

Sur ce problème L=1,760627L = 1,760627, donc le seuil vaut 2/L=1,1359592/L = 1,135959. 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 1−ηL1 - \eta L, 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.

w*direction raide →↑ direction plate
Contraction par pas
0.949667
Pas pour six décimales
> 260
Falaise à 2/L
1.1360
Essayez :

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 LL ne signifie pas poser η=2/L\eta = 2/L : stabilité et vitesse sont des questions distinctes aux réponses distinctes.

L’erreur se contracte de max⁡(∣1−ηL∣,∣1−ημ∣)\max(\lvert 1-\eta L\rvert, \lvert 1-\eta\mu\rvert) par pas, où μ\mu est la courbure la plus plate. Augmenter η\eta aide la direction plate et nuit à la raide : le meilleur pas est donc là où les deux coûts s’égalent, soit η⋆=2/(L+μ)=1,090230\eta^\star = 2/(L+\mu) = 1,090230. 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 w⋆w^\star donne 1,088582 contre 1,090230 pour la formule - un accord à 1,6×10−31,6\times10^{-3}. 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 η⋆\eta^\star et la contraction devient fonction d’une seule quantité, le conditionnement κ=L/μ\kappa = L/\mu, l’allongement de la cuvette :

ρGD=κ−1κ+1.\rho_{\mathrm{GD}} = \frac{\kappa - 1}{\kappa + 1}.

Ici κ=23,8410\kappa = 23,8410, donc ρGD=0,919488\rho_{\mathrm{GD}} = 0,919488. La mesure de l’exécution réelle - ∥wt−w⋆∥\lVert w_t - w^\star\rVert aux pas 20 et 100, puis extraction du rapport par pas - donne 0,9194880,919488. 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 : κ≈24\kappa \approx 24 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. κ\kappa 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, vt+1=βvt−η∇f(wt)v_{t+1} = \beta v_t - \eta\nabla f(w_t), 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 1/(1−β)1/(1-\beta) 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

ρmom=κ−1κ+1=0,660022.\rho_{\mathrm{mom}} = \frac{\sqrt{\kappa}-1}{\sqrt{\kappa}+1} = 0,660022 .

La dépendance au conditionnement est passée de κ\kappa à κ\sqrt{\kappa}. 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 164,6/33,3=4,9164,6/33,3 = 4,9.

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 −0,660022-0,660022 et en +0,660022+0,660022, et qu’une racine double décroît comme tρtt\rho^t et non comme ρt\rho^t. Mesurée entre les pas 20 et 60, la contraction réelle vaut 0,677786, proche des 31/40×0,660022=0,67843^{1/40} \times 0,660022 = 0,6784 que prédit ce facteur tt 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 κ\kappa en un problème en κ\sqrt\kappa, 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.

11e-6
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 w=(0,0)w = (0, 0), où le gradient complet vaut (−3,416495;0,179597)(-3,416495 ; 0,179597), le bruit typique vaut 1,4382 à B=8B = 8 et 0,3027 à B=128B = 128. Seize fois le calcul pour 4,75 fois la précision, proche du 16\sqrt{16} que prédit la moyenne et un peu au-dessus parce que ces lots sont tirés sans remise dans seulement n=400n = 400 points, ce qui prédit 4392/272=4,804\sqrt{392/272} = 4{,}80. 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 w⋆w^\star 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 η\etadistance quadratique moyenne à w⋆w^\star
0,20000,109343
0,10000,075358
0,05000,053134
0,02500,037673
0,01250,026497

Aucune de ces valeurs ne tend vers zéro. Et le taux de change est pire qu’il n’y paraît : diviser η\eta 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 η\sqrt\eta, parce que la variance stationnaire est en O(η)O(\eta) 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 ηt=0,20/(1+t/500)\eta_t = 0,20/(1+t/500) - 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 : ∑tηt=∞\sum_t \eta_t = \infty, pour que l’exécution conserve assez de trajet total pour arriver d’où qu’elle parte, et ∑tηt2<∞\sum_t \eta_t^2 < \infty, 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 1/t21/t^2 é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.

0.2300.027
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 à η=0,05\eta = 0{,}05, inertie à η=0,01\eta = 0{,}01 avec β=0,9\beta = 0{,}9, Adam à η=0,05\eta = 0{,}05 - avec f⋆=0,233943f^\star = 0,233943 :

pasSGDinertieAdam
2000,7701590,3515370,387005
10000,2362510,2360320,234713
50000,2359900,2497020,261468
200000,2373330,2408990,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 η\eta effectif plus grand - et d’après le résultat en η\sqrt\eta, 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.

Lecture associée

5 min de lectureRéseaux de neurones

La direction la plus lente impose le rythme

Le pas que vous avez le droit de prendre est fixé par la direction la plus raide et le nombre de pas nécessaires par la plus plate : le coût de la descente de gradient est donc leur rapport. Le même ajustement des moindres carrés, aux mêmes dix décimales, demande 1742 pas dans une base, 147 dans une base remise à l’échelle et exactement 1 dans une base orthonormée, et l’inertie ne rachète que la racine carrée du rapport.

Apprentissage automatiqueMathématiques
8 min de lectureRéseaux de neurones

La rétropropagation et la descente de gradient

Comment un réseau de neurones apprend : la perte comme fonction des poids, la descente de gradient, et la rétropropagation comme règle de dérivation en chaîne appliquée à rebours, avec toutes les dérivées partielles d’un petit réseau calculées à la main et vérifiées contre autograd.

Apprentissage profondOptimisationMathématiques
7 min de lectureMachines à vecteurs de support

Machines à vecteurs de support : marges et noyaux

Pourquoi la bande la plus large entre deux classes est une bonne frontière, pourquoi en exiger une parfaite est contre-productif, comment un budget de violations rachète de la stabilité, et comment un noyau courbe la frontière en travaillant dans un espace qu’il n’a jamais à construire.

Apprentissage automatiqueOptimisation
← Retour à tous les articles