본문 바로가기
Paper Review

[논문 리뷰] Sequence to Sequence Learning with Neural Networks

by mjk0618 2023. 3. 25.


위 논문에 대해서 리뷰해보겠습니다. 사실 논문을 읽어본 적 조차 많지 않고, 리뷰까지 하는 건 처음이라 미숙할 수 있지만, 최대한 논문의 내용을 잘 해석해보려고, 그리고 이해한 내용을 쉽게 설명해보려고 노력하였습니다. 리뷰 순서는 논문에 쓰여진 내용의 순서를 따르려고 합니다. 각 파트별로 해당 파트에 대한 요약과 중간에 부연설명이 필요한 개념이 있다면 이를 덧붙이는 방법으로 작성하였습니다. 참고로, 부연 설명이 필요하지만, 중간에 끼워넣기에는 글의 흐름을 방해한다고 생각하는 경우에는 중간에 [1]과 같이 표기하여 단락이 끝난 뒤에 관련 내용을 설명하는 방식으로 작성하였습니다. Abstract 부분은 논문의 핵심적인 내용을 모두 담고 있기 때문에 최대한 모든 내용을 빠짐없이 설명하려 하였고, 이후 부분은 논문에서 새롭게 연구된 부분에 집중하고 그 외의 부분은 요약하거나 일부 생략하였습니다.


Abstract

심층 신경망(Deep Neural Network)는 정답이 있는 대규모의 학습 데이터를 가진 문제에 대해서는 뛰어난 성능을 보이는 모델입니다. 하지만 시퀀스를 시퀀스로 매핑하는 데는 여전히 어려움이 있습니다.[1] 이 논문에서는 최소한의 가정을 통해 이 문제에 대한 일반적인 접근법을 제시합니다. 여기서 최소한의 가정(makes minimal assumption)이란, 모델이 작업을 원활하게 수행할 수 있도록 인위적으로 설정하는 조건의 개수를 가능한 적게 사용하겠다는 의미입니다. [2] 모델은 입력 시퀀스를 고정된 길이의 벡터로 매핑하는 역할을 하는 인코더와, 그 벡터로부터 타겟 시퀀스를 만들어내는 디코더 각각을 multilayer LSTM으로 구성하였습니다. WMT'14 데이터셋을 사용하여 영어를 프랑스어로 번역하는 작업을 수행하였으며, 전체 데이터셋에 대해서 34.8점의 BLEU score를 얻었습니다. 이 점수는 penalized on out-of-vocabulary words된 결과인데, 바꿔 말하면 학습된 어휘 집합에 없는 단어를 처리할 때는 부과되었습니다. phrase-based SMT system과 비교해보면, 이 SMT system은 33.3 점의 BLEU score를 얻었습니다. LSTM을 사용하여 앞서 언급한 SMT system이 내놓은 1000 best lists에 대해 reranki를 진행하고 BLEU score를 측정한 결과는 36.5 점이었습니다. 이 점수는 이 과제에 대한 역대 최고점인 37.0점과 매우 근접합니다. LSTM은 단어의 순서에 민감한 문장에 대해서도 학습하였고, 수동태와 능동태에 대한 이해도 할 수 있었습니다. 마지막으로, 입력 시퀀스를 반전시키는 것이 모델의 성능을 눈에 띄게 증가시켰음을 발견하였습니다. 그 이유는, 이 과정을 통해 source와 target 문장 사이에 많은 단기 의존성(short term dependencies)를 부여하였고, 이는 문제를 최적화하는데 도움을 주었기 때문입니다.

[1] Sequence의 의미
이 맥락에서 Sequence란 단순히 연속적인 데이터를 의미하진 않습니다. 시퀀스는 두 가지 성질을 갖는데, 첫 번째는 일반적인 생각처럼 길이가 가변적인 연속적인 데이터라는 점이고, 두 번째는 시퀀스를 구성하는 각각의 단위 사이에는 의존성이 있다는 것입니다. 한 문장도 시퀀스라고 생각할 수 있는데, 이 문장은 단어가 연속적으로 나열되어있고, 각 단어 사이에는 의미상 의존성이 존재합니다. 예를 들어서, "나는 학교에서 딥러닝을 공부한다." 라는 문장에서, 어떤 단어가 왜 등장했는지는 다른 단어와의 관계에서 어느정도 유추가 가능합니다. "학교"라는 단어와 "공부한다."라는 단어가 함께 등장하는 것은 자연스럽습니다. 

