• Projets00
  • AI Academy13
  • Veille07 entrées ces 7 derniers jours
  • Outils00
Profil
Déposer un projet
ProjetsAI AcademyVeilleOutilsProfilDéposer
Le cours
4/8
Démonstration6 min

Le pas d'apprentissage

Jusqu'où on peut allonger le pas avant que la descente cesse de descendre.

La page 2 n'a prouvé qu'une chose locale : la direction. Il ne dit rien du pas fini η\etaη. Prenons donc la fonction la plus simple qui ait un minimum, et calculons tout.

DérivationLe seuil exact de convergence sur un quadratique
1

Hypothèses

  • ·

    f(θ)=12λθ2f(\theta)=\tfrac12\lambda\theta^{2}f(θ)=21​λθ2 avec λ>0\lambda>0λ>0, de minimum θ∗=0\theta^{*}=0θ∗=0

  • ·

    Le pas est constant : η>0\eta>0η>0 ne dépend pas de ttt

2

Point de départ

θt+1=θt−ηf′(θt),f′(θ)=λθ\theta_{t+1}=\theta_t-\eta f'(\theta_t), \qquad f'(\theta)=\lambda\thetaθt+1​=θt​−ηf′(θt​),f′(θ)=λθ
3

Propriétés utilisées

  • ·

    La caractérisation de la convergence d'une suite géométrique : qt→0q^t\to0qt→0 si et seulement si ∣q∣<1|q|<1∣q∣<1

4

Étapes

  1. On substitue la dérivée et on factorise :

    θt+1=θt−ηλθt=(1−ηλ) θt\theta_{t+1}=\theta_t-\eta\lambda\theta_t=(1-\eta\lambda)\,\theta_tθt+1​=θt​−ηλθt​=(1−ηλ)θt​

    substitution puis factorisation

  2. C'est une suite géométrique de raison q=1−ηλq=1-\eta\lambdaq=1−ηλ, dont le terme général s'écrit directement :

    θt=(1−ηλ)t θ0\theta_t=(1-\eta\lambda)^{t}\,\theta_0θt​=(1−ηλ)tθ0​

    récurrence immédiate

  3. La convergence vers zéro équivaut donc à ∣q∣<1|q|<1∣q∣<1, qu'on résout :

    ∣1−ηλ∣<1  ⟺  −1<1−ηλ<1  ⟺  0<ηλ<2|1-\eta\lambda|<1 \iff -1<1-\eta\lambda<1 \iff 0<\eta\lambda<2∣1−ηλ∣<1⟺−1<1−ηλ<1⟺0<ηλ<2

    définition de la valeur absolue, puis soustraction de 1 et changement de signe

5

Résultat

0<η<2λ0<\eta<\frac{2}{\lambda}0<η<λ2​
6

Interprétation

Le seuil ne dépend ni du point de départ, ni du nombre d'itérations : c'est une propriété de la courbure λ\lambdaλ seule. Plus la fonction est courbée, plus le pas doit être court.

Les quatre régimes, calculés

         eta  1 - eta lambda   |facteur|   theta_0=1 -> theta_1..theta_5
        0.25            0.75        0.75   +0.7500  +0.5625  +0.4219  +0.3164  +0.2373
        0.50            0.50        0.50   +0.5000  +0.2500  +0.1250  +0.0625  +0.0312
        1.00            0.00        0.00   +0.0000  +0.0000  +0.0000  +0.0000  +0.0000
        1.50           -0.50        0.50   -0.5000  +0.2500  -0.1250  +0.0625  -0.0312
        2.00           -1.00        1.00   -1.0000  +1.0000  -1.0000  +1.0000  -1.0000
        2.10           -1.10        1.10   -1.1000  +1.2100  -1.3310  +1.4641  -1.6105

