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

La récurrence, et son corollaire

La récurrence qui descend jusqu'à la première couche, et le produit qu'elle fait apparaître.

Ce qu'on vient de faire pour une couche, peut-on le refaire pour toutes ?

Une colonne de couches, de la dernière tout en haut jusqu'à la couche l tout en bas, chacune reliée à la suivante par un barreau. Sur chaque barreau sont écrits les deux facteurs du pas, le poids de la couche du dessus et phi prime évaluée en la somme pondérée de la couche du dessous. À gauche de la colonne se lit le signal d'erreur de chaque couche, delta exposant grand L en haut, puis delta exposant grand L moins un, jusqu'à delta exposant l en bas. À droite, une seule ligne reprend bout à bout tous les facteurs de la colonne, delta exposant grand L d'abord, puis chaque poids et chaque phi prime du haut jusqu'à la couche l.
Descendre d'une couche coûte deux facteurs ; les accumuler de la sortie jusqu'à la couche lll donne un produit, et c'est la taille de ce produit qui décide de ce qui parvient encore aux premières couches.

Le calcul de la couche précédente ne tenait à rien de particulier à cette couche, et il va donc se répéter jusqu'au premier rang. Écrire cette répétition comme une récurrence donne une formule unique pour toutes les couches, puis, une fois déroulée, un produit dont la taille dit ce qu'il reste du signal quand le réseau est profond.

Le signal d'erreur d'une couche

Signal d'erreur d'une couche

Sur un réseau à un neurone par couche, δ[l]=∂ℓ/∂z[l]\delta^{[l]}=\partial\ell/\partial z^{[l]}δ[l]=∂ℓ/∂z[l], la dérivée de la perte par rapport à la somme pondérée de la couche lll. C'est le scalaire dont le chapitre 4 a fait un vecteur.

DérivationLe signal d'erreur se transporte d'une couche à la précédente
1

Hypothèses

  • ·

    Réseau à un neurone par couche, équations (5.4) prolongées à LLL couches.

  • ·

    φ\varphiφ dérivable en z[l]z^{[l]}z[l] pour tout lll.

  • ·

    Perte appariée à l'activation de sortie, définie page 6 et établie par le calcul de la page 5.

  • ·

    Le rang lll parcourt [ ⁣[1,L−1] ⁣][\![1,L-1]\!][[1,L−1]], les entiers de 111 à L−1L-1L−1 ; le rang LLL est celui de l'initialisation.

2

Chaîne de dépendances

z^{[l]} → a^{[l]} → z^{[l+1]} → ℓ

3

Propriétés utilisées

  • ·

    Récurrence descendante sur lll, de LLL vers 111

  • ·

    Règle de la chaîne, forme simple, formule (5.2)

  • ·

    δ[L]=a[L]−y\delta^{[L]}=a^{[L]}-yδ[L]=a[L]−y, page 5

4

Étapes

  1. Initialisation, au rang LLL. La page 5 a établi ∂ℓ/∂z[L]=a[L]−y\partial\ell/\partial z^{[L]}=a^{[L]}-y∂ℓ/∂z[L]=a[L]−y en court-circuitant les deux derniers facteurs, ce que l'appariement de l'entropie croisée et de σ\sigmaσ autorise. Le rang LLL est donc acquis sans rien démontrer de plus.

    δ[L]=a[L]−y\delta^{[L]}=a^{[L]}-yδ[L]=a[L]−y
  2. Hérédité, la chaîne. Soit l≤L−1l\leq L-1l≤L−1, et supposons δ[l+1]\delta^{[l+1]}δ[l+1] connu. La quantité z[l]z^{[l]}z[l] n'influence ℓ\ellℓ qu'à travers a[l]a^{[l]}a[l], qui n'influence ℓ\ellℓ qu'à travers z[l+1]z^{[l+1]}z[l+1] : la couche l+1l+1l+1 n'ayant qu'un neurone, il n'y a aucun embranchement.

  3. Hérédité, les deux facteurs. z[l+1]=w[l+1]a[l]+b[l+1]z^{[l+1]}=w^{[l+1]}a^{[l]}+b^{[l+1]}z[l+1]=w[l+1]a[l]+b[l+1] donne ∂z[l+1]/∂a[l]=w[l+1]\partial z^{[l+1]}/\partial a^{[l]}=w^{[l+1]}∂z[l+1]/∂a[l]=w[l+1], et a[l]=φ(z[l])a^{[l]}=\varphi(z^{[l]})a[l]=φ(z[l]) donne ∂a[l]/∂z[l]=φ′(z[l])\partial a^{[l]}/\partial z^{[l]}=\varphi'(z^{[l]})∂a[l]/∂z[l]=φ′(z[l]).

  4. δ[l]=∂ℓ∂z[l+1]⋅∂z[l+1]∂a[l]⋅∂a[l]∂z[l]=δ[l+1] w[l+1] φ′(z[l])\delta^{[l]}=\frac{\partial\ell}{\partial z^{[l+1]}}\cdot\frac{\partial z^{[l+1]}}{\partial a^{[l]}}\cdot\frac{\partial a^{[l]}}{\partial z^{[l]}}=\delta^{[l+1]}\,w^{[l+1]}\,\varphi'(z^{[l]})δ[l]=∂z[l+1]∂ℓ​⋅∂a[l]∂z[l+1]​⋅∂z[l]∂a[l]​=δ[l+1]w[l+1]φ′(z[l])

    Formule (5.2) sur la chaîne sans embranchement, puis substitution des deux dérivées.

  5. Conclusion. Le signal du rang LLL est connu, et celui du rang lll se déduit de celui du rang l+1l+1l+1 : de proche en proche, δ[l]\delta^{[l]}δ[l] est déterminé pour tout lll de LLL jusqu'à 111.