[2] 최소한의 가정(Minimal Assumption)
LSTM 아키텍쳐의 straightforward application이라는 표현이 등장하는데, 이는 어떤 결과를 의도하고 사전에 weight나 bias에 대한 조건을 부여하지 않았다는 의미로 해석하였습니다. 따라서 특정한 문제 해결을 위해서 어떤 조건을 인위적으로 추가하여 일반적인 문제 해결 능력을 저하하지 않았다는 뜻으로 받아들일 수 있습니다.

 


 

1. Introduction

심층 신경망은 음성 인식이나 객체 인식과 같은 어려운 문제에서도 뛰어난 성능을 보입니다. 그러나 DNN은 입력과 출력이 고정된 차원의 벡터로 정교하게 인코딩된 경우에만 문제를 풀 수 있습니다. 많은 문제들이 사전에 길이가 알려지지 않은 시퀀스를 다룬다는 점에서, 이는 치명적인 한계점입니다. 예를 들어 기계 번역이나 질의 응답 문제가 그렇습니다. 따라서 이런 문제에 적용될 수 있는, 어떤 분야에 국한되지 않은 일반적인 방법에서 시퀀스를 시퀀스로 매핑하는 방법이 있으면 매우 유용할 것입니다. 논문에서는 LSTM 아키텍쳐를 그대로 적용하여 sequence to sequence 문제를 풀 수 있음을 증명합니다. 핵심 아이디어는 하나의 LSTM을 이용해서 입력 시퀀스를 하나의 고정된 벡터 표현으로 매핑하고, 또 다른 LSTM을 사용하여 그 벡터엣서 출력 시퀀스를 추출하는 것입니다. LSTM이 장기적 의존성(long range temporal dependencies)를 학습할 수 있다는 점과, 입력과 그에 상응하는 출력 시퀀스 사이에서 발생하는 긴 시간차(considerable time lag)를 고려하면 LSTM을 사용했다는 점이 합리적이라고 생각할 것입니다.

 

논문의 모델은 ABC라는 문장을 입력받아 WXYZ라는 문장을 출력한다. end-of-sentence(EOS) 토큰이 출력되면 예측을 종료한다. 추후 설명하겠지만 모델은 입력 문장을 반전하여 입력하는데, 이는 많은 단기적 의존성을 부여하여, 문제 해결을 최적화한다. 즉, 입력 문장이 실제로는 ABC가 아닌 CBA로 들어간다는 의미이다.

 

그동안 이 문제에 대해서 다룬 여러 시도들이 있었습니다. 논문의 접근 방법은 입력 시퀀스를 벡터로 매핑한 Kalchbrenner and Blunsom의 연구와 밀접한 관련이 있습니다. Cho등은 이를 이용하여 phrase based system을 rescoring하는 데 사용하였습니다. Graves는 미분가능한 어텐션 메커니즘을 사용하였고 Bahdanau등은 이를 응용하여 기계 번역에 성공적으로 적용하였습니다. Connectionist Sequence Classification 또한 시퀀스를 시퀀스로 매핑하는 인기있는 기법이지만, 이는 입력과 출력의 단조적 정렬(monotonic alignment)를 가정합니다. [1]

 

주요 성과는 다음과 같습니다. WMT'14 데이터셋을 사용한 영어 - 프랑스어 번역 작업에서 단순한 left-to-right beam search decoder를 사용한 5개의 multilayer LSTM을 앙상블 학습시킨 논문의 모델은 34.81점의 BLEU 점수를 얻었습니다. 이는 신경망을 사용한 직접적인 번역에서 얻은 점수 중에서는 역대 최고점입니다. 이 점수는 80k의 vocab size를 갖고 얻은 점수이며, 이 어휘 목록에 포함되지 않은 단어에 대해서는 벌점을 받았습니다. 따라서 비교적 작은 어휘 사전을 가진 신경망 모델들은 기존의 phrase based SMT system의 성능을 뛰어넘을 수 있는 여지가 많이 있습니다.

 

