0% ont trouvé ce document utile (0 vote)
120 vues20 pages

Introduction aux RNN en apprentissage automatique

Ce document introduit les réseaux de neurones récurrents (RNN) pour la modélisation de séquences de données. Il décrit comment les RNN peuvent être entraînés avec la rétropropagation dans le temps pour approximer n'importe quelle transformation séquence-à-séquence mesurable. Le document explique également les défis posés par la profondeur des RNN déroulés pour l'entraînement, tels que les gradients explosifs ou disparus.

Transféré par

koloouattara929
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)
120 vues20 pages

Introduction aux RNN en apprentissage automatique

Ce document introduit les réseaux de neurones récurrents (RNN) pour la modélisation de séquences de données. Il décrit comment les RNN peuvent être entraînés avec la rétropropagation dans le temps pour approximer n'importe quelle transformation séquence-à-séquence mesurable. Le document explique également les défis posés par la profondeur des RNN déroulés pour l'entraînement, tels que les gradients explosifs ou disparus.

Transféré par

koloouattara929
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

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

Vous aimerez peut-être aussi