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

Synthèse, formulaire et erreurs fréquentes

Le chemin d'une image jusqu'au chiffre, le formulaire, et les erreurs fréquentes.

Une image de vingt-huit sur vingt-huit entre d'un côté, un chiffre sort de l'autre, et tout ce qui a été construit tient entre les deux. Saurais-tu redire la chaîne complète sans regarder ? Entre l'image et le chiffre, cinq quantités se succèdent et six opérations les relient, et chacune de ces cinq quantités se mesure sur une image réelle.

Une chaîne horizontale. À gauche, l'image de test numéro zéro, un sept manuscrit, dans une grille de vingt-huit sur vingt-huit cotée vingt-huit fois vingt-huit. Une flèche portant le mot vec mène à un premier rectangle nommé x, coté sept cent quatre-vingt-quatre par un. Suivent, chacun relié au précédent par une flèche qui porte l'opération : W exposant un point plus b exposant un vers le rectangle z exposant un, coté cent vingt-huit par un ; ReLU vers le rectangle a exposant un, même cote ; W exposant deux point plus b exposant deux vers le rectangle z exposant deux, coté dix par un ; softmax vers le rectangle a exposant deux, même cote. Une dernière flèche porte le mot argmax et mène à un grand chiffre sept en brique, légendé le chiffre lu. Sous chaque rectangle, une ligne grise donne la valeur mesurée à cette étape sur cette image : le nombre de pixels non nuls, la plus haute préactivation, le nombre d'activations non nulles sur cent vingt-huit, le plus haut score, la plus haute probabilité. Un filet en bas porte le nombre de paramètres du réseau et sa précision sur les dix mille images de test.
Chaque objet du formulaire, à l'endroit de la chaîne où il agit. Le trajet complet porte 101 770101\,770101770 paramètres, et 0,98140{,}98140,9814 de précision sur les 10 00010\,00010000 images de test.

Le trajet

Une image 28×2828\times 2828×28 devient un vecteur de R784\mathbb{R}^{784}R784 par vec\mathrm{vec}vec, sans rien perdre, mais la géométrie de la grille y devient invisible au modèle.

Un neurone calcule ensuite z=wTx+bz=\mathbf{w}^{\mathsf{T}}\mathbf{x}+bz=wTx+b, où ses poids positifs disent où il cherche de l'encre et ses poids négatifs où il n'en veut pas, et vec−1(w)\mathrm{vec}^{-1}(\mathbf{w})vec−1(w) en fait une image qu'on regarde. Dix neurones suivis d'un softmax\mathrm{softmax}softmax donnent une loi sur dix classes, et 7 8507\,8507850 paramètres suffisent à atteindre 91,93 %91{,}93\,\%91,93%.

Pourquoi ce premier modèle plafonne

Ce chiffre ne bouge plus que de quelques dixièmes de point, et la forme de la famille dit pourquoi il ne peut pas monter beaucoup : ses régions de décision sont convexes, quelle que soit la façon dont on l'entraîne, ce qui lui interdit certaines séparations. La proposition 2 dit cette forme et non un nombre d'erreurs ; la mesure, elle, la rend visible : sur 4 2504\,2504250 paires dont les deux extrémités reçoivent la même classe, le milieu est classé ailleurs 000 fois.

Ce que la non-linéarité change

Ajouter une couche sans rien entre les deux ne change rien : la famille obtenue est la même, ce que la double inclusion démontre, et les 101 770101\,770101770 paramètres n'achètent que 0,630{,}630,63 point.

Insérer ReLU\mathrm{ReLU}ReLU, qui ne coûte aucun paramètre, rend le réseau affine par morceaux sur au plus 21282^{128}2128 régions. Le même compte de milieux mal classés, nul sur les 4 2504\,2504250 paires du modèle sans activation, vaut 696969 sur les 4 8164\,8164816 du réseau à ReLU, et les erreurs tombent de 744744744 à 186186186.

