Pourquoi un empilement de lignes droites a besoin d'un pli pour penser.

SRC·54 Source
Empilez cent couches. Sans un seul pli, vous n'en avez toujours qu'une.

Empilez cent couches. Sans un seul pli, vous n'en avez toujours qu'une.

Un réseau profond, ce sont des couches empilées sur des couches : forcément, plus de couches, plus de puissance. Eh bien non. Sans une petite astuce glissée entre elles, cent couches font exactement ce que fait une seule : tracer une unique ligne droite. Toute la raison pour laquelle la profondeur fonctionne — ce qui permet à un modèle d'apprendre quoi que ce soit de courbe, d'emmêlé, de réel — tient en un geste modeste : la fonction d'activation. Le pli. Voyons pourquoi un empilement de lignes droites n'est encore qu'une ligne droite.
Deux étapes droites à la suite n'en font, en secret, qu'une.

Deux étapes droites à la suite n'en font, en secret, qu'une.

W2(W1x+b1)+b2=(W2W1)x+(W2b1+b2)=Wx+bW_2(W_1 x + b_1) + b_2 = (W_2 W_1)\,x + (W_2 b_1 + b_2) = W' x + b'
Comme des vitres bien claires : regardez à travers dix vitres planes et la vue est aussi droite qu'à travers une seule — aucun empilement de verre plat ne courbe la lumière. Une couche sans pli, c'est pareil : elle ne fait qu'étirer et faire pivoter l'espace, une application en ligne droite. Enchaînez-en deux et le calcul les fond en une seule application en ligne droite — idem pour cent. La profondeur, à elle seule, ne vous apporte rien.
Une seule coupe droite ne peut pas séparer ça.

Une seule coupe droite ne peut pas séparer ça.

flin(x)=sign(wx+b)(one straight cut);XOR: (0,0) ⁣ ⁣0, (0,1) ⁣ ⁣1, (1,0) ⁣ ⁣1, (1,1) ⁣ ⁣0f_{\text{lin}}(x)=\operatorname{sign}(w^\top x + b)\quad(\text{one straight cut});\qquad \text{XOR}:\ (0,0)\!\to\!0,\ (0,1)\!\to\!1,\ (1,0)\!\to\!1,\ (1,1)\!\to\!0
Comme une corde sur un damier : tendez une corde sur les cases et essayez de mettre chaque case sombre d'un côté, chaque case claire de l'autre — impossible, le motif s'imbrique. La tâche réelle la plus simple, XOR, c'est exactement ça : deux classes qu'aucune ligne droite ne sépare. Un modèle en ligne droite y est aveugle. Le monde en est plein — et les cartes plates ne peuvent pas les contourner.
La solution n'est presque rien : un seul pli.

La solution n'est presque rien : un seul pli.

ReLU(x)=max(0,x)\operatorname{ReLU}(x)=\max(0,\,x)
Comme une charnière dans une barre d'acier : une barre droite ne peut pas changer de direction — jusqu'à ce qu'on y ajoute une charnière, et la voilà qui se plie. Après chaque couche en ligne droite, applique un pli tout simple : garde ce qui est positif, écrase le reste à zéro. Ce coude, c'est la ReLU, la non-linéarité la moins chère qui soit. Une charnière fait peu. Mais une charnière après chaque couche transforme une règle rigide en quelque chose qui peut se plier autour de n'importe quoi.
Pourquoi ce pli, et pas les vieilles courbes qui écrasaient tout ?

Pourquoi ce pli, et pas les vieilles courbes qui écrasaient tout ?

σ(x)=σ(x)(1σ(x))14  l=1Lσ(14)L ⁣0;ReLU(x)=1  (x>0)\sigma'(x)=\sigma(x)\bigl(1-\sigma(x)\bigr)\le \tfrac{1}{4}\ \Rightarrow\ \prod_{l=1}^{L}\sigma' \le \left(\tfrac{1}{4}\right)^{L}\!\to 0;\qquad \operatorname{ReLU}'(x)=1\ \ (x>0)
Les premiers réseaux se pliaient avec une courbe en S qui s'aplatit aux deux bouts. Comme une balle lâchée dans de la mousse épaisse : chaque couche molle et plate absorbe la poussée, et au fil des couches le signal d'apprentissage meurt avant de revenir — le redoutable gradient qui s'évanouit. Le côté positif de la ReLU est un sol dur, de pente exactement un : le signal rebondit tout droit, sans s'atténuer. Voilà pourquoi les empilements profonds ont enfin pu s'entraîner — le pli a laissé respirer le signal.
Mais la charnière a un coude mort. Alors arrondissez-le.

Mais la charnière a un coude mort. Alors arrondissez-le.

GELU(x)=xΦ(x),Φ(x)=12[1+erf ⁣(x2)]\operatorname{GELU}(x)=x\,\Phi(x),\qquad \Phi(x)=\tfrac{1}{2}\left[\,1+\operatorname{erf}\!\left(\tfrac{x}{\sqrt{2}}\right)\right]
Le coin de la ReLU est anguleux : pour toute entrée négative, la pente est plate à zéro, et un neurone coincé là devient mort — aucune pente à suivre, aucun moyen d'apprendre en retour. Comme une rampe au lieu d'un trottoir : une roue se bloque contre un bord dur mais monte sans heurt sur une pente douce. Les plis lisses comme GELU arrondissent le coin — une vanne douce qui s'ouvre presque en grand pour les grandes entrées et se referme doucement pour les petites, laissant partout une pente exploitable.
Des segments droits plus des plis peuvent tracer n'importe quelle forme.

Des segments droits plus des plis peuvent tracer n'importe quelle forme.

ε>0  N:g(x)i=1Nciσ ⁣(wix+bi)<ε\forall\,\varepsilon>0\ \ \exists\,N:\quad \left|\,g(x)-\sum_{i=1}^{N} c_i\,\sigma\!\left(w_i^\top x + b_i\right)\right|<\varepsilon
Voici la récompense. Comme plier un fil de fer en silhouette : un fil droit et rigide ne trace qu'une ligne, mais avec assez de petits plis il dessine le contour que vous voulez — un oiseau, une côte, une signature. Une couche linéaire pose les segments droits ; l'activation ajoute les plis. Empilez-en assez et le réseau peut approcher n'importe quelle forme continue, à la précision voulue. C'est le célèbre résultat — et il meurt dès qu'on retire le pli.
🌱 Chaque courbe qu'il trace n'est, en vérité, que des lignes droites.

🌱 Chaque courbe qu'il trace n'est, en vérité, que des lignes droites.

Regardez de près ce que bâtit le pli. Un réseau fait de ces simples coudes ne trace aucune vraie courbe — il trace d'innombrables petits segments droits, ajustés si finement qu'ils ne font que paraître lisses. Toute la grâce d'un modèle profond — chaque arc élégant de la pensée — est un escalier poncé jusqu'à en effacer les marches. 🌱 La courbe est-elle donc réelle ? Ou la douceur n'est-elle que de la droiture, découpée assez fin pour nous tromper ?
touchez →balayez ↑ pour approfondirbalayez ↓ pour quitter