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

La première voie : le biais

Corriger un biais : la plus simple des trois corrections, parce que son effet ne passe par rien.

La sortie dit dans quel sens chacune de ses dix sommes pondérées doit bouger, et aucune de ces dix sommes ne se règle, puisque ce sont des résultats. Sur quoi pose-t-on la main pour les faire bouger tout de même ?

Trois cadres empilés à gauche, chacun relié par une flèche à un même rond posé à droite, qui porte la somme pondérée du neurone de sortie de la classe deux. Le premier cadre, en brique, porte le biais de ce neurone et la valeur de la dérivée de la perte par rapport à lui, moins zéro virgule sept cent cinquante-cinq mille quatre cent soixante et un. Le deuxième, en brique aussi, porte le poids venant du quatre-vingt-douzième neurone caché et la valeur de sa dérivée, moins un virgule deux cent un mille quatre cent neuf. Le troisième, en gris, porte l'activation précédente et la valeur de sa dérivée, plus zéro virgule zéro zéro six mille quatre cent deux. En pied, deux mentions : les deux premières se règlent, la troisième ne se règle pas.
Deux des trois prises sont des paramètres ; la troisième est un résultat.

Trois sortes de quantités entrent dans la somme pondérée d'un neurone de sortie, et le cadre en montre une de chaque, avec la valeur mesurée de sa dérivée.

Chacune des trois se démontre à son tour. Les deux premières s'appliquent ; la troisième se lit, mais on n'a rien à quoi l'appliquer, et c'est d'elle que naît tout le reste du chapitre.

Trois voies vers une somme pondérée

zk[2]=∑j=1128Wkj[2] aj[1]+bk[2]z_{k}^{[2]}=\sum_{j=1}^{128}W_{kj}^{[2]}\,a_{j}^{[1]}+b_{k}^{[2]}zk[2]​=j=1∑128​Wkj[2]​aj[1]​+bk[2]​
(4.5)
Trois sortes de quantités y figurent : un biais, cent vingt-huit poids, cent vingt-huit activations.
VoieStatutEffet sur zkz_{k}zk​ d'une variation de 111

bk[2]b_{k}^{[2]}bk[2]​

Paramètre

111, quelles que soient les activations

Wkj[2]W_{kj}^{[2]}Wkj[2]​

Paramètre

aj[1]a_{j}^{[1]}aj[1]​, qui dépend de l'exemple

aj[1]a_{j}^{[1]}aj[1]​

Pas un paramètre

Wkj[2]W_{kj}^{[2]}Wkj[2]​, mais rien ne permet de la faire varier directement

Le biais vient en premier parce que son effet ne passe par rien : il s'ajoute à la somme, et le facteur qui le multiplie vaut 111. Les poids viennent ensuite parce que leur effet passe par une activation, et les activations en dernier parce qu'elles ne sont pas des paramètres.

La dérivée par rapport à un biais de sortie

DérivationLa dérivée par rapport à un biais de sortie est le signal d'erreur lui-même (proposition 3)
1

Hypothèses

  • ·

    zm[2]=∑jWmj[2]aj[1]+bm[2]z_{m}^{[2]}=\sum_{j}W_{mj}^{[2]}a_{j}^{[1]}+b_{m}^{[2]}zm[2]​=∑j​Wmj[2]​aj[1]​+bm[2]​ pour tout m∈[ ⁣[0,9] ⁣]m\in[\![0,9]\!]m∈[[0,9]].

  • ·

    δ[2]=gradz[2] ℓ\boldsymbol{\delta}^{[2]}=\mathrm{grad}_{\mathbf{z}^{[2]}}\,\ellδ[2]=gradz[2]​ℓ, définition page 3.

  • ·

    ℓ\ellℓ ne dépend de bk[2]b_{k}^{[2]}bk[2]​ qu'à travers z[2]\mathbf{z}^{[2]}z[2].

2

Chaîne de dépendances

b_k^{[2]} → z^{[2]} → a^{[2]} → ℓ

3

Propriétés utilisées

  • ·

    Règle de la chaîne à plusieurs chemins, formule (4.4)

  • ·

    Dérivation d'une somme dont un seul terme dépend de la variable

4

Étapes

  1. On dérive la somme pondérée. Dans zm[2]z_{m}^{[2]}zm[2]​, le biais bk[2]b_{k}^{[2]}bk[2]​ n'apparaît que si m=km=km=k, et il y apparaît avec le coefficient 111.

  2. ∂zk[2]∂bk[2]=1,∂zm[2]∂bk[2]=0  pour m≠k\frac{\partial z_{k}^{[2]}}{\partial b_{k}^{[2]}}=1,\qquad \frac{\partial z_{m}^{[2]}}{\partial b_{k}^{[2]}}=0\ \ \text{pour}\ m\neq k∂bk[2]​∂zk[2]​​=1,∂bk[2]​∂zm[2]​​=0  pour m=k
  3. On applique la règle de la chaîne à plusieurs chemins. bk[2]b_{k}^{[2]}bk[2]​ pourrait a priori influencer ℓ\ellℓ à travers les dix composantes de z[2]\mathbf{z}^{[2]}z[2], et la ligne précédente montre que neuf de ces dix chemins ont une dérivée nulle.

  4. ∂ℓ∂bk[2]=∑m=09∂ℓ∂zm[2] ∂zm[2]∂bk[2]=∂ℓ∂zk[2]⋅1=δk[2]\frac{\partial\ell}{\partial b_{k}^{[2]}}=\sum_{m=0}^{9}\frac{\partial\ell}{\partial z_{m}^{[2]}}\,\frac{\partial z_{m}^{[2]}}{\partial b_{k}^{[2]}}=\frac{\partial\ell}{\partial z_{k}^{[2]}}\cdot 1=\delta_{k}^{[2]}∂bk[2]​∂ℓ​=m=0∑9​∂zm[2]​∂ℓ​∂bk[2]​∂zm[2]​​=∂zk[2]​∂ℓ​⋅1=δk[2]​

    Neuf des dix chemins portent un facteur nul ; il ne reste que le chemin m=km=km=k, de facteur 111.

