Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 ·...

86
Neural Machine Transla/on Thang Luong Tutorial @ Stanford NLP lunch (Thanks to Chris Manning, Abigail See, and Russell Stewart for comments and discussions.)

Transcript of Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 ·...

Page 1: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on    

Thang  Luong  Tutorial  @  Stanford  NLP  lunch  

 (Thanks  to  Chris  Manning,  Abigail  See,  and    

Russell  Stewart  for  comments  and  discussions.)    

Page 2: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Sixi  roasted  husband   Meat  Muscle  Stupid  Bean  Sprouts  

Page 3: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Sixi  roasted  husband   Meat  Muscle  Stupid  Bean  Sprouts  

Page 4: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Source  words   Target  words  

SyntacGc  structure   SyntacGc  structure  

SemanGc  structure   SemanGc  structure  

Interlingual  

The  Vauquois  Diagram  (1968)    

Page 5: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Direct  approach  Words   Words  

SyntacGc   SyntacGc  

SemanGc   SemanGc  

Interlingual  

She   loves  

Elle  

cute  

aime   les  chats  

cats  

mignons  

Translate  locally!    

Page 6: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Transfer  approach  Words   Words  

SyntacGc   SyntacGc  

SemanGc   SemanGc  

Interlingual  

Complex,  slow,  need  lots  of  resources!  

Page 7: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  

•  Simple  – Skip  intermediate  structures.  

•  GeneralizaGon  – With  distributed  representaGons.  

Words   Words  

Interlingual  

Page 8: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Outline  

•  NMT  basics  (Sutskever  et  al.,  2014)  – Architecture.  – Recurrent  units.  – BackpropagaGon.  

•  AYenGon  mechanism  (Bahdanau  et  al.,  2015)  

Page 9: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  (NMT)  

•  Big  RNNs  trained  end-­‐to-­‐end.  am a student _ Je suis étudiant

Je suis étudiant _

I

Page 10: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  (NMT)  

•  Big  RNNs  trained  end-­‐to-­‐end.  am a student _ Je suis étudiant

Je suis étudiant _

I

Page 11: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  (NMT)  

•  Big  RNNs  trained  end-­‐to-­‐end.  am a student _ Je suis étudiant

Je suis étudiant _

I

Page 12: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  (NMT)  

•  Big  RNNs  trained  end-­‐to-­‐end.  am a student _ Je suis étudiant

Je suis étudiant _

I

Page 13: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  (NMT)  

•  Big  RNNs  trained  end-­‐to-­‐end.  am a student _ Je suis étudiant

Je suis étudiant _

I

Page 14: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  (NMT)  

•  Big  RNNs  trained  end-­‐to-­‐end:  encoder-­‐decoder.  am a student _ Je suis étudiant

Je suis étudiant _

I

Page 15: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  (NMT)  

•  Big  RNNs  trained  end-­‐to-­‐end:  encoder-­‐decoder.  am a student _ Je suis étudiant

Je suis étudiant _

I

Page 16: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  (NMT)  

•  Big  RNNs  trained  end-­‐to-­‐end:  encoder-­‐decoder.  am a student _ Je suis étudiant

Je suis étudiant _

I

   

Page 17: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Neural  Machine  Transla/on  (NMT)  

•  Big  RNNs  trained  end-­‐to-­‐end:  encoder-­‐decoder.  am a student _ Je suis étudiant

Je suis étudiant _

I

Page 18: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Word  Embeddings  

am a student _ Je suis étudiant

Je suis étudiant _

I

•  Randomly  iniGalized,  one  for  each  language.  

Source  embeddings  

Target  embeddings  

Page 19: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiant

Je suis étudiant _

I

Recurrent  Connec/ons  IniGal    states  

•  O^en  set  to  0.  

Page 20: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiant

Je suis étudiant _

I

Recurrent  Connec/ons  

•  Different  across  layers  and  encoder  /  decoder.  

Encoder  1st  layer  

Page 21: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiant

Je suis étudiant _

I

Recurrent  Connec/ons  

•  Different  across  layers  and  encoder  /  decoder.  

Encoder  2nd  layer  

Page 22: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiant

Je suis étudiant _

I

Recurrent  Connec/ons  