Le réseau complet est la fonction fθ:R784→Δ9∘f_{\boldsymbol{\theta}}:\mathbb{R}^{784}\rightarrow\Delta^{\circ}_{9}fθ​:R784→Δ9∘​, et regarder ce que sa couche cachée a appris montre que ce n'est pas ce qu'on espérait.

Formulaire

ObjetFormulePage

Normalisation

X=Xbrut/255∈[0,1]28×28X=X_{\text{brut}}/255\in[0,1]^{28\times 28}X=Xbrut​/255∈[0,1]28×28

3

Aplatissement

xk=Xijx_{k}=X_{ij}xk​=Xij​, k=28(i−1)+jk=28(i-1)+jk=28(i−1)+j

3

Un neurone

z=wTx+b=∑kwkxk+bz=\mathbf{w}^{\mathsf{T}}\mathbf{x}+b=\sum_{k}w_{k}x_{k}+bz=wTx+b=∑k​wk​xk​+b

4

Décomposition par signe

z=∑wk>0wkxk+∑wk<0wkxk+bz=\sum_{w_{k}>0}w_{k}x_{k}+\sum_{w_{k}<0}w_{k}x_{k}+bz=∑wk​>0​wk​xk​+∑wk​<0​wk​xk​+b

4

Gabarit

G=vec−1(w)∈M28,28(R)G=\mathrm{vec}^{-1}(\mathbf{w})\in\mathcal{M}_{28,28}(\mathbb{R})G=vec−1(w)∈M28,28​(R)

4

Une couche

z=Wx+b\mathbf{z}=W\mathbf{x}+\mathbf{b}z=Wx+b

6

Simplexe ouvert

ΔK−1∘={a∈RK:ak>0, ∑kak=1}\Delta^{\circ}_{K-1}=\{\mathbf{a}\in\mathbb{R}^{K}:a_{k}>0,\ \sum_{k}a_{k}=1\}ΔK−1∘​={a∈RK:ak​>0, ∑k​ak​=1}

6

Softmax

(softmax z)k=ezk/∑jezj(\mathrm{softmax}\,\mathbf{z})_{k}=e^{z_{k}}/\sum_{j}e^{z_{j}}(softmaxz)k​=ezk​/∑j​ezj​

6

Invariance par translation

softmax(z+t1K)=softmax(z)\mathrm{softmax}(\mathbf{z}+t\mathbf{1}_{K})=\mathrm{softmax}(\mathbf{z})softmax(z+t1K​)=softmax(z)

6

Cas binaire

(softmax(z1,z2))1=σ(z1−z2)(\mathrm{softmax}(z_{1},z_{2}))_{1}=\sigma(z_{1}-z_{2})(softmax(z1​,z2​))1​=σ(z1​−z2​)

6

One-hot

onehot(c)=ec+1\mathrm{onehot}(c)=\mathbf{e}_{c+1}onehot(c)=ec+1​

6

Perte

ℓ(a,c)=−ln⁡ac+1\ell(\mathbf{a},c)=-\ln a_{c+1}ℓ(a,c)=−lnac+1​

6

Prédiction

c^(a)=(arg⁡max⁡kak)−1\widehat{c}(\mathbf{a})=\big(\arg\max_{k}a_{k}\big)-1c(a)=(argmaxk​ak​)−1, hors ex æquo

6

Précision

1N∑n1{c^(a(n))=c(n)}\frac{1}{N}\sum_{n}\mathbb{1}\{\widehat{c}(\mathbf{a}^{(n)})=c^{(n)}\}N1​∑n​1{c(a(n))=c(n)}

6

Région de décision

Rk=⋂j≠k{(wk−wj)Tx+bk−bj≥0}R_{k}=\bigcap_{j\neq k}\{(\mathbf{w}_{k}-\mathbf{w}_{j})^{\mathsf{T}}\mathbf{x}+b_{k}-b_{j}\geq 0\}Rk​=⋂j=k​{(wk​−wj​)Tx+bk​−bj​≥0}

