Aller au contenu
Kudos AI
Read in English
Ré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.

5 min de lectureKudos AI

Prérequis : Ce qui fait vraiment converger un entraînement

Un bol quadratique étiré le long d’un axe, le chemin du gradient zigzaguant en travers de la direction étroite tout en rampant le long de la plate, et la même descente sur un bol remis à l’échelle atteignant le fond en une fraction des pas.

Ajustez une courbe quadratique à cent points par descente de gradient. Rien d’exotique : la matrice de plan a pour colonnes 11, tt et t2t^2 pour tt régulièrement réparti sur [0,1][0, 1], la perte est l’erreur quadratique, le pas est le meilleur pas constant pour ce problème, et l’exécution s’arrête quand la perte est à 10−610^{-6} près de son minimum, relativement à son point de départ.

Il faut 1742 pas.

Centrez et réduisez maintenant les deux colonnes non constantes. Mêmes données, même ajustement, même minimum. 147 pas.

Remplacez maintenant les trois colonnes par une base orthonormée du même sous-espace, qu’une factorisation QR produit en un appel. 1 pas.

Les trois aboutissent à la même réponse. Les sommes des carrés des résidus coïncident à dix décimales, à 0.19361963580.1936196358, et les valeurs ajustées à 1.8×10−151.8 \times 10^{-15} près, parce que les trois bases engendrent le même espace et que les moindres carrés se moquent de celle qu’on leur remet. L’optimiseur, lui, non.

A. D’où vient le rapport

Pour une perte quadratique de hessienne HH, tout est fixé par deux valeurs propres : la plus grande, LL, et la plus petite, mm.

LL limite le pas. Prenez un pas plus grand que 2/L2/L le long du vecteur propre le plus raide et l’itéré dépasse jusqu’à un point pire que son point de départ ; l’exécution diverge.

mm limite le progrès. Le long du vecteur propre le plus plat le gradient est petit, donc un pas de la taille autorisée vous déplace très peu.

Vous êtes contraint à un pas fixé par la direction la plus raide, puis vous devez traverser la plus plate avec. Avec le pas constant optimal α=2/(L+m)\alpha = 2 / (L + m), l’erreur est divisée par un facteur

κ−1κ+1,κ=Lm,\frac{\kappa - 1}{\kappa + 1}, \qquad \kappa = \frac{L}{m},

à chaque pas, de sorte que le nombre de pas pour une précision donnée est proportionnel à κ\kappa, le conditionnement. La profondeur du bol n’apparaît nulle part. Une perte peut être énorme et facile, ou minuscule et difficile.

Pour une vérification nette, prenez une quadratique en deux dimensions de valeurs propres 1 et 100. La formule prédit ⌈log⁡10−6/log⁡(99/101)⌉=691\lceil \log 10^{-6} / \log(99/101) \rceil = 691 pas pour diviser par 10−610^{-6} la distance à l’optimum. L’exécution en demande 691. (Comptez sur la perte et vous en obtenez la moitié, puisque la perte est le carré de la distance. Le taux décrit la distance.)

B. Les trois bases, mesurées

Le conditionnement des trois plans ci-dessus, et ce que chacun coûte :

Baseκ\kappaPas
1, t, t21,\ t,\ t^2504.541742
centrée et réduite60.81147
orthonormée1.00001

La première ligne n’est pas un plan pathologique. C’est la façon évidente d’écrire un ajustement quadratique, sur un intervalle propre, sans valeur aberrante ni colinéarité digne de ce nom. Les colonnes 11, tt et t2t^2 pointent simplement dans des directions voisines sur [0,1][0,1] : toutes trois sont positives et croissantes sur l’essentiel de la plage, si bien que la hessienne est loin d’être un multiple de l’identité.

La dernière ligne est le cas limite à retenir. Quand κ=1\kappa = 1, le pas autorisé convient exactement à toutes les directions à la fois, et la descente de gradient avec α=1/L\alpha = 1/L atteint le minimum d’une quadratique en un seul pas. Toute l’itération de la première ligne, c’est l’optimiseur qui contourne un choix de coordonnées.

C. Ce que l’inertie achète, et ce qu’elle n’achète pas

L’inertie de type boule pesante ajoute la mise à jour précédente à la mise à jour courante. Sur une quadratique, réglée au mieux, son taux asymptotique est