•  Different  across  layers  and  encoder  /  decoder.  

Decoder  1st  layer  

Page 23: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiant

Je suis étudiant _

I

Recurrent  Connec/ons  

•  Different  across  layers  and  encoder  /  decoder.  

Decoder  2nd  layer  

Page 24: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiant

Je suis étudiant _

I

SoBmax  Layer    

•  Hidden  states  ↦  scores.  

Scores      

   

am a student _ Je suis étudiant

Je suis étudiant _

I

am a student _ Je suis étudiant

Je suis étudiant _

I

=      |V|  

Page 25: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiant

Je suis étudiant _

I

SoBmax  Layer  

•  Scores  ↦  probabiliGes.  

   

   

am a student _ Je suis étudiant

Je suis étudiant _

I

am a student _ Je suis étudiant

Je suis étudiant _

I

=      

Scores  

so#max      

Probs  

P(suis  |  Je,  source)  |V|  

Output  embeddings  

Page 26: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Training  Loss  

am a student _ Je suis étudiantI

Je suis étudiant _

Page 27: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Training  Loss  

am a student _ Je suis étudiant

-log P(Je)

I

-log P(suis)      

•  Sum  of  all  individual  losses  

Page 28: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Training  Loss  

am a student _ Je suis étudiant

-log P(Je)

I

-log P(suis)        

       

•  Sum  of  all  individual  losses  

Page 29: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Training  Loss  

•  Sum  of  all  individual  losses  

       

am a student _ Je suis étudiantI

-log P(étudiant)

Page 30: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Training  Loss  

•  Sum  of  all  individual  losses  

am a student _ Je suis étudiantI

-log P(_)

       

Page 31: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Summary  Deep  RNNs  

(Sutskever  et  al.,  2014)  

am a student _ Je suis étudiant

Je suis étudiant _

I

am a student

_ Je suis étudiant

Je suis étudiant _

I

BidirecGonal  RNNs  (Bahdanau  et  al.,  2015)  

•  Generalize  well.  

•  Small  memory.  

•  Simple  decoder.  

Page 32: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Outline  

•  NMT  basics  (Sutskever  et  al.,  2014)  – Architecture.  – Recurrent  units.  – BackpropagaGon.  

•  AYenGon  mechanism  (Bahdanau  et  al.,  2015)  

Page 33: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Recurrent  types  –  vanilla  RNN  

RNN  

Shared  over  Gme  

Vanishing  gradient  problem!    

Page 34: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Vanishing  gradients  

(Pascanu  et  al.,  2013)  

Chain  Rule  

Bounding  Rules  

Bound   Largest  singular  value    

Page 35: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Vanishing  gradients  

Chain  Rule  

Bounding  Rules  

Sufficient  Cond  

(Pascanu  et  al.,  2013)  

Page 36: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Recurrent  types  –  LSTM  

•  Long-­‐Short  Term  Memory  (LSTM)  –  (Hochreiter  &  Schmidhuber,  1997)  

•  LSTM  cells  are  addiGvely  updated  – Make  backprop  through  Gme  easier.  

Com’on,  it’s  been  around  for  20  years!  

LSTM  

LSTM  cells  

Page 37: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Building  LSTM  

•  A  naïve  version.  

LSTM  

Nice  gradients!  

Page 38: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Building  LSTM  

•  Add  input  gates:  control  input  signal.  

Input  gates  

LSTM  

Page 39: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Building  LSTM  

•  Add  forget  gates:  control  memory.  

Forget  gates  

LSTM  

Page 40: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Building  LSTM  

Output  gates  

•  Add  output  gates:  extract  informaGon.  •  (Zaremba  et  al.,  2014).  

LSTM  

Page 41: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Why  LSTM  works?  

•  The  addiGve  operaGon  is  the  key!  •  BackpropaGon  path  through  the  cell  is  effecGve.  

LSTMt  LSTMt-­‐1  

+  

But  forget  gates  can  also  be  0?  

Page 42: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Important  LSTM  components?  

•  (Jozefowicz  et  al.,  2015):  forget  gate  bias  of  1.  

•  (Greff  et  al.,  2015):  forget  gates  &  output  acts.  

LSTMt  LSTMt-­‐1  +  