7

ReLU

ReLU(u)=max⁡(u,0)\mathrm{ReLU}(u)=\max(u,0)ReLU(u)=max(u,0), ReLU′(u)=1{u>0}\mathrm{ReLU}'(u)=\mathbb{1}\{u>0\}ReLU′(u)=1{u>0} pour u≠0u\neq 0u=0, et 000 par convention en u=0u=0u=0

9

Sigmoïde

σ(u)=1/(1+e−u)\sigma(u)=1/(1+e^{-u})σ(u)=1/(1+e−u), σ′=σ(1−σ)≤1/4\sigma'=\sigma(1-\sigma)\leq 1/4σ′=σ(1−σ)≤1/4

9

Biais et seuil

b=−sb=-sb=−s

9

Propagation avant

z[l]=W[l]a[l−1]+b[l]\mathbf{z}^{[l]}=W^{[l]}\mathbf{a}^{[l-1]}+\mathbf{b}^{[l]}z[l]=W[l]a[l−1]+b[l] ; a[l]=ReLU(z[l])\mathbf{a}^{[l]}=\mathrm{ReLU}(\mathbf{z}^{[l]})a[l]=ReLU(z[l]) pour l<Ll<Ll<L, et a[L]=softmax(z[L])\mathbf{a}^{[L]}=\mathrm{softmax}(\mathbf{z}^{[L]})a[L]=softmax(z[L])

10

Compte des paramètres

p=∑l=1L(dldl−1+dl)p=\sum_{l=1}^{L}(d_{l}d_{l-1}+d_{l})p=∑l=1L​(dl​dl−1​+dl​)

10

Corrélation

ρ(u,v)=⟨u−uˉ1m,v−vˉ1m⟩/(∥u−uˉ1m∥ ∥v−vˉ1m∥)\rho(\mathbf{u},\mathbf{v})=\langle\mathbf{u}-\bar{u}\mathbf{1}_{m},\mathbf{v}-\bar{v}\mathbf{1}_{m}\rangle/(\|\mathbf{u}-\bar{u}\mathbf{1}_{m}\|\,\|\mathbf{v}-\bar{v}\mathbf{1}_{m}\|)ρ(u,v)=⟨u−uˉ1m​,v−vˉ1m​⟩/(∥u−uˉ1m​∥∥v−vˉ1m​∥)

11

Tous les objets du chapitre

Notations d'ensembles et symboles généraux

SymboleSignificationEnsemble ou typeDimension

R\mathbb{R}R, R≥0\mathbb{R}_{\geq 0}R≥0​, R>0\mathbb{R}_{>0}R>0​

Réels, réels positifs ou nuls, réels strictement positifs

Ensembles

·

N\mathbb{N}N, N∗\mathbb{N}^{*}N∗

Entiers naturels, entiers naturels non nuls

Ensembles

·

[ ⁣[a,b] ⁣][\![a,b]\!][[a,b]]

Intervalle d'entiers {a,a+1,…,b}\{a,a+1,\ldots,b\}{a,a+1,…,b}

Ensemble fini

b−a+1b-a+1b−a+1 éléments

Mm,n(R)\mathcal{M}_{m,n}(\mathbb{R})Mm,n​(R)

Matrices réelles à mmm lignes et nnn colonnes

Espace vectoriel

mnmnmn

Mn(R)\mathcal{M}_{n}(\mathbb{R})Mn​(R)

Matrices carrées, =Mn,n(R)=\mathcal{M}_{n,n}(\mathbb{R})=Mn,n​(R)

Espace vectoriel

n2n^{2}n2

InI_{n}In​

Matrice identité

Mn(R)\mathcal{M}_{n}(\mathbb{R})Mn​(R)

n×nn\times nn×n

ΔK−1∘\Delta^{\circ}_{K-1}ΔK−1∘​

