while (1): study();

[논문 리뷰] Understanding Back-Translation at Scale 본문

논문 리뷰

[논문 리뷰] Understanding Back-Translation at Scale

전국민실업화 2021. 7. 1. 21:43
728x90

출처: https://arxiv.org/abs/1808.09381 

 

Understanding Back-Translation at Scale

An effective method to improve neural machine translation with monolingual data is to augment the parallel training corpus with back-translations of target language sentences. This work broadens the understanding of back-translation and investigates a numb

arxiv.org

 

페이스북과 구글의 공동연구로 2018년 발표한 글입니다. 

 


1. Introduction

 기계번역기를 학습시키려면 Bitext, 흔히들 말하는 병렬 코퍼스가 필요합니다. '이 A언어의 문장은 B언어로 이렇게 쓴다'는 정보가 있어야 하는 것입니다. 문제는 Monolingual text에 비해 Bitext가 월등히 적다는 것입니다. 그리하여 넘치는 Monolingual text를 활용하기 위해서 Language model fusion(ensemble)이나 Back-translation, Dual learning 등 다양한 방법론이 제시되었습니다.

 제목에서 알 수 있듯이 이 논문은 특히 Back-Translation(역번역)에 주목합니다. Back-Translation은 다음과 같은 순서로 진행됩니다.

 

1. 소스 언어에서 타겟 언어에서 번역하는 메인 과제와는 정반대로, 타겟 언어에서 소스 언어로 번역하는 중간 시스템을 구축합니다. 이 중간시스템의 결과로 나온 소스 언어 문장을 '합성되었다'고 표현하는 듯 합니다.

2. 중간 시스템의 결과로 나온 '타겟 언어 - 합성된 소스 언어' bitext를 원래 bitext에 추가합니다.

 

이러한 방법은 Bitext와 Monolingual text가 모두 있는 경우 활용할 수 있으며, 특히 한쪽 언어의 코퍼스가 부족할 경우 유용하게 사용할 수 있습니다.

 


3. Generating synthetic sources

  Back-Translation에서 문장을 합성하는 방식은 보통 Greedy search 혹은 Beam search였습니다. Greedy search는 매 타임스탭마다 가장 확률이 높은 단어를 선택하며, Beam search는 누적확률이 가장 높은 k개의 선택지를 고려합니다. 이 두 방법론은 모두 최종적으로 사후확률(posteriori)를 극대화하는 것을 목표로 하는 MAP(Maximum A-Posteriori) prediction입니다. 

 다만 MAP 방법론은 문제가 있습니다. 언제나 가장 그럴듯한 선택지만 고른다는 것이죠. 이는 의미가 모호한 문장에서는 상당히 치명적입니다. 예를 들어 최선의 선택지 확률이 90%인데, 차선의 선택지는 80%라고 해봅시다. 그럼에도 세상의 문장은 정말 다양한 양상을 보이기에 80%의 차선이 오히려 문맥상 자연스러운 단어일 수 있는 법입니다. 

 그렇기에 여기서는 non-MAP 방법론을 사용하기로 합니다. 여기는 3가지 방법론이 존재합니다.

 

1. Unrestricted sampling: 모델의 확률분포에서 랜덤하게 하나의 단어를 샘플링합니다.

2. Restricted sampling(Top K): 가장 확률이 높은 K개의 단어 중 하나를 랜덤하게 샘플링합니다.

3. Noise beam search: Beam Search의 누적확률에 랜덤한 noise를 추가합니다.

 

이렇게 하면 단순히 확률이 높은 것만을 고르는 것을 넘어서 합성 문장의 생성에 임의성이 부여되고, 따라서 디코더 입장에서는 더욱 다양한 문장을 접할 수 있습니다.

 


5. Results

BLEU score

 위에서 제시한 다양한 환경으로 실험한 결과, 간단하게 말하면 non-MAP 방식의 BLEU score가 MAP 방식에 비해 비교적 높은 양상을 보였습니다. 여기서 주목할만한 것은 단순히 bitext만 사용했을 때보다 non-MAP 방식으로 합성한 문장을 추가하여 학습한 경우에 언제나 BLEU score가 상승했다는 점입니다. 즉 Monoligngual text를 활용할 수 있는 범용적인 방법론을 찾았다고 보 수 있겠습니다.

 

Training BLEU

그래프로 확인해보아도 non-MAP 방식이 MAP 방식에 비해서 Training set에 대한 BLEU가 높게 나오는 것을 알 수 있습니다. 다만 흥미로운 점은 PPL(Perplexity)입니다.