Page 43: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Important  LSTM  components?  

•  (Jozefowicz  et  al.,  2015):  forget  gate  bias  of  1.  

•  (Greff  et  al.,  2015):  forget  gates  &  output  acts.  

LSTMt  LSTMt-­‐1  +  

Forget  gates  are  important!  

Page 44: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

•  (Graves,  2013):  revived  LSTM.  – Direct  connecGons  between  cells  and  gates.  

•  Gated  Recurrent  Unit  (GRU)  –  (Cho  et  al.,  2014a)  – No  cells,  same  addiGve  idea.  

•  LSTM  vs.  GRU:  mixed  results  (Chung  et  al.,  2015).  

Other  RNN  units  

Page 45: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Encoder-­‐decoder  Summary  Encoder   Decoder  

(Sutskever  et  al.,  2014)  (Luong  et  al.,  2015a)  (Luong  et  al.,  2015b)  

Deep  LSTM   Deep  LSTM  

Page 46: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Encoder-­‐decoder  Summary  Encoder   Decoder  

(Sutskever  et  al.,  2014)  (Luong  et  al.,  2015a)  (Luong  et  al.,  2015b)  

Deep  LSTM   Deep  LSTM  

(Cho  et  al.,  2014a)  (Bahdanau  et  al.,  2015)  

(Jean  et  al.,  2015)  

(BidirecGonal)  GRU   GRU  

Page 47: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Encoder-­‐decoder  Summary  Encoder   Decoder  

(Sutskever  et  al.,  2014)  (Luong  et  al.,  2015a)  (Luong  et  al.,  2015b)  

Deep  LSTM   Deep  LSTM  

(Cho  et  al.,  2014a)  (Bahdanau  et  al.,  2015)  

(Jean  et  al.,  2015)  

(BidirecGonal)  GRU   GRU  

(Kalchbrenner  &  Blunsom,  2013)   CNN   (Inverse  CNN)  

RNN  

Page 48: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Encoder-­‐decoder  Summary  Encoder   Decoder  

(Sutskever  et  al.,  2014)  (Luong  et  al.,  2015a)  (Luong  et  al.,  2015b)  

Deep  LSTM   Deep  LSTM  

(Cho  et  al.,  2014a)  (Bahdanau  et  al.,  2015)  

(Jean  et  al.,  2015)  

(BidirecGonal)  GRU   GRU  

(Kalchbrenner  &  Blunsom,  2013)   CNN   (Inverse  CNN)  

RNN  

(Cho  et  al.,  2014b)   Gated  Recursive  CNN   GRU  

Page 49: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Outline  

•  NMT  basics  (Sutskever  et  al.,  2014)  – Architecture.  – Recurrent  units.  – BackpropagaGon.  

•  AYenGon  mechanism  (Bahdanau  et  al.,  2015)  

Page 50: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Backpropaga/on  Through  Time  

am a student _ Je suis étudiantI

-log P(_)

       

Init  to  0  

Page 51: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiantI

-log P(étudiant)

       

Backpropaga/on  Through  Time  

Page 52: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiantI

-log P(étudiant)

       

Backpropaga/on  Through  Time  

Page 53: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiantI

-log P(suis)

       

Backpropaga/on  Through  Time  

Page 54: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je suis étudiantI

-log P(suis)

       

Backpropaga/on  Through  Time  

Page 55: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

       

am a student _ Je suis étudiantI

Backpropaga/on  Through  Time  

Page 56: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

LSTM  Backpropaga/on  

•  Deltas  sent  back  from  the  top  layers.  

LSTMt  LSTMt-­‐1  

+  

Page 57: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

LSTM  Backpropaga/on  –  Context  

LSTMt  LSTMt-­‐1  

+  

Page 58: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

LSTM  Backpropaga/on  –  Context  

•  Complete  context  vector  gradient.  

LSTMt  LSTMt-­‐1  

+  

Page 59: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

LSTM  Backpropaga/on  –  Context  

LSTMt  LSTMt-­‐1  

+  

Page 60: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

LSTM  Backpropaga/on  –  Context  

•  First,  use              to  compute  gradients  for                              .      

LSTMt  LSTMt-­‐1  

+  

Page 61: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

