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

Le cadre du cours

Ce que le chapitre établit : le même calcul, pour un réseau d'autant de couches qu'on veut.

Un réseau qui apprend déplace ses poids d'un rien, dans le sens qui fait baisser son erreur, et il lui faut pour chacun d'eux un nombre qui dise de combien et dans quel sens. Que faut-il connaître d'un réseau pour savoir de combien bouger chacun de ses poids ?

Une chaîne horizontale. À gauche, un carré gris marqué x, de valeur un. Suivent trois ronds cerclés d'encre, étiquetés a exposant un, a exposant deux et a exposant trois, avec ReLU écrit sous les deux premiers et sigma sous le troisième. Une flèche relie chaque objet au suivant et porte au-dessus le poids de sa couche, w exposant un vaut zéro virgule huit, w exposant deux un virgule cinq, w exposant trois deux, et au-dessous son biais, b exposant un vaut zéro virgule deux, b exposant deux moins zéro virgule quatre, b exposant trois moins zéro virgule cinq. À droite, un carré marqué la perte ell reçoit la dernière flèche, et un carré gris marqué y, de valeur un, pointe vers lui par en dessous.
Chaque quantité de ce réseau est un nombre, et non un vecteur. Les valeurs sont figées, et sortent de cours/lecon5/mesures.py, réseau minuscule.

Ce réseau porte six paramètres, et chacun a son nombre : de combien la perte varie quand ce paramètre seul bouge d'un cheveu. Ces six nombres se calculent exactement, sans réévaluer le réseau une fois par paramètre, et le procédé qui les donne ne dépend ni du nombre de couches ni de l'activation choisie.

Prérequis

  1. 01

    Le chapitre 4 en entier : le signal d'erreur δ[l]\boldsymbol{\delta}^{[l]}δ[l], les trois voies, le produit de Hadamard, la transposée au retour.

  2. 02

    La sigmoïde σ\sigmaσ et sa dérivée σ′=σ(1−σ)≤1/4\sigma'=\sigma(1-\sigma)\leq 1/4σ′=σ(1−σ)≤1/4, démontrée au chapitre 2, page 9, ainsi que l'entropie croisée, posée à la page 6 du même chapitre.

  3. 03

    La dérivée partielle et la différence finie centrée [C(θ+εei)−C(θ−εei)]/(2ε)\big[C(\boldsymbol{\theta}+\varepsilon\mathbf{e}_{i})-C(\boldsymbol{\theta}-\varepsilon\mathbf{e}_{i})\big]/(2\varepsilon)[C(θ+εei​)−C(θ−εei​)]/(2ε), où ei\mathbf{e}_{i}ei​ dit de quelle composante de θ\boldsymbol{\theta}θ on parle, définies au chapitre 3, page 8.

  4. 04

    Le produit matriciel et sa règle de dimensions : (m×n)(n×q)→m×q(m\times n)(n\times q)\rightarrow m\times q(m×n)(n×q)→m×q.

Objectifs

  1. 01

    Énoncer la règle de la chaîne dans ses deux formes, et donner le critère qui dit laquelle s'applique.

  2. 02

    Construire l'arbre des dépendances d'un réseau à un neurone par couche, et y lire la décomposition d'une dérivée.

  3. 03

    Établir les trois dérivées constitutives ∂z/∂w\partial z/\partial w∂z/∂w, ∂a/∂z\partial a/\partial z∂a/∂z et ∂ℓ/∂a\partial\ell/\partial a∂ℓ/∂a, chacune à partir de l'équation dont elle sort.

  4. 04

    Démontrer par récurrence que δ[l]=δ[l+1] w[l+1] φ′(z[l])\delta^{[l]}=\delta^{[l+1]}\,w^{[l+1]}\,\varphi'(z^{[l]})δ[l]=δ[l+1]w[l+1]φ′(z[l]), avec son initialisation et son hérédité séparées.

  5. 05

    Écrire ∂ℓ/∂w[1]\partial\ell/\partial w^{[1]}∂ℓ/∂w[1] comme un produit de poids et de dérivées d'activation, et en tirer la décroissance géométrique du gradient avec la profondeur.

  6. 06

    Démontrer qu'avec plusieurs neurones par couche un seul terme change de nature, et que c'est de lui que vient la transposée.

  7. 07

    Définir la jacobienne, la distinguer du gradient, et démontrer que celle de a[l]\mathbf{a}^{[l]}a[l] par rapport à z[l]\mathbf{z}^{[l]}z[l] est diagonale.

  8. 08

    Majorer le coût de l'algorithme par trois propagations avant, et confronter cette majoration à une mesure.

  9. 09

    Vérifier chaque identité par différences finies, sur le réseau minuscule puis sur un réseau à cinq couches.

Leçon suivante
PrécédenteSynthèse, formulaire et erreurs fréquentesSuivanteCe qu'il reste à établir