• Projets00
  • AI Academy13
  • Veille07 entrées ces 7 derniers jours
  • Outils00
Profil
Déposer un projet
ProjetsAI AcademyVeilleOutilsProfilDéposer
Le cours
45/59
Démonstration8 min

Un exemple ne suffit pas

Ce qui arrive si l'on n'écoute qu'une seule image, et pourquoi on moyenne les corrections.

Tout ce qui précède n'a regardé qu'une seule image, et rien n'empêche de lui appliquer deux cents pas de descente pour voir ce que le réseau répond ensuite sur dix mille images qu'il n'a jamais vues. Que devient un réseau qui n'a écouté qu'un seul exemple ?

Une large barre de brique occupe toute la largeur de la figure et porte cent virgule zéro zéro pour cent, avec la mention dix mille sur dix mille prédites « deux ». Dessous, un relevé : la précision de test avant les deux cents pas valait zéro virgule un trois un quatre ; la perte sur l'image de travail après les deux cents pas est nulle à la précision de la machine ; la probabilité accordée à la classe deux vaut un ; la précision de test après les deux cents pas vaut zéro virgule un zéro trois deux ; et la fréquence de la classe deux dans le jeu de test vaut mille trente-deux sur dix mille, soit zéro virgule un zéro trois deux. En pied, la mention que les deux derniers nombres sont égaux.
La précision tombe exactement sur la fréquence de la classe : le réseau ne classe plus, il répète.

Le réseau a parfaitement appris l'image qu'on lui a donnée, et il répond 222 à tout le reste, sans une seule exception sur dix mille images.

Les deux derniers nombres du relevé sont égaux, et ce n'est pas une coïncidence.

Ce qui arrive si l'on n'écoute qu'un seul exemple

Deux cents pas sur une seule image · cours/lecon4/mesures.py, mesure 4

  200 pas de descente sur la seule image de travail, eta = 0.5

  précision de test AVANT les pas                0.1314
  perte sur cette image avant les pas             1.408379
  perte sur cette image après 200 pas             0.000000   (sous le seuil de représentation)
  probabilité accordée à la classe 2 après       1.0000000000
  images de test prédites « 2 »                  10000 sur 10000
  part des images de test prédites « 2 »         100.00 %
  précision de test                              0.1032
  fréquence de la classe 2 dans le jeu de test    1032 / 10000 = 0.1032
  écart entre la précision et cette fréquence     0.000e+00

  la classe la plus fréquente du jeu de test     1, 1135 / 10000 = 0.1135
  c'est le plafond de tout réseau qui répond toujours la même chose

Lecture

  • ·

    Le réseau a parfaitement appris l'image, puisque sa perte tombe sous le seuil de représentation et qu'il accorde 1,00000000001{,}00000000001,0000000000 à la classe 222 à l'affichage, la proposition 1 interdisant d'atteindre exactement 111.

  • ·

    Il répond 222 à tout, et non presque tout : 10 00010\,00010000 images sur 10 00010\,00010000, sans exception, parce que la descente n'a écouté qu'une demande et l'a exaucée jusqu'au bout.

  • ·

    Sa précision, 0,10320{,}10320,1032, est exactement la fréquence de la classe 222 dans le jeu de test, 1 032/10 0001\,032/10\,0001032/10000, à zéro près : un réseau qui répond toujours la même chose a pour précision la fréquence de cette classe, puisqu'il a raison sur les images de cette classe et sur aucune autre.

  • ·

    Le plafond d'un tel réseau est 0,11350{,}11350,1135, la fréquence de la classe la plus représentée, et aucune constante ne fait mieux.

Le réseau entraîné 200200200 pas sur la seule image n° 5 : les deux répartitions des dix mille images de test, à la même échelle.

La grille de l'image de travail apparaît à gauche, un deux manuscrit en gris sur vingt-huit cases sur vingt-huit, et le réseau derrière elle. La grille pâlit, et dix barres horizontales poussent depuis une ligne verticale tracée à droite des dix ronds de sortie, une par classe, chacune à la hauteur de son neurone et de son chiffre. Leurs longueurs sont très inégales : celle de la classe deux fait les sept dixièmes de l'espace libre, celles des classes zéro et cinq le huitième, les sept autres sont des moignons. Les neuf barres autres que celle de la classe deux se rétractent alors jusqu'à disparaître, pendant que celle de la classe deux s'allonge jusqu'au bout de l'espace libre et passe au brique. Sa valeur s'inscrit à son extrémité : dix mille. Les neuf autres barres ont entièrement disparu, et il ne reste qu'une seule barre en face des dix chiffres.