Perplexity

 이번에는 MAP 방식이 더 낮은 PPL을 보임을 알 수 있습니다. 논문에서는 MAP 방법론의 대표격인 Beam search에 대해 'Beam search focuses on very likely outputs which reduces the diversity and richness of the generated source translations'라고 표현했습니다. 즉 MAP는 가장 확률이 높은 그럴듯한 문장만 생성해내기 때문에, 디코더는 학습하는데 그렇게 어려움을 느끼지 않습니다.

 다만, noise beam search와 같은 non-MAP 방법을 썼을 경우 표현의 가지수는 더욱 풍부해지고, 디코더는 이것을 풀어내는 데 큰 어려움을 느끼게 될 것입니다. 디코더는 더욱 어려운 문제로 학습하게 되고, 결과적으로 구글이 인코더보다는 디코더의 성능이 번역기의 품질을 좌우한다고 했던 것과 일맥상통합니다. 추가적으로 Perplexity가 번역기의 성능 점검에 크게 유의미하지 않다는 것도 증명하는 셈이 되네요.

 


5.3 Low resource vs. high resource setup

 코퍼스가 적은 언어(Low resource)와 코퍼스가 풍부한 언어(High resource)에 대해서 각각 다르게 접근한 부분도 흥미로웠습니다. 실험의 결과는 다음과 같이 그래프로 표현됩니다. 여기서는 간단하게 beam search와 unrestricted sampling의 대립 구도로 표현되었습니다.

 문장이 적은 경우, beam search를 사용했을 때 더 높은 BLEU score가 나온 반면, 문장이 640K개를 넘어가면서 sampling이 더 좋은 성능을 보였습니다. 정리하자면 자원이 적을 때는 MAP 방법론을 사용한 Back-Translation이 더 효과가 좋으며, 문장이 64만 개를 넘어가면 non-MAP 방법론이 빛을 발합니다. 기본 문제집을 샀는데, 기본문제는 몇 개 없고 어려운 문제만 잔뜩 있으면 물론 풀기 힘들겠죠.

 


5.4 Domain of synthetic data

 당연할 법한 얘기이지만, 합성된 문장의 도메인이 맞는다면 더 성능이 좋다고 합니다. 나아가 사람이 생성한 진짜 문장과 맞먹는 정도로 성능을 향상시킬 수 있다고 합니다. 

 

 (a)는 뉴스 도메인의 데이터에 대해서 각각 병렬 코퍼스, 병렬 역번역 코퍼스, 병렬 뉴스 도메인 코퍼스로 학습시켜 그래프로 표현한 것입니다. 당연히 순수한 병렬 코퍼스가 가장 높은 BLEU를 보입니다. 주목해야할 것은 병렬 역번역 코퍼스에 비해 병렬 뉴스 도메인 코퍼스가 더 높은 성능을 보였습니다. 

 (b)는 도메인이 Mixed된 검증 데이터에 대해서 같은 방식으로 학습시킨 것입니다만, 이 경우에는 병렬 역번역 코퍼스가 뉴스 도메인에 한정된 코퍼스에 비해 높은 성능을 보였습니다. 이는 결국 도메인이 매치되었을 때 역번역을 통한 성능 향상을 더욱 끌어올릴 수 있다는 것입니다. 두 경우 모두 실제 코퍼스와의 성능 차이가 1 내외 정도밖에 되지 않습니다.

 


5.5 Upsamling the bitext

 Upsamling이란 실제 데이터에 비하여 합성된 데이터를 사용한 빈도입니다. 예를 들어 실제 데이터가 80만개, 합성된 데이터가 160만개일 경우 Upsampling rate는 2(80:160 = 1:2)가 됩니다.

그래프에 따르면 MAP 방식은 upsampling rate가 높아지면 높아질수록 성능이 향상되는 양상을 보입니다. 반면 non-MAP 방식은 upsampling rate가 높아질수록 성능이 저하되는 모습을 보입니다. 이 논문에서는 이 현상에 대해서 'the synthetic data is already hard enough to fit and thius provides a strong training signal'이라고 표현했습니다. 그 말은 즉슨 non-MAP 방식으로 합성한 문장은 이미 충분히 학습하기 어렵기 때문에 그 수를 늘려봐야 무의미하다는 것이며, 나아가 불완전한 문장이 너무 많이 추가되면 오히려 성능의 저하를 야기할 수 있다는 것입니다.

 


정리

 정리해보면 Back-Translation을 통해 Monolingual corpus를 활용할 때 주의할 점은 다음과 같습니다.

 


1. MAP 방법론(greedy, beam search)에 비해 non-MAP 방법론의 성능 향상이 더 유의미하다.

2. 합성된 문장의 도메인이 번역 도메인과 잘 맞을수록 성능이 더 잘 향상된다.

3. 자원이 풍부할 경우 non-MAP 방법론을, 자원이 부족할 경우 MAP 방법론을 사용하는 것이 도움이 된다.

4. non-MAP 방법은 적은 Upsampling rate를, MAP 방법은 높은 Upsampling rate를 가져가는 것이 바람직하다.


역시 두 굴지의 기업의 합작품이라 그런지 한 챕터 한 챕터가 주옥같은 내용으로 가득 차있는 느낌이었습니다. 다른 분들도 직접 글을 읽어보시는 것을 추천드리는 바입니다.

 

 

728x90
Comments