#activation — Réseaux de neurones
Pourquoi une activation ? ReLU, sigmoid, tanh, Leaky ReLU, GELU et le gradient qui disparaît.
Ce que tu vas manipuler
- Bienvenue dans #activation. À l'écran, la courbe de
sigmoidsur [-5, 5] et un point rose enx = 2.5. Un neurone calculef(Σ w·x + b). Sans f, empiler dix couches revient à composer dix fonctions linéaires… c'est-à-dire une seule fonction linéaire : une régression, incapable de séparer XOR. L'activation est ce qui rend le réseau non linéaire. - Pousse le point plus à droite : tape
/x 4. Regarde où atterritf(x)et surtout de combien il a bougé. - Pour apprendre, ce qui compte n'est pas
f(x)mais f'(x), la pente. C'est elle que la rétropropagation multiplie de couche en couche pour remonter l'erreur. Affiche-la :/derivee. - Passe en ReLU :
/fonction relu. À droite de zéro, la pente vaut 1 quelle que soit la valeur de x : aucune saturation. Ce détail a permis d'entraîner AlexNet en 2012 et a relancé tout le deep learning. - Mais ReLU a un talon d'Achille. Place le point à gauche :
/x -2. - Superpose les cinq fonctions :
/comparer. Repère GELU (bleu clair) : lisse comme sigmoid autour de zéro, linéaire comme ReLU à droite, légèrement négative (creux à -0.17). C'est l'activation des transformers : BERT, GPT et la plupart des LLM. - À toi de jouer :
/fonction gelupuis/x -0.75(le creux de GELU),/fonction tanhpuis/x 0(pente maximale = 1),/deriveepour comparer les cinq dérivées,/reinitpour repartir. Prochaine étape : le canal #descente-de-gradient, où cette pente devient la direction dans laquelle les poids bougent.
Commandes du canal
/fonction <relu|sigmoid|tanh|leaky|gelu>— Change la fonction d'activation tracée./x <valeur -5..5>— Déplace le point rose le long de la courbe./derivee— Affiche ou masque la courbe de la dérivée f'(x)./comparer— Superpose les cinq fonctions, chacune avec sa couleur./reinit— Revient à sigmoid, x = 2.5, sans dérivée ni comparaison.
Glossaire
- Fonction d'activation
- Fonction non linéaire appliquée à la somme pondérée d'un neurone. Sans elle, empiler des couches revient à une seule fonction linéaire : c'est elle qui donne au réseau sa puissance.
- ReLU
max(0, x). Pente 1 à droite de zéro (aucune saturation), 0 à gauche. Rapide et efficace : l'activation par défaut des réseaux profonds depuis 2012.- Sigmoïde
1 / (1 + e^(−x)), sortie entre 0 et 1. Sature aux deux bouts : la pente y tend vers 0, ce qui étouffe le gradient dans les réseaux profonds. Reste utile en sortie pour une probabilité.- Tanh
- Tangente hyperbolique, sortie entre −1 et 1, centrée en zéro (mieux que la sigmoïde pour les couches cachées), mais sature elle aussi.
- Leaky ReLU
- ReLU avec une petite pente (0,01) à gauche de zéro : un neurone n'est jamais complètement « mort », il peut toujours se réveiller.
- GELU
- Activation lisse
x·Φ(x)(Φ = répartition gaussienne) : proche de ReLU à droite, légèrement négative près de zéro. Utilisée dans BERT, GPT et la plupart des transformers. - Saturation
- Zone où la fonction devient plate : la dérivée est presque nulle et le signal d'apprentissage ne remonte plus. Sigmoïde et tanh saturent aux extrêmes.
- Gradient qui disparaît
- En rétropropagation, les dérivées se multiplient de couche en couche. Si elles valent 0,1 chacune, dix couches donnent 10⁻¹⁰ : les premières couches n'apprennent plus.
- Neurone mort
- Neurone ReLU dont la pré-activation est toujours négative : sortie 0, gradient 0, il ne se réveillera jamais. Leaky ReLU et une bonne initialisation limitent le problème.
Autres canaux du thème Réseaux de neurones
- #neurone — Décomposons un neurone : entrées, poids, somme, activation.
- #dropout — Régularisation par dropout : le meilleur ami des réseaux profonds.
- #activation — Pourquoi une activation ? ReLU, sigmoid, tanh, Leaky ReLU, GELU et le gradient qui disparaît.
- #descente-de-gradient — La perte est un paysage. Le gradient dit où ça monte, on fait un pas dans l'autre sens.
- #rétropropagation — Le graphe de calcul rejoué à l'envers : chaque nœud reçoit ∂L/∂(lui) et la règle de la chaîne fait le reste.
- #sur-apprentissage — Un gros modèle sur peu de données : la frontière de décision se tord jusqu'à mémoriser le bruit.
- #cnn-filtres — Une image est une grille de nombres. Un filtre 3×3 glisse dessus, multiplie, additionne : c'est une convolution.
- #is-it-einstein — Is it Einstein ? Deux visages passent au scanner d’un réseau qui n’a appris qu’Einstein : Haythem → NON, Einstein → OUI. Regarder est gratuit ; toucher est Premium.
- #embeddings-3d — Un mot devient un vecteur : proches dans l'espace = proches en sens, et on peut calculer dessus.