Pilier 4

Activation = la non-linéarité qui rend deux couches utiles

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