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

Le plafond, et d'où il vient

Pourquoi ce premier modèle cesse de progresser, et pourquoi ce n'est pas un problème de réglage.

Le premier modèle se trompe huit cent sept fois sur dix mille, et il cesse de progresser très tôt. Ou bien il est mal réglé, et mieux l'entraîner suffirait, ou bien sa forme même lui interdit de faire mieux, et il faudrait alors en changer. Les deux se soignent si différemment qu'il vaut mieux savoir laquelle est vraie avant de dépenser un paramètre de plus. Laquelle est-ce ?

Trois grilles carrées de vingt-huit sur vingt-huit, côte à côte, en encre sombre sur fond blanc. La première porte l'image de test numéro cent quinze, un quatre manuscrit ; la deuxième l'image numéro six cent soixante-huit, un autre quatre. Un grand signe plus les sépare. De la deuxième part une flèche horizontale, légendée divisé par deux, qui mène à la troisième : la moyenne des deux images pixel par pixel, où les traits des deux quatre se superposent en gris et où aucun n'est franc. Sous chacune des trois grilles, la même ligne en brique dit que le modèle linéaire lit quatre. Un filet en bas rappelle combien d'images de quatre le jeu de test contient, et combien sont lues quatre par le modèle linéaire comme par le modèle à deux couches de la page 10.
Le milieu est une entrée comme les autres, et le modèle la classe comme les autres. La paire est prise parmi les 982982982 images de 444 du jeu de test, dont 921921921 que les deux modèles lisent 444, dans l'ordre des indices.

Ce qu'un modèle linéaire ne peut pas répondre

Ses dix scores z=Wx+b\mathbf{z}=W\mathbf{x}+\mathbf{b}z=Wx+b dépendent de l'image par un produit matriciel et une addition, et pas davantage. L'usage appelle un tel modèle linéaire, bien que l'ajout de b\mathbf{b}b le rende à proprement parler affine, et le cours garde ce nom d'usage.

Le softmax\mathrm{softmax}softmax qui suit ne déplace pas la plus grande des dix coordonnées, donc il ne change pas la classe prédite : tout ce qui suit se lit sur z\mathbf{z}z seul. Cela se voit sur (6.3)(6.3)(6.3), où les dix coordonnées se divisent par le même dénominateur, si bien que les comparer revient à comparer leurs numérateurs, et l'exponentielle étant croissante, à comparer les zkz_{k}zk​.

On note enfin RcR_{c}Rc​ l'ensemble des images que ce modèle range dans la classe ccc. Les mesures qui suivent comptent les paires dont les deux images tombent dans la même région, et la démonstration les écrira RkR_{k}Rk​, avec k=c+1k=c+1k=c+1, pour indexer les coordonnées à partir de 111.

Deux $4$, leur milieu, et ce que le modèle linéaire en dit · cours/lecon2/mesures.py, section 5

      image de test n°115, classe 4
      image de test n°668, classe 4
      leur milieu ( x_115 + x_668 ) / 2

                            image 115   image 668   milieu
      MODELE 1, lineaire           4          4         4

Lecture

  • ·

    Le milieu est l'image moyenne des deux, pixel par pixel : 12(x115+x668)∈[0,1]784\tfrac{1}{2}(\mathbf{x}_{115}+\mathbf{x}_{668})\in[0,1]^{784}21​(x115​+x668​)∈[0,1]784. C'est une entrée comme les autres, et le modèle la classe comme les autres.

Ce modèle peut-il réussir les trois, ou sa troisième réponse est-elle déjà fixée par les deux premières ?

La mesure ci-dessous le compare à un autre, appelé modèle 3 parce qu'il vient en troisième dans une série de quatre que la page 11 récapitule. Celui-là porte entre ses deux étapes de calcul une fonction que la page 9 construit et nomme ReLU\mathrm{ReLU}ReLU ; ici, il ne sert qu'à montrer que le compte obtenu n'est pas nul par nature.

Entre deux images de la même classe, le modèle linéaire ne peut pas changer d'avis en chemin. Le réseau à ReLU, lui, le peut : c'est toute la différence entre les deux familles, et la page la démontre ensuite.

