https://arxiv.org/abs/1409.3215
Sequence to Sequence Learning with Neural Networks
Deep Neural Networks (DNNs) are powerful models that have achieved excellent performance on difficult learning tasks. Although DNNs work well whenever large labeled training sets are available, they cannot be used to map sequences to sequences. In this pap
arxiv.org
1. Abstract
이전까지는 보편적으로 DNN 모델을 이용하여 용량이 큰 labeled training set을 학습할 수 있었다. 하지만 DNN의 문제점 중 하나는 바로 seq to seq로 mapping 할 수 없다는 점이다.
이러한 단점을 보완하기 위해 multilayered LSTM을 이용하여 input 시퀀스를 매핑하고, 또 다른 LSTM을 이용하여 벡터를 시퀀스로 디코딩하는 방법을 채택하였습니다.
LSTM은 길이의 제한 없이 긴 길이의 문장도 효과적으로 수행할 수 있었고, 수동태와 능동태에 대해 비교적 invariant하였지만, 어순에는 크게 민감한 것으로 나타났다고 한다.
또한 이전 DNN에서의 큰 문제점은 바로 고정 길이의 벡터로만 인코딩이 가능하였기 때문에, 미리 input size을 알지 못하는 이상 가변 길이의 시퀀스를 인코딩 할 수 없다는 것이다.
이를 보완하기 위해 입력 부분에서 LSTM을 사용하여 input sequence를 읽고 고정 길이의 벡터로 변환한다. 이후 다시 또다른 LSTM을 사용하여 벡터를 시퀀스로 변환한다.
이러한 LSTM은 긴 길이의 문장에서도 충분한 성능을 낼 수 있다고 한다.
이때 SGD는 LSTM와 같이 긴 sentence들을 학습할 때 문제 없이 문제없이 작동하고, 입력 시퀀스의 순서를 반대로 입력하는 것이 성능을 향상시키는 것을 확인할 수 있었다고 한다.
2. The Model
기존에 보편적으로 사용하던 feedforward neural network 시퀀스 학습에 사용하던 RNN은 예측해야할 단어와 가까운 예측된 단어에 영향을 많이 받기 때문에 긴 시퀀스를 input으로 사용할 경우 예측할 단어와 거리가 멀수록 영향이 줄어들어 예측 결과의 정확도가 떨어질 수 있다.
그래서 model을 구성할 때 input과 output에 LSTM을 사용하는데 모델의 파라미터는 살짝 증가하지만 미미한 정도의 cost를 가진 파라미터이기 때문에 용량이 크게 증가하지 않는다고 한다.
또한 LSTM을 사용할 때 층이 증가할 수록 perplexity가 10% 줄어드는 것을 확인할 수 있다고 하였고, 이에 4개의 층을 가진 LSTM을 사용하였다고 한다.
세번째로 입력데이터를 역순으로 입력시켜 학습시켰을 때 성능이 크게 향상되는 것을 확인할 수 있었는데,
예를 들어 시퀀스가 a,b,c인 경우 모델에는 c,b,a로 입력하였을 때의 성능이 향상되었다고 한다.
3.2 Decoding and Rescoring
위 모델의 목적함수는 log probability를 구하는 것이다. 확률이 작은 경우 매 스텝이 진행될 때마다 영향이 극히 미미해지는 것을 방지하기 위해 log를 사용하여 연산을 편하게 할 수 있게 하였다.
- Search Decoder
1) Greedy Search Decoder
매 단계마다 가장 확률이 높은 단어 하나를 선택하는 탐색 방법이다.
이는 확률이 가장 높은 단어 하나만 탐색하면 되기 때문에 탐색 속도면에서 장점이 있지만 이전단어의 예측 결과에 따라 다음 단어를 예측하는 모델의 경우 한번 잘못 예측하였을 때 이후 예측에서 잘못된 영향을 크게 미칠 수 있다는 점이 단점이다.
2) Beam Search Decoder
이는 확장된 그리디 탐색으로 생각 할 수 있는데, 사용자가 하이퍼파라미터인 K를 설정하여 매 스텝마다 확률이 높은 K개의 단어를 선택하는 탐색이다.
이 때 각 스텝에서의 점수는 그동안의 예측 단어들의 확률을 곱하여 도출한다.
K의 값이 커질수록 후보에 있는 단어들이 많아지기 때문에 번역 성능은 좋아지지만, 디코딩의 속도는 많은 단어를 탐색하여야하기 때문에 떨어지게 된다.
그리디 탐색은 K=1인 빔 탐색과 같다고 생각할 수 있다.
3.3 Reversing the Source Sentences
문장은 거꾸로 입력시킨 경우 번역 성능이 좋아지는 것을 실험적으로 확인할 수 있었는데, 논문의 저자는 아직 가설에 불과하지만 backpropagation이 더욱 수월하게 진행되었기 때문이라고 추측하였다.
댓글