DevelopHyun

Data Science & Algorith with Computer Science

CoVe[1] Learned in Translation: Contextualized Word Vectors(2017) - Review

16 Feb 2018 » deeplearning, rnn, seq2seq, nlp, paperreview

1. Abstract

  • word vectors를 contextualize 하기 위한 방법을 제시한 논문
    • contextualize = 문맥화하다
  • Transfer Leaning을 NLP에 적용
    • attentional seq2seq 모델(machine translation)의 deep-LSTM Encoder를 응용
    • Transfer Learning을 통해 얻은 vector가 context vector, 즉, CoVe
  • 번역모델의 Encode가 Featrue Extractor의 역할 수행

2. Introduction

  • 이미지 분야에서 pretrained 된 layer가 다른 모델에 더해져서 더 좋은 성능을 낼 수 있다.
    • 그 원리를 적용하여 pretrained된 NLP Encoder를 사용하여 성능 개선 시도
  • LSTM-based Encoder는 다른 NLP모델에서 많이 사용하므로 이를 활용
  • Transfer-Learning
    • 다른 모델에서 잘 학습된 Encoder는 다른 모델에 적용되어도 좋은 효과를 발휘할 것이다.

2.1 Architecture

architecture

  • 번역모델에서 학습된 Encoder를 다른 NLP모델에 붙여주어 CoVe를 만들고, 원래 vector에 concatenate
  • Encoder를 학습시키는 번역 모델의 data set이 많을수록, CoVe를 사용하는 모델의 성능 개선
  • MT가 text classification, question answering과는 관련없어 보이지만, 문맥을 이해한다는 점에서 효과적
  • 단지 word2vec이나 GloVe를 통해서만 학습된 word vector를 사용하는 것보다 좋은 효과

2.2 Machine Translation

번역모델은 어떤 Text를 그대로 다른 형태의 Text로 바꾸는 작업이다. 따라서 Encoding과 Decoding 작업에서 source language의 정보손실이 거의 없기 때문에 transfer learning에 적합하다. 또한, MT를 위한 데이터가 많으므로 다른 학습에 비하여 상대적으로 유리하다.


  • Transfer Learning
  • Neural Machine Translation
  • Transfer Learning and Machine Translation
  • Transfer Learning in Computer Vision

4. Machine Translation Model

  • 논문에서는 attentional sequence-to-sequence model for English-to-German translation모델 사용
    • 으로 바꾸는 과정을 학습
  • 를 Encoder인 two-layer bidirectional long short-term memory network (MT-LSTM)에 넣어줌.
    • =
  • 이전 step들의 결과들을 Decoder 역할을 하는 two-layer unidirectional LSTM에 넣어줌
    • =
    • = context-adjusted hidden state, = previous target embedding
  • attention weights vector 계산
    • =
    • = elements of h stacked along the time dimension
  • 최종적으로 Decoder에서는 를 이용한 attentional sum과 을 concatenate
    • =
  • output words의 distribution 생성
    • =

5. CoVe

  • 위 번역 모델의 Encoder인 MT-LSTM을 가져온 후 학습.
    • =
  • 의 형태로 concatenate하여 만든 vector를 input으로 사용

6. Classification with CoVe

classification

  • CoVe의 성능을 시험하기 위하여 위의 classification모델 사용
  • pooling의 방식으로는 [max-pooling;mean-pooling;min-pooling;self]의 형태로 만들어줌

7. Question Answering with CoVe

  • 전체적인 과정은 위와 같지만, ReLU가 아닌 tanh를 activation function으로 사용

8. Datasets

dataset


9. Experiments

  • character n-gram embeddings 에서 더 효과적이었다. e1

  • 같은 모델이라도 어떤 데이터를 사용하는지에 따라서 성능이 다르다. e2
  • data set마다 가장 효과적인 모델이 달랐다.

e3


10. Conclusion

  • CoVe는 NLP모델에서 성능을 높이는데 큰 도움이 된다.

11. Reference