Deux carrés quadrillés occupent le haut de l'écran, côte à côte, chacun portant un quatre manuscrit tracé en gris ; ce sont deux écritures très différentes du même chiffre, et le numéro de l'image est écrit au-dessus de chacune. À droite, plus petit, un réseau attend, éteint : une colonne de ronds vides pour les points de l'image, cotée sept cent quatre-vingt-quatre, une colonne de dix ronds pour les dix chiffres, et un voile de traits très pâles entre les deux. Un trait droit relie le bas des deux carrés. Un point brique posé à son extrémité gauche se met à glisser vers la droite, lentement. Sous le trait, un troisième carré quadrillé apparaît et se transforme à mesure : les traits du premier quatre s'effacent pendant que ceux du second se forment, et à mi-chemin les deux écritures se superposent en gris pâle, sans qu'aucune ne soit franche. Le point s'arrête trois fois — au départ, au milieu, à l'arrivée — et chaque fois la colonne de droite s'allume et un cadre se referme sur un rond : trois fois sur le quatre, et une ligne écrite en bas le redit. Une colonne de petits ronds s'insère alors au milieu du réseau, cotée cent vingt-huit, le point revient à son départ, et le même glissement recommence. Cette fois, au deuxième arrêt, le cadre ne se referme plus sur le quatre mais sur le neuf ; à l'arrivée il revient au quatre.

0:00 / 0:25

La question, mesurée sur $5\,000$ paires · cours/lecon2/mesures.py, section 5

    5000 paires d'images de MEME classe, 500 par classe,
    tirees dans les 10 000 images de test, graine 0.

  -- MODELE 1, lineaire ----------------------------------------------------
      paires dont les DEUX extremites sont dans R_c   4250 sur 5000
      parmi elles, milieu classe AILLEURS              0   (0.00 %)
      sur TOUTES les paires, milieu classe ailleurs    121   (2.42 %)

Lecture

  • ·

    Zéro sur 4 2504\,2504250 : chaque fois que les deux extrémités reçoivent la même classe, le milieu la reçoit aussi, sans une seule exception.

  • ·

    La dernière ligne quitte les 4 2504\,2504250 et compte sur les 5 0005\,0005000 paires de départ : 121121121 fois, soit 2,42 %2{,}42\,\%2,42%, le milieu reçoit une classe autre que celle des deux images qui l'encadrent. Ce n'est pas la même question que la ligne au-dessus, et ce compte ne contredit rien.

  • ·

    La graine 000 fixe le tirage des paires, de sorte que deux exécutions comparent les mêmes images.

  • ·

    La troisième réponse est donc fixée par les deux premières, et un compte nul sur 4 2504\,2504250 tirages n'est pas un bon résultat mais la marque d'une contrainte. Il reste à dire laquelle.

D'où vient le zéro

Partie convexeconvex set

Une partie C⊆RdC\subseteq\mathbb{R}^{d}C⊆Rd telle que pour tous u,v∈Cu,v\in Cu,v∈C et tout t∈[0,1]t\in[0,1]t∈[0,1], (1−t)u+tv∈C(1-t)u+tv\in C(1−t)u+tv∈C. Le segment joignant deux points de CCC reste entièrement dans CCC.

Région de décisiondecision region

Pour k∈[ ⁣[1,K] ⁣]k\in[\![1,K]\!]k∈[[1,K]], l'ensemble RkR_{k}Rk​ des entrées dont le score zkz_{k}zk​ est au moins aussi grand que les neuf autres. Les inégalités y sont larges, si bien que deux régions se touchent sur les ex æquo écartés page 6 ; hors de ces frontières, RkR_{k}Rk​ est exactement l'ensemble des entrées classées k−1k-1k−1. Comme le dénominateur de (6.3)(6.3)(6.3) est le même pour les dix coordonnées et que l'exponentielle est croissante, arg⁡max⁡kak=arg⁡max⁡kzk\arg\max_{k}a_{k}=\arg\max_{k}z_{k}argmaxk​ak​=argmaxk​zk​ : les régions se lisent aussi bien sur a\mathbf{a}a que sur z\mathbf{z}z, et il est plus simple de les lire sur z\mathbf{z}z.

DérivationLes régions de décision de la famille x↦Wx+b\mathbf{x}\mapsto W\mathbf{x}+\mathbf{b}x↦Wx+b sont convexes (proposition 2)
1

Hypothèses

  • ·

    Le modèle est z(x)=Wx+b\mathbf{z}(\mathbf{x})=W\mathbf{x}+\mathbf{b}z(x)=Wx+b, avec wkT\mathbf{w}_{k}^{\mathsf{T}}wkT​ la ligne kkk de WWW.

  • ·

    Rk={x∈R784 : zk(x)≥zj(x)  ∀j∈[ ⁣[1,K] ⁣]}R_{k}=\{\mathbf{x}\in\mathbb{R}^{784}\ :\ z_{k}(\mathbf{x})\geq z_{j}(\mathbf{x})\ \ \forall j\in[\![1,K]\!]\}Rk​={x∈R784 : zk​(x)≥zj​(x)  ∀j∈[[1,K]]}.

2

