Dire au programme qu'il est mauvais
Choisir le nombre qui dit au programme à quel point il se trompe sur un exemple.
Le réseau vient de répondre, et il faut lui dire de combien il s'est trompé. Deux fonctions font l'affaire, et il va falloir choisir : voici ce qu'elles donnent sur quatre réponses.
La sortie du réseau est , une loi sur dix classes, et la vérité est , un code. Ce qu'on cherche est une fonction qui reçoive les deux et rende un nombre positif, d'autant plus grand que le réseau se trompe.
Sans cette fonction, l'énoncé de la page 3 est une phrase vide : est écrit, et n'existe pas encore.
Deux candidates
Les deux ont le même ensemble de départ et le même ensemble d'arrivée, et les deux valent si et seulement si , ce qui n'arrive jamais exactement sur , dont les coordonnées sont strictement positives. Rien ne les départage encore.
Les deux coûts sur quatre sorties, vraie classe $4$ · cours/lecon3/mesures.py, mesure 2
sortie a_4 entropie croisée quadratique
confiante et juste 0.970 0.030459 0.001000
hésitante et juste 0.310 1.171183 0.529000
hésitante et fausse 0.120 2.120264 0.860444
confiante et fausse 0.004 5.521461 1.102240Lecture
La colonne notée
a_4par le programme est au sens de : le programme numérote les classes à partir de zéro, la formule à partir de un. C'est la même coordonnée, celle de la vraie classe.De la première à la dernière ligne, l'entropie croisée est multipliée par et la quadratique par , et surtout la quadratique sature : elle ne peut pas dépasser , puisque et vivent tous deux dans .
Le classement ne suffit donc pas à choisir, et ce qui compte pour faire descendre un coût n'est pas sa valeur mais sa pente.
Ce qui les départage : la pente, pas la valeur
Trois mots sont à poser avant de lire la table qui suit. Chaque neurone de la couche de sortie calcule d'abord un score , sa préactivation, et c'est qui transforme ensuite les dix scores en les dix valeurs : c'est le du chapitre 2, ici porté par la dernière couche. La sensibilité du coût à ce score est le nombre qui dit de combien le coût change quand le score change d'un peu, et on la note , où désigne la perte sur l'exemple regardé.
Pourquoi juger un coût sur cette quantité-là plutôt que sur la correction d'un poids ? Parce que tous les poids de la dernière couche reçoivent leur correction à travers ce score : changer un poids change , et seul porte l'effet du coût jusqu'à lui. Le chapitre 4 écrira ce passage ; ici, il suffit de comparer les deux candidates au même endroit de la chaîne. On les mesure en faisant varier et en répartissant uniformément la masse restante sur les neuf autres classes.
La sensibilité des deux coûts · cours/lecon3/mesures.py, mesure 2
a_c |dC/dz_c| entropie |dC/dz_c| quadratique rapport
0.001 0.999000 0.002218 x 450.5
0.010 0.990000 0.021780 x 45.5
0.100 0.900000 0.180000 x 5.0
0.500 0.500000 0.277778 x 1.8
0.900 0.100000 0.020000 x 5.0Lecture
La ligne du haut est celle qui tranche, puisque le réseau y accorde un millième à la bonne classe et se trompe donc autant qu'il est possible de se tromper : l'entropie croisée produit alors une sensibilité de , la quadratique de , soit fois plus faible.
Le coût quadratique cesse donc de corriger exactement quand il faudrait corriger le plus. Ce n'est pas une question d'échelle qu'un réglage global rattraperait : le rapport ne vaut pas la même chose d'une ligne à l'autre, en haut et au milieu, et aucun facteur constant ne compense un rapport qui varie d'un facteur selon l'endroit où l'on se trouve.
La colonne de l'entropie croisée se lit d'ailleurs en une ligne, puisqu'elle vaut exactement : la correction est proportionnelle à ce qui manque à la bonne classe pour valoir .
Sur la dernière ligne, , les deux sensibilités redeviennent faibles parce que le réseau a raison et qu'il n'y a plus grand-chose à corriger. Les deux coûts sont d'accord là où ça n'a pas d'importance.
Quatre sorties sont données pour une image de la classe , avec valant respectivement , , et .
- a
Les classer par coût croissant avec l'entropie croisée, puis avec le coût quadratique.
- b
Le classement est-il le même ? Et les rapports entre coûts successifs le sont-ils ?
- c
Pour la sortie la plus fausse, dire lequel des deux coûts corrigera le plus, et de combien.
Aucune réponse à cliquer : il y a un calcul à faire.