0% ont trouvé ce document utile (0 vote)
158 vues39 pages

Cours RNN LSTM Gru

Transféré par

Yassin Rebhi
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
158 vues39 pages

Cours RNN LSTM Gru

Transféré par

Yassin Rebhi
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

RÉSEAUX DE NEURONES

RÉCURRENTS (RNN)
TRAITEMENT DES DONNÉES SÉQUENTIELLES AVEC DEEP LEARNING
PLAN DU COURS

 Introduction aux données séquentielles


 Problèmes des réseaux de neurones classiques
avec les séquences
 Architecture des RNN
 Fonctionnement des RNN
 Problèmes des RNN : vanishing/exploding
gradients
 Variantes des RNN : LSTM et GRU
LES DONNÉES SÉQUENTIELLES ?

.
Les données séquentielles sont des données ordonnées dans le
temps ou selon une séquence où l'ordre a un sens (contexte)

Séquence de mots :
• Textes
Sons :
• Parole, bruit
Images :
• Vidéos
séries temporelles
• (prix du bitcoin, météo).
QUELLES TÂCHES PEUT-ON RÉALISER AVEC
DES DONNÉES SÉQUENTIELLES ?

 Séries temporelles :Prédiction de séries


temporelles comme la prévision du marché
boursier.

 Traitement du langage naturel (NLP) :


Texte et analyse de sentiment.

 Traduction automatique :Traduire un


texte d’une langue à une autre.
QUELLES TÂCHES PEUT-ON RÉALISER AVEC
DES DONNÉES SÉQUENTIELLES ?
• Reconnaissance vocale

• Génération de musique

• Analyse de séquences ADN


CATÉGORIES DE MODÉLISATION POUR
DONNÉES SÉQUENTIELLES

Image Music Sentiment Machine Speech


classificati generation classification translation recognitio
on n
Image Video activity
captioning recognition
LIMITES DES RÉSEAUX DE NEURONES
CLASSIQUES (MLP)

 MLPs supposent que les entrées sont


indépendantes les unes des autres.

 Impossible de capturer la dépendance


temporelle entre les éléments d'une séquence.
 Exemple : prédire le mot suivant dans une
phrase nécessite de "se souvenir" du contexte
précédent.
LIMITES DES MLP CLASSIQUES
Exemple:

Phrase 1 :

"He took a bite of the apple.

Ici, “apple” = fruit

Pourquoi ? Le verbe "took a bite" indique une action associée à un aliment.

Phrase 2 :

"She bought a new Apple phone."

Ici, “Apple” = entreprise / technologie

Pourquoi ? Le mot "phone" change totalement le sens de "Apple" → on parle

ici de la marque Apple Inc.


Le sens d’un mot dépend du
contexte
LES RÉSEAUX DE NEURONES RÉCURRENTS
(RNN)

 Les RNN sont conçus pour gérer des séquences de longueur


variable.
 Ils possèdent une mémoire qui leur permet de capturer
les dépendances temporelles dans les données.

 Ils ont également la capacité de traiter les entrées dans


un ordre séquentiel, ce qui leur permet de capturer les
modèles dépendants de l'ordre.

 Les RNN sont devenus l'approche standard pour traiter des


données séquentielles telles que la parole, le texte et les
séries temporelles.
COMMENT FONCTIONNE UN RNN ?
Un RNN traite les données séquentiellement, en mémorisant
l'information d'une étape à l'autre grâce à une boucle récurrente.

 Xi : Entrée séquentielle :

Chaque élément de la séquence


(ex. : un mot, un caractère, un
signal) est traité un par un.

 hi : État caché (mémoire)


t1 t2 t3 (hidden state) à linstant ti

10
 Yi : Sortie à linstant ti
COMMENT FONCTIONNE UN RNN ?

À chaque étape, le RNN met à jour un

état caché h_t qui stocke

l’information de l’entrée actuelle et

de la mémoire du passé :

• x_t
+c :) l’entrée à l’instant t
•h_{t-1} : l’état caché précédent
(mémoire)
•f : fonction d’activation (souvent
11

tanh ou ReLU)
BACK PROPAGATION THROUGH TIME (BPTT)
 La Backpropagation Through Time (BPTT) est l’algorithme
utilisé pourde
Principe entraîner un RNN.
fonctionnement
1.Propagation avant (forward pass)
Calcul des états cachés ​et des sorties
2.Calcul de la perte
3.Rétropropagation dans le temps
(BPTT)
Propagation de l'erreur de sortie vers les
états cachés précédents :
12
4.Mise à jour des poids (ex. avec descente
de gradient)
BACK PROPAGATION THOUGH TIME (BPTT)

 Supposons que :
 La sortie est linéaire (f est une function linéaire) :
 Et L est la function de loss MSE à l’instant t=3:

 L₃ = ½ (y₃ - ŷ₃)² ⇒ ∂L₃/∂ŷ₃ = - (y₃


- ŷ₃)

