Paper Summary: “Sequence to Sequence Learning with Neural Networks”


“Sequence to Sequence Learning with Neural Networks”

- Content Summary
Motivation:
그 동안 learning task를 위해 Deep Neural Networks를 사용한 연구가 많았으나 sequencesequence를 매칭해주는 Deep Neural Network는 없었다. 그렇기에 이 논문에서는 일반적으로 end-to-end 접근이 가능한 sequence learning 방법을 소개하고자 한다.

Related Works:
일반적으로 Deep Neural Network는 인공신경망을 이용하여 hidden layer에서 input feature를 뽑아내고 이를 activation function을 사용하여 output을 예측한다. RNN은 지금 입력받은 데이터와 과거에 입력받았던 데이터를 동시에 고려하여 예측값을 출력한다. RNN중에서는 LSTM이라는 특별한 RNN cell이 있는데, RNN의 치명적인 단점이었던 Long-Term word들의 값을 고려하여 출력한다. 본 논문에서는 LSTM cell들을 이용하여 seq2seq model을 구현하고자 한다. 이는 기존에 나온 NNLM과 같은 방법, LSTM을 이용한 방법, attention 기법을 이용한 방법과는 달리 end-to-end 기법을 LSTM에 적용한 기법이다.

Contributions:
기본적으로 인공신경망을 이용한 딥러닝 방법에는 입력값에 대해서 하나의 출력값을 갖는 경우가 대부분이었다. 그러나 본 논문을 통해 다수의 입력값으로 다수의 출력값을 만드는 M:N 매칭 딥러닝이 연구되었고, 이는 기계 번역과 같은 기술에 큰 진보적인 발전을 가져다주었다.

Support – Data:
데이터는 WMT’14 English to French 데이터셋을 사용했으며, 348M개의 프랑스 단어와 304M개의 영어 단어로 이루어진 12M개의 문장을 모델을 학습하는데 사용하였다.

Support – LSTM:
기본적인 RNN은 관련 정보와 그 정보를 사용하는 지점의 거리가 멀 경우 역전파의 그래디언트가 줄어 학습 능력이 크게 저하된다. 이 문제를 극복하기 위해 본 논문에서 사용한 RNN cellLSTM이다. LSTMforget gateinput gate를 이용하는데, 이 때 forget gate는 과거의 정보를 얼마나 반영할 건지에 대한 gate이며, input gate는 현재의 정보를 기억하기 위한 gate이다. 따라서 관련 정보와 그 정보를 사용하는 지점의 거리가 멀 경우에도, 모델이 점차 학습하면서 과거의 정보를 얼마나 기억해야 하는지에 대해 이 gate들이 학습한다.

Support – Architecture:
해당 논문에서 제안하는 모델은 두 개의 LSTM layer를 사용하여 seq2seq를 구현한다. 두 개의 LSTM layer들은 각각 encoderdecoder의 역할을 맡게 된다. 입력 sequence 을 통해서 <eos>라는 특별한 token이 올 때까지 LSTM layer가 각 단어의 word embedding 값을 순차적으로 입력받으면서 sequencesequence embedding 값으로 압축시킨다. 이렇게 압축된 값은 다른 LSTM layer를 통하여 output 값을 예측한다. 다른 특이한 점은 LSTM 4개의 layer로 쌓아서 사용했다는 점이고, 또한 input sequencereverse order로 입력받을 경우에 더 좋은 성능을 냈다는 것이다. 이에 대한 분석으로는 input 앞 쪽에 있는 단어들이 output 앞 쪽에 나타날 확률이 높은데, 이 경우 이 단어들 간에 거리가 멀어져 long-term 문제가 나타날 수 있다. input의 순서를 뒤바꿔주는 것은 이러한 long-term 문제를 해결한다고 논문의 저자가 말하고 있다.

Support – Experiments:
이 실험에서, 5개의 reserved LSTMEnsemble, Beam size12로 놓았을 때, test BLEU score34.81로 제일 높았으며, 이를 1000개의 best baseline rescore했을 때 36.5, 제일 최근의 연구 결과인 37.0과 비교하여 큰 차이를 보이지 않았다. 또한, 긴 문장에서 아주 잘 작동하는 것을 볼 수 있었다.