Lecture

  • ·

    qqq entre 0 et 1 : décroissance monotone.

  • ·

    q=0q=0q=0, soit η=1/λ\eta=1/\lambdaη=1/λ : le minimum est atteint en un seul pas. C'est le pas optimal, calculable ici parce que λ\lambdaλ est connu.

  • ·

    qqq entre −1-1−1 et 0 : le signe alterne, on saute par-dessus le minimum à chaque fois, mais on s'en rapproche.

  • ·

    ∣q∣≥1|q|\ge1∣q∣≥1 : à η=2\eta=2η=2 exactement, oscillation d'amplitude constante, jamais de convergence. Au-delà, l'écart est multiplié par 1,101{,}101,10 à chaque pas.

En dimension p : la courbure devient un spectre

Généralisons au quadratique multivarié f(θ)=12θ⊤Hθf(\theta)=\tfrac12\theta^{\top}H\thetaf(θ)=21​θ⊤Hθ, avec HHH symétrique définie positive. Alors grad⁡f(θ)=Hθ\operatorname{grad}f(\theta)=H\thetagradf(θ)=Hθ (vérification des dimensions : (p×p)(p×1)=p×1(p\times p)(p\times1)=p\times1(p×p)(p×1)=p×1, et un gradient a bien la dimension de θ\thetaθ).

En diagonalisant H=QΛQ⊤H=Q\Lambda Q^{\top}H=QΛQ⊤ et en posant θ~=Q⊤θ\tilde\theta=Q^{\top}\thetaθ~=Q⊤θ, chaque coordonnée évolue indépendamment selon θ~i,t=(1−ηλi)tθ~i,0\tilde\theta_{i,t}=(1-\eta\lambda_i)^{t}\tilde\theta_{i,0}θ~i,t​=(1−ηλi​)tθ~i,0​. Le problème se décompose en ppp problèmes à une variable, chacun avec sa courbure. La convergence exige la condition pour toutes les coordonnées, donc pour la plus grande.

0<η<2λmax⁡,κ=λmax⁡λmin⁡0<\eta<\frac{2}{\lambda_{\max}}, \qquad \kappa=\frac{\lambda_{\max}}{\lambda_{\min}}0<η<λmax​2​,κ=λmin​λmax​​
(3)
C'est la direction la plus courbée qui plafonne le pas, et la moins courbée qui fixe la vitesse. Le rapport des deux s'appelle le conditionnement.

Ce qui ne se transporte pas au réseau

Le réseau n'est pas quadratique et sa hessienne change à chaque pas. Tout ce qui précède est exact pour un quadratique et ne vaut ici que comme guide. Ce qui suit n'est donc pas une déduction : c'est une mesure.

Sur le réseau : la mesure, et ce qu'elle corrige

python cours/lecon3/experiences2.py E5 · 937 mises à jour, B = 64

           eta   perte finale   pire perte    ||theta||   precision test
         0.001         2.2312         2.56         11.8           0.3883   <- trop lent
      (depart)                                     11.8
         0.010         1.5757         2.47         12.2           0.7240   <- trop lent
         0.100         0.3919         2.39         16.6           0.8950
         0.500         0.2575         2.96         21.0           0.9208
         1.000         0.1958         4.74         25.3           0.9393
         3.000         0.1826         7.07         40.7           0.9410
        10.000         0.6677        17.44        105.2           0.7961   <- degrade
        30.000         5.2892        24.22        441.2           0.2051   <- pire que le hasard
       100.000        24.2415        27.20       2937.1           0.1032   <- pire que le hasard
       300.000        24.6940        27.63      15395.8           0.1010   <- pire que le hasard

