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

L'assemblage, et le biais

Les trois dérivées mises bout à bout, et ce qu'un autre coût changerait au produit.

Que vaut le produit de ces trois rapports, sur des nombres ?

Quatre ronds alignés, marqués w exposant trois, z exposant trois, a exposant trois et la perte ell, reliés par trois flèches. Chaque flèche porte au-dessus la dérivée qu'elle représente et au-dessous sa valeur. La dérivée de z exposant trois par rapport à w exposant trois vaut un virgule cent mille, celle de a exposant trois par rapport à z exposant trois vaut zéro virgule cent trente mille six cent six, et celle de la perte ell par rapport à a exposant trois vaut moins un virgule cent quatre-vingt-deux mille six cent quatre-vingt-quatre. En pied, le produit des trois vaut moins zéro virgule cent soixante-neuf mille neuf cent douze.
Le dénominateur du dernier facteur est exactement le facteur qui le précède : leur produit vaut l'écart a[3]−ya^{[3]}-ya[3]−y, et c'est cet écart qui remplace les deux.

Deux des trois rapports se simplifient donc l'un l'autre, et ce qui reste est l'écart entre la sortie et la cible, multiplié par l'activation qui entre. Le biais suit la même chaîne, avec un coefficient qui vaut 111.

Les deux premiers facteurs se fondent en l'écart à la cible

Perte appariée à une activation de sortiematched loss and output activation

Une perte et une activation de sortie sont appariées quand le produit (∂ℓ/∂a[L])(∂a[L]/∂z[L])\big(\partial\ell/\partial a^{[L]}\big)\big(\partial a^{[L]}/\partial z^{[L]}\big)(∂ℓ/∂a[L])(∂a[L]/∂z[L]) se réduit à a[L]−ya^{[L]}-ya[L]−y, c'est-à-dire quand la dérivée de l'activation disparaît du produit au lieu d'y rester. L'entropie croisée binaire et σ\sigmaσ forment un tel couple, et c'est le calcul de la page 5 qui l'établit ; le coût quadratique et σ\sigmaσ n'en forment pas un.

DérivationLe poids et le biais de la dernière couche
1

Hypothèses

  • ·

    Réseau à un neurone par couche, équations (5.4).

  • ·

    Perte appariée à l'activation de sortie : entropie croisée binaire sur σ\sigmaσ.

  • ·

    La chaîne w[L]→z[L]→a[L]→ℓw^{[L]}\rightarrow z^{[L]}\rightarrow a^{[L]}\rightarrow\ellw[L]→z[L]→a[L]→ℓ est sans embranchement.

2

Chaîne de dépendances

w^{[L]} → z^{[L]} → a^{[L]} → ℓ

3

Propriétés utilisées

  • ·

    La décomposition en trois rapports, page 4

  • ·

    Les trois dérivées de la page 5

  • ·

    Le court-circuit de ∂ℓ/∂a[L]\partial\ell/\partial a^{[L]}∂ℓ/∂a[L] et de ∂a[L]/∂z[L]\partial a^{[L]}/\partial z^{[L]}∂a[L]/∂z[L], page 5

4

