Un Recurrent Neural Network, en français un réseau neuronal récurrent, est un réseau capable d’utiliser des ré­troac­tions pour créer une sorte de mémoire. Cette tech­no­lo­gie est prin­ci­pa­le­ment utilisée pour traiter des données sé­quen­tielles et requiert un effort d’en­traî­ne­ment re­la­ti­ve­ment important.

Qu’est-ce qu’un Recurrent Neural Network ?

Un Recurrent Neural Network (RNN) est un réseau neuronal ar­ti­fi­ciel capable de générer des ré­troac­tions et donc de réin­jec­ter les in­for­ma­tions de sortie comme nouvelles entrées. Cette méthode est notamment utilisée pour le trai­te­ment de données sé­quen­tielles dans le domaine du Deep Learning et de l’IA. En français, on parle également de réseau neuronal avec ré­troac­tion. En intégrant les in­for­ma­tions 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 an­té­rieurs dans une séquence. Il existe dif­fé­rents types de ré­troac­tion, ce qui élargit les pos­si­bi­li­tés d’ap­pli­ca­tion, mais rend également l’en­traî­ne­ment plus complexe et exigeant.

Outils d'IA
Exploitez toute la puissance de l'in­tel­li­gence ar­ti­fi­cielle
  • 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 fonc­tion­nent les Recurrent Neural Networks ?

À première vue, les Recurrent Neural Networks sont struc­tu­rés de manière similaire aux autres réseaux neuronaux. Ils sont composés d’au moins trois couches dif­fé­rentes (en anglais « layer »), contenant des neurones (nœuds) reliés entre eux par des con­nexions. On parle d’une couche d’entrée (input layer), d’une couche de sortie (output layer) et d’un nombre quel­conque de couches in­ter­mé­diaires, également appelées couches cachées (hidden layer).

  • Couche d’entrée : cette couche reçoit des in­for­ma­tions de l’extérieur. Elles sont ensuite pondérées et trans­mises à la couche su­pé­rieure.
  • Couche cachée : il s’agit des couches in­ter­mé­diaires. C’est là que les in­for­ma­tions sont trans­mises et réé­qui­li­brées. Ce processus se répète à chaque couche sup­plé­men­taire, et se déroule en arrière-plan, d’où le terme de « couches cachées ».
  • Couche de sortie : la sortie des in­for­ma­tions évaluées ou modifiées s’effectue via la couche de sortie. Cette sortie peut soit cons­ti­tuer le résultat final, soit servir d’entrée pour d’autres neurones.
Image: Infographie sur les réseaux neuronaux récurrents
Un réseau neuronal récurrent génère des ré­troac­tions.

La par­ti­cu­la­rité d’un Recurrent Neural Network est la pos­si­bi­lité de dé­ter­mi­ner lui-même la direction du flux d’in­for­ma­tions. Grâce à la ré­troac­tion, la sortie d’un neurone ne doit pas né­ces­sai­re­ment être transmise à la couche im­mé­dia­te­ment su­pé­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 pon­dé­ra­tion reste identique dans chaque couche. La ré­troac­tion est divisée en quatre ca­té­go­ries dif­fé­rentes :

  • Direct Feedback : dans une ré­troac­tion directe, la sortie d’un même neurone est réu­ti­li­sée comme entrée.
  • Indirect Feedback : dans une ré­troac­tion indirecte, la sortie d’un neurone est reliée à une couche pré­cé­dente.
  • Lateral Feedback : dans une ré­troac­tion latérale, la sortie d’un neurone est connectée à l’entrée d’un autre neurone de la même couche.
  • Ré­troac­tion complète : dans une ré­troac­tion complète, les sorties de tous les neurones sont con­nec­té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 in­for­ma­tions remontant loin dans le temps ne peuvent souvent pas être prises en compte, ou seulement de manière in­suf­fi­sante. 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 in­for­ma­tions plus longtemps. Avec un en­traî­ne­ment adéquat, un Recurrent Neural Network est capable de dis­tin­guer les in­for­ma­tions im­por­tantes des in­for­ma­tions se­con­daires et de les réin­jec­ter dans le réseau.

Quelles sont les ar­chi­tec­tures exis­tantes ?

Il existe dif­fé­rentes ar­chi­tec­tures qui dis­tin­guent les Recurrent Neural Networks les uns des autres. Voici les types les plus courants :

  • One to many : dans ce type d’ar­chi­tec­ture, le réseau neuronal récurrent reçoit une seule entrée et produit plusieurs sorties. Un exemple pratique est la gé­né­ra­tion 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 at­tri­bué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 ar­chi­tec­ture, 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 tra­duc­tion au­to­ma­tique d’une langue vers une autre.

Quels sont les prin­ci­paux domaines d’ap­pli­ca­tion d’un Recurrent Neural Network ?

Les Recurrent Neural Networks sont par­ti­cu­liè­re­ment utiles lorsque le contexte est important dans le trai­te­ment des in­for­ma­tions. C’est notamment le cas lorsqu’il s’agit de traiter des données sé­quen­tielles qui suivent un ordre ou une chro­no­lo­gie 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 tech­no­lo­gie est donc par­ti­cu­liè­re­ment adaptée, entre autres, aux domaines d’ap­pli­ca­tion suivants :

  • Pré­vi­sions et données de séries chro­no­lo­giques : les RNN sont souvent utilisés pour prédire des évé­ne­ments ou des valeurs à partir de données his­to­riques, comme dans l’analyse des marchés fi­nan­ciers, les pré­vi­sions mé­téo­ro­lo­giques ou la con­som­ma­tion d’énergie.
  • Natural Language Pro­ces­sing (NLP) : dans le domaine du trai­te­ment au­to­ma­tique du langage naturel, en anglais le Natural Language Pro­ces­sing, les réseaux neuronaux ré­cur­rents sont par­ti­cu­liè­re­ment utiles. Ils sont utilisés pour des tâches telles que la tra­duc­tion au­to­ma­tique, la mo­dé­li­sa­tion du langage, la re­con­nais­sance de texte et la gé­né­ra­tion au­to­ma­tique de textes.
  • Re­con­nais­sance vocale : les RNN jouent un rôle crucial dans la tech­no­lo­gie de re­con­nais­sance vocale, où ils sont utilisés pour convertir la parole en texte. Ces ap­pli­ca­tions se re­trou­vent notamment dans les as­sis­tants nu­mé­riques et les services de trans­crip­tion au­to­ma­tique.
  • Analyse d’images et de vidéos : bien que les Recurrent Neural Networks soient prin­ci­pa­le­ment utilisés pour le trai­te­ment de données sé­quen­tielles, ils peuvent également être utilisés dans l’analyse d’images et de vidéos, en par­ti­cu­lier lorsqu’il s’agit de traiter des séquences d’images ou de vidéos. Cela inclut des ap­pli­ca­tions comme la synthèse vidéo ou la re­con­nais­sance d’activités dans les vidéos de sur­veil­lance.

Quelle est la dif­fé­rence par rapport à un Feed­for­ward Neural Network ?

Le Recurrent Neural Network est une évolution du Feed­for­ward Neural Network (FNN) qui ne permet pas de ré­troac­tions. Dans un FNN, les in­for­ma­tions circulent toujours dans une seule direction vers la couche suivante. Une réin­jec­tion en sens inverse est donc im­pos­sible. Ainsi, le Feed­for­ward Neural Network peut certes re­con­naître des modèles, mais il ne peut pas s’appuyer sur des in­for­ma­tions déjà traitées.

Aller au menu principal