Lecture

  • ·

    Une correction que la mesure impose. J'allais écrire « au-delà d'un seuil, la perte diverge ». C'est faux. À aucun η\etaη testé, jusqu'à 300, la perte ne devient infinie ni indéfinie.

  • ·

    La raison est dans le code : la perte est calculée avec un plancher de 10−1210^{-12}10−12 sur les probabilités, donc elle ne peut pas dépasser −ln⁡(10−12)=12ln⁡10=27,63-\ln(10^{-12})=12\ln10=27{,}63−ln(10−12)=12ln10=27,63. Et l'on mesure exactement 27,6327{,}6327,63 à η=300\eta=300η=300. Le plafond observé est le plancher numérique, pas une propriété du réseau.

  • ·

    Le vrai témoin de la divergence est la norme des paramètres : 11,8→105,2→441,2→2937,1→15 395,811{,}8 \to 105{,}2 \to 441{,}2 \to 2937{,}1 \to 15\,395{,}811,8→105,2→441,2→2937,1→15395,8, soit un facteur 1305. Les paramètres partent bien à l'infini ; c'est la perte qui ne peut pas les suivre.

  • ·

    Trop petit (η≤0,01\eta\le0{,}01η≤0,01) : la norme bouge à peine, et la courbe de perte descend proprement. C'est l'échec difficile à voir, parce qu'il ressemble à un entraînement qui marche.

  • ·

    La plage utile couvre un facteur 30 (0,10{,}10,1 à 333). C'est ce qui rend le réglage par tâtonnement praticable.

Deux panneaux. À gauche, en échelle logarithmique, l'écart au minimum pour quatre valeurs du pas sur le quadratique : trois droites descendantes pour les pas convergents, une droite montante pour le pas de 2,10. À droite, les courbes de perte du réseau pour quatre valeurs du pas, avec la norme finale des paramètres en légende, et une ligne horizontale marquant le plafond de calcul à 27,63.
(a) Le seuil exact est visible : au-delà de 2 sur lambda, l'écart au minimum grandit. (b) Sur le réseau, la perte ne renvoie jamais l'infini ; elle plafonne au plancher numérique, pendant que la norme des paramètres passe de 11,8 à 15 396.
DémonstrationRégler le pas, et voir la trajectoire

Vue de dessus

Coût par itération

025
0,100Trop lent

Le coût baisse, mais la trajectoire s'arrête avant d'arriver. Rien n'indique l'erreur : c'est l'échec difficile à voir.

La surface est f(x,y)=12x2+3y2f(x,y)=\tfrac12 x^{2}+3y^{2}f(x,y)=21​x2+3y2, de courbures 111 et 666 : le seuil exact vaut donc 2/6≈0,3332/6\approx0{,}3332/6≈0,333. Descendez à 0,005, la trajectoire s'arrête avant d'arriver ; montez à 0,35, elle sort du cadre. Entre les deux, tout marche.

La méthode qui en découle

Commencer haut, diviser par trois tant que la précision se dégrade. Quatre ou cinq essais de quelques dizaines de secondes suffisent, et c'est plus rapide que de raisonner sur une valeur propre maximale qu'on ne connaît pas.

Vérification rapide n° 11

À η=3\eta=3η=3, la précision est 0,94100{,}94100,9410, la meilleure de la table, et la pire perte rencontrée en cours de route est 7,077{,}077,07, bien au-dessus de ln⁡10=2,30\ln 10=2{,}30ln10=2,30, la perte d'un réseau qui répondrait au hasard.

  1. a

    Comment un entraînement peut-il passer par un état pire que le hasard et finir meilleur que tous les autres ? Donne l'explication en termes de trajectoire.

  2. b

    Quelle quantité faudrait-il tracer, en plus de la perte, pour distinguer cette situation d'un vrai début de divergence ?

Aucune réponse à cliquer : il y a un calcul à faire.

Où en sommes-nous

Ce que nous cherchons
Les conditions pour qu'une suite de pas amène quelque part.
Pourquoi
Direction, données et longueur du pas règlent la mise à jour, mais pas son point de départ.
Où nous en sommes
Les trois degrés de liberté de la règle sont traités.
L'étape suivante
Le point de départ. Nous avons écrit une fonction d'initialisation sans jamais la justifier.
Leçon suivante
PrécédenteLe lot complet, et le mini-lotSuivanteL'initialisation