또한, 저자는 LSTM을 사용하여 SMT baseline의 1000-best lists를 rescore하였고, 이 결과로 36.5점의 BLEU score를 얻었습니다. [2] 이는 basline의 BLEU score를 3.2점이나 향상시킨 것이며, 이 작업의 역대 최고점인 37.0점과 매우 근접한 결과입니다.

 

LSTM을 사용한 최근 연구에서와 달리 논문의 LSTM 기반 모델은 놀랍게도 매우 긴 문장을 다루는 데도 문제가 없었는데, 그 이유는 source 문장의 단어 순서를 반전하여 입력하였기 때문입니다. target 문장의 단어 순서는 반전하지 않았습니다. 이를 통해, 많은 단기 의존성을 부여하였고, 최적화에 큰 도움이 되었습니다. 결과적으로 확률적 경사 하강법(SGD)를 통해 긴 문장을 문제 없이 학습할 수 있었습니다. 이 간단한 트릭은 성능 향상에 놀라울 정도의 기여를 했습니다. 논문의 LSTM 모델의 유용한 성질은 가변적인 길이의 입력 시퀀스를 고정된 벡터 표현으로 치환할 수 있다는 점입니다. 번역이 원본 문장을 다른 표현으로 풀이한 것(paraphrase)이라는 관점에서, 이 과제의 목적은 LSTM이 문장의 의미를 잘 포착하는 문장 표현(여기서는 벡터)을 찾도록 하는 것입니다. 따라서 비슷한 의미의 문장은 가깝고, 의미가 다른 문장은 멀리 떨어져 있을 것입니다.

 

[1] Monotonic alignment의 의미
입력 시퀀스의 어떤 위치를 출력 시퀀스의 어떤 위치와 연관시키는지에 대해 단조적인 관계를 유지하는 것입니다. Alignment의 조금 더 일반적인 의미는, 출력 문장의 특정 단어(실제로는 토큰, 또는 임베딩된 단어겠지만)가 입력 문장에서는 어떤 단어와 연관되어 있는지에 대한 관계라고 생각할 수 있습니다. 그리고 이 alignment가 단조적이라는 것은 그 연관 관계가 어떤 하나의 규칙으로 정의될 수 있다고 보면 될 것 같습니다. 이에 대해서는 다음에 업로드할 논문(Effective Approahces to Attention-based Nueral Machine Translation, Luong) 리뷰에서 조금 더 자세하게 다뤄보겠습니다.

[2] SMT system와 n-best lists
SMT는 statistical machine translation의 약자입니다. 즉, 통계를 기반으로 한 기계 번역 방식입니다. SMT는 NMT (Nueral machine translation)에 비해서 대규모의 Bilingual(두 가지 언어의) 데이터셋이 필요합니다. 입력 시퀀스를 정해진 기준에 따라 나누고, 이를 출력에 매핑하는 translation model과 이 번역의 타당성을 검증하는 language model로 구성됩니다. 이 때 문장을 나누는 기준에 따라 word based, phrase based, synax based model로 구분합니다. Word-based model은 단어 단위로 토큰을 구성하지만 구조와 문맥을 고려하지 못한다는 단점이 있습니다. Phrase-based model은 구 단위로 문장을 나눠서 문장의 일부의 문맥을 고려할 수 있습니다. Syntax-based model은 구문을 분석하여 번역하지만 그 방식이 복잡하다는 게 단점입니다. SMT system은 결국 데이터를 만드는 데 시간과 돈이 많이 필요하고, 각 언어에 대해서 최소 200만 단어가 필요합니다. 게다가 언어 별로 어순이 다르기 때문에 고려할 점이 많아 구현이 어렵다는 문제가 있습니다. 그래서 등장한 개념이 이번 논문의 NMT이고, sequence to sequence model입니다.

이어서 SMT의 n-best lists는 SMT를 통과하여 나온 상위 n개의 출력을 의미합니다. 통계와 확률을 기반으로 번역을 하는 SMT는 모델의 출력이 확률에 의해 결정됩니다. 일반적으로는 가장 확률이 높은 결과를 취할 것입니다. 그리고 n-best lists는 말 그대로 확률을 순서대로 가능한 출력들을 정렬했을 때 상위 n개를 의미합니다.

