Les gradients évanescents
Ce qui arrive au gradient quand il traverse plusieurs couches de sigmoïdes.
Hypothèses
est la sigmoïde logistique, et est réel
Point de départ
Étapes
Posons , qui parcourt l'intervalle ouvert de zéro à un, et étudions la fonction .
changement de variable
La dérivée s'annule en , est positive avant et négative après : c'est un maximum.
étude du signe de la dérivée
Comme est une bijection croissante de sur l'intervalle ouvert de zéro à un, avec , l'égalité a lieu exactement en .
bijectivité de la sigmoïde
Résultat
Interprétation
Le maximum lui-même est inférieur à un. C'est cela qui va tout gouverner : chaque couche traversée multiplie le gradient par un facteur au plus égal à un quart.
La dérivée de la sigmoïde, en quelques points
0,0 | 0,500000 | 0,250000 |
1,0 | 0,731059 | 0,196612 |
2,0 | 0,880797 | 0,104994 |
4,0 | 0,982014 | 0,017663 |
6,0 | 0,997527 | 0,002467 |
La conséquence sur L couches
En prenant les normes dans la relation de rétropropagation, avec et la norme d'opérateur, puis en itérant de la dernière couche jusqu'à la couche :
python cours/lecon3/experiences2.py E8 · réseau 784-64-64-64-64-10
activation couche 1 couche 2 couche 3 couche 4 couche 5 rapport 5/1
sigmoide 3.641e-03 7.416e-03 3.050e-02 1.502e-01 6.926e-01 190.2
relu 9.120e-01 2.869e-01 2.691e-01 2.726e-01 3.040e-01 0.3Lecture
Avec la sigmoïde, la norme du gradient est multipliée par environ 4 à chaque couche en remontant. Rapport total : 190,2.
La borne théorique prédisait au plus . Le mesuré (190) et la borne (256) sont du même ordre, la borne n'étant pas atteinte parce que la dérivée vaut un quart seulement en zéro, et un peu moins ailleurs.
Avec la ReLU, le rapport est : il n'y a pas d'atténuation multiplicative, parce que la dérivée vaut zéro ou un, jamais un facteur d'amortissement intermédiaire.
Conséquence pratique : avec un pas identique pour toutes les couches, la couche 1 du réseau sigmoïde reçoit des mises à jour 190 fois plus petites que la couche 5. Elle apprend 190 fois plus lentement, alors que c'est elle qui voit les pixels.
On mesure un rapport de 190 entre la couche 5 et la couche 1 sur un réseau à cinq couches sigmoïdes.
- a
Quel rapport prédirait la borne pour un réseau à dix couches sigmoïdes, en supposant les normes des matrices proches de un ? Donne l'ordre de grandeur.
- b
Si la couche 10 reçoit un gradient de norme 1, quelle est la norme reçue par la couche 1 ? Compare à la précision d'un flottant 64 bits, environ , et conclus.
Aucune réponse à cliquer : il y a un calcul à faire.