tadata
← Retour à l'accueil

Réseaux de neurones récurrents : modélisation séquentielle avant les Transformers

#deep-learning#neural-networks#rnn#sequence-modeling#time-series

Les réseaux de neurones récurrents (RNN) étaient l'architecture dominante pour la modélisation de séquences avant la prise de pouvoir des Transformers. Comprendre les RNN, LSTM et GRU reste essentiel — ils sont encore utilisés sur les appareils edge, les systèmes temps réel et la prévision de séries temporelles où le surcoût des Transformers est trop élevé.

Le principe de récurrence

Un réseau feedforward traite chaque entrée indépendamment. Un RNN maintient un état caché hth_t qui transporte l'information des pas de temps précédents :

ht=tanh⁡(Whhht−1+Wxhxt+bh)h_t = \tanh(W_{hh} h_{t-1} + W_{xh} x_t + b_h) yt=Whyht+byy_t = W_{hy} h_t + b_y

Les mêmes poids WhhW_{hh}, WxhW_{xh} sont partagés à travers tous les pas de temps — c'est ce qui rend les RNN efficaces en paramètres pour des séquences de toute longueur.

tadata
  • h0 = 0
    • W_hh: h1
      • W_hh: h2
        • W_hh: h3
          • → y3
        • → y2
      • → y1
  • x1 'the'
    • W_xh: h1 (see above)
  • x2 'cat'
    • W_xh: h2 (see above)
  • x3 'sat'
    • W_xh: h3 (see above)
Le RNN déroulé sur trois pas : une seule cellule, copiée avec les mêmes poids. La rétropropagation dans le temps parcourt les flèches horizontales à rebours, en multipliant à chaque pas par W_hh et par la dérivée de tanh

Extrait de la fiche « Recurrent Networks and LSTMs » · Demander la fiche complète

Le problème du gradient qui disparaît

Entraîner les RNN via la rétropropagation à travers le temps (BPTT) nécessite de calculer des gradients à travers de nombreux pas de temps. Le gradient de la perte par rapport aux premiers états cachés implique une multiplication répétée par WhhW_{hh} :

∂ht∂h1=∏i=2t∂hi∂hi−1\frac{\partial h_t}{\partial h_1} = \prod_{i=2}^{t} \frac{\partial h_i}{\partial h_{i-1}}

Si les valeurs propres de WhhW_{hh} sont < 1, les gradients diminuent exponentiellement (disparition). Si > 1, ils explosent. En pratique, les RNN classiques peinent à apprendre des dépendances au-delà de ~10-20 pas de temps.