- Analysis
Writing:
이 논문은 LSTM에 대한 내용을 미리 알고 있었다면, 굉장히 쉽게 이해할 수 있는 논문이다. 내용이 대체로 쉬운 편이며, 문장들이 쉬운 어휘로 구성되어 있다. 허나, 논문이 그만큼 간결하게 작성된 탓에 몇 가지 혼란스러운 점이 있었다. 예를 들어, word embedding 값의 dimension1000이라 설명되어 있는데, 사실 이 부분은 sequence embedding이라 묘사되는 것이 맞다. 왜냐하면 word embedding이라는 표현이 여기서는 각 단어를 보고서 그 단어와 전 단어의 정보를 합치기 때문에 쓰인 거지만, input sequence 단어 값 자체에 word embedding 값이 들어간다고 혼동이 올 수 있기 때문이다. 뿐만 아니라, BLEU에 대한 자세한 정보 그리고 beam search에 대한 묘사가 없어서 이에 대한 내용을 따로 찾아봐야 하는 점이 아쉬웠다.

Motivation: 
문장 자체에 문장을 레이블을 얻는 기법으로 모델을 학습시킨다는 것은 큰 의미가 있다. 이 부분은 이전 연구에 비해 특별한 부분인데, 그 동안 전통적인 번역 기법에서는 문장을 통째로 집어넣어 학습시키는 경우가 거의 없었으며, 특히 딥 러닝 기법에서는 존재하지 않았기 때문이다. 따라서 이러한 기법은 그저 말뭉치에서 나오는 문장뿐만 아니라 단백질 서열 정보와 같은 특이적인 sequence 정보에도 사용될 수 있으며, end-to-end 기법을 통하여 다른 딥 러닝 요소를 섞어 학습시킬 수 있게 되므로 매우 중요한 연구를 진행했다고 판단한다.

Contribution:
논문의 기여 부분 역시 논문의 동기 부분과 유사하다. 먼저 지금까지 제공되지 않았던 end-to-end 기법으로 sequence를 통째로 딥 러닝을 통해 학습시킨다는 점, 그리고 LSTM을 통해 문장의 embedding 값을 압축시킨다는 점에서 자연어 연구 분야에 있어 큰 기여를 했다고 생각한다.

Evaluation:
이 논문의 test BLEU 점수에서 제일 결과가 좋은 1000개의 baseline을 통하여도 그 당시 최신의 연구인 Ebinburgh’s phrase-based machine translation systems for wmt-14보다 좋지 못한 결과를 얻었다. 물론 그 연구보다는 좋은 결과를 보여줬고, end-to-end 기법을 사용했다는 점에서 특별하지만 결과값에서는 아쉬운 부분이 있으며, 또한 input값을 거꾸로 집어 넣어야 했다는 점에서 sequence input 그 자체를 사용하지 않았다는 점이 아쉽지만, future works 부분에서 이 부분에 해결이 있을 것이라 생각한다.

Future Works:
seq2seq 모델의 초기 논문인 만큼, 많은 부분에 더욱 더 발전할 가능성이 있다고 생각했다. 먼저 Bidirectional LSTM의 도입을 통해서 input sequencereverse해야하는 문제점을 해결할 수 있을 것이라 생각한다. 또한 Text-CNN과 같은 다른 딥 러닝 방법을 융합하여 사용할 수도 있으며, 실제로 Convolutional layer에서 추출한 feature값으로 BiLSTM을 적용하여 Text Classification을 하는 작업이 있었다. 이를 seq2seq과 같이 sequence를 다른 형태의 sequence로 바꿔줄 수 있으며, 그 외에 영어에서 프랑스어로 번역하는 작업이었다는 것을 감안하면, POS와 같은 어휘의 특성 추가가 더욱 더 좋은 결과를 가져올 것이라 생각한다.

댓글

가장 많이 본 글