논문에서 SMT system의 1000 best lists를 LSTM으로 rerank, 또는 resocring했다는 내용이 여러 번 등장합니다. 이는 LSTM의 디코더를 사용하여 1000 best lists에 대한 likelihood를 계산하고 LSTM의 출력을 바탕으로 그 순위를 재정렬했음을 의미할 것입니다. 

 


 

2. The model

RNN은 sequence를 다루는 일반적인 피드포워드 신경망입니다.

Input sequence$(x_1, \dots, x_T)$와 output sequence$(y_1, \dots, y_T)$에 대하여 RNN의 동작을 수식으로 나타내면 다음과 같습니다. 

 

$$ \begin{align} h_t &= \textrm{sigm}(W^{hx}x_t + W^{hh}h_{t-1}) \\ y_t &= W^{yh}h_t \end{align} $$

 

RNN은 입력과 출력의 alginment가 사전에 알려진 경우 sequence를 sequence로 쉽게 매핑할 수 있지만, 입력과 출력의 길이가 알려지지 않은 경우는 RNN을 사용하기가 어렵습니다. 그래서 Cho등에 의해 입력 시퀀스를 고정된 차원의 벡터로 매핑하고 또 다른 RNN을 사용하여 출력 시퀀스를 매핑하는 전략이 고안되었습니다. 하지만 이러한 모델은 장기 의존성 측면에서 문제가 있었고 논문에서는 이를 LSTM을 사용하여 해결하였습니다. 

