Ce que la profondeur coûte, ce que l'algorithme économise
Ce que la profondeur fait au signal d'erreur, et ce que l'algorithme coûte.
Un réseau s'évalue en une traversée, et se corrige en reprenant chacun de ses poids, que le signal d'erreur atteint en remontant les couches une à une. Que reste-t-il de ce signal arrivé au premier rang, et un réseau profond coûte-t-il plus cher à corriger qu'à évaluer ?
La norme du signal d'erreur se relève couche par couche sur un réseau à quatre couches cachées, puis sur le même à huit, et le gradient entier se compte en multiplications.
Ce que la profondeur fait au signal d'erreur
Le relevé porte sur un réseau non entraîné, initialisé par la méthode He avec la graine , sur un seul exemple, et les deux activations y partagent les mêmes poids : d'un relevé à l'autre, seule change. La norme relevée est la norme euclidienne, et les cinq vecteurs ne vivent pas dans le même espace, à étant dans et dans : le rapport de la dernière couche à la première divise deux normes prises en dimensions différentes.
Mesure 3 · norme de $\boldsymbol{\delta}^{[l]}$, couche par couche
-- quatre couches cachees · 784 -> 64 -> 64 -> 64 -> 64 -> 10 ------------
relu perte 1.8785
l=1 : 0.734 l=2 : 0.8847 l=3 : 1.025 l=4 : 0.924 l=5 : 0.8997
rapport sortie / premiere couche : 1.2 sur 4 traversees
attenuation moyenne par traversee : 1.05 (pire cas annonce par phi' <= 1/4 : 4)
sigmoide perte 1.7828
l=1 : 0.006729 l=2 : 0.0236 l=3 : 0.09483 l=4 : 0.3029 l=5 : 0.8975
rapport sortie / premiere couche : 133.4 sur 4 traversees
attenuation moyenne par traversee : 3.40 (pire cas annonce par phi' <= 1/4 : 4)Lecture
Avec , la norme du signal reste du même ordre sur les cinq couches : le rapport de la sortie à la première couche vaut .
Avec la sigmoïde, elle est divisée par entre la sortie et la première couche, en quatre traversées.
Chaque traversée divise en moyenne par , et une traversée multiplie par deux choses, un poids et une dérivée d'activation. Le majorant , démontré au chapitre 2, page 9, ne borne que la seconde, et le que la sortie rappelle en regard de chaque relevé ne concerne donc que .
Le rapport mesuré est en deçà de : si les poids n'avaient fait qu'atténuer, quatre traversées auraient divisé par au moins, et c'est donc le produit des poids qui compense. L'atténuation d'un réseau profond se mesure, elle ne se déduit pas d'un majorant qui ne porte que sur .
Toute la mesure 3 porte sur un seul exemple : la première image de classe du jeu d'entraînement, désignée par ce critère et non tirée au sort. Les rapports et , et donc l'atténuation moyenne , en dépendent, et une autre image donne d'autres valeurs, dont l'ordre de grandeur ne change pas.
Un tableau carré de coefficients occupe le haut de l'écran, chacune de ses cases remplie d'une encre uniforme ; une cote indique qu'il s'agit de la transposée d'un bloc de soixante-quatre sur soixante-quatre. Sous lui, cinq emplacements de barres sont alignés sur une même ligne de base, désignés de la couche cinq à la couche un. La barre de droite du groupe, celle de la couche de sortie, monte d'abord jusqu'à une hauteur nette et sa valeur s'inscrit au-dessus. Le tableau s'éclaire alors en brique sur toute sa surface, comme traversé, et la barre voisine monte à son tour presque aussi haut. Le mouvement se répète quatre fois et laisse cinq barres de hauteurs voisines, sous l'étiquette ReLU, avec un rapport proche de un. Toutes les barres retombent ensuite, l'étiquette devient sigmoïde, et le même trajet recommence sans que l'échelle change : la première barre monte aussi haut que tout à l'heure, la deuxième au tiers, la troisième à un dixième, et les deux dernières ne se voient plus du tout — seules leurs cotes chiffrées disent qu'elles existent. Le rapport inscrit à la fin vaut cette fois plus de cent.
La même loi, sur huit couches cachées
Mesure 3 · le même relevé, $784\rightarrow 64^{8}\rightarrow 10$
-- huit couches cachees · 784 -> 64 -> 64 -> 64 -> 64 -> 64 -> 64 -> 64 -> 64 -> 10
relu perte 1.8190
l=1 : 0.6566 l=2 : 0.7867 l=3 : 0.8058 l=4 : 0.7567 l=5 : 0.8349 l=6 : 0.6962 l=7 : 0.8289 l=8 : 0.8559 l=9 : 0.8841
rapport sortie / premiere couche : 1.3 sur 8 traversees
attenuation moyenne par traversee : 1.04 (pire cas annonce par phi' <= 1/4 : 4)
sigmoide perte 2.1890
l=1 : 8.218e-05 l=2 : 0.0002599 l=3 : 0.0007214 l=4 : 0.00255 l=5 : 0.009286 l=6 : 0.02677 l=7 : 0.08792 l=8 : 0.2824 l=9 : 0.9481
rapport sortie / premiere couche : 11536.2 sur 8 traversees
attenuation moyenne par traversee : 3.22 (pire cas annonce par phi' <= 1/4 : 4)Lecture
Quatre traversées de plus font passer le rapport de à , soit un facteur .
L'atténuation par traversée passe de à quand la profondeur double : le facteur ne dépend presque pas du nombre de couches, ce qu'une décroissance géométrique donnerait.
Ce facteur est une moyenne géométrique, par construction, et les rapports d'une couche à la suivante ne sont pas tous égaux.
Avec , le rapport passe de à sur deux fois plus de traversées : il n'y a pas de décroissance géométrique à constater.
La récurrence, vérifiée sur cinq couches
Mesure 4 · gradient entier par différences finies, $63\,370$ coefficients
-- relu · gradient entier par differences finies en 10.06 s --------------
perte 1.8785 plancher absolu 2.09e-10 seuil de lecture 2.09e-08
bloc coeff. ecart absolu med. max. retenus ecart relatif med. max.
W^[1] 50176 0.00e+00 4.12e-10 4700 1.27e-09 1.04e-06
b^[1] 64 0.00e+00 2.36e-10 25 7.11e-10 1.40e-08
W^[2] 4096 0.00e+00 3.28e-10 700 1.97e-09 3.84e-06
b^[2] 64 0.00e+00 2.17e-10 28 7.73e-10 1.59e-08
W^[3] 4096 0.00e+00 3.06e-10 896 1.28e-09 9.25e-07
b^[3] 64 3.79e-13 1.85e-10 32 4.07e-10 1.41e-08
W^[4] 4096 0.00e+00 2.85e-10 1248 1.94e-09 2.55e-05
b^[4] 64 1.85e-11 2.16e-10 39 5.73e-10 3.86e-07
W^[5] 640 1.48e-11 2.73e-10 390 1.08e-09 2.26e-07
b^[5] 10 2.94e-11 1.73e-10 10 3.74e-10 2.44e-09
sur les 63370 coefficients : ecart absolu maximal 4.12e-10 (2.0 fois le plancher)
ecart relatif maximal sur les coefficients retenus : 2.55e-05
-- sigmoide · gradient entier par differences finies en 13.17 s ----------
perte 1.7828 plancher absolu 1.98e-10 seuil de lecture 1.98e-08
bloc coeff. ecart absolu med. max. retenus ecart relatif med. max.
W^[1] 50176 0.00e+00 4.64e-10 12032 2.58e-07 2.43e-04
b^[1] 64 9.08e-11 3.78e-10 64 1.56e-07 8.67e-06
W^[2] 4096 7.73e-11 4.06e-10 4096 7.35e-08 5.40e-04
b^[2] 64 8.57e-11 4.21e-10 64 3.56e-08 7.23e-05
W^[3] 4096 7.07e-11 4.55e-10 4096 1.97e-08 2.86e-06
b^[3] 64 8.32e-11 3.03e-10 64 9.43e-09 3.43e-07
W^[4] 4096 5.41e-11 2.52e-10 4096 4.15e-09 1.06e-05
b^[4] 64 5.59e-11 1.76e-10 64 1.95e-09 1.17e-06
W^[5] 640 4.67e-11 1.89e-10 640 1.08e-09 1.72e-08
b^[5] 10 2.22e-11 8.56e-11 10 2.78e-10 1.87e-09
sur les 63370 coefficients : ecart absolu maximal 4.64e-10 (2.3 fois le plancher)
ecart relatif maximal sur les coefficients retenus : 5.40e-04Lecture
Tous les coefficients de tous les blocs sont contrôlés, et non un échantillon : c'est le retour écrit sans indices, vérifié sur un cas où la récurrence tourne quatre fois.
L'écart absolu maximal vaut avec et avec la sigmoïde : deux fois le plancher, pas davantage.
Le nombre de coefficients retenus est très différent d'une activation à l'autre : sur dans avec , contre avec la sigmoïde. Les autres ont une dérivée exactement ou presque nulle, puisqu'un pixel de bord vaut et que .
Sur les coefficients retenus, l'écart relatif médian reste sous dans tous les blocs, et son maximum sous .
Ce que l'algorithme coûte
Hypothèses
Réseau général (5.7), et formulaire (5.12) pour la passe arrière.
Le coût est compté en multiplications ; les additions et les évaluations de sont d'ordre inférieur.
Propriétés utilisées
Un produit par coûte multiplications
Un produit extérieur par coûte multiplications
Étapes
La passe avant. Elle calcule produits matrice-vecteur .
La passe arrière, premier terme. Pour chaque , elle calcule , de coût .
C'est la somme privée de son terme , donc strictement plus petite dès que .
La passe arrière, second terme. Pour chaque , elle calcule le produit extérieur , de coût : au total exactement .
Résultat
Interprétation
Le gradient entier coûte moins de trois propagations avant, quel que soit le nombre de paramètres. Les différences finies en demandent : le rapport entre les deux procédés croît proportionnellement à .
Ce que ce résultat ne dit pas
La majoration compte des multiplications. Une durée d'horloge mesure en plus les allocations et l'interprète, et n'est pas majorée par .
L'inégalité est stricte : le terme manque au premier terme, et c'est le plus gros de la somme.
Mesure 5 · le coût, compté en multiplications
-- le compte des multiplications -----------------------------------------
passe avant 63104
remontees (W^T delta) 12928
produits exterieurs 63104
passe arriere 76032
total avant + arriere 139136
rapport a la passe avant seule 2.20
majorant de la proposition 7 3,00
-- les differences finies, comptees de la meme facon ---------------------
63370 coefficients a deux propagations avant chacun
soit 126740 propagations avant
multiplications 7997800960
rapport a la retropropagation 57482
le meme rapport sur le reseau du chapitre 2, 101770 parametres :
rapport 101133
il croit proportionnellement au nombre de parametresLecture
Le rapport vaut , en deçà des trois passes avant qui le majorent.
« La proposition 7 » y numérote un résultat du chapitre 5, la majoration du coût par trois passes avant, et non la proposition 7 du chapitre 4 citée page 6, qui porte sur la moyenne des gradients.
L'écart à la majoration est exactement le terme manquant , rapporté à : .
Les différences finies demandent propagations avant, soit près de huit milliards de multiplications : fois le coût de la rétropropagation.
Sur le réseau du chapitre 2, à paramètres, le même rapport vaut .
Le chapitre 3 se terminait sur une question : un gradient obtenu par différences finies demande deux propagations avant par coefficient, ce qui est hors de portée dès que dépasse quelques milliers. Le rapport mesuré ici, et le rapport sur le réseau du chapitre 2, la referment.
Le rapport des normes vaut avec et avec la sigmoïde, sur quatre traversées.
- a
Le majorant du chapitre 2, page 9, suffit-il à prédire ces deux nombres ? Dire quel facteur d'une traversée il laisse libre.
- b
Que vaudrait le rapport si les poids n'atténuaient ni n'amplifiaient, et que conclure de l'écart avec ?
Aucune réponse à cliquer : il y a un calcul à faire.
La majoration porte le coût du gradient à trois passes avant au plus, et la mesure en donne .
- a
Pourquoi la majoration n'est-elle pas atteinte ?
- b
Quel terme manque à la somme des remontées, et combien vaut-il sur ce réseau ?
Aucune réponse à cliquer : il y a un calcul à faire.