Simplexe ouvert, lois de probabilité sur KKK classes

⊂RK\subset\mathbb{R}^{K}⊂RK

KKK coordonnées, K−1K-1K−1 degrés de liberté

1{⋅}\mathbb{1}\{\cdot\}1{⋅}

Indicatrice d'une condition

→{0,1}\rightarrow\{0,1\}→{0,1}

Scalaire

1m\mathbf{1}_{m}1m​

Vecteur de uns

Rm\mathbb{R}^{m}Rm

m×1m\times 1m×1

ek\mathbf{e}_{k}ek​

kkk-ième vecteur de la base canonique

Rm\mathbb{R}^{m}Rm

m×1m\times 1m×1

⟨u,v⟩\langle\mathbf{u},\mathbf{v}\rangle⟨u,v⟩

Produit scalaire canonique ∑iuivi\sum_{i}u_{i}v_{i}∑i​ui​vi​

Rm×Rm→R\mathbb{R}^{m}\times\mathbb{R}^{m}\rightarrow\mathbb{R}Rm×Rm→R

Scalaire

∥u∥\|\mathbf{u}\|∥u∥

Norme euclidienne ⟨u,u⟩\sqrt{\langle\mathbf{u},\mathbf{u}\rangle}⟨u,u⟩​

Rm→R≥0\mathbb{R}^{m}\rightarrow\mathbb{R}_{\geq 0}Rm→R≥0​

Scalaire

PPP

Matrice de permutation, PTP=InP^{\mathsf{T}}P=I_{n}PTP=In​

Mn(R)\mathcal{M}_{n}(\mathbb{R})Mn​(R)

n×nn\times nn×n

CCC

Partie convexe de Rd\mathbb{R}^{d}Rd

⊆Rd\subseteq\mathbb{R}^{d}⊆Rd

·

Fonctions, avec départ et arrivée

FonctionDépartArrivéePage

vec\mathrm{vec}vec

M28,28(R)\mathcal{M}_{28,28}(\mathbb{R})M28,28​(R)

R784\mathbb{R}^{784}R784

3

vec−1\mathrm{vec}^{-1}vec−1

R784\mathbb{R}^{784}R784

M28,28(R)\mathcal{M}_{28,28}(\mathbb{R})M28,28​(R)

3

onehot\mathrm{onehot}onehot

[ ⁣[0,K−1] ⁣][\![0,K-1]\!][[0,K−1]]

{0,1}K\{0,1\}^{K}{0,1}K

6

softmax\mathrm{softmax}softmax

RK\mathbb{R}^{K}RK

ΔK−1∘\Delta^{\circ}_{K-1}ΔK−1∘​

6

ℓ\ellℓ

ΔK−1∘×[ ⁣[0,K−1] ⁣]\Delta^{\circ}_{K-1}\times[\![0,K-1]\!]ΔK−1∘​×[[0,K−1]]

R≥0\mathbb{R}_{\geq 0}R≥0​

6

c^\widehat{c}c

ΔK−1∘∖E\Delta^{\circ}_{K-1}\setminus EΔK−1∘​∖E, où EEE est l'ensemble des a\mathbf{a}a dont le maximum est atteint par au moins deux coordonnées

[ ⁣[0,K−1] ⁣][\![0,K-1]\!][[0,K−1]]

6

ReLU\mathrm{ReLU}ReLU

R\mathbb{R}R

R≥0\mathbb{R}_{\geq 0}R≥0​

9

σ\sigmaσ

R\mathbb{R}R

(0,1)(0,1)(0,1)

9

φ\varphiφ appliquée composante par composante, où φ\varphiφ est une activation quelconque

Rm\mathbb{R}^{m}Rm

Rm\mathbb{R}^{m}Rm

9

fθf_{\boldsymbol{\theta}}fθ​

R784\mathbb{R}^{784}R784

Δ9∘\Delta^{\circ}_{9}Δ9∘​