Propriétés utilisées

  • ·

    Pour α∈R784\boldsymbol{\alpha}\in\mathbb{R}^{784}α∈R784 et β∈R\beta\in\mathbb{R}β∈R, le demi-espace fermé {x:αTx+β≥0}\{\mathbf{x}:\boldsymbol{\alpha}^{\mathsf{T}}\mathbf{x}+\beta\geq 0\}{x:αTx+β≥0}, c'est-à-dire l'un des deux côtés d'un plan, est convexe

  • ·

    Une intersection quelconque de parties convexes est convexe

3

Étapes

  1. On écrit la différence de deux scores. Chaque zkz_{k}zk​ est une forme affine de x\mathbf{x}x, c'est-à-dire un produit scalaire suivi de l'ajout d'une constante, et une différence de deux formes affines en est une aussi :

  2. zk(x)−zj(x)=(wk−wj)Tx+(bk−bj)z_{k}(\mathbf{x})-z_{j}(\mathbf{x})=(\mathbf{w}_{k}-\mathbf{w}_{j})^{\mathsf{T}}\mathbf{x}+(b_{k}-b_{j})zk​(x)−zj​(x)=(wk​−wj​)Tx+(bk​−bj​)

    Linéarité : wkTx−wjTx=(wk−wj)Tx\mathbf{w}_{k}^{\mathsf{T}}\mathbf{x}-\mathbf{w}_{j}^{\mathsf{T}}\mathbf{x}=(\mathbf{w}_{k}-\mathbf{w}_{j})^{\mathsf{T}}\mathbf{x}wkT​x−wjT​x=(wk​−wj​)Tx.

  3. Rk=⋂j≠k {x∈R784 : (wk−wj)Tx+(bk−bj)≥0}R_{k}=\bigcap_{j\neq k}\ \big\{\mathbf{x}\in\mathbb{R}^{784}\ :\ (\mathbf{w}_{k}-\mathbf{w}_{j})^{\mathsf{T}}\mathbf{x}+(b_{k}-b_{j})\geq 0\big\}Rk​=j=k⋂​ {x∈R784 : (wk​−wj​)Tx+(bk​−bj​)≥0}

    La condition zk≥zjz_{k}\geq z_{j}zk​≥zj​ pour tout jjj se réécrit comme la conjonction de K−1K-1K−1 inégalités affines.

  4. Chacun de ces K−1K-1K−1 ensembles est un demi-espace fermé, donc convexe. RkR_{k}Rk​ en est l'intersection, donc RkR_{k}Rk​ est convexe. C'est même un polyèdre convexe : une intersection finie de demi-espaces.

    Vérification directe de la convexité d'un demi-espace : si αTu+β≥0\boldsymbol{\alpha}^{\mathsf{T}}u+\beta\geq 0αTu+β≥0 et αTv+β≥0\boldsymbol{\alpha}^{\mathsf{T}}v+\beta\geq 0αTv+β≥0, alors pour t∈[0,1]t\in[0,1]t∈[0,1], αT((1−t)u+tv)+β=(1−t)(αTu+β)+t(αTv+β)≥0\boldsymbol{\alpha}^{\mathsf{T}}\big((1-t)u+tv\big)+\beta=(1-t)(\boldsymbol{\alpha}^{\mathsf{T}}u+\beta)+t(\boldsymbol{\alpha}^{\mathsf{T}}v+\beta)\geq 0αT((1−t)u+tv)+β=(1−t)(αTu+β)+t(αTv+β)≥0 comme somme de deux termes positifs.

4

Résultat

∀k∈[ ⁣[1,K] ⁣],  Rk est un polyeˋdre convexe de R784\forall k\in[\![1,K]\!],\ \ R_{k}\ \text{est un polyèdre convexe de }\mathbb{R}^{784}∀k∈[[1,K]],  Rk​ est un polyeˋdre convexe de R784
5

Interprétation

La propriété ne dépend ni de WWW, ni de b\mathbf{b}b, ni de la façon dont ils ont été choisis. Elle est vraie pour tous les modèles de la famille, y compris le meilleur d'entre eux. Ce n'est donc pas une observation sur le modèle mesuré : c'est une contrainte sur ce que cette famille peut faire.

Ce que ce résultat ne dit pas

  • ·

    La proposition ne dit pas que la famille est mauvaise, ni combien d'erreurs elle fera : elle dit une forme.

  • ·

    Elle cesse d'être vraie dès qu'une fonction non affine s'insère entre deux étapes de calcul. La page 9 le démontre, et la mesure ci-dessous le vérifie.

Corollaire. Soient u\mathbf{u}u et v\mathbf{v}v deux images que le modèle classe toutes deux dans la classe k−1k-1k−1, c'est-à-dire u,v∈Rk\mathbf{u},\mathbf{v}\in R_{k}u,v∈Rk​. Leur milieu 12(u+v)\tfrac{1}{2}(\mathbf{u}+\mathbf{v})21​(u+v) appartient alors à RkR_{k}Rk​ et se trouve donc classé dans la même classe, puisque c'est le cas t=1/2t=1/2t=1/2 de la définition de la convexité.

