Réseau de neurones feedforward / MLP

Perceptron multicouche - Le fondement du deep learning

Du perceptron de Rosenblatt (1958) aux Transformers modernes - l'approximateur universel de fonctions

Visualisation de la structure du réseau

Visualisez le flux des données à travers les couches d'entrée, cachées et de sortie

Passe avant: x -> [Hidden] -> ... -> y

Configuration du réseau

Animation

Concept clé

FFNN: L'information circule uniquement vers l'avant (Input -> Hidden -> Output), sans boucles ni cycles

Démo de transformation par couche

Voyez comment chaque couche transforme les données: Transformation linéaire + activation non linéaire

z = Wa + b: Transformation linéaire
a = sigma(z): Activation non linéaire

Poids et biais

Fonction d'activation

Pourquoi la non-linéarité?

Sans activation: y = W2(W1x) = (W2W1)x reste linéaire! Impossible d'apprendre des motifs complexes.

Galerie des fonctions d'activation

Comparez différentes fonctions d'activation et leurs gradients

Détails de la fonction

Formule: f(x) = 1/(1+e^(-x))
Plage: (0, 1)
Gradient: f'(x) = f(x)(1-f(x))
Avantages: Smooth, differentiable
Problèmes: Vanishing gradient

Tableau d'évolution

Fonction Avantages Problèmes
Sigmoid Lisse Évanescence
Tanh Centrée en zéro Évanescence
ReLU Simple, rapide Neurones morts
Leaky ReLU Pas de neurones morts Ajuster alpha
GELU Lisse, théorie Complexe

Théorème d'approximation universelle

MLP peut approximer toute fonction continue sur des sous-ensembles compacts

Fonction cible

Théorème (Cybenko, 1989)

Un réseau feedforward avec une seule couche cachée contenant un nombre fini de neurones peut approximer toute fonction continue sur des sous-ensembles compacts de R^n

Intuition géométrique

Couche 1: Découpe l'espace en régions. Couches plus profondes: Forment des frontières de décision complexes par composition.

Visualisation de la rétropropagation

Observez les gradients se propager vers l'arrière dans le réseau

Règle de la chaîne: dL/dW = dL/da * da/dz * dz/dW

Simulation

État du flux de gradient

Cliquez sur les boutons pour commencer

Mise à jour des paramètres

W <- W - lr * dL/dW

Chaque gradient est calculé en multipliant le gradient local par le gradient amont (règle de la chaîne)

Bloc MLP du Transformer

Comprendre pourquoi chaque bloc Transformer contient un MLP/FFN

Mode d'affichage

Pourquoi un MLP dans Transformer?

1 Attention: Interaction entre tokens (mélange global)
2 MLP: Raffinement des caractéristiques par token (profondeur locale)
3 Complémentaires: Ensemble, ils permettent des représentations riches

Preuves expérimentales

  • Supprimer MLP -> Forte baisse des performances
  • Supprimer 30-50% de Attention -> Impact mineur
  • MLP fournit une capacité non linéaire critique
FFN(x): GELU(xW1 + b1)W2 + b2
Typique: d_model -> 4d_model -> d_model

Conception du réseau

Petites données: 2-4 layers
Grandes données: 5-20 layers
Règle de largeur: 2-10x input dim

Méthodes d'initialisation

ReLU Family -> He/Kaiming Init
Sigmoid/Tanh -> Xavier/Glorot Init

Régularisation

  • L2 Weight Decay (évite des poids trop grands)
  • Dropout (désactivation aléatoire)
  • BatchNorm / LayerNorm (entraînement stable)
  • Early Stopping (évite le surapprentissage)

Applications réelles

1
Prédiction du prix des maisons Régression avec des caractéristiques tabulaires
2
Détection de fraude Classification binaire sur des données de transaction
3
Diagnostic médical Classification multiclasse sur des données patients

Chronologie historique

1958 Rosenblatt: Perceptron
1986 Rumelhart/Hinton: Rétropropagation
2011 Révolution ReLU
2017 Transformer + GELU
2018 Turing Award: Hinton, LeCun, Bengio

Limites du MLP

  • Grand nombre de paramètres pour des entrées de grande dimension
  • Aucune exploitation structurelle intégrée (contrairement à CNN/RNN)
  • Sujet au surapprentissage sur de petits jeux de données
  • Nécessite une taille d'entrée fixe

Résumé en une ligne

MLP = Compositions multiples de "Transformation linéaire + Activation non linéaire" = approximateur universel de fonctions