tadata
Cause Same W_hh multiplied at everystep Effect 1 Gradient through k steps ≈(W_hh · tanh')^k leads to Effect 2 Largest singular value < 1:vanishes leads to Effect 3 Largest singular value > 1:explodes Effect 4 Clipping fixes explosions, notvanishing leads to Final effect Useful memory ≈ 10-20 steps;gating needed leads to
Cause Same W_hh multiplied at everystep Effect 1 Gradient through k steps ≈(W_hh · tanh')^k leads to Effect 2 Largest singular value < 1:vanishes leads to Effect 3 Largest singular value > 1:explodes Effect 4 Clipping fixes explosions, notvanishing leads to Final effect Useful memory ≈ 10-20 steps;gating needed leads to
Pourquoi les RNN simples oublient les dépendances à longue portée

Extrait de la fiche « Recurrent Networks and LSTMs » · Demander la fiche complète

LSTM : Long Short-Term Memory

Les LSTM (Hochreiter & Schmidhuber, 1997) résolvent le problème du gradient qui disparaît avec un état de cellule ctc_t qui traverse le temps avec une transformation minimale, plus trois portes qui contrôlent le flux d'information :

PorteFormuleRôle
Oublift=σ(Wf[ht−1,xt]+bf)f_t = \sigma(W_f [h_{t-1}, x_t] + b_f)Quoi effacer de l'état de cellule
Entréeit=σ(Wi[ht−1,xt]+bi)i_t = \sigma(W_i [h_{t-1}, x_t] + b_i)Quelle nouvelle info stocker
Sortieot=σ(Wo[ht−1,xt]+bo)o_t = \sigma(W_o [h_{t-1}, x_t] + b_o)Quoi produire depuis l'état de cellule

La mise à jour de l'état de cellule :

ct=ft⊙ct−1+it⊙c~tc_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t

où c~t=tanh⁡(Wc[ht−1,xt]+bc)\tilde{c}_t = \tanh(W_c [h_{t-1}, x_t] + b_c) est l'état candidat.

La porte d'oubli est l'innovation clé : quand ft≈1f_t \approx 1, les gradients circulent sans changement, permettant l'apprentissage sur des centaines de pas de temps.

GRU : Gated Recurrent Unit

Les GRU (Cho et al., 2014) simplifient les LSTM en fusionnant l'état de cellule et l'état caché en un seul, avec seulement deux portes :

PorteRôle
Réinitialisation (rtr_t)Contrôle combien d'état passé oublier
Mise à jour (ztz_t)Équilibre entre ancien et nouvel état (remplace oubli + entrée)

Les GRU ont moins de paramètres que les LSTM et s'entraînent plus vite, avec des performances comparables sur la plupart des tâches. Ils sont préférés quand le calcul est contraint.

Variantes d'architecture

ArchitectureCas d'usageCaractéristique clé
RNN classiqueSéquences courtes, motifs simplesMinimal, rapide
LSTMDépendances à longue portéeÉtat de cellule + 3 portes
GRULongues séquences, ressources limitées2 portes, moins de paramètres
RNN bidirectionnelContexte complet nécessaire (NER, traduction)Passe avant + arrière
Encodeur-DécodeurSeq-to-seq (traduction, résumé)Compresser → générer
Attention + RNNLongues séquences avec focus sélectifAttention Bahdanau/Luong

RNN vs Transformers

AspectRNN/LSTMTransformers
Traitement séquentielSéquentiel (O(n) étapes)Parallèle (O(1) profondeur)
Dépendances longue portéeSe dégrade avec la distanceL'auto-attention capture toute distance
Vitesse d'entraînementLente (séquentiel)Rapide (parallélisable)
Empreinte mémoireO(1) par étapeO(n²) matrice d'attention
Inférence (streaming)Naturelle — traite jeton par jetonNécessite la séquence complète ou KV cache
Meilleur usage aujourd'huiEdge, temps réel, séries temporellesNLP, vision, séquences en général
tadata
Vanilla RNN LSTM GRU Transformer(sheet 09) Useful memory span ~10-20 steps hundreds of steps similar to LSTM whole contextwindow Parallel over time in training ✗ ✗ ✗ ✓ Cost per sequence O(T·H²) 4× RNN 3× RNN O(T²) attention Memory per generated token constant (onestate) constant constant grows with T (KVcache)
Vanilla RNN LSTM GRU Transformer(sheet 09) Useful memory span ~10-20 steps hundreds of steps similar to LSTM whole contextwindow Parallel over time in training ✗ ✗ ✗ ✓ Cost per sequence O(T·H²) 4× RNN 3× RNN O(T²) attention Memory per generated token constant (onestate) constant constant grows with T (KVcache)
Modèles de séquence comparés (H = taille de l'état caché, T = longueur de la séquence)

Extrait de la fiche « Recurrent Networks and LSTMs » · Demander la fiche complète

Où les RNN gagnent encore

Streaming temps réel : les RNN traitent un jeton à la fois avec une mémoire constante. Pour l'audio en direct, les données de capteurs ou les ticks financiers, c'est un choix naturel.

Déploiement edge : un LSTM avec 500K paramètres peut tourner sur un microcontrôleur. Un Transformer de capacité similaire nécessite 10-100x plus de paramètres.

Prévision de séries temporelles : pour des séries temporelles univariées ou de faible dimension, les LSTM restent compétitifs avec les Transformers et sont plus simples à entraîner et déployer.

Modèles d'espace d'état : la récente famille S4/Mamba combine le traitement séquentiel type RNN avec des performances type Transformer, suggérant que la récurrence n'est pas morte — elle évolue simplement.

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.