Aller au contenu principal

Activations et réseaux feed-forward à portes

« ReLU est obsolète » est trop général ; se limiter à ReLU, sigmoïde et tanh est daté. Le choix dépend de l’architecture, de l’échelle, de la précision, des kernels et du matériel. Les FFN à portes changent aussi le budget, pas uniquement une fonction élémentaire.

NomDéfinition/rôleAtoutLimite
ReLUmax(0,x)\max(0,x)peu coûteux, zéros exactsgradient nul côté négatif
Leaky/PReLUmax(ax,x)\max(ax,x)gradient négatif conservéhypothèse/paramètre supplémentaire
GELUxΦ(x)x\Phi(x)pondération lisseapproximations et kernels différents
SiLU/Swishxσ(βx)x\sigma(\beta x)lisse, petites valeurs négativesnon-monotonicité, quantification
Sigmoïdeσ(x)\sigma(x)porte ou probabilitésaturation
Tanhtanh(x)\tanh(x)état borné et centrésaturation aux extrêmes

GELU peut utiliser des approximations erf ou tanh. Swish peut apprendre β\beta ; SiLU fixe souvent β=1\beta=1. Il faut enregistrer l’implémentation.

La douceur n’est pas un progrès universel

Les gains interagissent avec initialisation, normalisation, largeur, données, optimiseur et fusion des kernels. ReLU reste pertinent quand coût, zéros exacts, quantification ou petite taille dominent. Une baseline ReLU stable permet aussi de voir si une porte n’a gagné qu’en ajoutant des paramètres.

GLU, GEGLU et SwiGLU

FFN(x)=W2ϕ(W1x+b1)+b2,\operatorname{FFN}(x)=W_2\phi(W_1x+b_1)+b_2, GEGLU(x)=Wo(GELU(Wgx)Wvx),\operatorname{GEGLU}(x)=W_o(\operatorname{GELU}(W_gx)\odot W_vx), SwiGLU(x)=Wo(SiLU(Wgx)Wvx).\operatorname{SwiGLU}(x)=W_o(\operatorname{SiLU}(W_gx)\odot W_vx).

Une couche à portes possède trois projections principales au lieu de deux. À nombre de paramètres égal, sa largeur intermédiaire doit donc être réduite ; aucun ratio n’est universel.

BERT utilisait GELU ; PaLM rapportait SwiGLU ; Llama 3 combine SwiGLU, RMSNorm, RoPE et GQA ; ConvNeXt montre GELU dans un ConvNet moderne. Ces exemples établissent des choix datés, pas une supériorité générale, et plusieurs changements simultanés empêchent d’attribuer le gain à l’activation seule.

Les activations de sortie relèvent d’une autre décision : logits binaires, Softmax exclusif, sigmoïdes multilabel ou support de régression. Pour la stabilité, les pertes consomment souvent directement les logits.

Échecs et protocole

Surveiller unités mortes, saturation, portes effondrées, NaN en précision mixte, kernel non fusionné et dégradation après quantification. Fixer split, initialisation, optimiseur, étapes et arrêt ; déclarer largeur, paramètres, FLOPs, mémoire et débit cible ; répéter les seeds ; définir avant le test les seuils de qualité, latence et stabilité.

Cette note favorise les Transformers denses sur GPU. Activations périodiques, splines, réseaux implicites, modèles impulsionnels et accélérateurs spécialisés demandent d’autres critères.