5

Résultat

δ[l]=δ[l+1] w[l+1] φ′(z[l]),∂ℓ∂w[l]=δ[l]a[l−1],∂ℓ∂b[l]=δ[l]\delta^{[l]}=\delta^{[l+1]}\,w^{[l+1]}\,\varphi'(z^{[l]}),\qquad\frac{\partial\ell}{\partial w^{[l]}}=\delta^{[l]}a^{[l-1]},\qquad\frac{\partial\ell}{\partial b^{[l]}}=\delta^{[l]}δ[l]=δ[l+1]w[l+1]φ′(z[l]),∂w[l]∂ℓ​=δ[l]a[l−1],∂b[l]∂ℓ​=δ[l]
6

Interprétation

Un seul passage de la sortie vers l'entrée suffit : à chaque couche, deux multiplications produisent le signal de la couche inférieure, et deux identités en tirent les deux dérivées de paramètres.

Ce que ce résultat ne dit pas

  • ·

    Le raisonnement suppose un neurone par couche : c'est là qu'il n'y a pas d'embranchement.

  • ·

    Aux points où φ\varphiφ n'est pas dérivable, φ′\varphi'φ′ est la valeur donnée par la convention du chapitre 2, et l'égalité y est une convention, pas un théorème.

Les trois signaux d'erreur descendent les trois couches l'un après l'autre, puis le produit déroulé donne le même nombre, à écart nul.

Trois segments horizontaux épais sont posés l'un au-dessus de l'autre, régulièrement espacés, occupant la hauteur de l'écran. Sur le segment du haut s'inscrit le symbole delta exposant trois à gauche et, à droite, sa valeur en brique : moins zéro virgule cent cinquante-quatre mille quatre cent soixante-cinq. Entre le premier et le deuxième segment apparaît alors un facteur, fois w exposant trois fois phi prime de z exposant deux, et un trait brique descend du premier barreau au second, où delta exposant deux s'inscrit avec sa valeur, moins zéro virgule trois cent huit mille neuf cent trente et un — le double de la précédente. Le même mouvement se répète vers le troisième barreau, portant delta exposant un et moins zéro virgule quatre cent soixante-trois mille trois cent quatre-vingt-seize. Les trois barreaux pâlissent alors, et une seule longue expression s'écrit sous eux, produit de six facteurs ; à son extrémité paraît la même valeur que celle du dernier barreau, et au-dessous la mention d'un écart nul.

0:00 / 0:14

Le corollaire : la récurrence déroulée

∂ℓ∂w[1]=(a[L]−y)⋅∏l=2Lw[l]⋅∏l=1L−1φ′(z[l])⋅x\frac{\partial\ell}{\partial w^{[1]}}=\big(a^{[L]}-y\big)\cdot\prod_{l=2}^{L}w^{[l]}\cdot\prod_{l=1}^{L-1}\varphi'(z^{[l]})\cdot x∂w[1]∂ℓ​=(a[L]−y)⋅l=2∏L​w[l]⋅l=1∏L−1​φ′(z[l])⋅x
(5.6)
Obtenu en déroulant la récurrence de l=Ll=Ll=L jusqu'à l=1l=1l=1 : L−1L-1L−1 poids et L−1L-1L−1 dérivées d'activation.

Ce membre de droite porte deux produits, celui des poids ∏w[l]\prod w^{[l]}∏w[l] et celui des dérivées d'activation ∏φ′(z[l])\prod\varphi'(z^{[l]})∏φ′(z[l]). Majorer chaque φ′\varphi'φ′ par une constante c<1c<1c<1 borne le second par cL−1c^{L-1}cL−1, qui décroît géométriquement avec le nombre de couches, et le chapitre 2, page 9, a établi c=1/4c=1/4c=1/4 pour la sigmoïde ; mais ce majorant ne dit rien du premier produit, où chaque poids peut amplifier autant que l'activation atténue. Ce qui parvient aux premières couches dépend des deux produits à la fois, et un relevé couche par couche est le seul moyen d'en connaître la taille.

Le produit et la récurrence donnent le même nombre

Mesure 1 · la récurrence contre le produit déroulé

  dl/da1 = delta2 . w2       = -0.463396
  delta1 = dl/da1 . phi'(z1) = -0.463396
  dl/dw1 = delta1 . x        = -0.463396
  dl/db1 = delta1            = -0.463396

  -- le corollaire : la récurrence contre le produit déroulé ---------------
  (a3 - y) . w3 . phi'(z2) . w2 . phi'(z1) . x
  produit deroule   -0.463396
  recurrence        -0.463396
  ecart             0.000e+00