0:00 / 0:13

La moyenne des corrections

On refait donc pour chaque exemple le parcours qui précède, et l'on moyenne les corrections souhaitées. Reste à savoir ce que cette moyenne est.

DérivationLa moyenne des gradients d'exemples est le gradient du coût (proposition 7)
1

Hypothèses

  • ·

    CD(θ)=1N∑n=1Nℓn(θ)C_{\mathcal{D}}(\boldsymbol{\theta})=\frac{1}{N}\sum_{n=1}^{N}\ell_{n}(\boldsymbol{\theta})CD​(θ)=N1​∑n=1N​ℓn​(θ), avec ℓn:Rp→R≥0\ell_{n}:\mathbb{R}^{p}\rightarrow\mathbb{R}_{\geq 0}ℓn​:Rp→R≥0​.

  • ·

    Chaque ℓn\ell_{n}ℓn​ admet des dérivées partielles en θ\boldsymbol{\theta}θ.

  • ·

    NNN est fixé et ne dépend pas de θ\boldsymbol{\theta}θ.

2

Propriétés utilisées

  • ·

    Linéarité de la dérivation : (f+g)′=f′+g′(f+g)'=f'+g'(f+g)′=f′+g′ et (λf)′=λf′(\lambda f)'=\lambda f'(λf)′=λf′

  • ·

    Définition du gradient comme vecteur des ppp dérivées partielles

3

Étapes

  1. On dérive composante par composante. Pour i∈[ ⁣[1,p] ⁣]i\in[\![1,p]\!]i∈[[1,p]] fixé, ∂CD/∂θi\partial C_{\mathcal{D}}/\partial\theta_{i}∂CD​/∂θi​ est la dérivée d'une somme finie de NNN fonctions, multipliée par la constante 1/N1/N1/N.

  2. ∂CD∂θi(θ)=1N∑n=1N∂ℓn∂θi(θ)\frac{\partial C_{\mathcal{D}}}{\partial\theta_{i}}(\boldsymbol{\theta})=\frac{1}{N}\sum_{n=1}^{N}\frac{\partial\ell_{n}}{\partial\theta_{i}}(\boldsymbol{\theta})∂θi​∂CD​​(θ)=N1​n=1∑N​∂θi​∂ℓn​​(θ)

    Linéarité de la dérivation. Il n'y a aucune approximation à cette ligne : c'est une égalité.

  3. On rassemble les ppp composantes. Le vecteur dont la iii-ième composante est 1N∑n∂ℓn/∂θi\frac{1}{N}\sum_{n}\partial\ell_{n}/\partial\theta_{i}N1​∑n​∂ℓn​/∂θi​ est, par définition du gradient, 1N∑ngradθ ℓn\frac{1}{N}\sum_{n}\mathrm{grad}_{\boldsymbol{\theta}}\,\ell_{n}N1​∑n​gradθ​ℓn​.

4

Résultat

gradθ CD(θ)=1N∑n=1Ngradθ ℓn(θ)\mathrm{grad}_{\boldsymbol{\theta}}\,C_{\mathcal{D}}(\boldsymbol{\theta})=\frac{1}{N}\sum_{n=1}^{N}\mathrm{grad}_{\boldsymbol{\theta}}\,\ell_{n}(\boldsymbol{\theta})gradθ​CD​(θ)=N1​n=1∑N​gradθ​ℓn​(θ)
5

Interprétation

La moyenne des corrections souhaitées est le gradient du coût : ni « en gros », ni « quelque chose de proportionnel », et sans facteur, sans approximation, sans hypothèse sur les données. C'est la linéarité de la dérivation, et rien d'autre. La descente du chapitre 3 réclame gradθ CD\mathrm{grad}_{\boldsymbol{\theta}}\,C_{\mathcal{D}}gradθ​CD​ et l'algorithme donne gradθ ℓn\mathrm{grad}_{\boldsymbol{\theta}}\,\ell_{n}gradθ​ℓn​ ; cette proposition ferme le passage entre les deux.

