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.
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.