Aller au contenu principal

Réseaux de neurones récurrents

Un RNN réutilise des paramètres tout en transmettant un état à travers le temps :

ht=ϕ(Wxhxt+Whhht1+bh),ot=Whoht+bo.\mathbf{h}_t=\phi(W_{xh}\mathbf{x}_t+W_{hh}\mathbf{h}_{t-1}+\mathbf{b}_h), \qquad \mathbf{o}_t=W_{ho}\mathbf{h}_t+\mathbf{b}_o.

L'état de dimension finie est un résumé appris pour l'objectif visé, et non une archive sans perte. Cette compression permet le traitement au fil de l'eau (streaming) tout en perdant des détails à longue portée.

Objectifs séquentiels

FormeSortieExempleLimite
many-to-oneétat final ou agrégéclassification de séquencesl'information initiale peut-elle survivre ?
many-to-many alignéchaque pas de tempsétiquetage, prévisionles masques et le remplissage (padding) comptent
autorégressiftoken/valeur suivant(e)langue, séries temporellesles entrées d'entraînement et de génération diffèrent
encodeur–décodeurséquence conditionnelletraductionun contexte unique peut constituer un goulot d'étranglement

La modélisation autorégressive factorise

p(x1:T)=t=1Tp(xtx<t).p(x_{1:T})=\prod_{t=1}^{T}p(x_t\mid x_{<t}).

Le forçage de l'enseignant (teacher forcing) fournit le préfixe réel lors de l'entraînement ; la génération libre consomme les erreurs antérieures du modèle. Une faible perte sous teacher forcing ne garantit donc pas un déroulement (rollout) stable.

Pourquoi la rétropropagation à travers le temps échoue

Le chemin reliant l'instant tt à l'instant kk fait intervenir un produit de jacobiens :