10

ρ\rhoρ

(Rm∖R1m)2(\mathbb{R}^{m}\setminus\mathbb{R}\mathbf{1}_{m})^{2}(Rm∖R1m​)2

[−1,1][-1,1][−1,1]

11

Données, paramètres et quantités calculées

SymboleSignificationEnsembleDimensionNature

X\mathcal{X}X

Espace des entrées

[0,1]28×28[0,1]^{28\times 28}[0,1]28×28

·

Ensemble

Y\mathcal{Y}Y

Espace des étiquettes

[ ⁣[0,9] ⁣][\![0,9]\!][[0,9]]

·

Ensemble fini

NtrainN_{\text{train}}Ntrain​, NtestN_{\text{test}}Ntest​

Tailles des jeux

N∗\mathbb{N}^{*}N∗

1×11\times 11×1

Constantes : 60 00060\,00060000, 10 00010\,00010000

nnn

Indice d'exemple

[ ⁣[1,N] ⁣][\![1,N]\!][[1,N]]

·

Indice

X(n)X^{(n)}X(n)

Image du nnn-ième exemple

X\mathcal{X}X

28×2828\times 2828×28

Donnée

c(n)c^{(n)}c(n)

Étiquette, un code

Y\mathcal{Y}Y

1×11\times 11×1

Donnée

A[l−1]A^{[l-1]}A[l−1], BBB

Un lot de BBB exemples, empilés en lignes

MB,dl−1(R)\mathcal{M}_{B,d_{l-1}}(\mathbb{R})MB,dl−1​​(R), N∗\mathbb{N}^{*}N∗

B×dl−1B\times d_{l-1}B×dl−1​

Donnée, page 10

x\mathbf{x}x

Image aplatie

[0,1]784[0,1]^{784}[0,1]784

784×1784\times 1784×1

Donnée

xkx_{k}xk​

Coordonnée kkk

[0,1][0,1][0,1]

1×11\times 11×1

Donnée

y\mathbf{y}y

Étiquette encodée

{0,1}10\{0,1\}^{10}{0,1}10

10×110\times 110×1

Donnée dérivée

w\mathbf{w}w, bbb

Poids et biais d'un neurone

R784\mathbb{R}^{784}R784, R\mathbb{R}R

784×1784\times 1784×1, 1×11\times 11×1

Paramètres appris

WWW, b\mathbf{b}b

Poids et biais d'une couche

M10,784(R)\mathcal{M}_{10,784}(\mathbb{R})M10,784​(R), R10\mathbb{R}^{10}R10

10×78410\times 78410×784, 10×110\times 110×1

Paramètres appris

W[l]W^{[l]}W[l], b[l]\mathbf{b}^{[l]}b[l]

Poids et biais de la couche lll

Mdl,dl−1(R)\mathcal{M}_{d_{l},d_{l-1}}(\mathbb{R})Mdl​,dl−1​​(R), Rdl\mathbb{R}^{d_{l}}Rdl​

dl×dl−1d_{l}\times d_{l-1}dl​×dl−1​, dl×1d_{l}\times 1dl​×1

Paramètres appris

θ\boldsymbol{\theta}θ

Tous les paramètres

Rp\mathbb{R}^{p}Rp

p×1p\times 1p×1

Paramètres appris

ppp

Nombre de paramètres

N∗\mathbb{N}^{*}N∗

1×11\times 11×1

Calculé

zzz, z\mathbf{z}z, z[l]\mathbf{z}^{[l]}z[l]

Préactivations

R\mathbb{R}R, R10\mathbb{R}^{10}R10, Rdl\mathbb{R}^{d_{l}}Rdl​

·

Calculées

a[l]\mathbf{a}^{[l]}a[l], l<Ll<Ll<L

Activation cachée

R≥0dl\mathbb{R}_{\geq 0}^{d_{l}}R≥0dl​​, non borné