Lecture

  • ·

    La récurrence descend couche par couche et arrive à −0,463396-0{,}463396−0,463396.

  • ·

    Le produit déroulé (−0,154465)×2,0×1×1,5×1×1,0(-0{,}154465)\times 2{,}0\times 1\times 1{,}5\times 1\times 1{,}0(−0,154465)×2,0×1×1,5×1×1,0 vaut le même nombre.

  • ·

    L'écart est nul au bit près : ce sont les mêmes multiplications, dans un autre ordre.

Les six coefficients, vérifiés

Le plancher des différences finies

La perte est calculée à la précision de la machine près. La différence finie centrée divise l'écart de deux telles valeurs par 2h2h2h : l'erreur d'arrondi est donc amplifiée par 1/(2h)1/(2h)1/(2h), et le résultat porte une erreur absolue de l'ordre de εmachine ∣ℓ∣/(2h)\varepsilon_{\text{machine}}\,|\ell|/(2h)εmachine​∣ℓ∣/(2h), le plancher. C'est un ordre de grandeur et non un minimum garanti, puisque les deux arrondis se compensent parfois en partie et qu'un coefficient peut alors tomber sous cette valeur. Le plancher ne dépend ni du coefficient ni du bloc, et ce qu'on lit ci-dessous est l'écart absolu, avec son rapport à ce plancher.

Mesure 2 · différences finies centrées, $h=10^{-6}$

  plancher d'erreur ABSOLUE  eps_machine x |perte| / 2h  =  1.86e-11
  il ne depend ni du coefficient ni du bloc

  coefficient   analytique        finies            ecart absolu   ecart / plancher
  w1            -0.463395795      -0.463395795      2.85e-11          1.53
  b1            -0.463395795      -0.463395795      2.85e-11          1.53
  w2            -0.308930530      -0.308930530      6.52e-11          3.50
  b2            -0.308930530      -0.308930530      6.52e-11          3.50
  w3            -0.169911792      -0.169911792      1.69e-11          0.90
  b3            -0.154465265      -0.154465265      3.68e-11          1.97

Lecture

  • ·

    Les six coefficients du réseau, donc le gradient entier : sur ce réseau, la vérification est exhaustive.

  • ·

    Les deux colonnes de valeurs coïncident sur neuf décimales.

  • ·

    Le plancher vaut 1,86⋅10−111{,}86\cdot 10^{-11}1,86⋅10−11, et les six écarts en font de 0,900{,}900,90 à 3,503{,}503,50 fois : w[3]w^{[3]}w[3] passe en dessous, ce que l'ordre de grandeur autorise, et aucun n'est en dehors du bruit d'arrondi.

  • ·

    w[1]w^{[1]}w[1] et b[1]b^{[1]}b[1] ont la même dérivée parce que x=1x=1x=1 ; w[2]w^{[2]}w[2] et b[2]b^{[2]}b[2] aussi parce que a[1]=1a^{[1]}=1a[1]=1.

Vérification rapide n° 55

L'arbre de la page 4 porte tous les trajets du réseau minuscule.

  1. a

    Décomposer ∂ℓ/∂w[2]\partial\ell/\partial w^{[2]}∂ℓ/∂w[2] en produit de dérivées élémentaires, en suivant l'arbre.

  2. b

    Combien de facteurs ce produit compte-t-il ?

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

Vérification rapide n° 56

La récurrence et le produit déroulé sont deux organisations du même calcul.

  1. a

    Vérifier sur les valeurs de la mesure 1 que les deux donnent le même nombre pour ∂ℓ/∂w[1]\partial\ell/\partial w^{[1]}∂ℓ/∂w[1].

  2. b

    Combien de multiplications chacune demande-t-elle pour ce seul coefficient ?

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

Vérification rapide n° 57

Le corollaire (5.6) écrit ∂ℓ/∂w[1]\partial\ell/\partial w^{[1]}∂ℓ/∂w[1] comme un produit.

  1. a

    Si chaque φ′\varphi'φ′ vaut au plus 1/41/41/4, majorer ∣∂ℓ/∂w[1]∣|\partial\ell/\partial w^{[1]}|∣∂ℓ/∂w[1]∣ pour un réseau à six couches, en fonction de ∣δ[L]∣|\delta^{[L]}|∣δ[L]∣, des ∣w[l]∣|w^{[l]}|∣w[l]∣ et de ∣x∣|x|∣x∣.

  2. b

    Combien de facteurs φ′\varphi'φ′ ce majorant fait-il intervenir ?

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

La récurrence est acquise pour un neurone par couche, et elle tient tout entière à l'absence d'embranchement, qui vient de ce qu'une couche ne compte qu'un seul neurone ; reste à savoir ce qu'elle devient quand une couche en compte cent.

Leçon suivante
PrécédenteLa couche précédenteSuivantePlusieurs neurones par couche