Étapes

  1. La somme pondérée donne deux dérivées. z[L]=w[L]a[L−1]+b[L]z^{[L]}=w^{[L]}a^{[L-1]}+b^{[L]}z[L]=w[L]a[L−1]+b[L] est affine en w[L]w^{[L]}w[L] comme en b[L]b^{[L]}b[L].

  2. ∂z[L]∂w[L]=a[L−1],∂z[L]∂b[L]=1\frac{\partial z^{[L]}}{\partial w^{[L]}}=a^{[L-1]},\qquad\frac{\partial z^{[L]}}{\partial b^{[L]}}=1∂w[L]∂z[L]​=a[L−1],∂b[L]∂z[L]​=1
  3. L'activation donne φ′\varphi'φ′. a[L]=φ(z[L])a^{[L]}=\varphi(z^{[L]})a[L]=φ(z[L]), donc ∂a[L]/∂z[L]=φ′(z[L])\partial a^{[L]}/\partial z^{[L]}=\varphi'(z^{[L]})∂a[L]/∂z[L]=φ′(z[L]).

  4. La perte est appariée à l'activation de sortie. Le facteur φ′(z[L])\varphi'(z^{[L]})φ′(z[L]) qu'on vient d'écrire est effacé par ∂ℓ/∂a[L]\partial\ell/\partial a^{[L]}∂ℓ/∂a[L], et il ne reste de leur produit que l'écart à la cible.

    ∂ℓ∂z[L]=a[L]−y\frac{\partial\ell}{\partial z^{[L]}}=a^{[L]}-y∂z[L]∂ℓ​=a[L]−y

    Page 5 : σ′(z[L])=a[L](1−a[L])\sigma'(z^{[L]})=a^{[L]}(1-a^{[L]})σ′(z[L])=a[L](1−a[L]) est exactement le dénominateur de ∂ℓ/∂a[L]\partial\ell/\partial a^{[L]}∂ℓ/∂a[L], et les deux facteurs s'annulent.

  5. On assemble. La décomposition en trois rapports donne le produit des trois facteurs ; les deux premiers viennent d'être remplacés par leur produit simplifié.

  6. ∂ℓ∂w[L]=(a[L]−y)⏟∂ℓ/∂z[L]⋅a[L−1]⏟∂z[L]/∂w[L],∂ℓ∂b[L]=(a[L]−y)⋅1\frac{\partial\ell}{\partial w^{[L]}}=\underbrace{\big(a^{[L]}-y\big)}_{\partial\ell/\partial z^{[L]}}\cdot\underbrace{a^{[L-1]}}_{\partial z^{[L]}/\partial w^{[L]}},\qquad\frac{\partial\ell}{\partial b^{[L]}}=\big(a^{[L]}-y\big)\cdot 1∂w[L]∂ℓ​=∂ℓ/∂z[L](a[L]−y)​​⋅∂z[L]/∂w[L]a[L−1]​​,∂b[L]∂ℓ​=(a[L]−y)⋅1
5

Résultat

∂ℓ∂w[L]=(a[L]−y) a[L−1],∂ℓ∂b[L]=a[L]−y\frac{\partial\ell}{\partial w^{[L]}}=\big(a^{[L]}-y\big)\,a^{[L-1]},\qquad\frac{\partial\ell}{\partial b^{[L]}}=a^{[L]}-y∂w[L]∂ℓ​=(a[L]−y)a[L−1],∂b[L]∂ℓ​=a[L]−y
6

Interprétation

Le biais est le cas le plus simple : le facteur qui le multiplie dans la somme pondérée vaut 111, donc sa dérivée est l'écart lui-même, et elle ne dépend d'aucune activation.

Ce que ce résultat ne dit pas

  • ·

    Le court-circuit tient à l'appariement de la perte et de l'activation de sortie ; avec un autre couple, φ′\varphi'φ′ ne disparaît pas.

  • ·

    Ces deux identités ne concernent que la dernière couche.

Avec le coût quadratique, la pente de l'activation reste au produit

Si la perte était ℓ=(a[L]−y)2\ell=(a^{[L]}-y)^{2}ℓ=(a[L]−y)2, sa dérivée par rapport à l'activation vaudrait 2(a[L]−y)2(a^{[L]}-y)2(a[L]−y), aucun dénominateur ne viendrait effacer φ′\varphi'φ′, et ce facteur resterait au produit.

Perte∂ℓ/∂a[L]\partial\ell/\partial a^{[L]}∂ℓ/∂a[L]∂ℓ/∂w[L]\partial\ell/\partial w^{[L]}∂ℓ/∂w[L]

Quadratique

2(a[L]−y)2\big(a^{[L]}-y\big)2(a[L]−y)

2(a[L]−y) φ′(z[L]) a[L−1]2\big(a^{[L]}-y\big)\,\varphi'(z^{[L]})\,a^{[L-1]}2(a[L]−y)φ′(z[L])a[L−1]