dl×1d_{l}\times 1dl​×1

Calculée

a[L]\mathbf{a}^{[L]}a[L]

Sortie

ΔdL−1∘\Delta^{\circ}_{d_{L}-1}ΔdL​−1∘​

dL×1d_{L}\times 1dL​×1

Calculée

GGG, GkG_{k}Gk​

Gabarit d'un neurone, d'une classe

M28,28(R)\mathcal{M}_{28,28}(\mathbb{R})M28,28​(R)

28×2828\times 2828×28

Lecture d'un paramètre

LLL

Nombre de couches

N∗\mathbb{N}^{*}N∗, L≥2L\geq 2L≥2

1×11\times 11×1

Choisi

dld_{l}dl​

Largeur de la couche lll

N∗\mathbb{N}^{*}N∗

1×11\times 11×1

Choisi, sauf d0d_{0}d0​ et dLd_{L}dL​

KKK

Nombre de classes

N∗\mathbb{N}^{*}N∗

1×11\times 11×1

Imposé : 101010

hhh

Largeur de la couche cachée

N∗\mathbb{N}^{*}N∗

1×11\times 11×1

Choisi : 128128128, non justifié

sss

Seuil d'un neurone

R\mathbb{R}R

1×11\times 11×1

b=−sb=-sb=−s

RkR_{k}Rk​

Région de décision

⊆R784\subseteq\mathbb{R}^{784}⊆R784

·

Convexe sans activation, page 7 ; plus du tout avec ReLU, page 9

RSR_{S}RS​

Région d'activation, une par partie SSS des neurones allumés

⊆R784\subseteq\mathbb{R}^{784}⊆R784

·

Convexe, page 9

DSD_{S}DS​

Matrice diagonale de 000 et de 111

M128(R)\mathcal{M}_{128}(\mathbb{R})M128​(R)

128×128128\times 128128×128

Calculée par région

H1\mathcal{H}_{1}H1​, H2\mathcal{H}_{2}H2​

Familles de fonctions

·

·

Ensembles de fonctions

η\etaη, BBB

Pas d'entraînement, posé page 6 ; taille d'un lot, posée page 10

R>0\mathbb{R}_{>0}R>0​, N∗\mathbb{N}^{*}N∗

1×11\times 11×1

Réglages, traités au chapitre 3

La propagation avant, c'est-à-dire le trajet de l'image vers la réponse

TexteCe que le réseau fait, du pixel à la loi de probabilité
1ENTREE   X        matrice 28 x 28, coefficients entiers de 0 a 2552         theta    { W[1..L], b[1..L] }3SORTIE   a[L]     vecteur du simplexe ouvert de dimension d_L - 14 51.  X      <- X / 255                    coefficients dans [0, 1]62.  a[0]   <- vec(X)                     vecteur 784 x 173.  pour l de 1 a L :84.        z[l] <- W[l] . a[l-1] + b[l]   (d_l x d_{l-1})(d_{l-1} x 1) = d_l x 195.        si l < L :  a[l] <- ReLU(z[l])      composante par composante106.        sinon    :  a[l] <- softmax(z[l])   somme des coordonnees = 1117.  rendre a[L]12 13    Les a[l] sont gardes : le chapitre 3 en aura besoin couche par couche.14 15PREDICTION       c_chapeau <- (argmax_k a[L]_k) - 1   (indefinie si ex aequo)16PLUS HAUT SCORE  a[L]_{c_chapeau + 1}                 ce n'est pas une confiance,17                                                      voir page 11

Erreurs fréquentes

L'erreurCe qui est vrai

Écrire WxW\mathbf{x}Wx sans vérifier les dimensions

(dl×dl−1)(dl−1×1)(d_{l}\times d_{l-1})(d_{l-1}\times 1)(dl​×dl−1​)(dl−1​×1). Si les deux dl−1d_{l-1}dl−1​ ne coïncident pas, le produit n'existe pas : ce n'est pas une convention, c'est une absence de définition

