La troisième voie : les activations
Une correction qu'on ne peut pas appliquer telle quelle, et d'où vient le mot propagation.
Il reste les cent mille coefficients de la première couche, et rien de ce qui précède ne les atteint. La troisième prise, l'activation d'avant, n'est pas un réglage : que peut-on en tirer tout de même ?
Une seule quantité varie d'une ligne à l'autre, le poids, et c'est elle qui décide du sens : le signal d'erreur, lui, est le même sur les quatre lignes puisqu'il s'agit du même neurone de sortie.
La proposition qui suit dit d'où vient ce signe, et pourquoi les tailles suivent le même rapport que les poids. Ce qu'elle ouvre, ce sont les coefficients de la première couche, que rien n'a encore atteints.
Ce qu'un seul neurone de sortie demande à une activation
Hypothèses
.
est fixé : les poids ne dépendent pas des activations.
.
Chaîne de dépendances
a_j^{[1]} → z_k^{[2]} → a^{[2]} → ℓ
Propriétés utilisées
Dérivation d'une somme dont un seul terme contient
Règle de la chaîne, forme simple, sur le chemin qui passe par
Étapes
Dans , un seul terme contient , et son facteur est .
Résultat
Interprétation
À fixé cette contribution est proportionnelle à , et si , ce qui est le cas du neurone de la vraie classe, elle est du signe opposé à : les activations reliées par un poids positif doivent monter, celles reliées par un poids négatif doivent descendre. Le sens demandé se lit sur un signe, sans aucun calcul.
Ce que ce résultat ne dit pas
C'est la contribution d'un seul neurone de sortie, et il y en a dix.
La contribution est une dérivée, pas une action : n'est pas un paramètre, et la section suivante en tire la conséquence.
Le sens demandé, lu sur le signe du poids · cours/lecon4/mesures.py, mesure 3
-- Le signe se lit sur le poids, ligne k = 2 (delta_2 < 0) ---------------
j W^[2]_2j delta_2 W_2j l'activation doit
1 +0.2363 -0.178491 monter
4 +0.0640 -0.048331 monter
2 -0.0420 +0.031698 descendre
7 -0.0232 +0.017562 descendreLecture
est le même pour les quatre lignes, seul le signe de change, et il décide seul du sens.
Un poids positif donne une contribution négative, donc la perte baisse quand monte ; un poids négatif donne l'inverse.
Les tailles suivent aussi, puisque et : le rapport des contributions est celui des poids, à l'arrondi des valeurs affichées près, et c'est la proportionnalité de la proposition 5.
Ce qu'on ne peut pas faire
La proposition 5 dit dans quel sens devrait varier, et cette information est inutilisable telle quelle parce que n'est pas un paramètre : c'est une valeur produite par le réseau, , et l'exemple ne se modifie pas davantage.
| Quantité | Modifiable ? | Ce qu'on en fait |
|---|---|---|
, | Oui | On applique la correction, propositions 3 et 4 |
Non | On note la correction souhaitée, et on la reporte en arrière | |
, | Oui | Ils déterminent : c'est sur eux que le report arrive |
Non | C'est la donnée, et rien ne la modifie |
D'où vient le mot
La correction souhaitée sur ne peut être ni appliquée ni oubliée, et elle est donc reportée sur les quantités qui déterminent , c'est-à-dire sur et , et si le réseau avait une couche de plus sur les activations d'encore avant, qui à leur tour reporteraient. Une demande formulée à la sortie remonte ainsi de couche en couche, à contre-courant du calcul qui l'a produite, et c'est de là que vient le mot « rétropropagation ».
Un neurone caché est relié au neurone de la vraie classe par un poids négatif : , et .
- a
Son activation doit-elle monter ou descendre ? Donner le signe de avant de répondre.
- b
La réponse change-t-elle si l'on remplace le neurone de la vraie classe par un neurone , à poids négatif lui aussi ?
Aucune réponse à cliquer : il y a un calcul à faire.