hthk=j=k+1tdiag(ϕ(zj))Whh.\frac{\partial\mathbf{h}_t}{\partial\mathbf{h}_k} =\prod_{j=k+1}^{t}\operatorname{diag}(\phi'(\mathbf{z}_j))W_{hh}.

Des contractions répétées provoquent la disparition du gradient ; des expansions provoquent son explosion. La longueur, le spectre des poids, la saturation des activations et les trajectoires rencontrées jouent tous un rôle.

L’écrêtage du gradient (gradient clipping) limite les grandes mises à jour mais ne peut pas restaurer les gradients évanescents. La BPTT tronquée économise la mémoire tout en tronquant l'attribution temporelle du crédit. L'initialisation, la normalisation et les mécanismes de portes aident sans pour autant créer une mémoire infinie.

Pour préciser l’ordre, posons Jj=diag(ϕ(zj))WhhJ_j=\operatorname{diag}(\phi'(z_j))W_{hh}. Le produit est JtJt1Jk+1J_tJ_{t-1}\cdots J_{k+1} ; on ne peut généralement pas inverser les facteurs matriciels. Les mêmes paramètres récurrents servent à chaque étape : leur gradient additionne toutes les contributions, y compris les chemins indirects par les états ultérieurs. C’est le mécanisme de dérivation en chaîne derrière les difficultés de gradient de la BPTT.

Pour la récurrence de lissage ci-dessous, avec α=1/2\alpha=1/2, h0=0h_0=0 et les entrées [2,0,4][2,0,4], les états sont [1,0.5,2.25][1,0.5,2.25]. La sensibilité à h0h_0 après trois étapes vaut α3=1/8\alpha^3=1/8. Détacher l’état après la deuxième étape conserve sa valeur 0.50.5 pour la passe avant suivante, mais coupe le gradient vers le segment antérieur. Détacher n’est pas réinitialiser. Avec du padding et une sortie consommant l’état final, masquer seulement la perte ne suffit pas : ignorer les mises à jour sur les positions de padding ou sélectionner le dernier état valide.

Mécanisme de portes du LSTM

Un réseau à mémoire à long et court terme (LSTM) maintient un état de cellule ct\mathbf c_t en plus de l’état caché ht\mathbf h_t. La porte d’oubli ft\mathbf f_t pondère l’ancien état de cellule, la porte d’entrée it\mathbf i_t pondère la mise à jour candidate c~t\tilde{\mathbf c}_t, et la porte de sortie ot\mathbf o_t contrôle la contribution de la cellule à ht\mathbf h_t. Ici, σ\sigma désigne la sigmoïde, \odot le produit élément par élément, et [ht1,xt][\mathbf h_{t-1},\mathbf x_t] la concaténation des deux vecteurs. Dans ces équations, ot\mathbf o_t est la porte de sortie, et non le vecteur de scores de l’équation RNN initiale. Une forme courante est :

ft=σ(Wf[ht1,xt]+bf),it=σ(Wi[ht1,xt]+bi),\mathbf{f}_t=\sigma(W_f[\mathbf{h}_{t-1},\mathbf{x}_t]+\mathbf{b}_f), \quad \mathbf{i}_t=\sigma(W_i[\mathbf{h}_{t-1},\mathbf{x}_t]+\mathbf{b}_i), c~t=tanh(Wc[ht1,xt]+bc),ct=ftct1+itc~t,\tilde{\mathbf{c}}_t=\tanh(W_c[\mathbf{h}_{t-1},\mathbf{x}_t]+\mathbf{b}_c), \quad \mathbf{c}_t=\mathbf{f}_t\odot\mathbf{c}_{t-1}+\mathbf{i}_t\odot\tilde{\mathbf{c}}_t, ot=σ(Wo[ht1,xt]+bo),ht=ottanh(ct).\mathbf{o}_t=\sigma(W_o[\mathbf{h}_{t-1},\mathbf{x}_t]+\mathbf{b}_o), \quad \mathbf{h}_t=\mathbf{o}_t\odot\tanh(\mathbf{c}_t).

Le chemin additif de la cellule améliore l'écoulement de l'information et des gradients. Les portes sont des commandes douces apprises, et non des commutateurs de mémoire automatiquement interprétables ; les implémentations varient au niveau des biais, des projections, des connexions peephole et de l'ordre des portes.

Exemple appliqué : lissage en streaming

Pour un état scalaire

ht=αht1+(1α)xt,0<α<1,h_t=\alpha h_{t-1}+(1-\alpha)x_t, \qquad 0<\alpha<1,

une observation vieille de mm pas a un poids de (1α)αm(1-\alpha)\alpha^m. La mise à jour utilise une mémoire constante, mais ne peut pas récupérer une ancienne valeur précise à la demande. La récurrence apprise est plus flexible et conserve le même compromis de compression ; l'attention le modifie en conservant et en adressant de multiples positions représentées.

Frontières d'état et de données

Les RNNs causaux permettent le streaming ; les RNNs bidirectionnels exploitent le contexte futur et ne peuvent pas être déployés là où le futur est indisponible. Le remplissage (padding) doit être masqué. L'état doit être réinitialisé entre entités indépendantes, à moins qu'une transmission entre frontières n'ait une signification explicite. Découper aléatoirement des fenêtres qui se chevauchent peut faire fuiter du contenu séquentiel adjacent entre l'entraînement et le test — un défaut d'évaluation, non une qualité d'architecture.

Modèles séquentiels modernes à base d'états

Les RNNs classiques ne constituent pas le point final de la modélisation à base d'états. Les modèles d'espace d'états structurés (SSMs) utilisent des équations d'état structurées et des algorithmes parallèles pour combiner l'entraînement sur de longues séquences avec une inférence récurrente. S4 a introduit les SSMs structurés ; Mamba a rendu certaines parties de la mise à jour dépendantes de l'entrée et a introduit un balayage (scan) adapté au matériel ; xLSTM a revisité la mémoire récurrente et les portes.

Il ne s'agit pas d'une architecture unique. L'affirmation selon laquelle Mamba passe à l'échelle sur les séquences décrit une voie algorithmique, et non une supériorité garantie en temps d'exécution réel (wall-clock) à toute longueur, taille de batch ou matériel. xLSTM n'établit pas que les LSTMs surpassent universellement les Transformers. Les benchmarks des articles restent liés aux données, à l'échelle, aux kernels et aux budgets.

DimensionRNN classique / certains SSMsAuto-attention complète
chemin d'entraînementsériel pour les RNNs ; les SSMs structurés peuvent être paralléliséspositions parallèles au sein d'une couche
état à l'inférencetaille fixe ou contrôléele cache KV croît généralement avec le contexte
accès à l'historiqueétat compresséaccès direct aux positions représentées
coût à longue portéedynamique et sélection d'étatscores généralement quadratiques en fonction de la longueur
contre-exemple utileséquence en streaming à faible mémoirerécupération flexible et entraînement parallèle

Au 2026-08-11, S4, Mamba et xLSTM sont d'importantes architectures concurrentes, et non un nouveau standard permanent par défaut.

Expérimentation minimale

Surapprenez sur une séquence courte ; vérifiez que la modification du padding masqué laisse la sortie inchangée ; mélangez délibérément les frontières d'état et assurez-vous que les tests échouent ; rapportez les résultats avec teacher forcing et en génération libre ; découpez par entité et par temps ; comparez à des références sans état, saisonnières ou à moyenne mobile ; et enregistrez les normes de gradient, la longueur de troncature, la largeur cachée, les kernels et les graines ayant échoué.

Cette note privilégie les séquences discrètes supervisées. Les systèmes en temps continu, l'ensemble des variantes de SSM, l'apprentissage par renforcement et le feedback en ligne nécessitent un traitement distinct.

Explorer les liensOuvrir le réseau