Réseaux de Neurones Récurrents
SAFAA KAHIL
20 mai 2024
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 1 / 25
Qu’est-ce qu’un RNN ?
Un réseau neuronal récurrent (RNN) est un modèle de deep learning conçu pour traiter et transformer des
données séquentielles en une sortie séquentielle spécifique. Ces données séquentielles, telles que des mots, des
phrases ou des séries temporelles, sont caractérisées par des éléments interconnectés suivant des règles complexes
de sémantique et de syntaxe. Un RNN est un système logiciel comportant de nombreux éléments interconnectés,
qui simule la manière dont les humains convertissent des données séquentielles, comme dans le cas de la
traduction de texte d’une langue à une autre. Cependant, les RNN sont de plus en plus supplantés par des
technologies d’intelligence artificielle (IA) basées sur des transformateurs et des grands modèles de langage
(LLM), qui s’avèrent bien plus performantes pour le traitement des données séquentielles.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 2 / 25
Comment fonctionne un réseau neuronal récurrent ?
L’image suivante montre un schéma d’un RNN.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 3 / 25
Les RNN sont constitués de neurones : des nœuds de traitement de données qui travaillent ensemble pour
effectuer des tâches complexes. Les neurones sont organisés en couches d’entrée, de sortie et cachées. La couche
d’entrée reçoit les informations à traiter et la couche de sortie fournit le résultat. Le traitement, l’analyse et la
prévision des données ont lieu dans la couche cachée.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 4 / 25
Couche cachée
Les RNN traitent les données séquentielles en les transmettant aux couches cachées étape par étape. Ils
possèdent également une boucle automatique ou récurrente dans leur flux de travail : la couche cachée peut
mémoriser et utiliser les entrées précédentes pour faire des prédictions futures grâce à une mémoire à court
terme. Elle combine l’entrée actuelle avec la mémoire stockée pour anticiper la séquence suivante.
Exemple
Par exemple, prenons la séquence suivante : ”La pomme est rouge.” On souhaite que le RNN prédise ”rouge”
lorsqu’il reçoit ”pomme est” comme entrée. Quand la couche cachée traite le mot ”pomme”, elle en conserve
une copie dans sa mémoire. Ensuite, lorsqu’elle voit le mot ”est”, elle se rappelle de ”pomme” grâce à sa
mémoire et comprend le contexte de la séquence ”pomme est”. Elle peut alors prédire ”rouge” avec une
meilleure précision. Cette capacité rend les RNN précieux pour des applications telles que la reconnaissance
vocale, la traduction automatique et d’autres tâches de modélisation linguistique.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 5 / 25
Types de Réseaux Neuronaux Récurrents (RNN)
Les RNN sont souvent caractérisés par une architecture biunivoque : une séquence d’entrée est associée à
une sortie. Cependant, vous pouvez les ajuster de manière flexible dans différentes configurations à des fins
spécifiques. Voici plusieurs types de RNN courants.
Un à plusieurs
Ce type de RNN canalise une entrée vers plusieurs sorties. Il permet des applications linguistiques telles que le
sous-titrage d’images en générant une phrase à partir d’un seul mot clé.
Plusieurs à plusieurs
Le modèle utilise plusieurs entrées pour prévoir plusieurs sorties. Par exemple, vous pouvez créer un traducteur
de langue avec un RNN, qui analyse une phrase et structure correctement les mots dans une autre langue.
Plusieurs à un
Plusieurs entrées sont mappées vers une sortie. Cela est utile dans des applications telles que l’analyse des
sentiments, où le modèle prédit les sentiments positifs, négatifs et neutres des clients à partir des témoignages
entrants.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 6 / 25
Comparaison des RNN avec d’autres réseaux de deep learning
Les RNN sont l’une des nombreuses architectures de réseaux neuronaux.
RNN vs Réseau de neurones à propagation avant
Comme les RNN, les réseaux neuronaux à propagation avant sont des réseaux neuronaux artificiels qui
transmettent des informations d’un bout à l’autre de l’architecture. Un réseau de neurones à propagation avant
peut effectuer des tâches simples de classification, de régression ou de reconnaissance, mais il ne se souvient pas
de l’entrée précédente qu’il a traitée. Par exemple, il oublie ”Apple” au moment où son neurone traite le mot
”is”. Le RNN surmonte cette limitation de mémoire en incluant un état de mémoire caché dans le neurone.
RNN vs Réseaux neuronaux convolutifs (CNN)
Les réseaux neuronaux convolutifs sont des réseaux neuronaux artificiels conçus pour traiter des données
spatiales. Vous pouvez utiliser des réseaux neuronaux convolutifs pour extraire des informations spatiales de
vidéos et d’images en les faisant passer par une série de couches convolutives et de pooling. Les RNN sont
conçus pour capturer les dépendances à long terme dans les données séquentielles.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 7 / 25
Limites des Réseaux Neuronaux Récurrents (RNN)
Depuis l’introduction des RNN, les ingénieurs ML ont réalisé des progrès significatifs dans les applications de
traitement du langage naturel (NLP) avec les RNN et leurs variantes. Cependant, la famille de modèles RNN
présente plusieurs limites.
Gradient explosif
Un RNN peut prédire à tort le résultat de la formation initiale. Vous avez besoin de plusieurs itérations pour
ajuster les paramètres du modèle afin de réduire le taux d’erreur. La sensibilité du taux d’erreur correspondant au
paramètre du modèle peut être décrite sous la forme d’un gradient, semblable à une pente. Un gradient prononcé
permet au modèle d’apprendre plus rapidement, tandis qu’un gradient peu élevé réduit le taux d’apprentissage.
L’explosion du gradient se produit lorsque le gradient augmente de façon exponentielle, rendant le RNN instable.
Les pentes infiniment grandes conduisent à un comportement erratique du RNN, entraı̂nant des problèmes de
performance tels que le surajustement, où le modèle est précis sur les données d’entraı̂nement mais échoue avec
des données réelles.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 8 / 25
Limites des Réseaux Neuronaux Récurrents (RNN) - Suite
Disparition du gradient
Le problème de la disparition du gradient survient lorsque le gradient du modèle est proche de zéro lors de
l’entraı̂nement. Dans ce cas, le RNN n’apprend pas efficacement à partir des données d’entraı̂nement, ce qui
entraı̂ne un sous-ajustement. Un modèle sous-ajusté ne fonctionne pas correctement dans des applications réelles
car ses poids n’ont pas été ajustés de manière appropriée. Les RNN risquent de connaı̂tre des problèmes de
disparition et d’explosion du gradient lorsqu’ils traitent de longues séquences de données.
Temps d’entraı̂nement lent
Un RNN traite les données de manière séquentielle, ce qui limite sa capacité à traiter efficacement un grand
nombre de textes. Par exemple, un modèle RNN peut analyser le sentiment d’un acheteur à partir de quelques
phrases. Cependant, résumer une page d’un essai nécessite une puissance de calcul, un espace mémoire et un
temps considérables.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 9 / 25
Variantes de l’architecture des RNN
L’architecture RNN a posé les bases permettant aux modèles ML de disposer de capacités de traitement du
langage. Plusieurs variantes sont apparues qui partagent son principe de rétention de la mémoire et améliorent
ses fonctionnalités d’origine. Voici quelques exemples.
Réseaux neuronaux récurrents bidirectionnels (BRNN)
Un réseau neuronal récurrent bidirectionnel (BRNN) traite des séquences de données avec des couches avant et
arrière de nœuds cachés. La couche avant fonctionne de la même manière que le RNN, qui stocke l’entrée
précédente à l’état masqué et l’utilise pour prédire la sortie suivante. Pendant ce temps, la couche arrière
fonctionne dans la direction opposée en utilisant à la fois l’entrée actuelle et l’état caché futur pour mettre à jour
l’état caché actuel. La combinaison des deux couches permet au BRNN d’améliorer la précision des prévisions en
tenant compte des contextes passés et futurs.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 10 / 25
Variantes de l’architecture des RNN - Mémoire à long terme (LSTM)
Mémoire à long terme (LSTM)
La mémoire à long terme (LSTM) est une variante RNN qui permet au modèle d’étendre sa capacité de mémoire
pour s’adapter à une chronologie plus longue. Un RNN ne peut se souvenir que des données immédiatement
antérieures. Il ne peut pas utiliser les entrées de plusieurs séquences précédentes pour améliorer sa prédiction. Les
réseaux LSTM ajoutent un bloc de mémoire spécial appelé cellules dans la couche cachée, contrôlées par des
portes d’entrée, de sortie et d’oubli, permettant ainsi au modèle de mémoriser des informations utiles sur une
longue séquence.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 11 / 25
Détails de la cellule LSTM
La formule suivante décrit les calculs effectués à chaque étape de temps t dans une cellule LSTM :
it = σ(Wxi xt + Whi ht−1 + bi )
ft = σ(Wxf xt + Whf ht−1 + bf )
ot = σ(Wxo xt + Who ht−1 + bo )
gt = tanh(Wxg xt + Whg ht−1 + bg )
ct = ft ⊙ ct−1 + it ⊙ gt
ht = ot ⊙ tanh(ct )
xt : Entrée à l’étape de temps t.
ht−1 : État caché à l’étape de temps précédente t − 1.
it , ft , ot , gt : Portes d’entrée, d’oubli, de sortie et de mise à jour, respectivement.
ct : État de la cellule LSTM à l’étape de temps t.
ht : Sortie de la cellule LSTM à l’étape de temps t.
W et b : Poids et biais de la couche LSTM, respectivement.
σ : Fonction sigmoı̈de.
⊙ : Multiplication élément par élément.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 12 / 25
Variantes de l’architecture des RNN - Suite
Unités récurrentes fermées (GRU)
Une unité récurrente fermée (GRU) est un RNN qui permet une rétention sélective de la mémoire. Le modèle
ajoute une mise à jour et oublie la porte de sa couche cachée, qui peut stocker ou supprimer des informations
dans la mémoire.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 13 / 25
Détails de la cellule GRU
La formule suivante décrit les calculs effectués à chaque étape de temps t dans une cellule GRU :
zt = σ(Wxz xt + Whz ht−1 + bz )
rt = σ(Wxr xt + Whr ht−1 + br )
h̃t = tanh(Wxh xt + Wrh (rt ⊙ ht−1 ) + bh )
ht = (1 − zt ) ⊙ ht−1 + zt ⊙ h̃t
xt : Entrée à l’étape de temps t.
ht−1 : État caché à l’étape de temps précédente t − 1.
zt , rt : Portes de mise à jour et de réinitialisation, respectivement.
h̃t : Candidat à l’état caché mis à jour.
ht : Nouvel état caché à l’étape de temps t.
W et b : Poids et biais de la cellule GRU, respectivement.
σ : Fonction sigmoı̈de.
⊙ : Multiplication élément par élément.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 14 / 25
Comment les transformateurs surmontent-ils les limites des RNN ?
Autoattention
Les transformateurs utilisent des mécanismes d’autoattention pour traiter les séquences de données en
parallèle.
Cela permet de surmonter les limites de mémoire et les interdépendances de séquences rencontrées par les
RNN.
Les transformateurs utilisent le codage positionnel pour mémoriser les relations entre chaque entrée et les
autres.
Parallélisme
Les transformateurs permettent le parallélisme pendant l’entraı̂nement, traitant simultanément toutes les
séquences d’entrée.
Cela résout les problèmes de gradient rencontrés par les RNN en permettant aux gradients de circuler
librement vers tous les poids.
Les transformateurs sont optimisés pour le calcul parallèle, ce qui leur permet de mettre à l’échelle
massivement et de gérer des tâches NLP complexes avec des modèles plus grands.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 15 / 25
Application de Prédiction des Prix de Clôture d’IBM avec les Modèles LSTM et GRU
Dans cette application, nous allons développer des modèles de prédiction des prix de clôture des actions d’IBM
en utilisant les réseaux de neurones récurrents (RNN) tels que les Long Short-Term Memory (LSTM) et les
Gated Recurrent Unit (GRU). Ces modèles seront conçus pour analyser les données historiques des prix d’IBM et
générer des prédictions précises du prix de clôture pour les jours à venir.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 16 / 25
Dataset des Prix des Actions d’IBM
Le dataset des prix des actions d’IBM est une collection de données historiques comprenant les informations
suivantes :
Date : Chaque entrée du dataset est associée à une date spécifique, représentant un jour de négociation sur
le marché boursier.
Prix d’Ouverture : Le prix de l’action IBM au début de la journée de négociation.
Prix de Clôture : Le prix de l’action IBM à la fin de la journée de négociation, qui sera la variable cible de
notre prédiction.
Plus Haut et Plus Bas : Les prix les plus élevés et les plus bas atteints par l’action IBM au cours de la
journée de négociation.
Volume des Transactions : Le nombre total d’actions IBM échangées pendant la journée de négociation.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 17 / 25
Visualisation
Prix de Clôture des Actions IBM
200 Close Price
180
160
Close Price
140
120
100
2020-01 2020-07 2021-01 2021-07 2022-01 2022-07 2023-01 2023-07 2024-01 2024-07
Date
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 18 / 25
Division des Données
Avant de construire nos modèles de prédiction, nous devons diviser notre dataset en ensembles d’entraı̂nement,
de validation et de test. Voici comment nous allons procéder :
Données d'entraînement et de test après normalisation
1.0 Données d'entraînement
Données de test
0.8
Prix de Clôture Normalisé
0.6
0.4
0.2
0.0
2020-01 2020-07 2021-01 2021-07 2022-01 2022-07 2023-01 2023-07 2024-01 2024-07
Date
Une division appropriée des données est essentielle pour garantir que nos modèles généralisent bien aux nouvelles
données et produisent des prédictions précises dans des conditions réelles.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 19 / 25
LSTM
Table – Performances de l’ensemble d’entraı̂nement et de l’ensemble de test
Métrique Entraı̂nement Test
MSE 5.87 8.43
RMSE 2.42 2.90
MAPE (%) 1.40 1.13
R-squared 0.94 0.98
MAE 1.75 1.92
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 20 / 25
Prédiction avec LSTM
Prédictions LSTM vs Vraies valeurs (Partie Test)
200 Vraies valeurs (Test)
Prédictions LSTM (Test)
190
180
170
Close Price
160
150
140
2023-10 2023-11 2023-12 2024-01 2024-02 2024-03 2024-04 2024-05
Date
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 21 / 25
GRU
Table – Performances de l’ensemble d’entraı̂nement et de l’ensemble de test
Métrique Entraı̂nement Test
MSE 3.89 9.49
RMSE 1.97 3.08
MAPE (%) 1.12 1.23
R-squared 0.96 0.97
MAE 1.41 2.10
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 22 / 25
Prédiction avec GRU
Prédictions GRU vs Vraies valeurs (Partie Test)
200 Vraies valeurs (Test)
Prédictions GRU (Test)
190
180
170
Close Price
160
150
140
2023-10 2023-11 2023-12 2024-01 2024-02 2024-03 2024-04 2024-05
Date
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 23 / 25
Interprétation
Les modèles LSTM et GRU ont démontré des performances solides dans la prédiction de notre variable cible.
Le LSTM affiche généralement une meilleure performance, avec des erreurs plus faibles sur l’ensemble de
test.
Les résultats visuels des prédictions confirment l’efficacité des deux modèles dans la capture des tendances
des données.
En résumé, les réseaux neuronaux récurrents, en particulier le LSTM, semblent être des choix efficaces pour
notre tâche de prédiction.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 24 / 25
Conclusion
Les réseaux neuronaux récurrents (RNN) ont ouvert la voie à des avancées significatives dans le traitement des
données séquentielles. Bien qu’ils aient été largement utilisés pour des tâches telles que la traduction
automatique, la génération de texte et la reconnaissance vocale, les RNN présentent des limites telles que les
problèmes d’explosion et de disparition de gradient ainsi que des temps d’entraı̂nement relativement longs pour
traiter de grandes quantités de données. Cependant, avec l’émergence de variantes telles que les LSTM, les GRU
et les transformateurs, ces limitations sont en grande partie surmontées. Ces modèles offrent une capacité de
mémoire étendue, un traitement parallèle efficace et une meilleure gestion des dépendances à long terme dans les
séquences de données. Ainsi, bien que les RNN aient été des pionniers, les variantes plus récentes ouvrent de
nouvelles possibilités passionnantes dans le domaine du deep learning.
SAFAA KAHIL Réseaux de Neurones Récurrents 20 mai 2024 25 / 25