LSTM  Backpropaga/on  –  Context  

•  Then,  update              .  

LSTMt  LSTMt-­‐1  

+  

Page 62: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

LSTM  Backprop  

LSTMt  LSTMt-­‐1  

+  

Page 63: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

LSTM  Backprop  

•  Compute  gradients  for                                ,            ,                      .  

LSTMt  LSTMt-­‐1  

+  

Page 64: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

LSTM  Backprop  

•  Add  gradients  from  the  loss  /  upper  layers.  

LSTMt  LSTMt-­‐1  

+  

Page 65: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Summary  

•  LSTM  backpropagaGon  is  nasty.  

•  But  it  will  be  much  easier  if:  – Know  your  matrix  calculus!  – Pay  aYenGon  to                and                .  

Page 66: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Outline  

•  NMT  basics  

•  AYenGon  mechanism  (Bahdanau  et  al.,  2015)  

Page 67: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Sentence  Length  Problem  

With  aYenGon  Without  aYenGon  

(Bahdanau  et  al.,  2015)  

Page 68: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

APen/on  Mechanism  

•  Problem:  Markovian  process.  •  SoluGon:  random  access  memory  – A  memory  of  source  hidden  states.  – cf.  Neural  Turing  Machine  (Graves  et  al.,  2014).    

am a student _ Je suis étudiant

Je suis étudiant _

I

Page 69: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

APen/on  mechanism  

•  Recent  innovaGon  in  deep  learning:  –  Control  problem  (Mnih  et  al.,  14)  –  Speech  recogniGon  (Chorowski  et  al.,  15)  –  Image  capGoning  (Xu  et  al.,  15)  

(Bahdanau  et  al.,  2015)  

Page 70: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Simplified  AYenGon  (Bahdanau  et  al.,  2015)  

Deep  LSTM    (Sutskever  et  al.,  2014)  

am a student _ Je suis étudiant

Je suis étudiant _

I

+  

Page 71: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je

suis

I

Attention Layer

Context vector

?      

What’s  next?  

am a student _ Je suis étudiant

Je suis étudiant _

I

   

Page 72: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

•  Compare  target  and  source  hidden  states.  

APen/on  Mechanism  –  Scoring  

am a student _ Je

suis

I

Attention Layer

Context vector

?  

Page 73: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

•  Compare  target  and  source  hidden  states.  

APen/on  Mechanism  –  Scoring  

am a student _ Je

suis

I

Attention Layer

Context vector

?  

3  

Page 74: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

•  Compare  target  and  source  hidden  states.  

APen/on  Mechanism  –  Scoring  

am a student _ Je

suis

I

Attention Layer

Context vector

?  

5  3  

Page 75: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

•  Compare  target  and  source  hidden  states.  

APen/on  Mechanism  –  Scoring  

am a student _ Je

suis

I

Attention Layer

Context vector

?  

1  3   5  

Page 76: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

•  Compare  target  and  source  hidden  states.  

APen/on  Mechanism  –  Scoring  

am a student _ Je

suis

I

Attention Layer

Context vector

?  

1  3   5   1  

Page 77: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

•  Convert  into  alignment  weights.  

APen/on  Mechanism  –  Normaliza2on  

am a student _ Je

suis

I

Attention Layer

Context vector

?  

0.1  0.3   0.5   0.1  

Page 78: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je

suis

I

Context vector

•  Build  context  vector:  weighted  average.  

APen/on  Mechanism  –  Context  vector  

?  

Page 79: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je

suis

I

Context vector

•  Compute  the  next  hidden  state.  

APen/on  Mechanism  –  Hidden  state  

Page 80: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

am a student _ Je

suis

I

Context vector

•  Predict  the  next  word.  

APen/on  Mechanism  –  Predict  

Page 81: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

APen/on  Func/ons  

(Luong  et  al.,  2015)  

(Bahdanau  et  al.,  2015)  

Page 82: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

APen/on  Func/ons  

•  Works  so  far  for  NMT!  •  Concern:  insensiGve  to  locaGons  – Similar  weights  for  same  source  words  – Bi-­‐direcGonal  RNNs  can  help.  

(Bahdanau  et  al.,  2015)  

(Luong  et  al.,  2015b)  

