learning phrase representing rnn encoder decoder
CNN
- RNN은 히든 노드가 방향을 가진 엣지로 연결돼 순환구조를 이루는 인공신경망의 한 종류
- 음성, 문자 등 순차적으로 등장하는 데이터 처리에 적합한 모델
- 시퀀스 길이에 관계없이 인풋과 아웃풋을 받아들일 수 있는 네트워크 구조
- RNN은 관련 정보와 그 정보를 사용하는 지점 사이 거리가 멀 경우 역전파시 vanishing gradient problem 발생.
Abstract
- RNN Encoder-Decoder는 두가지 네트워크로 구성되어있다.
- Encoder는 일련의 기호(문장)들을 고정된 길이의 벡터로 만든다
- Decoder는 고정된 백터를 일련의 기호(문장)으로 만든다.
- 프랑스어로 이루어진 문장을 입력하면 영어로 번역한 문장을 뱉는 개념
- encoder와 decoder는 target문장의 조건부분포를 최대화 하도록 훈련한다.
Introduction
- statistical machine translation(SMT)에서 발전시킨 방법이 Encoder-Decoder를 이용한 방법
- 정교한 hidden unit을 추가함으로써 training을 편하게 한다.
- 기존 번역모델과 RNN Encoder-Decoder를 비교했을 때 문장에서 언어적 규칙들(문법과 의미들)을 더 잘 잡아낸다
RNN Encoder-Decoder
- 확률적 관점에서 조건부분포를 학습시키는 일반적인 방법이다.
$ p( y_1,…,y_t’ \mid x_1,…,x_t)$
- input 과 output의 t,t’은 길이가 다를 수 있다.
$h_t = f(h_{t-1},x_t)$
- f는 nonlinear activation function이다.
- input인 x가 hidden state를 통과하면서 벡터 c가 된다.
-
Decoder는 벡터 c의 영향을 받음. $h_t = f(h_{t-1},y_{t-1},c)$
- encoder decoder 두개의 네트워크는 학습을 진행할 때 log_likelihood를 최대화 하면서 학습해야한다.
$\max_\theta\frac{1}{N}\sum_{n=1}^N logp_\theta(y_n\mid x_n)$
$\theta는 모델 parameter이고 이를 추정하기 위해서 gradient 기반의 알고리즘을 사용할 수 있다.$
Hidden Unit
- z는 update gate로 새로운 것을 얼마나 반영할지 결정
-
r은 reset gate로 이전의 hidden state를 얼마나 유지할지 결정
- Rnn Encoder-Decoder는 완전히 새로운 번역기를 만드는게 아니라 기존의 SMT시스템의 phrase pair table에 점수를 매기는 부분에만 사용
- CSLM과 사용했을 때 성능이 가장 좋았다.(BLEU Score는 높을수록 좋다.)
- 두 방법이 독립적으로 성능향상에 기여한다.
Conclusion
- 임의의 길이를 가진 일련의 문장들을 다른 임의의 길이를 가진 일련의 문장들로 mapping하는 새로운 모델을 제안.
- 새로운 hidden unit(reset gate와 update gate로 구성됨)을 제안
- BLEU스코어를 이용한 학습을 진행함으로써 범용적인 Phrase Representation을 가능하게 했다.
- 문장의 문법과 의미를 담아냄
References
Comments