Croire qu'un neurone porte toujours un nombre de [0,1][0,1][0,1]

Avec ReLU\mathrm{ReLU}ReLU, a[l]∈R≥0dl\mathbf{a}^{[l]}\in\mathbb{R}_{\geq 0}^{d_{l}}a[l]∈R≥0dl​​, ensemble non borné. Seule la sortie est dans ΔK−1∘\Delta^{\circ}_{K-1}ΔK−1∘​

Appliquer softmax\mathrm{softmax}softmax composante par composante

Chaque coordonnée dépend de toutes les autres par le dénominateur. Proposition 5

Confondre x(n)x^{(n)}x(n), W[l]W^{[l]}W[l] et xkx_{k}xk​

Exemple, couche, composante. Aucun des trois n'est une puissance

Prouver la proposition 3 par le rang de W[2]W[1]W^{[2]}W^{[1]}W[2]W[1]

Toute matrice de M10,784(R)\mathcal{M}_{10,784}(\mathbb{R})M10,784​(R) est de rang ≤10\leq 10≤10. L'argument ne restreint rien ; c'est la double inclusion qui démontre

Croire que le plafond du modèle linéaire vient d'un mauvais entraînement

Il vient de la famille : les régions sont convexes pour tout (W,b)(W,\mathbf{b})(W,b). Proposition 2

Faire de l'arithmétique sur les étiquettes

c(n)c^{(n)}c(n) est un code. 7−37-37−3 ne veut rien dire, et c'est pourquoi onehot\mathrm{onehot}onehot existe

Annoncer 21282^{128}2128 régions

C'est un majorant du nombre de morceaux, pas un compte. Le nombre de régions non vides dépend de W[1]W^{[1]}W[1] et est bien plus petit

Calculer ezke^{z_{k}}ezk​ directement

e1000e^{1000}e1000 déborde. On retranche max⁡jzj\max_{j}z_{j}maxj​zj​ d'abord, ce qui ne change rien au résultat par l'invariance de la proposition 5

Prendre le biais pour le seuil

b=−sb=-sb=−s. Un neurone qui exige wTx>7\mathbf{w}^{\mathsf{T}}\mathbf{x}>7wTx>7 a un biais de −7-7−7

Croire qu'ajouter des paramètres agrandit la famille

H2=H1\mathcal{H}_{2}=\mathcal{H}_{1}H2​=H1​ avec 93 92093\,92093920 paramètres de plus. C'est la non-linéarité qui agrandit, pas le compte

Croire que ΔK−1∘\Delta^{\circ}_{K-1}ΔK−1∘​ a K−1K-1K−1 coordonnées

Il en a KKK. L'indice K−1K-1K−1 est sa dimension : la contrainte de somme retire un degré de liberté

Utiliser arg⁡max⁡\arg\maxargmax comme s'il était partout défini

Il ne l'est pas en cas d'ex æquo. L'ensemble des ex æquo est d'épaisseur nulle dans le simplexe, ce qui justifie de l'ignorer, pas de l'oublier

Les treize vérifications de ce chapitre

Les vérifications sont numérotées en continu sur tout le parcours, de 111 à 777 au chapitre 1 et de 888 à 202020 ici. Les numéros ne suivent pas l'ordre des pages, et ils ne sont jamais réattribués.

N°PageSectionCe qu'elle demande

8

2

Ce que le jeu contient

Le compte des 555, et pourquoi le seuil est celui du 111

9

3

L'aplatissement

Le rang de (17,4)(17,4)(17,4), celui du pixel au-dessus, et l'écart justifié par la formule

10

5

Le détecteur de bord

Classer quatre entrées par score, en justifiant par la décomposition par signe

11

4

Le gabarit

Ce que vaut zzz si l'encre tombe sur les poids négatifs, et pourquoi le minimum du 000 est au centre

12

6