Ce que ce résultat ne dit pas

  • ·

    L'égalité vaut pour la moyenne sur tout le jeu. Une moyenne sur un sous-ensemble n'est pas le gradient du coût, et le chapitre 3 a dit dans quel sens elle en approche.

La réserve est levée

On lit souvent que la collection de ces moyennes donne « en gros » le gradient négatif, « ou du moins quelque chose de proportionnel », et la proposition 7 montre que la réserve n'a pas lieu d'être : c'est le gradient, exactement. La prudence viendrait d'une confusion avec les mini-lots, où l'approximation est réelle et mesurée, mais c'est une autre question.

Pourquoi la moyenne est nécessaire

Deux exemples demandent-ils la même chose ? · cours/lecon4/mesures.py, mesure 5

  cosinus entre les gradients de deux exemples pris séparément
  réseau non entraîné, 2000 paires de chaque sorte

      paires                cosinus moyen     écart-type     paires
      même classe            +0.4110          0.1438        2000
      classes différentes    -0.0263          0.0494        2000

Lecture

  • ·

    Deux images de la même classe demandent des corrections qui vont grossièrement dans le même sens, de cosinus moyen +0,4110+0{,}4110+0,4110, et grossièrement seulement, puisque l'écart-type 0,14380{,}14380,1438 dit que la valeur va d'environ +0,27+0{,}27+0,27 à +0,55+0{,}55+0,55 d'une paire à l'autre.

  • ·

    Deux images de classes différentes demandent des corrections presque sans rapport, −0,0263-0{,}0263−0,0263 en moyenne avec un écart-type de 0,04940{,}04940,0494 : presque orthogonales, très légèrement opposées.

  • ·

    C'est ce désaccord qui rend la moyenne nécessaire, parce qu'exaucer une demande à la fois revient à défaire ce que la précédente a fait, et la mesure 4 montre où cela mène quand on n'en écoute qu'une.

En pratique, on ne moyenne pas sur tout le jeu

La proposition 7 porte sur les N=60 000N=60\,000N=60000 exemples, alors qu'un entraînement moyenne sur des mini-lots de 646464. Le chapitre 3, page 9, l'a établi : le gradient d'un mini-lot est un estimateur sans biais du gradient complet, proposition 4, et sa qualité croît comme la racine de la taille du lot, proposition 5. Ce chapitre ne redémontre ni l'un ni l'autre.

L'ivrogne et le calculateur

On compare parfois la descente sur mini-lots à un ivrogne qui dévale la pente en titubant, opposé à un calculateur méthodique qui descend lentement mais droit. L'image dit quelque chose de juste, puisque le trajet est irrégulier et qu'il va plus vite, et elle est trompeuse sur un point : un ivrogne ne suit aucune direction, un mini-lot en suit une. Le chapitre 3 l'a mesurée, un lot de 646464 pointant en moyenne à 414141 degrés du gradient complet, et quarante et un degrés ce n'est pas au hasard, c'est la même direction vue de travers.

Vérification rapide n° 46

Le réseau entraîné sur un seul exemple a une précision de test de 0,10320{,}10320,1032, et le jeu de test compte 1 0321\,0321032 images de classe 222 sur 10 00010\,00010000.

  1. a

    D'où vient exactement ce nombre ? Répondre sans invoquer d'apprentissage.

  2. b

    Quelle serait la précision d'un réseau qui répondrait toujours 111 ? Et quel est le meilleur score atteignable par un réseau qui répond toujours la même chose ?

Aucune réponse à cliquer : il y a un calcul à faire.

Vérification rapide n° 47

Deux exemples de classes différentes ont des gradients de cosinus moyen −0,0263-0{,}0263−0,0263.

  1. a

    Qu'est-ce que cela dit de ce qui arriverait si on les traitait l'un après l'autre plutôt qu'en moyenne ?

  2. b

    Le cosinus de deux exemples de même classe vaut +0,4110+0{,}4110+0,4110 en moyenne, et non +1+1+1. Que faudrait-il pour qu'il vaille +1+1+1 ?

Aucune réponse à cliquer : il y a un calcul à faire.

Leçon suivante
PrécédenteRemonter d'une coucheSuivanteL'algorithme, et sa vérification