0% ont trouvé ce document utile (0 vote)
3 vues29 pages

Cours RNN VF

Les réseaux de neurones récurrents (RNN) sont conçus pour traiter des données séquentielles en tenant compte des dépendances temporelles, contrairement aux réseaux feedforward qui traitent les entrées de manière indépendante. Les RNN souffrent de problèmes tels que le vanishing gradient, mais des variantes comme les LSTM et GRU ont été développées pour surmonter ces limitations en utilisant des mécanismes de mémoire avancés. Les RNN peuvent être étendus à des architectures plus complexes, y compris les réseaux bidirectionnels, pour améliorer les performances dans des applications telles que le traitement du langage naturel.

Transféré par

jlee56314
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues29 pages

Cours RNN VF

Les réseaux de neurones récurrents (RNN) sont conçus pour traiter des données séquentielles en tenant compte des dépendances temporelles, contrairement aux réseaux feedforward qui traitent les entrées de manière indépendante. Les RNN souffrent de problèmes tels que le vanishing gradient, mais des variantes comme les LSTM et GRU ont été développées pour surmonter ces limitations en utilisant des mécanismes de mémoire avancés. Les RNN peuvent être étendus à des architectures plus complexes, y compris les réseaux bidirectionnels, pour améliorer les performances dans des applications telles que le traitement du langage naturel.

Transféré par

jlee56314
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Recurrent Neural Network (RNN)

Imane Allaouzi
[Link]@[Link]

1
Introduction
➢ Les réseaux de neurones feedforward ont été largement utilisés avec succès dans de nombreuses
applications, grâce à leur capacité à apprendre des modèles complexes entre un ensemble
d'entrées et de sorties.

➢ Dans un réseau feedforward typique, chaque entrée est traitée de manière indépendante.

➢ Cependant, pour tout problème du monde réel, les données sont souvent séquentielles et
dépendantes. Cela signifie que l'ordre des données et leurs relations temporelles sont importants
pour comprendre et analyser les données de manière efficace.

2
Limites des réseaux de neurones feedforward
➢ Les réseaux de neurones Feedforward pourrait être insuffisants pour des tâches
impliquant des données séquentielles.

➢ Problème 1: Nombre fixe de neurones en entrée et en sortie

Exemple 1: Time Series (La prédiction des prix des actions )

Exemple 2: NLP (Traduction de Texte)

3
Limites des réseaux de neurones Feedforward
➢ Les réseaux de neurones Feedforward pourrait être insuffisante pour des tâches
impliquant des données séquentielles.

➢ Problème 2: Ne prend pas en compte la séquence d'entrée

4
Réseau de neurones récurrent
➢ Un réseau neurones récurrent est un type de réseau neuronal artificiel conçu pour
traiter des données séquentielles en tenant compte de l'ordre et des dépendances
temporelles des données d'entrée.

➢ Contrairement aux réseaux neuronaux classiques avec un flux d’informations linéaire


de l’entrée à la sortie, les RNNs possèdent des connexions récurrentes.

➢ Ces connexions leur permettent de conserver une sorte de mémoire interne des
informations sur les entrées précédemment traitées.

➢ RNN utilise l’entrée actuelle et la mémoire stockée pour prédire la séquence


suivante.

5
Réseau de neurones récurrent
➢ État caché : a(t) représente un état caché au temps t et agit comme une « mémoire » pour le
réseau. a(t) est calculé en fonction de l'entrée actuelle et de l'état caché à t-1:

➢ La sortie y à un instant donné t suit l'équation ci-dessous:

➢ Les réseaux neuronaux récurrents utilisent les mêmes poids pour chaque élément de la
séquence, ce qui réduit le nombre de paramètres et permet au modèle de généraliser à des
séquences de longueurs variables.

6
Types des RNNs

7
Réseau de neurones récurrent
Le Problème des Dépendances à Long Terme
Cas 1: Pas besoin d’un contexte supplémentaire .
Exemple: "les nuages sont dans le ciel "
Dans de tels cas, où l’écart entre les informations pertinentes et l’endroit où elles sont nécessaires
est faible, les RNNs peuvent apprendre à utiliser les informations passées.

Cas 2: Davantage de contexte est nécessaire.


Exemple: "J'ai grandi en France… Je parle couramment français".
Les informations récentes suggèrent que le mot suivant est probablement le nom d'une langue, mais
si nous voulons préciser quelle langue, nous avons besoin du contexte de la France, plus ancien.

Malheureusement, à mesure que cet écart se creuse, les RNNs deviennent incapables d’apprendre à
relier les informations.

Source de Problème :Vanishing Gradient Descent


