Les informations pratiques concernant le déroulement de l’unité d’enseignement RCP209 « Apprentissage, réseaux de neurones et modèles graphiques » au Cnam se trouvent dans ce préambule.

Cours - Réseaux convolutifs avancés

[Diapositives du cours]

Architectures résiduelles

Intuitivement, si un réseau profond atteint de bonnes performances, alors les couches « supplémentaires » ajoutées dans un réseau encore plus profonds seront proches de la fonction d’identité, puisqu’elles ne vont pas changer beaucoup les activations intermédiaires. Hors, plus on empile des couches non-linéaires, plus il est difficile de modéliser la fonction identité.

Une solution consiste à n’apprendre non pas les activations, mais comment modifier les entrées de la couche, c’est-à-dire quelle perturbation ajouter aux entrées. Autrement dit, on ne cherche plus à modéliser \(H(x)\), mais \(H(x) - x\). La couche (ou le bloc) modélisera donc \(F(x) = H(x) - x\). Cette quantité est appelée le résidu. Pour retrouver \(H(x)\), il suffira d’ajouter directement \(x\) à la sortie de la couche \(F\), autrement dit la sortie s’obtiendra par \(y = H(x) = F(x) + x\). Le fait d’ajouter directement \(x\) à la sortie, sans passer par une couche ou une activation non-linéaire, est appelé connexion résiduelle ou skip connection (parfois en français « court-circuit »).

Calcul du gradient

Reprenons l’équation de notre bloc résiduel :

\[y = x + F(x)\]

Grâce à la rétropropagation, on peut supposer connu le gradient de l’erreur par rapport à la sortie, c’est-à-dire \(\frac{\partial L}{\partial y}\). Pour effectuer la rétropropagation, on cherche désormais le gradient de l’erreur par rapport aux entrées, c’est-à-dire \(\frac{\partial L}{\partial x}\).

\[\begin{align} \frac{\partial L}{\partial x} &= \frac{\partial L}{\partial y} \frac{\partial y}{\partial x}\\ &= \frac{\partial L}{\partial y} \frac{\partial}{\partial x}(x + F(x))\\ &= \frac{\partial L}{\partial y} (1 + F'(x))\\ &= \frac{\partial L}{\partial y} + \frac{\partial L}{\partial y} F'(x))\\ \end{align}\]

CNN pour la détection d’objet

CNN pour la segmentation