Un neurone, et ce qu'il regarde
Un neurone est une somme pondérée de pixels, et ses poids se regardent comme une image.
Une image compte 784 pixels, et il faut bien une pièce de calcul qui les regarde tous et n'en rende qu'un seul nombre. La plus petite qu'on puisse écrire multiplie chaque pixel par un nombre à lui, additionne les 784 produits, et s'arrête là. Reste à savoir ce qu'un tel nombre peut dire de l'image, et à quoi ressemblent les 784 nombres qui le calculent.
cours/lecon2/mesures.py, section 4 ; le gabarit, plus bas, replie ces mêmes poids en grille. Sur ce , le neurone rend un nombre négatif.Le pixel de la ligne 9, colonne 7, porte l'octet 222, soit , et le trait qui en part porte le poids , si bien que le produit entre dans la somme avec 783 autres.
Ce qui monte par en dessous est , qui ne vient d'aucun pixel et s'ajoute une fois pour toutes, et ce qui sort à droite est un seul nombre, , tout ce que la pièce rend.
Les 784 poids dessinés ici sont ceux d'une pièce mesurée qui note le chiffre 0, appliquée à une image qui montre un 7. Elle rend , un nombre négatif, mais sa somme pondérée est positive : c'est le biais, , qui fait passer le total sous zéro.
Un seul ne veut donc encore rien dire, faute d'avoir quoi que ce soit à quoi le comparer, et la page 6 lui donnera neuf concurrents.
Le mot vient de la biologie
Un neurone biologique reçoit des signaux par ses dendrites, et émet ou n'émet pas selon ce qu'il a reçu. C'est de là que le nom vient, et c'est là que l'emprunt s'arrête.
L'analogie, et sa limite
| Ce que l'analogie apporte | Ce qu'elle ne dit pas |
|---|---|
Une unité qui reçoit plusieurs entrées et n'en rend qu'une | Le neurone artificiel rend un réel, pas une impulsion. Il n'y a ni temps, ni fréquence de décharge, ni potentiel d'action |
L'idée que l'unité s'active plus ou moins | Les entrées d'un neurone artificiel sont pondérées par des réels de signe quelconque, et une entrée peut éteindre le neurone. Une synapse ne se retourne pas ainsi |
L'idée qu'un grand nombre d'unités simples fait quelque chose de complexe | L'organisation en paquets où chaque unité voit toutes celles du paquet précédent, celle-là même que montre la figure de la page 1, ne correspond à aucune structure biologique connue |
L'objet mathématique
- Neuroneneuron, unit
Une fonction de la forme , entièrement déterminée par un vecteur et un scalaire . Ce sont ses paramètres : ils ne dépendent pas de l'entrée, et ce sont eux qu'un entraînement choisit.
Reprends la formule terme par terme.
est l'image, mise à plat en 784 nombres à la page 3, et elle arrive du jeu sans qu'on la choisisse.
est un vecteur de 784 nombres, un par pixel, et le nombre s'appelle le poids du pixel de rang : il dit combien ce pixel compte dans le résultat, et dans quel sens.
multiplie l'encre du pixel par son poids, si bien qu'un pixel blanc, pour qui , n'apporte rien quel que soit son poids.
Ce qui sort
La somme additionne ces 784 produits et rend un seul nombre, auquel s'ajoute à la fin sans dépendre d'aucun pixel. La page 9 dira à quoi sert ce .
est le résultat, le seul nombre que le neurone rend, et c'est ce que le chapitre appellera son score sur cette image.
- Préactivationpre-activation
Le scalaire que produit . Le préfixe pré dit qu'une étape viendra ensuite : à partir de la page 6, une fonction s'insère entre et ce que le modèle rend vraiment, et les deux quantités cessent alors d'être égales. Ici elles le sont encore, et le préfixe ne coûte rien.
Les quatre objets de cette page, typés
| Symbole | Type | Ensemble | Dimension | Rôle |
|---|---|---|---|---|
Vecteur | Donnée. Fournie, jamais choisie | |||
Vecteur | Paramètre appris | |||
Scalaire | Paramètre appris | |||
Scalaire | Calculé. Ni donné, ni appris |
On vérifie les dimensions à chaque fois, même quand le résultat saute aux yeux : est et est , donc leur produit est , un scalaire auquel peut s'ajouter. C'est bien pourquoi la transposée est là, le produit n'existant pas.
Déplacer le chiffre change tout le calcul
Les deux images montrent le même 7, la seconde décalée de cinq colonnes vers la droite, et pour le modèle ce sont deux images sans rapport.
Chaque pixel a son poids à lui : celui de la ligne 9, colonne 7, a le poids , celui de la ligne 9, colonne 12, a le poids , et rien ne relie ces deux nombres. Quand le 7 se décale, son encre quitte les pixels de gauche pour ceux de droite, rencontre donc d'autres poids, et le score change sans que le modèle sache qu'il s'agit du même chiffre.
C'est pour cela que les chiffres du jeu sont tous recadrés au même endroit, ce que les auteurs du jeu ont fait avant de le publier et ce que la page 2 a mesuré.
Ce que la somme pondérée mesure
- ·
: le pixel fait monter quand il porte de l'encre, donc le neurone veut en trouver là.
- ·
: le pixel fait descendre quand il porte de l'encre, donc le neurone veut l'y trouver blanc.
- ·
: le pixel n'a aucun effet sur , quelle que soit sa valeur, et le neurone ne le regarde pas.
Sous le signe somme, se lit « pour les tels que est strictement positif », et la somme ne parcourt donc que ces indices-là.
Comme , chaque terme a le signe de et une amplitude d'autant plus grande que le pixel est encré, et un pixel blanc, pour qui , n'apporte rien, dans aucun des deux sens. C'est pourquoi le fond de l'image, 80,88 % de valeurs nulles, ne pèse sur aucun score.
Un vecteur de poids est une image
a exactement 784 coordonnées, et replie n'importe quel vecteur de en grille . Rien n'oblige à ne l'appliquer qu'aux images : appliquée à , elle donne une matrice de même forme qu'une image, et qu'on peut donc regarder.
- Gabarittemplate
La matrice . Ses coefficients ne sont pas des intensités : ils sont de signe quelconque, et ils ne sont pas bornés. dit ce que le neurone attend du pixel .
Un réseau occupe le centre de l'écran : à gauche une colonne de ronds cotée sept cent quatre-vingt-quatre, à droite dix ronds numérotés de zéro à neuf, et entre les deux un faisceau de traits très pâles. Les seuls traits qui aboutissent au premier des dix ronds passent en brique et deviennent nets. Ils se rassemblent en une bande étroite au bas de l'écran, faite de cases brique et bleues, puis la bande se replie sur elle-même jusqu'à former un carré de vingt-huit sur vingt-huit cases qui vient se poser au milieu du faisceau. Le carré n'est pas du bruit : un anneau brique en fait le tour, un creux bleu en occupe le centre. Deux petits cadres brique s'y posent, l'un en haut à droite sur la case la plus forte, plus un virgule zéro trois neuf cinq, treizième ligne et vingt-cinquième colonne, l'autre en plein milieu sur la case la plus négative, moins un virgule quatre quatre cinq sept, seizième ligne et quinzième colonne ; leurs valeurs s'inscrivent à droite. Un zéro manuscrit apparaît sur la plaque de gauche, et la même image se pose en gris sombre par-dessus le carré : son encre suit l'anneau brique et laisse le creux bleu à découvert. Le score inscrit à droite vaut plus quatorze virgule zéro huit un trois. Un huit la remplace enfin, sur la plaque comme sur le carré, et son encre traverse cette fois le creux bleu du milieu : le score tombe à plus zéro virgule trois cinq six huit.
Quatre des dix gabarits d'un modèle entraîné · cours/lecon2/mesures.py, section 4
chiffre max position min position
0 +1.0395 (13, 25) -1.4457 (16, 15)
1 +1.5359 (23, 6) -1.3252 (17, 18)
4 +1.1218 (13, 13) -1.5851 ( 4, 14)
7 +1.0642 (15, 20) -1.3773 (15, 13)Lecture
Les positions sont données en (ligne, colonne), numérotées à partir de , et le centre géométrique de la grille est . Le modèle mesuré est celui à une seule étape de calcul, que la page 6 construit, et non le réseau complet de la page 1.
Le gabarit du a son minimum en , soit une ligne et demie sous le centre et une demi-colonne à sa droite. Ce neurone paie le plus cher l'encre trouvée au milieu de l'image, puisqu'il y cherche un trou, ce qui est exactement ce qui distingue un d'un ou d'un , et personne ne le lui a dit.
Le gabarit du a son maximum en et son minimum en , donc il récompense l'encre en bas à gauche et pénalise celle du milieu à droite, ce qui ne ressemble pas à un . Un gabarit marque d'abord les endroits qui séparent le mieux son chiffre des neuf autres : il arrive que ces endroits dessinent le chiffre, comme pour le , et il arrive que non.
Aucun de ces nombres n'est construit ici, et les dix gabarits d'un même modèle sont posés page 6, une pièce par chiffre. Ce sont des mesures faites sur un modèle déjà entraîné, dont le chapitre 3 seul dira d'où elles viennent.
Un gabarit ressemble à un chiffre moyen, et la page 2 écartait pourtant la comparaison des pixels un par un à un chiffre modèle. Les deux tiennent ensemble, parce que ne compare pas deux images : il pondère des pixels, et un pixel dont le poids est nul reste sans effet au lieu de compter pour une différence. Ce que cette façon de faire ne pourra jamais obtenir est démontré page 7.
Un gabarit se lit comme une consigne : où le neurone veut de l'encre, et où il n'en veut pas.
- a
Que vaut si tous les pixels encrés d'une image tombent exactement là où le gabarit est négatif, et que ?
- b
Pourquoi le minimum du gabarit du est-il près du centre plutôt que sur le pourtour de la grille ?
- c
Deux neurones ont des gabarits opposés, , et des biais opposés. Que peut-on dire de leurs préactivations sur une même image ?
Aucune réponse à cliquer : il y a un calcul à faire.