κ−1κ+1,\frac{\sqrt{\kappa} - 1}{\sqrt{\kappa} + 1},

ce qui remplace κ\kappa par κ\sqrt{\kappa} dans le décompte des pas. Sur le problème à κ=100\kappa = 100 ci-dessus, cela prédit 69 pas contre 691 pour la descente de gradient, et une exécution en mesure 93 - plus lent que la borne asymptotique, parce que la borne décrit la queue plutôt que le régime transitoire, mais tout de même un facteur 7,43 sur le même problème avec la même règle d’arrêt.

La figure s’ouvre sur un conditionnement de 23,841. Portez-le à 100 : la descente de gradient simple demande 691 pas, comme ci-dessus, tandis que l’inertie en demande 90 depuis le point de départ de la figure contre 93 depuis celui utilisé ici ; le nombre de pas dépend du point de départ, les taux de convergence non.

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.

La racine carrée est tout le bénéfice, et il vaut la peine d’être précis sur ce que cela signifie. L’inertie ne corrige pas le conditionnement ; elle fait passer le coût de κ\kappa à κ\sqrt{\kappa}. Sur κ=104\kappa = 10^4, c’est la différence entre désespéré et lent, non entre lent et rapide. Elle introduit aussi un second hyperparamètre dont la valeur optimale dépend de κ\kappa, que vous ne connaissez pas.

La remise à l’échelle, quand elle est possible, est strictement meilleure : elle change κ\kappa lui-même, coûte un passage sur les données et ne se règle pas.

D. Pourquoi cela se retrouve partout

Dès qu’on cherche le rapport plutôt que la profondeur, beaucoup de pratiques courantes cessent de ressembler à du folklore.

  • Standardiser les entrées est un travail de conditionnement. Réécrire une variable des kilomètres vers les millimètres multiplie sa colonne par 10610^6 et son entrée dans X⊤XX^{\top}X par 101210^{12}, et ce facteur atterrit directement dans κ\kappa.
  • Les méthodes adaptatives comme RMSProp et Adam entretiennent un pas par coordonnée, ce qui est un préconditionneur diagonal : une tentative d’égaliser les valeurs propres à bon marché, avec la seule information qu’une diagonale peut porter.
  • Les couches de normalisation maintiennent les activations à une échelle comparable pendant l’entraînement, ce qui empêche la hessienne de dériver vers un mauvais rapport en cours de route.
  • Les connexions résiduelles raccourcissent le chemin parcouru par un gradient, ce qui empêche l’étalement de la courbure de se composer avec la profondeur.

Aucune de ces techniques ne rend la perte plus petite. Toutes rendent la même perte moins chère à descendre, ce qui est autre chose et, au vu du tableau ci-dessus, souvent le facteur de loin le plus grand.

Références et lectures complémentaires

  • Stephen Boyd, Lieven Vandenberghe, Convex Optimization, Cambridge University Press, 2004source ↗
  • Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (Adaptive Computation and Machine Learning), 2016source ↗

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

11 min de lectureRé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.

OptimisationApprentissage profondApprentissage automatique
4 min de lectureFondements des probabilités

Quelle mauvaise loi voulez-vous ?

Une cible bimodale, une gaussienne, et deux directions de la même divergence. Minimiser KL(P||Q) étale la gaussienne sur les deux modes avec presque aucune masse là où la cible se trouve réellement ; minimiser KL(Q||P) la pose sur un mode, à 0,6931 nats, soit ln 2 à quatre décimales, et ce n’est pas une coïncidence. Chaque ajustement est jugé catastrophique par l’autre critère, 2,0976 contre 15,2799.

Apprentissage automatiqueMathématiques
3 min de lectureFondements des probabilités

Les deux variables qui ressemblent à du bruit

Une variable qui en détermine une autre avec une corrélation d’exactement 0,0000000000, et un couple de variables dont chaque information mutuelle par paire avec la cible vaut exactement zéro alors que les deux ensemble la déterminent entièrement. Le filtrage univarié écarte les deux, et le second cas est celui qui compte : les variables qu’il supprime le sont parce qu’elles comptent.

Apprentissage automatiqueMathématiques
← Retour à tous les articles