8
Réseau de neurones récurrent
Backpropagation Through Time:
Dans le processus de rétropropagation à travers le temps, nous calculons les gradients en utilisant
itérativement la règle de la chaîne à travers les différents pas de temps.
Ce processus itératif commence à partir du dernier pas de temps T et se déroule en sens inverse.

La perte totale est simplement la perte sur tous les pas de temps:

L= σ𝑇𝑡=1 L𝑡

9
Réseau de neurones récurrent
Backpropagation Through Time:
𝜕L
En appliquant la règle de la chaîne, qui calcule le gradient de l'erreur par rapport à 𝑊ℎℎ est
𝜕𝑊ℎℎ
calculé comme suit :

10
Réseau de neurones récurrent
Backpropagation Through Time:

11
Réseau de neurones récurrent
Backpropagation Through Time:

12
Réseau de neurones récurrent
Vanishing/Exploding gradient problem:

Gradient Clipping est une technique qui s’attaque aux gradients explosifs. L’idée du
gradient est très simple : si le gradient devient trop grand, nous le redimensionnons pour
le garder petit.

Alors que le Gradient Clipping aide à traiter les gradients explosifs, la gestion des
gradients qui disparaissent semble nécessiter une solution plus élaborée.
13
Long short-term memory (LSTM)
➢ Les réseaux LSTM sont la variante la plus couramment utilisée des RNNs.

➢ Les LSTM sont explicitement conçus pour éviter le problème de dépendance à long
terme.

➢ En principe, une unité récurrente LSTM tente de « se souvenir » de toutes les


connaissances passées que le réseau a vues jusqu'à présent et d'« oublier » les
données non pertinentes.

➢ Comment?
En proposant des « cellules de mémoire » qui utilisent différentes couches de
fonctions d’activation appelées « portes » à des fins différentes.

➢ Lors de la rétropropagation du gradient, les LSTMs peuvent maintenir un flux


d’informations constant à travers le temps, rendant ainsi le gradient de l'erreur par
rapport à leur valeur indépendant des calculs effectués dans les pas de temps
intermédiaires. Cela évite le problème du « vanishing gradient » et permet un
apprentissage plus stable et précis.
14
Long short-term memory (LSTM)
Le module répétitif "Cellule mémoire" dans un LSTM est constitué de quatre couches qui
interagissent entre elles.

15
Long short-term memory (LSTM)
L’architecture des LSTM:

➢ Les LSTMs introduisent une nouvelle unité appelée cellule mémoire, qui permet au
réseau de stocker et d’accéder à des informations sur une période étendue.

➢ La cellule mémoire d’un LSTM est composée de plusieurs portes : une porte d’entrée,
une porte de sortie et une porte d’oubli.

➢ Ces portes régulent le flux d’informations à l’intérieur de la cellule mémoire,


permettant ainsi de contrôler les informations à retenir et celles à oublier.

➢ Cela donne aux LSTMs la capacité de mémoriser des informations importantes sur de
longues séquences et d’ignorer les éléments moins pertinents.

16
Long short-term memory (LSTM)
L’état de la cellule:

➢ La clé des LSTM est l’état de la cellule.

➢ Cet état de la cellule permet au LSTM de maintenir une mémoire à long terme, ce qui est
particulièrement utile pour la modélisation de séquences où des informations importantes
peuvent être situées à des instants temporels éloignés.

➢ L'état de la cellule est régulièrement mis à jour et contrôlé par des « portes », ce qui permet au
LSTM de décider quelles informations mémoriser et quelles informations oublier au fil du temps.

➢ Les portes sont composées d’une couche de réseau neuronal sigmoïde et d’une opération de
multiplication élément par élément.

➢ La couche sigmoïde génère des nombres compris entre zéro et un, décrivant la quantité de
chaque composant qui doit être laissée passer.

➢ Une valeur de zéro signifie « ne rien laisser passer », tandis qu’une valeur de un signifie « tout
laisser passer ! »
17
Long short-term memory (LSTM)
Étape 1 dans LSTM: décider quelles informations à éliminer de l'état
de la cellule.

➢ Cette décision est prise par la couche de la porte d'oubli.

➢ La porte d’oubli permet au LSTM de supprimer les informations inutiles ou non pertinentes
de la cellule mémoire.

➢ Elle utilise à la fois l’entrée actuelle et l’état précédent pour générer un vecteur d’activation
qui détermine quelles informations doivent être oubliées.

