Understanding Back-Translation at Scale
(2018.10.03) - https://arxiv.org/abs/1808.09381
Research direction & Motivation
Main Purpose
The way monolingual data contributes to machine translation :
Back Translation with several conditions
Back Translation이란 개념은 <Improving Neural Machine Translation Models with Monolingual Data> 논문에서 처음으로 제시되었다. 해당 논문은 monolingual한 데이터를 사용해 기계 번역의 성능을 높이고자 했다. 그 방법론 중 하나로 back translation이라는 방법을 사용했고 효과가 있다는 것을 보여줬다. 하지만 실험조건들이 비교적 투박하고 구체적으로 어떤 조건에서 효과적인지는 기술되지않았다. 이에 본 논문의 저자들은 back translation이 효과적일 수 있는 조건들을 여러가지 측면에서 분석해 해당 조건들을 기술했다. 특히 Decoding method에 많은 무게가 실려있고 그외에 충족되어야하는 data size나 domain appliance, upsampling rate 등에 대해 체계적인 실험을 정리해 효과적인 back translation의 지침을 보여준다.
Contribution
Experiments setting
실험은 WMT'18 English-German news / WMT'14 English-Frence task를 사용했다. 두 데이터 모두 문장이 250자가 넘는 경우와 source/target ratio가 1.5를 초과하는 경우의 pair는 삭제했다. 전자에 있어서 monolingual data로는 독일어로된 WMT'18의 newscrawl data를 사용했고 후자는 newscrawl2010-2014를 사용했다. 기계번역은 6개의 Encoder와 Decoder로 이루어진 Big Transformer로 진행했으며 모든 실험에 동일한 hyper-parameter를 적용해 BLEU score로 평가했다.
1. Synthetic Data Generation Methods & Analysis
앞선 연구들에서 back translation을 사용할 때, 인공 데이터를 생성함에 있어서 대부분은 Greedy search, Beam search와 같은 MAP(Maximum A-Posteriori) 방법들을 사용해 가장 높은 확률을 갖는 데이터를 생성했다. 하지만 본 논문에서는 Random sampling, Top10-sampling, Beam+noise 등의 Non-MAP 방법에 주목했다.
실험에서는 MAP와 Non MAP의 비교를 위해 Greedy search를 비롯한 총 5가지의 방법들을 사용했다.
Greedy search: Source sentence와 Target sentence의 일부가 주어졌을 때, 다음 단어를 확률에 기반해 가장 높은 확률을 가지는 단어를 선정해 순차적으로 문장을 구성해나가는 방식으로 최우선 확률 단어외는 고려하지 않는다.
Beam Search: Greedy search에서 한단계 발전된 형태로 다음으로 높은 확률은 가지는 단어, 그다음으로 높은 확률의 단어들을 택해 Beam Size만큼 문장을 ‘만들어 본다’. 이렇게 만들어진 문장들의 확률의 총합을 구해 가장 높은 값을 갖는 문장을 생성하는 방식이다.
Random Sampling: 모델의 확률 분포에 따라서 랜덤하게 단어를 선택한다. 예를 들어, 확률 분포가 “I”의 다음 단어로 “am”을 90%, “will”을 10%로 가진다면 10문장을 생성했을 때 “I am” 은 9문장, “I will”은 1문장이 나오는 방식이다.
Top-10 Sampling: Random Sampling과 유사하지만, 각 단어들을 확률 내림차순으로 정렬했을 때 Top-10을 제외하곤 생성에 포함하지 않는다. 임의성이 Random Sampling보다 덜하므로 보다 문맥에 맞는 문장이 생성된다.
Beam + Noise: Beam Search로 생성된 결과에 Noise를 추가한 형태로, 단어를 10%의 확률로 지우고, 10%의 확률로 filler token 인 BLANK로 치환한다.
위의 방법들을 통해 인공 데이터를 생성해 training data에 포함했고 실험은 Total training data의 size에 따라 BLEU score를 측정했다. 그 결과는 다음과 같다.
위 결과는 총 500만 개의 bitext data에 back translation을 통해 생성된 인공 데이터를 Train data에 더하며 2,900만 개까지 실험을 진행한 결과이다. Training data size의 증가에 따라 top10, sampling, beam+noise의 Non MAP 방법들이 MAP 방법들에 비해 높은 score를 보여준다. 특히 size가 커질수록 이들간의 격차는 크게 벌어지며 오히려 greedy와 beam은 성능이 떨어지는 모습을 보인다. 반면 beam+noise는 Non MAP 방법들 중에서도 매우 높은 score를 보여준다. Table1에 제시된 다양한 test셋에 대해 보여준 BLEU score 역시 유사한 결과를 보여주며 오히려 noise를 섞은 방법이 기존의 MAP 방법들보다 더 좋은 성능을 보여주는 것을 알 수 있다.
저자는 해당 현상을 Perplexity라는 개념으로도 분석했는데 perplexity(PPL)은 혼잡도라는 의미인데, 번역된 문장이 얼마나 부자연스러운지를 나타내는 일종의 엔트로피와 유사한 개념으로 이해할수있다.
제시된 그림을 보면 MAP 계열의 방법들인 greedy, beam로 만들어진 인공 데이터는 epoch가 거듭될 수록 매우 낮은 PPL을 보여준다. 위에서 제시된 BLEU score와 PPL을 종합해 저자는, Noisy하거나 sampling된 방법들은 target translations에 대해 상대적으로 심화된 학습을 하는 소위말해 어려운 문제를 풀고있는 것과 같은 효과로 강한 'training signal'을 제공한다고 분석했다.
따라서 이렇게 난잡하고 깔끔하지 않은 데이터들을 통해 학습한 모델은 test셋의 데이터가 깔끔하지않아도 학습과정에서 이렇게 '심화된' 문제들을 풀어냈으므로 실제 데이터를 더 정확하게 예측하고있다고 볼 수 있다. 반대로 beam이나 greedy로 생성된 문장은 PPL이 낮고 매우 깔끔한 '쉬운' 문제들이므로 예측력이 떨어진다는 것이다.
2. Low resource vs. high resource setup
다음으로 resource, 즉 data의 size에 따라 beam과 sampling 방법을 비교했다. 어느정도의 bitext가 있을때 back translation이 효과적인지 그 임계값을 찾기위한 과정으로 8만개, 64만개, 500만개로 세가지로 나누어 효과를 실험했다.
그 결과, sampling은 larger setup, 즉 큰 규모의 데이터가 확보되었을때 큰 효과를 드러냈다. 8만개의 데이터에 있어서는 beam이 월등히 우세하지만, 적어도 64만개의 데이터가 확보되면 그 때부터는 sampling의 방법이 더 효과적이다. 작은 규모의 setup에 있어서는 noise가 학습에 있어서 부정적인 영향을 미쳐 MAP 방법이 더 좋지만 데이터가 충분히 확보되면 그렇지 않다.
3. Domain of synthetic data
저자들은 사용되는 monolingual data의 domain이 결과에 어떤 영향을 미치는지도 분석했다. 이를 실험하기위해 bitext, BT-bitext, BT-news를 비교했다. BT-bitext는 bitext의 일부, BT-news는 뉴스데이터로 back translation을 진행한 모델이다.
좌측은 news data, 우측은 다양한 domain을 mix한 test set에 대한 번역결과이다. 뉴스데이터에서는 특정 구간에서 BT-news는 bitext를 능가하는 부분도 존재한다. 하지만 valid-mixed에서는 BT-news는 BT-bitext보다도 떨어지는 결과를 보여주는 것으로 보아 그 효과는 news domain에 한정적인 것을 볼 수있다.
추가적으로 이 실험에서 주목할 점은, BT-bitext가 bitext에 비해 낮은 score를 가지긴 하지만 크게 뒤떨어지지는 않는 다는 것이다. 다시말해 64만개의 bitext만 확보가 된다면 500만개의 bitext가 있을때 만큼의 성능과 유사한 성능을 보여줄 수 있다는 것을 의미한다.
4. Upsampling the bitext
논문에서 정의하는 upsampling rate은 인공 데이터를 학습하는 도중, 실제 데이터를 방문하는 빈도 즉 인공 데이터와 실제 데이터의 비율을 의미한다. 예를들어 upsampling rate이 1이면 실제 데이터를 1번 볼때 인공데이터도 1번 보는 것이며, 5이면 인공 데이터를 1번 볼때 실제 데이터를 5번 보는것으로 높을 수록 실제 데이터를 더 많이 포함한다. 실제 데이터에 비해 인공 데이터를 지나치게 많이 방문하게되면 오히려 실제 문제와는 거리가 있는 학습을 하게될 우려가있어 이 비율을 달리하며 효과적인 비율을 찾고자 했다.
Beam과 greedy는 upsample rate이 증가할 수록 성능이 높아진다. 이는 해당 방법을 통해 생성된 인공 데이터가 bitext만큼의 효과적인 training signal을 제공하지 않기 때문이다. 반면 sampling, beam+noise의 방법들은 upsampling이 오히려 중요하지 않은 것으로 나타난다. 이미 학습과정에서 인공 데이터를 통해 강한 training signal을 제공받아 심화된 학습을 하기 때문에 굳이 실제 데이터를 보지 않아도 좋은 결과를 산출하는 것이다.
Conclusion
최종적으로 WMT14와 WMT18에서 sampling을 적용해 유의미한 성능 개선을 이끌어냈다. 통상적으로 사용되는 DeelpL이라는 번역모델과 결과를 비교했는데 이에 크게 뒤쳐지지 않는 모습을 보여주었으며, 특히 WMT14에서는 35.0의 BLEU score로 SOTA를 달성했다. 전반적인 실험에 있어서는 sampling과 beam+noise에 주목했으며 이러한 noisy한 인공 데이터가 이끌어내는 강한 training signal로 인해 back translation은 적은 bitext로도 monolingual data를 활용해 그 이상의 효과를 가져올 수 있다.