Page 83: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Other  APen/on  Func/ons  

•  Content-­‐based:    

•  LocaGon-­‐based:  –  (Graves,  2013):  hand-­‐wriGng  synthesis  model.  

•  Hybrid:  –  (Chorowski  et  al.,  2015)  for  speech  recogniGon.  

Page 84: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

Summary  

Simplified  AYenGon  (Bahdanau  et  al.,  2015)  

Deep  LSTM    (Sutskever  et  al.,  2014)  

am a student _ Je suis étudiant

Je suis étudiant _

I

+  

Thank  you!  

Page 85: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

References  (1)  •  [Bahdanau  et  al.,  2015]  Neural  TranslaGon  by  Jointly  Learning  to  Align  and  

Translate.  hYp://arxiv.org/pdf/1409.0473.pdf  •  [Cho  et  al.,  2014a]  Learning  Phrase  RepresentaGons  using  RNN  Encoder–Decoder  

for  StaGsGcal  Machine  TranslaGon.  hYp://aclweb.org/anthology/D/D14/D14-­‐1179.pdf  

•  [Cho  et  al.,  2014b]  On  the  ProperGes  of  Neural  Machine  TranslaGon:  Encoder–Decoder  Approaches.  hYp://www.aclweb.org/anthology/W14-­‐4012  

•  [Chorowski  et  al.,  2015]  AYenGon-­‐Based  Models  for  Speech  RecogniGon.  hYp://arxiv.org/pdf/1506.07503v1.pdf    

•  [Chung  et  al.,  2015]  Empirical  EvaluaGon  of  Gated  Recurrent  Neural  Networks  on  Sequence  Modeling.  hYp://arxiv.org/pdf/1412.3555.pdf  

•  [Graves,  2013]  GeneraGng  Sequences  With  Recurrent  Neural  Networks.  hYp://arxiv.org/pdf/1308.0850v5.pdf  

•  [Graves,  2014]  Neural  Turing  Machine.  hYp://arxiv.org/pdf/1410.5401v2.pdf.  •  [Hochreiter  &  Schmidhuber,  1997]  Long  Short-­‐term  Memory.  

hYp://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf  

Page 86: Neural’Machine’Transla/on’’ - Stanford NLP Group · 2015-10-23 · Neural’Machine’Transla/on’’ ThangLuong Tutorial)@Stanford)NLP)lunch)) (Thanks)to)Chris)Manning,)Abigail)See,)and))

References  (2)  •  [Kalchbrenner  &  Blunsom,  2013]  Recurrent  ConGnuous  TranslaGon  Models.  

hYp://nal.co/papers/KalchbrennerBlunsom_EMNLP13  •  [Luong  et  al.,  2015a]  Addressing  the  Rare  Word  Problem  in  Neural  Machine  

TranslaGon.  hYp://www.aclweb.org/anthology/P15-­‐1002    •  [Luong  et  al.,  2015b]  EffecGve  Approaches  to  AYenGon-­‐based  Neural  Machine  

TranslaGon.  hYps://aclweb.org/anthology/D/D15/D15-­‐1166.pdf  •  [Mnih  et  al.,  2014]  Recurrent  Models  of  Visual  AYenGon.    

hYp://papers.nips.cc/paper/5542-­‐recurrent-­‐models-­‐of-­‐visual-­‐aYenGon.pdf  •  [Pascanu  et  al.,  2013]  On  the  difficulty  of  training  Recurrent  Neural  Networks.  

hYp://arxiv.org/pdf/1211.5063v2.pdf  •  [Xu  et  al.,  2015]  Show,  AYend  and  Tell:  Neural  Image  CapGon  GeneraGon  with  

Visual  AYenGon.  hYp://jmlr.org/proceedings/papers/v37/xuc15.pdf    •  [Sutskever  et  al.,  2014]  Sequence  to  Sequence  Learning  with  Neural  Networks.  

hYp://papers.nips.cc/paper/5346-­‐sequence-­‐to-­‐sequence-­‐learning-­‐with-­‐neural-­‐networks.pdf    

•  [Zaremba  et  al.,  2015]  Recurrent  Neural  Network  RegularizaGon.  hYp://arxiv.org/pdf/1409.2329.pdf