Chapitre 1: INTRODUCTION A L'APPRENTISSAGE
AUTOMATIQUE: RNN
Ghislain PANDRY
Chercheur, Traitement du signal
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Traitement de séquences
Dénition
Une séquence est une observation {xt } pour t ∈ {1; T }, avec
xt ∈ Rd . En général, l'observation au pas de temps xt dépend de
′
xt ′ pour t ≤ t (causalité).
Exemples : texte, séries temporelles, ADN, logs, etc.
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Modélisation décisionnelle sur des séquences
On cherche une fonction f permettant de prédire yt à partir de xt .
Option 1 : perceptron multi-couche
Comme pour les SVM ou les forêts aléatoires, on peut traiter une
séquence par un MLP sur une fenêtre de taille xe L.
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Limites des modèles entièrement connectés
Si le contexte temporel à prendre en compte est grand, L ↗⇒
nombre de paramètres ↗,
Les prédictions sont indépendantes à chaque pas de temps xt
(pas de mémoirede yt−1 ),
Impossible de traiter des séquences de longueur variable, sauf à
les redécouper en fenêtre de taille xe.
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Réseaux convolutifs sur des séquences
Option 2 : CNN
Modèle convolutif à noyaux unidimensionels (convolution 1D) sur
une fenêtre de taille xe L.
Moins de paramètres que les modèles entièrement connectés, extrait
l'information locale
Ne peut pas traiter des séquences de longueur variable à cause de la
dernière couche entièrement connectée
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Prédiction structurée : modèles graphiques
Prédiction structurée : modélisation explicite des liens entre f (xt ) et
f (xt ′ )t ′ ≤t
Chaînes de Markov (modèle génératif P(x, y )), Conditional Random
Fields (CRF)
Gère des séquences de longueur variable L
Limités aux prédicteurs linéaires
Procédure d'inférence complexe (solution extracte non-tractable)
Hypothèse de Markov : f (xT |xt , t ≤ T ) = f (xT |xT −1 )
le présent ne dépend que d'un nombre limité de valeurs passées
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Cellule récurrente
Entrée : séquence {xt }t∈{1;T } , xt ∈ Rd
État interne du RNN : {ht }t∈{1;T } , ht ∈ Rl
La cellule récurrente est dénie par : ht = ϕt (xt , ht−1 )
Boucle récursive : ht dépend de l'observation présente xt et de
l'état interne précédent ht−1
ht modélise la mémoire du réseau (historique jusqu'au pas de
temps t )
Dans les RNN, la fonction ϕt = ϕ est identique (partagée)
pour tous les pas de temps t.
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Cellule récurrente
Entrée : séquence {xt }t∈{1;T } , xt ∈ Rd
État interne du RNN : {ht }t∈{1;T } , ht ∈ Rl
La cellule récurrente est dénie par : ht = ϕt (xt , ht−1 )
Boucle récursive : ht dépend de l'observation présente xt et de
l'état interne précédent ht−1
ht modélise la mémoire du réseau (historique jusqu'au pas de
temps t )
Dans les RNN, la fonction ϕt = ϕ est identique (partagée)
pour tous les pas de temps t .
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Réseau récurrent
Dénition d'un réseau récurrent
On choisit pour ϕ une projection linéaire entre xt et ht−1 ,
c'est-à-dire des couches entièrement
connectées :ht = f (Uxt + Wht−1 + bh )
Si l'on choisit la dimension de l'état cachée h égale à l, alors :
U est une matrice (l × d), W est une matrice (l × l)
b est un vecteur de biais de longueur l
f est une fonction d'activation non-linéaire, généralement tanh
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Prédiction par un réseau récurrent
Pour la prédiction de la sortie, on ajoute une couche entièrement
connectée entre l'état interne et la sortie. À chaque pas de temps t,
′ ′
la sortie du RNN est yt = f (Vht + by ) où f peut être l'identité
(régression) ou une activation softmax (classication).
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Capacités de modélisation des RNN
Rappel : les réseaux entièrement connectés sont des
approximateurs universels de fonction
Quels résultats a-t-on concernant les transformations entre
xt t∈{1;T } et yt t∈{1;T } ?
Les RNN sont approximateurs universels de programme
Siegelmann et Sontag 1995
Les RNN peuvent approximer n'importe quelle fonction
calculable (∼ machine de Turing)
Les RNN peuvent approcher n'importe transformation
séquence à séquence mesurable Hammer 2000
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Capacités de modélisation des RNN
Pt
Objectif : calculer yt = x
t ′ =1 t
Exemple 1 : calcul d'une somme par réseau récurrent
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Capacités de modélisation des RNN
yt = tt ′ =1 x1,t > tt ′ =1 x2,t
P P
Objectif : calculer
État interne : calculer dim1 − dim2 puis sommer
Exemple 2 : comparaison de la somme selon deux dimensions par
réseau récurrent
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Entraînement des réseaux récurrents
Comme pour les réseaux de neurones classiques, on compare la
sortie prédite yt t∈{1;T } à une vérité de terrain (supervision) yt∗ .
Exemple pour la classication :
t : Lt (yP ∗
Erreur au pas de temps t , yt ) (entropie croisée)
∗ T ∗
Erreur totale :L({yt }, {yt }) = t=1 Lt ({yt }, {yt })
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
Back-propagation through time (BPTT)
Pour optimiser le modèle, on applique la rétropropagation dans le
temps sur la vue déroulée(unfolded) du réseau récurrent pour
l'écrire comme un long réseau entièrement connecté à poids
partagés.
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
BPTT : principe
BPTT : les poids sont mis à jour par descente de gradient, il
∂Lt ∂Lt ∂Lt
faut donc calculer
∂W , ∂U , ∂V (+biases) ;
Dans le RNN déroulé, on applique la rétropropagation comme
pour les réseaux classiques (chain rule) :Unfolded RNN : same
spirit as back-prop with fully connected networks (chain rule)
Diérence : les paramètres W , U , V sont partagés pour tous
les pas de temps, leur mise à jour est la moyenne des gradients
pour chaque t .
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
BPTT : calcul des gradients
L'état interne s'obtient par application d'une activation
non-linéaire f, par exemple :ht = tanh(Uxt + Wht−1 + bh )
Sortie au pas de temps t : yt = softmax(Vht + by )
Les paramètres W , U, V sont partagés dans le temps ⇒ les
gradients dépendent de tout l'historique passé
∂Lt Pt ∂Lt ∂yt ∂ht ∂hk
Exemple pour W :
∂W = k=1 ∂yt ∂ht ∂hk ∂W
∂ht ∂h
Par chain rule :
∂hk = ⊓tj=k+1 ∂hj−j 1
∂hj ′
On obtient la matrice jacobienne :
∂hj−1 = W ⊺ diag [f (hj−1 )]
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
BPTT : calcul des gradients
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
BPTT : optimisation
Dicultés
Comme la BPTT opère sur le réseau déroulé, on optimise un réseau
très profond : forts risques de gradients évanescents ! Ces risques
sont empirés par l'utilisation des fonctions d'activation non-linéaire
classiques, comme tanh ou sigmoïde.
∂ht ∂h
∂hk = ⊓tj=k+1 ∂hj−j 1 ≤ (βw βh )t−k
βh dépend de l'activation (tanh → βh = 1, σ → βh = 0.25
βw dépend de la plus grande valeur propre de W
On distingue deux cas :
Si βh × βw > 1, alors les gradients ↗ à chaque t ⇒ exploding
gradients ;
Si βh × βw < 1, alors les gradients ↗ à chaque t ⇒ vanishing
gradients ;
Cette analyse est vraie pour tous les réseaux profonds mais est
exacerbée par la profondeurdes RNN !
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE
BPTT tronquée
Si T est grand, alors le réseau déroulé est très profond et la
rétropropagation est coûteuse. On peut éviter de rétropropager sur
tout le graphe en tronquant l'algorithme :
Ghislain PANDRY Chapitre 1: INTRODUCTION A L'APPRE