Recurrent Neural Network : fonctionnement et structure
Un Recurrent Neural Network, en français un réseau neuronal récurrent, est un réseau capable d’utiliser des rétroactions pour créer une sorte de mémoire. Cette technologie est principalement utilisée pour traiter des données séquentielles et requiert un effort d’entraînement relativement important.
Qu’est-ce qu’un Recurrent Neural Network ?
Un Recurrent Neural Network (RNN) est un réseau neuronal artificiel capable de générer des rétroactions et donc de réinjecter les informations de sortie comme nouvelles entrées. Cette méthode est notamment utilisée pour le traitement de données séquentielles dans le domaine du Deep Learning et de l’IA. En français, on parle également de réseau neuronal avec rétroaction. En intégrant les informations des entrées précédentes, le Recurrent Neural Network développe une sorte de mémoire et ajuste ses sorties en fonction des éléments antérieurs dans une séquence. Il existe différents types de rétroaction, ce qui élargit les possibilités d’application, mais rend également l’entraînement plus complexe et exigeant.
- Créez votre site Web en un temps record
- Boostez votre activité grâce au marketing par IA
- Gagnez du temps et obtenez de meilleurs résultats
Comment fonctionnent les Recurrent Neural Networks ?
À première vue, les Recurrent Neural Networks sont structurés de manière similaire aux autres réseaux neuronaux. Ils sont composés d’au moins trois couches différentes (en anglais « layer »), contenant des neurones (nœuds) reliés entre eux par des connexions. On parle d’une couche d’entrée (input layer), d’une couche de sortie (output layer) et d’un nombre quelconque de couches intermédiaires, également appelées couches cachées (hidden layer).
- Couche d’entrée : cette couche reçoit des informations de l’extérieur. Elles sont ensuite pondérées et transmises à la couche supérieure.
- Couche cachée : il s’agit des couches intermédiaires. C’est là que les informations sont transmises et rééquilibrées. Ce processus se répète à chaque couche supplémentaire, et se déroule en arrière-plan, d’où le terme de « couches cachées ».
- Couche de sortie : la sortie des informations évaluées ou modifiées s’effectue via la couche de sortie. Cette sortie peut soit constituer le résultat final, soit servir d’entrée pour d’autres neurones.

La particularité d’un Recurrent Neural Network est la possibilité de déterminer lui-même la direction du flux d’informations. Grâce à la rétroaction, la sortie d’un neurone ne doit pas nécessairement être transmise à la couche immédiatement supérieure, mais peut aussi servir d’entrée au même neurone, à un neurone de la même couche, ou à un neurone de la couche précédente. Le paramètre de pondération reste identique dans chaque couche. La rétroaction est divisée en quatre catégories différentes :
- Direct Feedback : dans une rétroaction directe, la sortie d’un même neurone est réutilisée comme entrée.
- Indirect Feedback : dans une rétroaction indirecte, la sortie d’un neurone est reliée à une couche précédente.
- Lateral Feedback : dans une rétroaction latérale, la sortie d’un neurone est connectée à l’entrée d’un autre neurone de la même couche.
- Rétroaction complète : dans une rétroaction complète, les sorties de tous les neurones sont connectées à d’autres neurones.
Comment les Recurrent Neural Networks sont-ils entraînés ?
Il est nettement plus compliqué d’entraîner des Recurrent Neural Networks, car les informations remontant loin dans le temps ne peuvent souvent pas être prises en compte, ou seulement de manière insuffisante. Pour remédier à ce problème, on a souvent recours à des solutions comme la mémoire longue à court terme Long Short-Term Memory (LSTM). Cela permet de conserver les informations plus longtemps. Avec un entraînement adéquat, un Recurrent Neural Network est capable de distinguer les informations importantes des informations secondaires et de les réinjecter dans le réseau.
Quelles sont les architectures existantes ?
Il existe différentes architectures qui distinguent les Recurrent Neural Networks les uns des autres. Voici les types les plus courants :
- One to many : dans ce type d’architecture, le réseau neuronal récurrent reçoit une seule entrée et produit plusieurs sorties. Un exemple pratique est la génération de légendes d’image, où une phrase est générée à partir d’un mot-clé.
- Many to one : ici, plusieurs entrées sont attribuées à une seule sortie. Ce principe est utilisé entre autres dans l’analyse de l’humeur, où le feedback est prédit sur la base de références.
- Many to many : dans cette architecture, plusieurs entrées sont utilisées pour produire plusieurs sorties. Le nombre d’entrées et de sorties n’a pas besoin d’être identique. Cette technique est notamment utilisée dans la traduction automatique d’une langue vers une autre.
Quels sont les principaux domaines d’application d’un Recurrent Neural Network ?
Les Recurrent Neural Networks sont particulièrement utiles lorsque le contexte est important dans le traitement des informations. C’est notamment le cas lorsqu’il s’agit de traiter des données séquentielles qui suivent un ordre ou une chronologie précise. Dans de tels cas, les RNN peuvent mieux prédire un résultat en tenant compte du contexte des entrées précédentes. Cette technologie est donc particulièrement adaptée, entre autres, aux domaines d’application suivants :
- Prévisions et données de séries chronologiques : les RNN sont souvent utilisés pour prédire des événements ou des valeurs à partir de données historiques, comme dans l’analyse des marchés financiers, les prévisions météorologiques ou la consommation d’énergie.
- Natural Language Processing (NLP) : dans le domaine du traitement automatique du langage naturel, en anglais le Natural Language Processing, les réseaux neuronaux récurrents sont particulièrement utiles. Ils sont utilisés pour des tâches telles que la traduction automatique, la modélisation du langage, la reconnaissance de texte et la génération automatique de textes.
- Reconnaissance vocale : les RNN jouent un rôle crucial dans la technologie de reconnaissance vocale, où ils sont utilisés pour convertir la parole en texte. Ces applications se retrouvent notamment dans les assistants numériques et les services de transcription automatique.
- Analyse d’images et de vidéos : bien que les Recurrent Neural Networks soient principalement utilisés pour le traitement de données séquentielles, ils peuvent également être utilisés dans l’analyse d’images et de vidéos, en particulier lorsqu’il s’agit de traiter des séquences d’images ou de vidéos. Cela inclut des applications comme la synthèse vidéo ou la reconnaissance d’activités dans les vidéos de surveillance.
Quelle est la différence par rapport à un Feedforward Neural Network ?
Le Recurrent Neural Network est une évolution du Feedforward Neural Network (FNN) qui ne permet pas de rétroactions. Dans un FNN, les informations circulent toujours dans une seule direction vers la couche suivante. Une réinjection en sens inverse est donc impossible. Ainsi, le Feedforward Neural Network peut certes reconnaître des modèles, mais il ne peut pas s’appuyer sur des informations déjà traitées.