Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

RNN avec mécanisme d'attention

134 visualizaciones

Publicado el

On présente ici un réseau récurrent séquence à séquence (ou sequence to sequence: seq2seq) pour la traduction automatique. Nous présentons ci-dessous une architecture simplifiée basée sur un réseau récurrent composé le plus souvent de cellules LSTM avec un mécanisme d'attention.
Le réseau RNN, et tout particulièrement la variante LSTM, permettent de créer des modèles Séquence à séquence (Seq2seq) pour la traduction automatique. Mais le problème du goulot d'étranglement entre l'encodeur et le décodeur a conduit à l'utilisation d'un mécanisme d'attention pour faciliter l'accès à l'information pertinente contenue dans les états cachés de l'encodeur lors de la phase de décodage et garantir un bon alignement des mot dans les séquences en sortie.

Liens pour les vidéos :

I- Introduction
https://youtu.be/JhH6MSST2ic

II- Principes du mécanisme d'attention
https://youtu.be/EjhPvC9aizs


III- Machine Translation avec Attention
https://youtu.be/5avpZ0Ea4x8

IV- Graphe et matrice des liaisons pertinentes
https://youtu.be/1zFXWT4cuKI

Publicado en: Educación
  • Sé el primero en comentar

RNN avec mécanisme d'attention

  1. 1. Réseaux de neurones récurrents Avec mécanisme d'Attention NATURAL LANGUAGE PROCESSING (NLP) juillet 2020 JAOUAD DABOUNOU FST de Settat Université Hassan 1er RNN avec Attention
  2. 2. z1 Marrakech z2 , z3 fantastic z4 city z5 ! x2 , x1 Marrakech x3 ville x4 fantastique x5 ! x6 <eos> Réseau récurrent pour la traduction 2 On utilise souvent un réseau récurrent séquence à séquence (ou sequence to sequence: seq2seq) pour la traduction automatique. Nous présentons ci-dessous une architecture simplifiée basée sur un réseau récurrent composé le plus souvent de cellules LSTM. J. DABOUNOU - FST DE SETTAT z
  3. 3. ct-1 ct Réseaux LSTM 3J. DABOUNOU - FST DE SETTAT xt+1 ht+1 +x   x tanh tanh x  xt ht +x   x tanh tanh x  xt-1 ht-1 +x   x tanh tanh x  ht-2 ht-1 ht ct-2 ct+1 ht+1 Les réseaux LSTM (Long Short Term Memory ou mémoire à long terme et à court terme ) sont un type spécial de RNN, capable d'apprendre les dépendances à long terme. Ils ont été introduits par Hochreiter et Schmidhuber en 1997, et ont été par la suite affinés et popularisés par de nombreuses personnes. Ils fonctionnent extrêmement bien sur une grande variété de problèmes et sont maintenant largement utilisés.
  4. 4. 4 Traduction automatique J. DABOUNOU - FST DE SETTAT Réseau de neuronesHe visited the magical medina Il a visité la médina magique Un réseau de neurones pour la traduction automatique (Neural Machine Translation : NMT) fait un mapping entre une séquence en entrée dans une langue donnée et une séquence en sortie dans la langue cible.
  5. 5. 5 Modèle séquence à séquence J. DABOUNOU - FST DE SETTAT Réseau de neurones Seq2seq medinaHe visited the magical médinaIl a visité la magique Les modèles de séquence à séquence font référence à la classe plus large de modèles qui incluent tous les modèles qui mappent une séquence à une autre. Il sont très souvent utilisés dans la traduction automatique. Dans ces modèles, l'entrée et la sortie ne sont pas nécessairement de la même longueur.
  6. 6. 6 Modèle SEQ2SEQ de niveau mot J. DABOUNOU - FST DE SETTAT medinaHe visited the magical Réseau de neurones Seq2seq Réseau de neurones Seq2seq Dans les modèles Seq2Seq de niveau mot, le réseau reçoit un à un les mots de la première séquence.
  7. 7. 7 Modèle SEQ2SEQ de niveau mot J. DABOUNOU - FST DE SETTAT médinaIla visitélamagique Réseau de neurones Seq2seq Lorsque tous les mots de la séquence en entrée sont reçus par le réseau, il entame la traduction et renvoie les mots de la séquence en sortie l'un à la suite de l'autre dans la langue cible.
  8. 8. 8 Modèle encodeur-décodeur J. DABOUNOU - FST DE SETTAT medinaHe visited the magical médinaIl a visité la magique Encoder Decoder Ces modèles peuvent être considérés comme composés de deux réseaux de neurones récurrents: un encodeur et un décodeur. On parle alors d'une architecture encodeur-décodeur (Encoder/Decoder).
  9. 9. 9 Modèle encodeur-décodeur J. DABOUNOU - FST DE SETTAT medinaHe visited the magical Encoder Decoder Dans l'architecture codeur-décodeur, la première séquence est entrée mot à mot.
  10. 10. 10 Modèle encodeur-décodeur J. DABOUNOU - FST DE SETTAT Encoder Decoder médinaIla visitélamagique Encoder Decoder Contexte Lorsque la séquence entière est entrée dans l'encodeur, celui-ci crée un contexte représentant la séquence d'origine. Ce contexte est ensuite transmis au réseau décodeur qui l'utilise pour construire la séquence en sortie mot après mot.
  11. 11. Encoder Decoder Encoder Decoder Contexte 11 Modèle encodeur-décodeur J. DABOUNOU - FST DE SETTAT medinaHe visited the magical médinaIl a visité la magique 0.1 -1.1 -0.3 -1.0 0.1 -0.6 0.2 -0.1 -0.9 -0.3 0.2 -0.4 0.5 -0.1 0.2 -0.5 -0.1 0.4 -0.7 0.7 -0.3 0.4 0.2 -0.5 0.1 0.1 0.8 0.2 -0.7 1.1 -0.2 0.2 0.3 -0.4 0.9 0.1 -1.1 -0.3 -1.0 0.1 -0.2 0.4 1.0 0.1 -0.3 -0.5 -0.2 -0.3 0.2 0.7 -0.3 -1.0 0.5 -0.6 0.5 -0.5 -0.1 -0.8 0.5 0.4 Les entrées du réseau sont une représentation vectorielle des mots (One-hot encoding, word embedding,…) et non les mots eux-mêmes. Le texte d'entrée est traité par l'encodeur pour être codé en un vecteur contexte, qui est ensuite transmis au décodeur pour générer la sortie.
  12. 12. 12 Modèle encodeur-décodeur J. DABOUNOU - FST DE SETTAT visited h3 the h4 magical h5 medina h6 He h2 z = h7 <s> h1 </s> h7 English encoder French decoder h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s>Le dernier état caché du premier réseau RNN est utilisé comme contexte qui représente la phrase en anglais. Encoder Decoder Encoder Decoder Contexte Le décodeur utilise le contexte comme état initial, génère un premier mot, ensuite l'utilise comme entrée pour générer le mot suivant et ainsi de suite jusqu'à la génération de la fin de séquence </s>. <s>
  13. 13. 13 Modèle encodeur-décodeur: RNN traduction J. DABOUNOU - FST DE SETTAT visited h3 the h4 magical h5 medina h6 He h2 z = h7 <s> h1 </s> h7 English encoder French decoder h2 out h3 out h4 out h5 out h1 out h6 out h7 out Représente la phrase en anglais Encoder Decoder Encoder Decoder Contexte x1 x2 x3 x4 x5 x6 x7 z1 z2 z3 z4 z5 z6 z7 Embedding 𝐡t = 𝐭𝐚𝐧𝐡(𝐖hh 𝐡t−1 + 𝐖xh 𝐱t) médinaIl a visité la magique </s> y1 y2 y3 y4 y5 y6 y7 SoftmaxEmbedding Lors de la phase d'entrainement, les sorties zt du décodeur sont comparées aux sorties attendues yt dans l'expression de la fonction de perte. Dans certaines implémentations, on utilise les yt comme entrée pour générer le mot suivant. <s>
  14. 14. Encoder Decoder Encoder Decoder Contexte 14 Modèle encodeur-décodeur J. DABOUNOU - FST DE SETTAT visited h3 the h4 magical h5 medina h6 He h2 z = F(h1, h2, …, h7) <s> h1 </s> h7 English encoder French decoder h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> Combinaison des états cachés hs représentant la phrase en anglais Le contexte ainsi obtenu peut ne pas tenir compte des états cachés de début des séquences. Surtout qu'elles sont de taille variable. Pour résoudre ce problème, lors de la phase d'entrainement, au lieu d'utiliser le dernier état caché du premier réseau pour commencer le deuxième réseau, on peut choisir une somme pondérée des différents états cachés h1, h2, …, h7, surtout qu'ils sont disponibles. <s>
  15. 15. 15 Limites Modèle encodeur-décodeur J. DABOUNOU - FST DE SETTAT visited h3 the h4 magical h5 medina h6 He h2 z = F(h1, h2, …, h7) <s> h1 </s> h7 English encoder French decoder h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> Représente la phrase en anglais • Taille fixe quelque soit la taille des séquences qui est variable • Perd la dynamique temporelle qui est inhérente aux séquences L'information dans le contexte peut s'effacer lorsque la taille de la sortie est grande Encoder Decoder Encoder Decoder Contexte Reste que le contexte obtenu ainsi continue à présenter quelques inconvénients. <s>
  16. 16. 16 Modèle encodeur-décodeur J. DABOUNOU - FST DE SETTAT visited h3 the h4 magical h5 medina h6 He h2 ct = Ft(h1, h2, …, h7) <s> h1 </s> h7 English encoder French decoder h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> Le contexte comme combinaison des hs. Partager le contexte sur tous les tokens. Encoder Decoder Encoder Decoder Contexte Une idée à développer consiste à utiliser le contexte comme entrée supplémentaire pour obtenir chaque mot du décodeur. <s>
  17. 17. EncoderEncoder Decoder Contexte 17 Modèle encodeur-décodeur J. DABOUNOU - FST DE SETTAT c1 = F1(h1, h2, …, h7) c2 = F2(h1, h2, …, h7) c3 = F3(h1, h2, …, h7) c4 = F4(h1, h2, …, h7) c5 = F5(h1, h2, …, h7) c6 = F6(h1, h2, …, h7) c7 = F7(h1, h2, …, h7) English encoder French decoder visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> <s> Le contexte comme combinaison des hs, mais aussi adapté aux tokens en sortie 𝐜t = s=1,7 ats 𝐡s ats  0 et s=1,7 ats = 1
  18. 18. 18 MÉCANISME D'ATTENTION J. DABOUNOU - FST DE SETTAT c1 = F1(h1, h2, …, h7) c2 = F2(h1, h2, …, h7) c3 = F3(h1, h2, …, h7) c4 = F4(h1, h2, …, h7) c5 = F5(h1, h2, …, h7) c6 = F6(h1, h2, …, h7) c7 = F7(h1, h2, …, h7) English encoder French decoder visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 MÉCANISME D'ATTENTION h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> <s> 𝐜t = s=1,7 ats 𝐡s ats  0 et s=1,7 ats = 1
  19. 19. 19 MÉCANISME D'ATTENTION J. DABOUNOU - FST DE SETTAT c1 = F1(h1, h2, …, h7) c2 = F2(h1, h2, …, h7) c3 = F3(h1, h2, …, h7) c4 = F4(h1, h2, …, h7) c5 = F5(h1, h2, …, h7) c6 = F6(h1, h2, …, h7) c7 = F7(h1, h2, …, h7) English encoder French decoder visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 MÉCANISME D'ATTENTION h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> <s> 𝐜t = s=1,7 ats 𝐡s ats  0 et s=1,7 ats = 1
  20. 20. 20 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT English encoder French decoder visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 MÉCANISME D'ATTENTION ats = softmax score 𝐡t out , 𝐡s pour s = 1,7 𝐜t = s=1,7 ats 𝐡s 𝐡t att = tanh(𝐖ch att 𝐜t + 𝐖hh att 𝐡t out ) Calculer : 𝐡t out = tanh(𝐖hh out 𝐡t−1 out + 𝐖xh out 𝐳t)1 4 𝐳t=Softmax (𝐖hz out 𝐡t att )5 2 3 score 𝐡t out , 𝐡s = 𝐡t out T 𝐡s ∶ Produit scalaire 𝐡t out 𝐖a 𝐡s ∶ Multiplicatif 𝐯a T 𝐭𝐚𝐧𝐡(𝐖a[𝐡t out ; 𝐡s ]) ∶ Concaténation h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> <s>
  21. 21. 21 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT English encoder French decoder visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 h1 out Représente la phrase en anglais <s> Embedding x1 Calculer : 𝐡1 out = tanh(𝐖hh out 𝐡7 + 𝐖xh out 𝐱1)1
  22. 22. 22 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT English encoder French decoder visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 h1 out MÉCANISME D'ATTENTION a1s = softmax score 𝐡1 out , 𝐡s pour s = 1,7 𝐜1 = s=1,7 a1s 𝐡s score 𝐡1 out , 𝐡s = 𝐡1 out T 𝐡s ∶ Produit scalaire 𝐡1 out 𝐖a 𝐡s ∶ Multiplicatif 𝐯1 T 𝐭𝐚𝐧𝐡(𝐖a[𝐡1 out ; 𝐡s ]) ∶ Concaténation 2 3 <s> Embedding x1 Calculer : 𝐡1 out = tanh(𝐖hh out 𝐡7 + 𝐖xh out 𝐱1)1
  23. 23. 23 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT English encoder French decoder visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 h1 out MÉCANISME D'ATTENTION a1s = softmax score 𝐡1 out , 𝐡s pour s = 1,7 𝐜1 = s=1,7 a1s 𝐡s 𝐡1 att = tanh(𝐖ch att 𝐜1 + 𝐖hh att 𝐡1 out ) score 𝐡1 out , 𝐡s = 𝐡1 out T 𝐡s ∶ Produit scalaire 𝐡1 out 𝐖a 𝐡s ∶ Multiplicatif 𝐯1 T 𝐭𝐚𝐧𝐡(𝐖a[𝐡1 out ; 𝐡s ]) ∶ Concaténation 2 3 4 𝐳1=Softmax (𝐖hz out 𝐡1 att )5Sortie décodeur: z1 <s> Embedding x1 Calculer : 𝐡1 out = tanh(𝐖hh out 𝐡7 + 𝐖xh out 𝐱1)1
  24. 24. 24 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT English encoder French decoder visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 h1 out MÉCANISME D'ATTENTION a2s = softmax score 𝐡2 out , 𝐡s pour s = 1,7 𝐜2 = s=1,7 a2s 𝐡s 𝐡2 att = tanh(𝐖ch att 𝐜2 + 𝐖hh att 𝐡2 out ) score 𝐡2 out , 𝐡s = 𝐡2 out T 𝐡s ∶ Produit scalaire 𝐡2 out 𝐖a 𝐡s ∶ Multiplicatif 𝐯1 T 𝐭𝐚𝐧𝐡(𝐖a[𝐡2 out ; 𝐡s ]) ∶ Concaténation Calculer : 𝐡2 out = tanh(𝐖hh out 𝐡1 out + 𝐖xh out 𝐳1)1 2 3 4 𝐳2=Softmax (𝐖hz out 𝐡2 att )5 z1 h2 out <s> Embedding x1 z2 Sortie décodeur:
  25. 25. 25 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT English encoder French decoder visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 MÉCANISME D'ATTENTION ats = softmax score 𝐡t out , 𝐡s pour s = 1,7 𝐜t = s=1,7 ats 𝐡s 𝐡t att = tanh(𝐖ch att 𝐜t + 𝐖hh att 𝐡t out ) Calculer : 𝐡t out = tanh(𝐖hh out 𝐡t−1 out + 𝐖xh out 𝐳t)1 4 𝐳t=Softmax (𝐖hz out 𝐡t att )5 2 3 score 𝐡t out , 𝐡s = 𝐡t out T 𝐡s ∶ Produit scalaire 𝐡t out 𝐖a 𝐡s ∶ Multiplicatif 𝐯a T 𝐭𝐚𝐧𝐡(𝐖a[𝐡t out ; 𝐡s ]) ∶ Concaténation h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> <s> Sortie décodeur:
  26. 26. 26 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 MÉCANISME D'ATTENTION h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> <s> ats = softmax score 𝐡t out , 𝐡s pour s = 1,7 𝐜t = s=1,7 ats 𝐡s 𝐜3 = s=1,7 a3s 𝐡s a3s  0 et s=1,7 a3s = 1 h1 h2 h3 h4 h5 h6 h7 𝐜3 visité visited the magical medinaHe<s> </s> 0 1 0.12 0.2 0.61 0.07 10-5 10-5 10-7a3s
  27. 27. 27 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 MÉCANISME D'ATTENTION h2 out h3 out h4 out h5 out h1 out h6 out h7 out médinaIl a visité la magique </s> <s> 𝐜6 = s=1,7 a6s 𝐡s a6s  0 et s=1,7 a6s = 1 h1 h2 h3 h4 h5 h6 h7 𝐜6 visited the magical medinaHe<s> </s> 0 1 10-8 10-6 10-4 0.05 0.79 0.15 10-8a3s magique ats = softmax score 𝐡t out , 𝐡s pour s = 1,7 𝐜t = s=1,7 ats 𝐡s
  28. 28. 28 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 + + + ++ + + médinaIl a visité la magique </s> 𝐜6 = s=1,7 a6s 𝐡s a6s  0 et s=1,7 a6s = 1 h1 h2 h3 h4 h5 h6 h7 𝐜6 visited the magical medinaHe<s> </s> 0 1 10-8 10-6 10-4 0.05 0.79 0.15 10-8a3s magique Graphe des liaisons pertinentes
  29. 29. 29 Machine Translation avec Attention J. DABOUNOU - FST DE SETTAT Il a visité la médina magique </s> <s> He visited the magical medina </s> Matrice de distribution de l'attention visited h3 the h4 magical h5 medina h6 He h2 <s> h1 </s> h7 + + + ++ + + médinaIl a visité la magique </s> Graphe des liaisons pertinentes

×