18
Long short-term memory (LSTM)
Étape 2 dans LSTM: décider quelles nouvelles informations nous allons
stocker dans l'état de la cellule
➢ Cela comporte deux parties:
1) La porte d’entrée : détermine dans quelle mesure nous prenons en compte les nouvelles
données. Le mécanisme est exactement le même que celui de la "Porte d'oubli", mais avec un
ensemble de poids entièrement distinct.

2) La cellule de mémoire candidate: génère de nouvelles valeurs candidates, notées C~t, qui
pourraient être ajoutées à l'état, généralement calculées avec une fonction d'activation tanh.
La sortie de la fonction tanh dans un LSTM peut être vue comme une version encodée et
normalisée de l'état caché combiné avec l'instant temporel actuel.
Nous appelons ces données « encodée » car une certaine extraction de caractéristiques est
effectuée sur ces données avant même qu'elles n'atteignent la porte tanh, et la même logique
s'applique à la porte sigmoïde.

19
Long short-term memory (LSTM)
Étape 3 dans LSTM: mettre à jour l'ancien état de la cellule

Dans cette étape, l'ancien état de la cellule, Ct−1 est remplacé par le nouvel état de la
cellule, Ct.

Les étapes précédentes ont déjà décidé quoi faire, il suffit maintenant de le faire
effectivement.

20
Long short-term memory (LSTM)
Étape 4 dans LSTM: décider de ce que nous allons produire en sortie
➢ Cette sortie sera basée sur l'état de la cellule, mais sera une version filtrée.
➢ Tout d'abord, une porte de sortie décidera quelles parties de l'état de la cellule seront générées
en sortie.
➢ Ensuite, l'état de la cellule est passé à la fonction tanh (pour faire en sorte que les valeurs se
situent entre −1 et 1) et elle est multipliée par la sortie de la porte de sortie, de manière à ne
produire que les parties que nous avons décidé de générer.

➢ Dans un réseau LSTM, l'état de la cellule représente la mémoire à long terme du réseau, stockant
des informations au fil du temps, tandis que l'état caché représente la mémoire à court terme,
car à un pas de temps spécifique, il est généralement nécessaire de se concentrer uniquement sur
des informations très limitées.
21
Long short-term memory (LSTM)
Étape 4 dans LSTM: décider de ce que nous allons produire en sortie
➢ Cette sortie sera basée sur l'état de la cellule, mais sera une version filtrée.
➢ Tout d'abord, une porte de sortie décidera quelles parties de l'état de la cellule seront générées
en sortie.
➢ Ensuite, l'état de la cellule est passé à la fonction tanh (pour faire en sorte que les valeurs se
situent entre −1 et 1) et elle est multipliée par la sortie de la porte de sortie, de manière à ne
produire que les parties que nous avons décidé de générer.

➢ Dans un réseau LSTM, l'état de la cellule représente la mémoire à long terme du réseau, stockant
des informations au fil du temps, tandis que l'état caché représente la mémoire à court terme,
car à un pas de temps spécifique, il est généralement nécessaire de se concentrer uniquement sur
des informations très limitées.
22
Gated Recurrent Unit (GRU)
➢ Introduit en 2014 par Kyunghyun Cho et ses collaborateurs, le GRU vise à résoudre le problème
de la disparition du gradient dans les RNNs.

➢ Contrairement au LSTM, le GRU ne possède pas de cellule mémoire séparée 𝐶𝑡 . Il utilise un


unique état caché ℎ𝑡 mis à jour à l'aide d'un état candidat ℎ෨ 𝑡 , et de deux portes permettant de
contrôler le processus de mémorisation des informations.
1)Reset Gate (porte de réinitialisation r𝑡 ) : détermine quelle quantité d'information provenant
de l'état caché précédent doit être conservée et transmise aux étapes suivantes.

2) Update Gate (porte de mise à jour z𝑡 ) : détermine quelle quantité d'information passée doit
être oubliée.

➢ Le GRU simplifie le LSTM en fusionnant les portes forget et input en une seule porte de mise à
jour.

23
Gated Recurrent Unit (GRU)
Avantages et Inconvénients du GRU

Avantages
✓ Architecture plus simple et moins coûteuse que le LSTM (moins de paramètres).
✓ Entraînement plus rapide et consommation mémoire réduite.
✓ Bonne capacité à capturer les dépendances à long terme.
✓ Performant pour diverses applications séquentielles (NLP, reconnaissance vocale,
séries temporelles, etc.).

Inconvénients
▪ Peut être moins efficace que le LSTM pour des dépendances très longues ou
complexes.
▪ Risque de surapprentissage sur de petits jeux de données.
▪ Nécessite un ajustement approprié des hyperparamètres.
▪ Interprétation du fonctionnement interne relativement difficile.

