Idée
On empile deux blocs : une couche cachée qui prend les entrées brutes, leur applique une transformation linéaire suivie d'une saturation, et produit un nouvel ensemble de mesures intermediaires ; une couche de sortie qui rejoue le même tour.
Pourquoi
On empile deux blocs : une couche cachée qui prend les entrées brutes, leur applique une transformation linéaire suivie d'une saturation, et produit un nouvel ensemble de mesures intermediaires ; une couche de sortie qui rejoue exactement le même tour sur ces mesures intermediaires pour produire la sortie finale. La superposition transformee-saturation-transformee-saturation permet de tracer des frontières courbes (non-linéaires), donc d'apprendre XOR. Composition de fonctions affines avec saturations intercalées, exactement comme on composé deux applications $\mathbb{R}^n \to \mathbb{R}^p \to \mathbb{R}^q$ en algèbre linéaire de spé (mais ici la composition n'est plus linéaire a cause des saturations). Le piège : empiler deux couches sans activation entre elles, c'est revenir à une seule couche linéaire. La non-linéarité au milieu fait tout le travail.
Outil
Composition de deux applications $\mathbb{R}^n \to \mathbb{R}^p \to \mathbb{R}^q$ en algèbre linéaire de spé, mais avec saturation intercalée (donc composition non linéaire).
Formule
Notations PDF (p9, section 3.3) : on a $W_1 \in \mathcal{M}{n_c, n_e}(\mathbb{R})$, $b_1 \in \mathbb{R}^{n_c}$, $W_2 \in \mathcal{M}{n_s, n_c}(\mathbb{R})$, $b_2 \in \mathbb{R}^{n_s}$ avec $n_e$ entrées, $n_c$ neurones caches, $n_s$ sorties. Pour un batch $X \in \mathcal{M}{n_e, m}(\mathbb{R})$ (attention : colonnes = exemples, contrairement à la partie 2) : $$Z_1 = W_1 X + b_1, \quad A_1 = \sigma(Z_1), \quad Z_2 = W_2 A_1 + b_2, \quad A_2 = \sigma(Z_2).$$ La sortie $A_2 \in \mathcal{M}{n_s, m}$ donné la prediction du réseau pour chaque exemple.
Piège
Erreur structurelle : on pense 'plus de couches = plus de pouvoir'. Mais si l'activation entre couches est l'identité, deux couches $W_2(W_1 x + b_1) + b_2 = (W_2 W_1) x + (W_2 b_1 + b_2)$ sont équivalentes à une seule couche de poids $W = W_2 W_1$. C'est la non-linéarité (sigmoïde, ReLU) qui fait que l'empilement augmente la capacité d'expression. Sans elle, MLP = perceptron, peu importe la profondeur.