ŷ₃⋅ =
 Mise à jour : V ← V +η ⋅ (y₃ - ŷ₃) h₃V ⋅ h₃ ⇒ ∂ŷ₃/∂V = h₃
BACK PROPAGATION THOUGH TIME (BPTT)

 Assume that

14
BACK PROPAGATION THOUGH TIME

15
EXEMPLE

 Prédire le mot suivant dans « le chat mange du poisson »


 Séquences d’entrée et sorties attendues :

Entrée Sortie attendue


["le"] "chat"
["le", "chat"] "mange"
["le", "chat",
"du"
"mange"]
["le", "chat",
"poisson"
"mange", "du"]
EXEMPLE

 prédire le mot suivant dans "le chat mange du poisson" détaille


de l'application de rnn

Entrée : Le → chat → mange du →


↓ ↓ ↓
[h1] ─────▶ [h2] ─────▶ [h3] ─────▶ [h4]

↓ ↓ ↓
↓ du
chat mange Prédiction : “poisson"

Une fois le modèle entraîné :


 On donne : le chat mange du
 Le modèle renvoie : " poisson "
LES LIMITES DE RNN VANILLA

 Explosion du gradient

 Disparition du gradient (vanishing gradient)

 Exemple : signal qui diminue ou explose

18
EXPLOSION DU GRADIENT AVEC VANILLA
RNNS

Ce problème se produit lorsque les gradients utilisés


pour mettre à jour les poids du réseau deviennent trop
grands pendant la rétropropagation

Cela provoque des valeurs de poids extrêmement


grandes et des mises à jour instables.
EXPLOSION DU GRADIENT AVEC VANILLA
RNNS

 Pour éviter les gradients explosifs, on peut utiliser le


gradient clipping.
 L'idée est de limiter la taille des gradients à un certain
seuil, afin d'éviter qu'ils ne deviennent trop grands.
 La formule pour le gradient clipping est la suivante :

Où : g est le gradient de la fonction de perte.


∥g∥ est la norme du gradient.
20
DISPARITION DU GRADIENT (VANISHING
GRADIENTS) WITH VANILLA RNNS

 Les gradients deviennent très petits en


remontant le temps → les poids ne sont presque
pas mis à jour.

 Impact: Le réseau a du mal à apprendre les


dépendances à long terme.
DISPARITION DU GRADIENT (VANISHING
GRADIENTS) WITH VANILLA RNNS
Solutions :
• Utiliser Truncated BPTT (Backpropagation Through Time tronquée) :
Cela consiste à limiter la durée de la rétropropagation à travers le
temps, en coupant l'apprentissage après un certain nombre d'étapes
temporelles.
• Ce qui permet d'éviter que les gradients ne disparaissent sur des
séquences très longues.

• Utiliser des architectures adaptées comme :


• LSTM (Long Short-Term Memory)
• GRU (Gated Recurrent Unit)

→ Ces architectures permettent de conserver des informations


plus longtemps grâce à des portes qui contrôlent le flux
TRUNCATE BPTT / LSTM / GRU
TRUNCATE BPTT
Principe de Truncated BPTT :
 Au lieu de propager les gradients à travers toutes les étapes temporelles de la
séquence, Truncated BPTT coupe cette rétropropagation après un certain nombre
d'étapes temporelles, appelé la longueur de la fenêtre (ou "chunk size")

Forward
propagation
Backward propagation

Avantages :
• Aide à éviter les gradients explosifs / qui disparaissent.
• Beaucoup plus rapide que la rétropropagation à travers le temps classique (BPTT), et
également moins complexe.
Inconvénient :
24
• Les dépendances plus longues que la longueur de la fenêtre ne sont pas apprises
pendant le processus d'entraînement.
LSTM

LSTM (Long Short-Term Memory )est une variante des réseaux de neurones
récurrents (RNNs) conçue pour résoudre les problèmes des RNN classiques, tels que:

 Les gradients qui disparaissent


 L'incapacité d'apprendre des dépendances à long terme.

But principal :Mémoriser des informations pertinentes dans une séquence


tout en oubliant les informations inutiles — sur le long terme et le court terme.