Entropie croisée, appariée à σ\sigmaσ

a[L]−ya[L](1−a[L])\dfrac{a^{[L]}-y}{a^{[L]}(1-a^{[L]})}a[L](1−a[L])a[L]−y​

(a[L]−y) a[L−1]\big(a^{[L]}-y\big)\,a^{[L-1]}(a[L]−y)a[L−1]

L'appariement fait disparaître φ′\varphi'φ′ de la dernière couche, et le facteur 222 avec lui.

Écart n°1

La source emploie le coût quadratique, d'où sa dérivée 2(a−y)2(a-y)2(a−y). Le cours emploie l'entropie croisée depuis le chapitre 2, d'où l'écart a[L]−ya^{[L]}-ya[L]−y seul, sans facteur 222 et sans φ′\varphi'φ′. Les deux formes figurent ci-dessus, et la différence vient de la perte, pas du procédé.

En nombres : le poids porte une activation, le biais porte l'écart seul

Mesure 1 · la passe arrière, dernière couche

  delta3 = a3 - y            = -0.154465
  dl/dw3 = delta3 . a2       = -0.169912
  dl/db3 = delta3            = -0.154465

Lecture

  • ·

    δ[3]=0,845535−1=−0,154465\delta^{[3]}=0{,}845535-1=-0{,}154465δ[3]=0,845535−1=−0,154465 : la sortie est en dessous de la cible, l'écart est négatif.

  • ·

    ∂ℓ/∂w[3]=−0,154465×1,100000=−0,169912\partial\ell/\partial w^{[3]}=-0{,}154465\times 1{,}100000=-0{,}169912∂ℓ/∂w[3]=−0,154465×1,100000=−0,169912, la valeur déjà obtenue page 5 par le produit des trois.

  • ·

    ∂ℓ/∂b[3]=−0,154465\partial\ell/\partial b^{[3]}=-0{,}154465∂ℓ/∂b[3]=−0,154465 : aucune activation n'y figure.

Le gradient du coût est la moyenne des gradients des exemples

Le coût sur un jeu de données est la moyenne des pertes de ses exemples, et la dérivée d'une moyenne est la moyenne des dérivées : gradθ CD\mathrm{grad}_{\boldsymbol{\theta}}\,C_{\mathcal{D}}gradθ​CD​ est la moyenne des gradθ ℓ(n)\mathrm{grad}_{\boldsymbol{\theta}}\,\ell^{(n)}gradθ​ℓ(n), sans facteur ni approximation. C'est démontré au chapitre 4, proposition 7.

Deux composantes du gradient sur six

Le réseau minuscule a six paramètres, donc son gradient a six composantes. Les deux identités ci-dessus en donnent deux, celle du poids et celle du biais de la dernière couche, et les quatre autres portent sur w[2],b[2],w[1],b[1]w^{[2]},b^{[2]},w^{[1]},b^{[1]}w[2],b[2],w[1],b[1], qu'aucune des deux ne touche.

Vérification rapide n° 53

Le tableau des deux coûts donne deux expressions de ∂ℓ/∂w[L]\partial\ell/\partial w^{[L]}∂ℓ/∂w[L].

  1. a

    Avec le coût quadratique, la dérivée par rapport au dernier poids comporte un facteur que notre perte fait disparaître. Lequel ?

  2. b

    Pourquoi disparaît-il ?

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

Vérification rapide n° 54

Le gradient compte une composante par paramètre, formule (5.1).

  1. a

    Combien de composantes le gradient du réseau 784→128→10784\rightarrow 128\rightarrow 10784→128→10 compte-t-il ?

  2. b

    Combien les deux identités de la dernière couche en donnent-elles sur le réseau minuscule, et combien en reste-t-il ?

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

Aucun de ces quatre paramètres n'apparaît dans z[L]z^{[L]}z[L], et sur l'arbre de la page 4 ils atteignent tous la perte par le même nœud, l'activation a[L−1]a^{[L-1]}a[L−1].

Leçon suivante
PrécédenteLes trois dérivées constitutivesSuivanteLa couche précédente