Aller au contenu principal

Chargement du lab visuel…

#activationRéseaux de neurones

Pourquoi une activation ? ReLU, sigmoid, tanh, Leaky ReLU, GELU et le gradient qui disparaît.

Ce que tu vas manipuler

  1. Bienvenue dans #activation. À l'écran, la courbe de sigmoid sur [-5, 5] et un point rose en x = 2.5. Un neurone calcule f(Σ 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.
  2. Pousse le point plus à droite : tape /x 4. Regarde où atterrit f(x) et surtout de combien il a bougé.
  3. 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.
  4. 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.
  5. Mais ReLU a un talon d'Achille. Place le point à gauche : /x -2.
  6. 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.
  7. À toi de jouer : /fonction gelu puis /x -0.75 (le creux de GELU), /fonction tanh puis /x 0 (pente maximale = 1), /derivee pour comparer les cinq dérivées, /reinit pour 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.
  • /deriveeAffiche ou masque la courbe de la dérivée f'(x).
  • /comparerSuperpose les cinq fonctions, chacune avec sa couleur.
  • /reinitRevient à 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

  • #neuroneDécomposons un neurone : entrées, poids, somme, activation.
  • #dropoutRégularisation par dropout : le meilleur ami des réseaux profonds.
  • #activationPourquoi une activation ? ReLU, sigmoid, tanh, Leaky ReLU, GELU et le gradient qui disparaît.
  • #descente-de-gradientLa perte est un paysage. Le gradient dit où ça monte, on fait un pas dans l'autre sens.
  • #rétropropagationLe 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-apprentissageUn gros modèle sur peu de données : la frontière de décision se tord jusqu'à mémoriser le bruit.
  • #cnn-filtresUne image est une grille de nombres. Un filtre 3×3 glisse dessus, multiplie, additionne : c'est une convolution.
  • #is-it-einsteinIs 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-3dUn mot devient un vecteur : proches dans l'espace = proches en sens, et on peut calculer dessus.