24
Deep RNN
➢ Jusqu'à présent, nous avons étudiez les réseaux RNNs simples composés d'une seule couche
cachée. Malgré le fait qu'il n'y ait qu'une seule couche cachée entre l'entrée à n'importe quel pas
de temps et la sortie correspondante, il y a une dimension dans laquelle ces réseaux sont
considérés comme profonds : les entrées du premier pas de temps peuvent influencer les sorties
au dernier pas de temps.

➢ Cependant, nous souhaitons souvent conserver la capacité d'exprimer des relations complexes
entre les entrées à un pas de temps donné et les sorties à ce même pas de temps. Ainsi, nous
construisons souvent des RNN profonds non seulement dans la direction temporelle, mais aussi
dans la direction entrée-sortie.

25
Réseau de Neurones Récurrent Bidirectionnel
(BRNN)
➢ Un Réseau de Neurones Récurrent Bidirectionnel (BRNN – Bidirectional Recurrent Neural
Network) est une variante des réseaux de neurones récurrents conçue pour améliorer les
performances des RNNs traditionnels en traitant les données dans deux directions : avant
(forward) et arrière (backward):
- RNN Forward : de 𝑡 = 1 vers 𝑡 = 𝑇
- RNN Backward : de 𝑡 = 𝑇 vers 𝑡 = 1
Les informations issues des deux directions sont ensuite concaténées pour produire la sortie
finale.
➢ Cette architecture permet au réseau de disposer d'informations provenant à la fois des
contextes passés et futurs, ce qui peut être particulièrement utile pour les tâches où le contexte
dans les deux directions est essentiel, telles que le traitement du langage naturel, l'analyse de
séries temporelles, etc.

26
Réseau de Neurones Récurrent Bidirectionnel
(BRNN)
➢ Les réseaux de neurones récurrents bidirectionnels (BRNN) peuvent être construits à
partir de différents types d'unités récurrentes. Les plus couramment utilisés sont :

- Bidirectional SimpleRNN (BSimpleRNN)


- Bidirectional Long Short-Term Memory (BLSTM)
- Bidirectional Gated Recurrent Unit (BGRU)

Limites des BRNN

▪ Temps de calcul plus élevé.


▪ Consommation mémoire importante.
▪ Architecture plus complexe.
▪ Peu adaptée aux applications temps réel.

27
Limites des RNNs
Malgré les avancées apportées par les architectures récurrentes avancées telles que les
LSTM et les GRU, plusieurs limitations fondamentales subsistent:

Limite 1:Vanishing Gradient


Cette limitation est partiellement résolue par les LSTM et les GRU grâce à leurs
mécanismes de portes. Cependant, la porte d’oubli 𝑓𝑡 ,étant apprise à partir des données,
peut encore conduire à la suppression précoce d’informations importantes, notamment
lorsque les dépendances s’étendent sur de longues séquences.
Limite 2: Compression forcée de l’information (Information Bottleneck)
Les RNN résument toute la séquence dans un vecteur de taille fixe ℎ 𝑇 ∈ ℝ𝑑 . Lorsque la
longueur de la séquence augmente, cette représentation devient insuffisante, ce qui
provoque une perte progressive des informations anciennes au profit des plus récentes.

Limite 3: Calcul séquentiel


La récurrence impose une dépendance causale stricte : ℎ𝑡 ne peut être calculé qu'après
ℎ𝑡−1 . Cette dépendance empêche la parallélisation des calculs sur la dimension
temporelle, limitant ainsi l’exploitation des GPUs et ralentissant l’entraînement sur de
longues séquences.
28
Limites des RNNs
Limite 4: Le problème du Word Embedding statique
Les RNNs avec embeddings statiques (Word2Vec, GloVe) sont limités car chaque mot
possède une représentation fixe, indépendante du contexte. Le réseau doit ensuite
deviner le sens correct à partir du contexte via son état caché, ce qui fonctionne à courte
portée, mais devient difficile quand le contexte disambiguant est loin.

Ces limitations ont progressivement conduit au développement de nouvelles


architectures capables de mieux gérer les dépendances longues, d’éviter la
compression excessive de l’information, de tirer parti du parallélisme matériel et de
produire des représentations contextuelles plus riches.

Cette évolution a d'abord conduit à l'émergence des architectures Encodeur–


Décodeur (Encoder–Decoder), puis des mécanismes d'attention, avant d'aboutir aux
architectures Transformer, qui constituent aujourd'hui l'état de l'art dans de
nombreuses tâches de traitement automatique du langage naturel.

29

Vous aimerez peut-être aussi