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(Whhht1+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

RNN déroulé dans le temps
===========================

x_1       x_2       x_3       x_4
 │         │         │         │
 ▼         ▼         ▼         ▼
┌───┐     ┌───┐     ┌───┐     ┌───┐
│ h │────►│ h │────►│ h │────►│ h │
└─┬─┘     └─┬─┘     └─┬─┘     └─┬─┘
  │         │         │         │
  ▼         ▼         ▼         ▼
 y_1       y_2       y_3       y_4

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.

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} :

hth1=i=2thihi1\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.

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[ht1,xt]+bf)f_t = \sigma(W_f [h_{t-1}, x_t] + b_f)Quoi effacer de l'état de cellule
Entréeit=σ(Wi[ht1,xt]+bi)i_t = \sigma(W_i [h_{t-1}, x_t] + b_i)Quelle nouvelle info stocker
Sortieot=σ(Wo[ht1,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=ftct1+itc~tc_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t

c~t=tanh(Wc[ht1,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 ft1f_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

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.