Idée
Sans une fonction qui coude le signal entre les deux couches, deux couches collees ne valent qu'une couche : on retombe sur un trait droit dans le plan d'origine.
Pourquoi
Si on enchaine $W_2 (W_1 X + b_1) + b_2$ sans rien entre les deux, on obtient encore une transformation linéaire (un seul plan affine), et le pli n'a pas eu lieu. La fonction sigmoide $\sigma(z) = 1/(1+e^{-z})$ insérée après chaque couche écrase les valeurs entre 0 et 1 et coude la droite : c'est elle qui plie. Sans elle, deux couches valent une couche. Le piège : sans non-linéarité, dix couches valent une seule. La sigmoïde n'est pas un détail cosmétique, c'est elle qui plie l'espace.
Outil
Composition de deux applications linéaires reste linéaire (cours d'algèbre linéaire MPSI) : la non-linéarité est ce qui casse cette stabilite et permet d'enrichir l'espace des fonctions representables.
Formule
$\sigma(z) = 1/(1 + e^{-z})$ ou $\mathrm{ReLU}(z) = \max(0, z)$, appliquée élément-par-élément entre deux couches : $A_1 = \sigma(W_1 X + b_1)$.
Piège
Tentation classique : écrire Z2 = W2 @ Z1 + b2 au lieu de Z2 = W2 @ A1 + b2 — le code tourne, les shapes sont cohérentes. Mais sans la non-linéarité $A_1 = \sigma(Z_1)$ entre les deux couches, $Z_2 = W_2 W_1 X + \ldots$ se réduit à une seule transformation linéaire et le réseau n'apprend que des séparations affines.
Diagramme
graph LR x((x)) --> W1[W1 x + b1] W1 --> sig1[sigma plie] sig1 --> W2[W2 . + b2] W2 --> sig2[sigma plie] sig2 --> y((y))