Qu'est-ce qu'un RNN ?
Le RNN introduit une boucle de rétroaction. La sortie d'un neurone à l'instant t est réinjectée en entrée à l'instant t+1.
Le réseau possède donc un état caché qui agit comme une mémoire à court terme. Il se "souvient" de ce qu'il vient de lire.
Les RNN classiques souffrent d'un problème mathématique majeur : la "disparition du gradient" (Vanishing Gradient). Sur de longues séquences, ils oublient le début de la phrase.
- LSTM (Long Short-Term Memory): Fonctionne comme un circuit complexe avec des "portes" qui décident activement quelle information garder, oublier ou transmettre.
- Applications: Compréhension du langage, musique, séries temporelles.
Dans la phrase "J'ai grandi en France donc je parle couramment ____", le mot manquant dépend d'un mot vu bien avant ("France").
Le RNN introduit une boucle de rétroaction...
Architecture des RNN
Contrairement aux MLPs qui traitent les entrées de façon indépendante, les RNN traitent les séquences pas à pas en maintenant une mémoire:
- État caché: Vecteur qui contient l'information du passé. À chaque pas de temps, il est mise à jour: $$h_t = f(h_{t-1}, x_t)$$
- Entrée à l'instant t: Le nouvel élément de la séquence
- Sortie à l'instant t: Prédiction basée sur l'état caché actuel
- Feed-forward temporel: L'information circule à travers le temps
C'est comme si le réseau "déroulé" dans le temps se transformait en MLP très profond, où chaque couche représente un pas de temps.
Long Short-Term Memory
Les LSTM, inventés par Hochreiter et Schmidhuber en 1997, résolvent le problème du vanishing gradient en introduisant des portes:
- Input Gate: Décide quelle nouvelle information ajouter à la mémoire
- Forget Gate: Décide quelle information oublier du passé
- Cell State: Transport l'information à long terme à travers les pas de temps
- Output Gate: Décide quelle information exposer en tant que sortie
Ces portes sont des couches de neurones avec activation sigmoïde ou tanh, ce qui permet au réseau d'apprendre quand conserver ou ignorer l'information. La cell state agit comme une autoroute d'informations qui peut contourner les problèmes de gradient.
Visualisation d'une cellule LSTM : l'état de cellule (en haut) transporte l'information à long terme.
Gated Recurrent Unit
Les GRU sont une variante simplifiée des LSTM, proposée par Cho et al. en 2014:
- Combine la cell state et le hidden state en un seul state
- Possède seulement deux portes: Reset Gate et Update Gate
- Moins de paramètres à entraîner
- Performance souvent comparable aux LSTM sur de nombreuses tâches
Les GRU sont un bon compromis entre complexité et efficacité, particulièrement utiles quand on a peu de données.
Backpropagation Through Time
L'entraînement des RNN utilise un algorithme appelé BPTT qui étend la backpropagation standard:
- Dérouler le réseau: Développer les connexions récurrentes dans le temps
- Forward pass: Calculer les sorties pour chaque pas de temps
- Calcul de l'erreur totale: Somme des erreurs sur tous les pas de temps
- Backward pass: Propager l'erreur en arrière à travers le temps
- Mise à jour des poids: Utiliser le gradient accumulé
Cette approche peut être coûteuse en calcul pour de longues séquences, d'où l'utilisation de techniques comme le Truncated BPTT qui limite la profondeur du déroulement.
Backpropagation Through Time
L'erreur (en rouge) est propagée de la sortie vers le passé à travers chaque pas de temps.
Applications Pratiques
Traitement du Langage Naturel:
- Traduction automatique
- Classification de sentiment
- Génération de texte
- Reconnaissance d'intention dans les chatbots
Séries Temporelles:
- Prédiction de cours de bourse
- Prévisions météorologiques
- Détection d'anomalies (fraude, maintenance préventive)
- Prédiction du trafic
Autres domaines:
- Reconnaissance de gestes et mouvements
- Synthèse musicale
- Sous-titrage d'images
- Reconnaissance vocale
Avantages des RNN
- Mémoire: Peuvent capturer les dépendances à long terme
- Flexibilité temporelle: Acceptent des entrées de longueurs variables
- Partage de poids: Les mêmes poids utilisés à chaque pas de temps (efficace)
- Polyvalence: Adaptés pour une grande variété de tâches séquentielles
Limitations et Défis
- Vanishing Gradient: Les gradients diminuent exponentiellement
- Exploding Gradient: Les gradients peuvent exploser (résolu par gradient clipping)
- Coûteux à entraîner: Demande beaucoup de temps de calcul comparé aux MLP
- Difficile à paralléliser: La nature séquentielle rend le parallélisme limité
- Approche émergente - Transformers: Les architectures d'attention commencent à remplacer les RNN pour certaines tâches NLP
Ressources & approfondissements
Pour explorer des visualisations et des explications sur la mémoire et le texte :
En savoir plus — RNN