Réseaux de Neurones Récurrents (RNN)

Explorez l'architecture et le fonctionnement des réseaux récurrents

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.

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:

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:

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:

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:

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:

Séries Temporelles:

Autres domaines:

Avantages des RNN

Limitations et Défis

Ressources & approfondissements

Pour explorer des visualisations et des explications sur la mémoire et le texte :

En savoir plus — RNN