5

Résultat

gradb[2] ℓ=δ[2] ∈R10\mathrm{grad}_{\mathbf{b}^{[2]}}\,\ell=\boldsymbol{\delta}^{[2]}\ \in\mathbb{R}^{10}gradb[2]​ℓ=δ[2] ∈R10
6

Interprétation

Cette dérivée ne dépend d'aucune activation, et c'est en ce sens précis que le biais est la voie la plus simple : son effet sur la somme pondérée est constant, il ne passe par rien, et il est le même pour tous les exemples à signal d'erreur égal. Le gradient des biais de sortie n'est pas seulement calculable à partir de δ[2]\boldsymbol{\delta}^{[2]}δ[2], il est δ[2]\boldsymbol{\delta}^{[2]}δ[2].

Ce que ce résultat ne dit pas

  • ·

    La proposition porte sur les biais de la couche de sortie. Pour b[1]\mathbf{b}^{[1]}b[1] le même argument s'applique, mais avec δ[1]\boldsymbol{\delta}^{[1]}δ[1], qu'on ne sait pas encore calculer.

La dérivée par rapport au biais, mesurée · cours/lecon4/mesures.py, mesure 3

  -- Le biais, et un poids -------------------------------------------------
  dérivée par rapport au biais b^[2]_2          -0.755461
  dérivée par rapport au poids W^[2]_(2,92)       -1.201409
  activation a^[1]_92                          1.5903
  contrôle de l'identité delta_2 x a_92         -1.201409
  écart entre la dérivée et le produit          0.000e+00

Lecture

  • ·

    ∂ℓ/∂b2[2]=−0,755461\partial\ell/\partial b_{2}^{[2]}=-0{,}755461∂ℓ/∂b2[2]​=−0,755461, c'est-à-dire exactement le δ2[2]\delta_{2}^{[2]}δ2[2]​ lu à la mesure 1, et la proposition 3 se lit ainsi sur une seule ligne.

  • ·

    Le nombre est négatif, donc augmenter le biais du neurone de la classe 222 fait baisser la perte, et le pas de descente −η ∂ℓ/∂b2-\eta\,\partial\ell/\partial b_{2}−η∂ℓ/∂b2​ est positif, ce qui fait monter le biais.

  • ·

    Pour les neuf autres neurones δk>0\delta_{k}>0δk​>0, la dérivée est positive, le pas est négatif et le biais descend. Aucune intuition n'est nécessaire : le signe suffit.

Le biais du neurone de sortie 222 est poussé, et la sortie suit — de la même quantité, sans facteur.

Le réseau pâlit, puis le troisième rond de la colonne de sortie et son étiquette passent au trait de brique. Dans la bande libre, à droite de ce neurone, deux barres verticales se dressent sur une même ligne de base : la première, celle du biais, est plate — elle vaut zéro ; la seconde, celle de la somme pondérée, monte aux trois quarts de la hauteur disponible. Sous chacune, son nom est composé. Un segment de brique pousse alors depuis la ligne sur la première barre, et au même instant un second segment de brique, exactement aussi long, pousse au sommet de la seconde. Les deux s'arrêtent ensemble ; un trait de brique marque le bout de chacun, et au-dessus de chaque trait s'inscrit la même valeur, plus zéro virgule trois mille. Pendant que les segments montent, le rond de sortie en brique s'assombrit.

0:00 / 0:09
Vérification rapide n° 36

La mesure 1 donne δ2=−0,7555\delta_{2}=-0{,}7555δ2​=−0,7555 et δk>0\delta_{k}>0δk​>0 pour les neuf autres classes. Le pas de descente s'écrit bk←bk−η ∂ℓ/∂bkb_{k}\leftarrow b_{k}-\eta\,\partial\ell/\partial b_{k}bk​←bk​−η∂ℓ/∂bk​ avec η>0\eta>0η>0.

  1. a

    Dans quel sens le biais du neurone de la vraie classe est-il poussé, et dans quel sens ceux des neuf autres ? Justifier par le signe de la dérivée, non par l'intuition.

  2. b

    De combien le biais b2[2]b_{2}^{[2]}b2[2]​ bouge-t-il pour η=0,5\eta=0{,}5η=0,5 ?

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

Vérification rapide n° 37

La proposition 3 donne ∂ℓ/∂bk[2]=δk[2]\partial\ell/\partial b_{k}^{[2]}=\delta_{k}^{[2]}∂ℓ/∂bk[2]​=δk[2]​, sans qu'aucune activation n'apparaisse.

  1. a

    Pourquoi la dérivée par rapport à un biais ne dépend-elle d'aucune activation, alors que celle par rapport à un poids en dépend ? Répondre en dérivant la formule (4.5).

  2. b

    Deux exemples différents donnent-ils la même dérivée par rapport à b2[2]b_{2}^{[2]}b2[2]​ ? Et par rapport à W2,92[2]W_{2,92}^{[2]}W2,92[2]​ ?

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

Leçon suivante
PrécédenteUn seul exemple, et ce que sa sortie réclameSuivanteLa deuxième voie : les poids