25
LSTM: ARCHITECTURE
Cellule de mémoire (Memory Cell) : Elle stocke
l'information sur le long terme. C'est la partie centrale
du LSTM qui conserve les informations pertinentes au fil
du temps.
Portes : Il y a trois types de portes dans un LSTM :
1. Porte d'entrée (Input Gate) : Contrôle quelles
informations de l'entrée actuelle doivent être
ajoutées à la cellule de mémoire.
2. Porte d'oubli (Forget Gate) : Détermine
quelles informations doivent être oubliées de la
cellule de mémoire.
3. Porte de sortie (Output Gate) : Contrôle
quelles informations de la cellule de mémoire
doivent être envoyées à la sortie du LSTM.
26
LONG SHORT-TERM MEMORY (LSTM)
À chaque instant 𝑡, la cellule reçoit
:
: L’entrée actuelle (ex. mot, valeur
temporelle)
​ : La sortie précédente (état
caché)
​ : L’état mémoire précédent

Ces éléments vont être utilisés


dans des calculs successifs pour
27
produire deux sorties :
: La nouvelle sortie (état caché)
LSTM: PORTE D'ENTRÉE (INPUT GATE)

 La porte d'entrée décide quelles


nouvelles informations doivent
être ajoutées à la cellule de
mémoire.
 Elle utilise:

• Une fonction sigmoïde pour décider


quelles valeurs mettre à jour

• Une fonction tanh pour créer un


vecteur de nouvelles valeurs candidate
qui peuvent être ajoutées à la
mémoire.
28
LSTM: PORTE D'ENTRÉE (INPUT GATE)
 i1 : Le filtre sélectionne quelles informations
peuvent passer à travers et quelles informations
doivent être rejetées.
 La fonction sigmoïde transformera les valeurs pour
qu'elles soient comprises entre 0 et 1.
•0 indique que la partie de l'information n'est pas
importante.
•1 indique que l'information sera utilisée.

 i2 : Utilise la fonction tanh pour réguler le réseau.

29
LSTM: PORTE D'ENTRÉE (INPUT GATE)

Le résultat final représente l'information à conserver dans


la mémoire à long terme et à utiliser comme sortie.

30
LSTM: PORTE D'OUBLI (FORGET GATE)
Porte d'oubli (Forget Gate) :
À chaque étape, la porte d'oubli décide quelle partie de l'information
dans la cellule de mémoire doit être oubliée.
Elle prend en entrée l'état caché précédent et l'entrée actuelle, et
passe cette information par une fonction sigmoïde pour produire une
valeur entre 0 et 1.

Si la valeur est proche de 0, cela


signifie que l'information doit être
oubliée
31
sinon elle doit être conservée.
LSTM: MISE À JOUR DE L’ÉTAT DE
MÉMOIRE CT

La cellule de mémoire est mise à jour en combinant l'ancienne


mémoire, qui a été filtrée par la porte d'oubli, avec la nouvelle
information filtrée par la porte d'entrée.

𝐶 𝑡 = 𝐶𝑡 − 1 ∗ 𝑓 +𝑖𝑖𝑛

32
LSTM:PORTE DE SORTIE (OUTPUT GATE)
La porte de sortie va prendre en compte l’entrée actuelle, la
mémoire à court terme précédente, et la nouvelle
mémoire à long terme pour produire la nouvelle mémoire à
court terme.
 La mémoire à court terme précédente et l’entrée actuelle sont
passées dans une fonction sigmoïde pour créer le filtre.
 La nouvelle mémoire à long terme est ensuite passée dans une
fonction d’activation tanh :

33
LSTM:PORTE DE SORTIE (OUTPUT GATE)

La porte de sortie va prendre en compte l’entrée actuelle, la


mémoire à court terme précédente, et la nouvelle
mémoire à long terme pour produire la nouvelle mémoire à
court terme.
 La mémoire à court terme précédente et l’entrée actuelle sont
passées dans une fonction sigmoïde pour créer le filtre.

34
LONG SHORT-TERM MEMORY (LSTM)

 La nouvelle mémoire à long terme est ensuite


passée dans une fonction d’activation tanh :

35
GRU (GATED RECURRENT UNITS)

Une variante de l’architecture RNN introduite en 2014 par Cho et


al.Utilise des mécanismes de portes (gating) pour contrôler et gérer
le flux d’informations entre les cellules du réseau neuronal.

36
RESET GATE

La porte de réinitialisation contrôle


combien d'information du passé doit
être prise en compte dans la nouvelle
mémoire

Si : ≈ 0 → On oublie le passé → GRU


"réinitialise" comme
s’il commençait à zéro
Si ≈1→ On garde l'état précédent → la
mémoire précédente est importante

37
UPDATE GATE

Le but de la porte de mise à


jour est d’aider le modèle à
déterminer quelle quantité
d’informations passées,
stockées dans l’état caché
précédent, doit être conservée
pour les étapes futures.

38
COMBINING THE OUTPUTS

: Le but de cette opération est de


permettre à la porte de mise à
jour (Update) de déterminer
quelle portion des nouvelles
informations doit être stockée
dans l’état caché.

39

Vous aimerez peut-être aussi