Le compte de 4 2504\,2504250 paires devait par conséquent valoir zéro, et une seule exception aurait invalidé la proposition 2 : aucun modèle de cette famille, quel que soit son entraînement, ne peut classer deux images en k−1k-1k−1 et leur milieu ailleurs.

Le même essai, avec le réseau à ReLU

Le même protocole, et la même paire · cours/lecon2/mesures.py, section 5

  -- MODELE 3, avec ReLU ---------------------------------------------------
      paires dont les DEUX extremites sont dans R_c   4816 sur 5000
      parmi elles, milieu classe AILLEURS              69   (1.43 %)
      sur TOUTES les paires, milieu classe ailleurs    89   (1.78 %)

                            image 115   image 668   milieu
      MODELE 1, lineaire           4          4         4
      MODELE 3, avec ReLU          4          4         9

Lecture

  • ·

    Le modèle 3 est celui que la page 9 construira, en glissant entre les deux couches une fonction qui n'est pas affine ; il est mesuré ici pour montrer que le compte précédent n'était pas nul par accident.

  • ·

    696969 sur 4 8164\,8164816, là où le modèle linéaire donnait 000 sur 4 2504\,2504250. Les deux comptes sortent du même protocole, sur les mêmes paires : ce qui les sépare est la famille de fonctions, pas le tirage.

  • ·

    La dernière ligne des deux tableaux compte autre chose et va dans l'autre sens, 898989 contre 121121121, simplement parce que le modèle 3 classe mieux : il laisse moins de paires avec une extrémité fautive. Seules les deuxièmes lignes se comparent.

  • ·

    Sur la paire de cette page, le réseau à ReLU lit un 999 entre les deux 444. Aucun modèle linéaire ne donne ce triplet de réponses, quel que soit son entraînement, et le corollaire dit pourquoi.

  • ·

    Ses régions ne sont donc pas convexes. La proposition 4, page 9, dira d'où vient cette liberté ; elle est mesurée ici, elle n'est pas encore expliquée.

Une limite de famille, pas d'entraînement

Rien de ce qui précède ne parle de la façon dont WWW a été choisi. Entraîner plus longtemps, changer le pas, changer l'initialisation, prendre dix fois plus d'images : les régions resteront convexes, et le corollaire restera vrai. Passer ce plafond demande de changer la famille de fonctions, ce à quoi les pages 8 à 10 s'emploient, et la première tentative échouera.

Un seul gabarit par classe

La même limite se lit sans géométrie, directement sur (4.2)(4.2)(4.2). Le score de la classe k−1k-1k−1 vaut wkTx+bk\mathbf{w}_{k}^{\mathsf{T}}\mathbf{x}+b_{k}wkT​x+bk​, c'est-à-dire une mesure de ressemblance entre l'image et un motif fixé, le gabarit Gk=vec−1(wk)G_{k}=\mathrm{vec}^{-1}(\mathbf{w}_{k})Gk​=vec−1(wk​) de la ligne kkk. La classe entière est donc résumée par une seule image de référence.

Un chiffre ne se résume pas à un motif

Un 444 fermé, dont les deux traits obliques se rejoignent, et un 444 ouvert, dont ils ne se rejoignent pas, sont tous deux des 444 sans porter d'encre aux mêmes endroits, et il en va de même d'un 777 barré et d'un 777 qui ne l'est pas.

Il faudrait donc un gabarit unique qui marque bien sur les deux variantes, et un gabarit unique dépense ses valeurs extrêmes là où il sépare le mieux sa classe des neuf autres : celui du 444 mesuré page 4 place son minimum en (4,14)(4,14)(4,14), tout en haut de la grille, et n'a plus rien à dire sur la fermeture de la boucle, qui est pourtant ce qui distingue les deux variantes.

Vérification rapide n° 14

Sur un modèle, les images de test n°9025 et n°3231, toutes deux de classe 111, sont toutes deux prédites 111. Leur milieu est prédit 888.

  1. a

    Que peut-on conclure sur ce modèle, et par quel énoncé exactement ?

  2. b

    Cette observation dit-elle quelque chose sur la qualité du modèle ?

  3. c

    Si les deux extrémités avaient été prédites 111 et 777, la même conclusion tiendrait-elle ?

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

Reste une question que cette page ne tranche pas. Si une famille plus riche fait mieux, que trouve-t-elle que celle-ci ne trouvait pas ? La page 11 y répond, avec une mesure et non avec une intuition.

Leçon suivante
PrécédenteDix neuronesSuivanteEmpiler ne suffit pas