Une sortie complète

La classe prédite, la confiance du second choix, et l'effet d'une translation des scores

13

6

Le compte

WWW, b\mathbf{b}b et ppp pour KKK classes et ddd entrées, puis instanciés

14

7

Le corollaire

Ce qu'on conclut de deux images et d'un milieu classés différemment

15

9

La sigmoïde

σ(−1000)\sigma(-1000)σ(−1000), le débordement de e1000e^{1000}e1000, et l'écriture qui l'évite

16

8

La proposition 3

Sa généralisation à trois couches, et la réfutation de l'argument du rang

17

9

ReLU

La dérivée en préactivation négative, et ce qu'on en déduit

18

9

Le biais

Le biais d'un neurone de seuil 777, et le signe justifié par le calcul

19

10

Le compte général

ppp pour 784→32→32→32→10784\rightarrow 32\rightarrow 32\rightarrow 32\rightarrow 10784→32→32→32→10, et la part de la première matrice

20

11

Les quatre modèles

Lequel des deux changements produit l'écart, en citant les deux nombres

Ce réseau, et les autres

Le réseau construit ici porte un nom : on l'appelle entièrement connecté, parce que chaque étape de calcul relie tous les nombres qui entrent à tous les nombres qui sortent, sans que rien d'autre s'y ajoute.

Ce n'est pas le meilleur outil pour lire des chiffres manuscrits, et le chapitre l'a mesuré, puisqu'un modèle bien plus simple atteint déjà 91,93 %91{,}93\,\%91,93%. Des réseaux faits exprès pour les images dépassent 99,5 %99{,}5\,\%99,5%, chiffre qui vient de la littérature et que ce cours n'a pas mesuré lui-même.

Il a ici deux qualités qui comptent davantage : il est assez petit pour se comprendre entièrement, jusqu'au dernier coefficient, et il s'entraîne en quelques minutes sur une machine ordinaire.

VarianteCe qu'elle ajouteOù elle est traitée

Réseaux convolutifs

Des poids partagés sur des voisinages de pixels, ce qui rend de nouveau visible la géométrie que la page 3 avait rendue invisible

Chapitre dédié, après les chapitres 2 à 5

Réseaux récurrents

Un état qui persiste d'une entrée à la suivante, pour des séquences de longueur variable

Parcours Séries temporelles

Transformeurs

Un mécanisme qui pondère les positions les unes par les autres, sans récurrence

Parcours Focus avancé

La suite du parcours

Chaque mesure de ce chapitre a été faite sur un modèle déjà entraîné, et d'où venaient ses 101 770101\,770101770 nombres n'a jamais été dit. Les régler à la main demanderait 28,328{,}328,3 heures à raison d'un par seconde, et il faudrait encore savoir quelle valeur donner à chacun.

La page 11 vient de montrer que personne ne le sait : même en les regardant après coup, on n'y reconnaît rien.

C'est l'objet du chapitre 3 : choisir ces nombres par la descente de gradient, sans qu'aucun humain n'en fixe un seul. Il y faudra le pas, l'initialisation, et la perte non convexe laissée en dette à la page 9.

D'où vient l'ordre de ce chapitre

L'ordre des notions suit celui du premier chapitre de la série de Grant Sanderson sur les réseaux de neurones, publiée sous le nom 3Blue1Brown. Le texte, les définitions, les cinq propositions démontrées, les mesures et les animations sont propres à ce cours, et cinq écarts délibérés y ont été pris : la largeur h=128h=128h=128 annoncée comme non justifiée, la sigmoïde posée par cahier des charges au lieu d'être présentée, l'espoir des bords bâti puis tranché par une mesure, les quatre modèles comparés là où la source ne mesure rien, et les ensembles d'activation corrigés là où ReLU\mathrm{ReLU}ReLU les rend non bornés.

Leçon suivante
PrécédenteCe que la couche cachée a apprisSuivanteLe cadre du cours