결국 LSTM의 목표는 각 입력과 출력 시퀀스에 대해서 조건부 확률 $p(y_1,\dots,y_{T'}|x_1,\dots,x_{T})$를 측정하는 것입니다. 식에서 입력과 출력 시퀀스의 길이가 다를 수 있다는 점이 특징입니다. LSTM은 입력 시퀀스를 적절하게 표현한 고정된 차원의 벡터 $v$를 먼저 계산하고, 마지막 은닉 상태(hidden state)와 함께 전달받아 출력을 계산합니다. 이를 식으로 나타내면 다음과 같습니다.

 

$$ p(y_1,\dots,y_{T'}|x_1,\dots,x_{T})=\prod_{t=1}^{T'}p(y_t|v,y_1,\dots,y_{t-1}) $$

 

식에서 각 확률 분포는 vocabulary 내의 각 단어들에 대한 softmax 확률로 나타냅니다. 그리고 각 입력과 출력 시퀀스에 대해서는 문장의 끝을 알리는 토큰인 <EOS> 토큰이 필요합니다. 실제 모델은 위의 설명과는 세 가지 측면에서 차이가 있습니다. 우선, 논문의 모델은 입력과 출력에 대해 각각 한개, 즉 두 가지 다른 LSTM을 사용합니다. 두 번째로는 깊은 LSTM이 얕은(shallow) LSTM보다 성능 면에서 우수하다는 것을 발견하였고, LSTM을 네 개의 층으로 구성하였습니다. 마지막으로 가장 중요한 점은 입력 시퀀스를 반전시켰다는 것인데, 예를 들어 a, b, c라는 문장을 입력할 때 c, b, a라는 순서로 각 단어(토큰)을 입력했다는 의미입니다.


 

3. Experiments

이 모델을 WMT'14 English to French 번역 작업에 두 가지 방법으로 적용하였습니다. 첫 번째는 LSTM에 직접적으로 입력 문장을 통과시킨 것이고, 두 번째는 SMT system의 n-best lists를 rescore하는 방법입니다. 

 

3.1 Dataset details

WMT'14 English to French 데이터셋을 사용하였고, 타 연구에 의해 엄선된(clean selected) 348M개의 프랑스 단어, 304M개의 영어 단어로 이루어진 12M 문장의 일부를 사용하여 모델을 훈련하였습니다. 두 언어에 대해서 고정된 vocabulary를 사용하였고 source언어(영어)는 16만 개의 빈도가 가장 높은 단어를, target언어(프랑스어)는 8만개의 빈도가 가장 높은 언어를 사용했습니다. out-of-vocabulary words는 모두 UNK 토큰으로 대체하였습니다. 

 

3.2 Decoding and Rescoring

모델은 source 문장 $S$에 대하여, 정확한 번역인 $T$ 생성할 확률(log probability)를 최대화하는 방향으로 훈련되었습니다. 즉, 훈련 목표를 수식으로 나타내면 다음과 같습니다.

 

$$ 1/|S|\sum_{(T,S) \in \mathcal S}\log p(T|S) $$ 

여기서 $\mathcal S$는 훈련 세트를 의미합니다. 훈련이 완료되면, 다음 식에 따라 가장 그럴듯한 번역문을 생성합니다.

 

$$  \hat T=\textrm{arg}\max_T p(T|S) $$ 

단순한 left-to-right beam search decoder를 사용하여 B개의 partial hypotheses를 유지하며 가장 그럴듯한 번역문을 찾습니다. 여기서 partial hypotheses는 번역 문장의 앞부분을 의미할 것입니다. 각 timestep에서 각 partial hypothesis를 연장해나갑니다. 그러면 timestep마다 hypotheses가 지수적으로 증가할텐데 log probability에 따라 상위 B개 만을 남기고 나머지는 제거하며 partial hypotheses의 개수를 B개로 유지합니다. 그리고 각 hypothesis에 <EOS>가 추가되면 이는 beam에서 제거되고 완성된 hypotheses의 집합에 추가됩니다. 

 

3.3 Reversing the Source Sentences

이 논문의 핵심 내용이라고 할 수 있을 것 같습니다. LSTM 자체로도 장기 의존성 문제를 해결할 수는 있지만, 저자는 입력 시퀀스를 반전시켰을 때 LSTM의 핛브이 더 잘 이루어진다는 것을 발견했습니다. 이를 통해 perplexity가 5.8에서 4.7로 감소하였고, BLEU score는 25.9점에서 30.6점으로 향상되었습니다.

 

이 현상에 대한 완벽한 설명은 불가능하지만, 저자는 아마 이 과정에서 데이터 셋에 많은 단기 의존성을 부여했기 때문이라고 생각하고 있습니다. 입력 문장과 출력 문장을 연결(concatenate)하면 target 문장의 각 단어에 대응하는 source 문장의 각 단어간의 거리는 멀리 떨어져 있습니다. 여기서 minimal time lag에 주목해보겠습니다. Minimal time lag는 source와 target에서 서로 대응하는 단어 간의 최소한의 거리를 의미합니다. time이라는 표현은 한 개의 단어가 각 timestep마다 입력되거나 출력되기 때문입니다. 중요한 건, 입력 문장을 반전시키면 문장 초반의 몇 단어는 source와 target간의 거리가 가까워진다는 것입니다. 따라서 minimal time lag가 감소하고 전반적인 번역 성능이 향상됩니다.

 

이를 예시를 통해 살펴보면 다음과 같을 것입니다. 'A cat sat on the mat.' 라는 영어 문장이 '고양이가 매트 위에 앉아 있었다.' 라는 한국어 문장으로 번역된다고 가정합니다. 이 때, 입력 문장을 그대로 입력했을 때 Cat과 고양이 사이의 거리보다 반전된 문장인 'mat the on sat cat A'의 cat과 고양이 사이의 거리가 더 짧습니다. 따라서 minimal time lag가 줄어들었음을 확인할 수 있습니다.

 

저자는 처음에 이 reversing이 문장 초반부에 대한 번역에만 도움이 될 것이라고 생각했습니다. 하지만 실제로 이 방식을 사용한 LSTM은긴 문장에서 원본 입력(raw source sentences)로 학습한 모델보다 긴 문장을 더 잘 학습했습니다. 이 문제에 대한 개인적인 해석을 제시하면, 아마도 문장을 번역할 때 초반 부분을 제대로 번역하는 게 중요하기 때문일 것입니다. 번역 문장의 초반부가 틀리다면 뒤의 내용은 당연히 엉망이 될 확률이 높습니다. 따라서 초반부에 대한 번역이 조금 더 정교하게 이루어지면 전반적인 번역의 질이 향상될 것입니다.

 

3.4 Training details

모델에서는 각 layer가 1000차원의 word embeddings를 입력받는 1000개의 cell로 구성된 4개의 layer로 된 LSTM을 사용하였습니다. Dataset 부분에서 설명했듯이 input vocabulary의 크기는 160,000, output vocabulary의 크기는 80,000입니다. 연구를 통해 deep LSTM이 shallow LSTM보다 성능이 향상되는데, 구체적으로는 perplexity가 10%씩 감소함을 발견했습니다. output에는 softmax를 취하여 8만개의 단어에 대한 확률값을 얻습니다. 결과적으로 LSTM 모델은 384M개의 파라미터를 갖는데, 이 중 64M개는 recurreunt connections에 해당합니다. (encoder와 decoder가 각각 32M개의 파라미터를 갖습니다.) Training details를 정리하면 다음과 같습니다.

 

  • [-0.08, 0.08] 의 범위 내에서 균등분포로 파라미터를 초기화하였습니다.
  • 모멘텀 없이 SGD를 사용하여 최적화하였고, learning rate는0.7로 고정하였습니다.
    5 epochs 이후에는 매 0.5 epoch마다 학습률을 절반으로 줄였습니다.
    모델은 총 7.5 epoch 동안 학습했습니다.
  • batch size는 128을 사용하였습니다.
  • LSTM은 기울기 소실 문제에서 비교적 자유로운 편이지만, 여전히 기울기 폭주의 우려가 있습니다.
    따라서 규제를 가하여 특정 수치를 초과하지 않게 하였습니다. 
  • 문장마다 길이가 다르기 때문에 minibatch 내의 문장 길이를 어느정도 맞춰주어 불필요한 계산을 줄였고,
    그 결과 학습 속도가 2배 빨라졌습니다.
  •  

3.5 Parellelization

C++로 코드를 작성하여 단일 GPU로 학습하였을 때 초당 1,700개의 단어를 학습했습니다. 속도 향상을 위해 8-GPU machine을 사용하여 병렬화 하였습니다. LSTM의 각 layer는 서로 다른 GPU에서 동작하였습니다. 나머지 4개의 GPU는 softmax를 병렬화하는데 사용하였고, 따라서 각 GPU는 $1000 \times 20000$ (embedding차원, target vocabulary/4)의 행렬을 계산하는데 사용되었습니다. 이는 초당 6,300개의 단어의 속도로 향상되었고, 전체 훈련은 10일 정도가 걸렸습니다.

 

3.6 Experiment Results

실험 결과는 표로 잘 정리되어 있습니다. 논문의 모델은 Baseline system(33.30)보다 높은 BLEU score(34.81)를 얻었습니다. 표 1을 참고하여 reversing input, LSTM layer 층의 개수, beam size 각각의 효과와 이를 조합한 결과에 대해 분석할 수 있습니다. LSTM layer의 개수가 BLEU score과 선형적인 관계를 갖지는 않지만, layer의 개수가 많아질수록 BLEU score가 향상됨은 확인할 수 있습니다. 하지만, Perplexity 지수는 layer가 추가될 때마다 10%씩 감소한다는 내용이 논문에 설명되어 있습니다. Beam size 또한 클수록 BLEU score가 증가하긴 하지만, 효율성을 고려할 때 beam size를 2로 하는게 가장 큰 효과를 얻을 수 있음을 알 수 있습니다.

 

3.7 Performance on long sentences

Table 3을 참고하면 긴 문장에 대해서도 우수한 성능을 보이는 것을 확인할 수 있습니다. 또한 Figure 3을 보면 baseline에 비해 긴 문장에 대해서도 번역을 잘 수행하고, 문장의 길이가 길어져도 번역의 질이 크게 저하되지 않음을 확인할 수 있습니다. 또한 자주 등장하지 않는 단어에 대한 번역도 baseline에 비해 비교적 잘 수행함을 확인할 수 있습니다.

 

3.8 Model Analysis

Figure 2는 hidden state(인코더에서 입력 문장을 표현한 벡터)를 2차원으로 PCA 투영한 결과입니다. 유사한 의미를 갖는 문장끼리 군집을 형성하는 것을 확인할 수 있습니다. 특히, 이 벡터 표현이 단어의 순서에도 민감하고, 능동태와 수동태 문장의 의미도 잘 이해함을 확인할 수 있습니다.


 

4. Related Work

이 부분은 간단하게만 작성하겠습니다. 

논문은 Kalchbrenner and Blunsom의 연구와 밀접한 연관이 있습니다. 비록 CNN을 사용하여 문장을 벡터로 매핑하여, 문장의 순서에 대한 정보는 잃지만, 이 연구에서 처음으로 문장을 벡터로 매핑하고, 다시 문장으로 복구하는 과정을 수행했습니다. 이와 유사하게 Cho등은 LSTM과 비슷한 RNN 아키텍쳐를 사용하여 문장을 벡터로 매핑하고, 다시 되돌리는 연구를 했지만, 이 연구의 핵심은 SMT system과 neural network를 결합하는 것이었습니다. Bahdanau등 또한 attention mechanism을 사용하여 신경망을 사용한 번역을 시도했습니다.


 

5. Conclusion

이 연구에서 저자는 제한된 vocabulary와 문제에 대한 어떤 특별한 가정 없이 심층 LSTM만을 사용하여 SMT 기반 시스템의 성능을 뛰어넘을 수 있다는 것을 보였습니다. 기계 번역 문제에 대한 LSTM 기반의 접근법을 성공적으로 제시하여 다른 sequence learning 문제에 대해서도 신경망 모델이 좋은 성능을 보일 수 있음을 입증했습니다. 

 

특별히 입력 문장을 반전시키는 기법이 번역의 질을 눈에 띄게 증가시킨다는 사실은 놀라웠습니다. 이를 통해 수많은 단기 의존성을 부여하여 모델이 더 잘 학습할 수 있게 됩니다. 또한 LSTM이 매우 긴 문장도 비교적 정확하게 번역한다는 사실도 놀라웠습니다. LSTM도 제한된 memory를 갖고, 다른 연구에서도 좋은 성능을 보이지 못했기 때문에 처음에는 의심할 수밖에 없었지만, reversed dataset을 사용하여 이 문제를 잘 해결해내었습니다. 

 

가장 중요한 점은 이 간단하고 직관적이며, 비교적 최적화도 덜된 신경망을 활용한 접근법이 SMT system의 성능을 압도한다는 것입니다. 앞으로의 연구를 통해 번역 정확도는 크게 향상될 것입니다.


 

Reference

https://machinetranslate.org/statistical-machine-translation (SMT의 의미)

.


첫 논문 리뷰라 기대한 것보다 완성도가 좋지 못하다고 느껴집니다. NLP와 딥러닝 분야에 대해서는 아직 일천하다보니 적절한 단어나 표현을 사용하지 못하는 것도 조금 아쉽습니다. 그리고 생각보다 너무 자세하게 정리하려다가 불필요하게 설명한 부분도 추가되었고, 그 결과 글이 좀 지저분하게 길어진 느낌도 듭니다. 이 개념에 대해서 아예 모르는 사람도 이해할 수 있게 리뷰를 하자는게 취지였는데, 결과적으로는 그 취지를 잘 살렸는지, 가독성은 충분했는지 모두가 의심됩니다. 사실 beam search등 일부 개념에 대해서도 더 설명하려 했는데 글이 너무 길어지기도 하고, 불필요할 정도로 디테일하게 설명하다 보니 중간에 지쳐버리기도 했습니다. 앞으로는 이 부분에 대해서 잘 생각해보고 논문의 핵심만을 잘 요약해서 정리할까 싶기도 합니다. TMI버전과 요약된 버전을 구분하여 작성해볼까 하는 생각도 들었습니다. 하여튼, 앞으로 몇 번 하다보면아무래도 익숙해질거라 믿고 논문 리뷰의 퀄리티를 천천히 향상시킬 수 있도록 노력하겠습니다. 이해가 가지 않는 부분이나 논의하고 싶은 내용, 또는 수정해야 할 부분이 있다면 댓글을 활용하여 말씀해주셨으면 합니다.

 

긴 글 읽어주셔서 감사합니다.

 

댓글