새소식

자연어 NLP

[NLP] Translation-based Supervision for Policy Generation in Simultaneous Neural Machine Translation

  • -

Translation-based Supervision for Policy Generation in Simultaneous Neural Machine Translation

 

link : https://aclanthology.org/2021.emnlp-main.130.pdf

 

Abstract

해당 논문은 Simultaneous Machine Translation task에 관한 논문으로 해당 task를 수행하기 위한 novel supervised learning approach를 제안한다. 이는 에이전트가 full-sentence translation에서 디코딩 target token을 만들기 위해 simultaneous translation에서 필요한 read 수를 줄이도록 하는 것이다. oracle sequences를 두고, 이 oracle sequence를 기반하여 action을 generate하는 supervised model을 inference time에 사용한다. 이 접근법은 현재 휴리스틱 방법을 대체할 수 있고, 이를 위한 새로운 training objectives를 제안한다. 이는 이전 RL을 사용한 방법들보다 train이 더 쉽다는 이점이 있다. 

 

 

Introduction

Simultaneous Machine Translation은 stream of utterances를 real-time translation하는 task이며 번역 quality와 delay의 trade-off를 맞춰야한다. 이전 접근법 중 optimal segment를 찾는 방법들이 있고, 또 다른 접근 법으로는 optimal segment strategy가 RL framework에서 segmentation problem으로 정의된 방법이 있다. 여기서 RL agent는 READ, WRITE action을 optimize할 수 있게 학습되며 이 agent를 segmentation agent라고 하고 fixed-latency policy와 adaptive policy가 사용된다. 최근에는 imitation learning이 adaptive policy를 학습하기 위해 고려되고 이는 supervised oracle agent를 디자인 하는 것에 초점을 맞추는 것 대신 모델이 offline translation의 결과와 가장 비슷한 READ/WRITE action의 optimal sequence를 계산하게 된다.

이 논문에서는 offline translation model을 사용한 oracle agent를 제안하고 reference translation은 사용되지 않고 또한 fine tuning도 하지 않는다.

 

 

Supervised Approach

input source X = {x_1, x_2, .. x_J}가 있을 때, 각 partial input source X_j={x_1, .. x_j}를 보고 번역된 target을 Y^j = {y_1^j, y_2^j, .. y_{m_j}^j}로 정의되고 가장 마지막 target Y^J는 offline translation(i.e. full-sentence translation)이다. INTERPRETER는 source subset X_j를 받고 partial translation Y^j를 만들고, AGENT는 next input subset X_{j+1}을 INTERPRETER로 보낼지 말지 현재 만들어진 output tokens를 보고 결정한다. 

 

Reference Action Sequences

해당 논문의 주요 아이디어는, "optimal segment"에 대한 정의이다. 저자들은 INTERPRETER가 partial translation과 full-sentence translation이 정확하게 같은 target word을 만들어낼 수 있도록 하는 input sequence의 세그먼트를 "optimal segment" 라고 정의하였다. 따라서 최초의 optimal segment는 prefix of input이 되고, offline translation과 같아지는 지점으로 점점 쪼개지며, reference action sequece는 input sentence를 optimal segment로 쪼개게 되는 action이다.

input segment와 reference action sequence를 만들기 위해 Partial Translation Table(PTT)를 정의한다. 각 partial input src에 해당하는 translation 결과가 있고, 이 결과가 offline translation과 같은 지점이 WRITE action이 되고 그렇지 않으면 READ action이다. 가장 마지막 row는 offline translation과 같다. reference action sequence를 만들기 위해 PTT를 사용했고, 첫 번째 행의 가장 왼쪽 단어부터 시작해 각 열의 content를 마지막 행의 해당 열에 있는 단어와 비교한다. 그리고 총 time step t는 READ 갯수 j와 WRITE 갯수 i의 합이다. 

 

Supervised Training

위에서 만든 reference action sequece는 action generation policy를 학습하기 위한 ground-truth로 사용된다. time step t에서, policy는 action history \eta_h={a_{t-1}, ... a_{t-h}} 와 x_i, y_i를 받는 INTERPRETER o_t를 observe한다. 그리고 RNN network는 이전 모든 observation과 actions를 받고 현재 action a_t를 내는 probability를 maximize하게 학습된다. o_t={x_i, y_j, \eta_h}

소스와 타겟 임베딩은 concat되고, linear layer를 통과하며 모든 action \eta_h도 마찬가지로 임베딩 되고 소스 타겟 linear layer와 다른 linear layer를 통과한다. 2개의 linear layer의 모든 output은 concat되고 4개의 LSTM 레이어를 통과해 다음 action을 예측한다. 

 

Improving Robustness

exposure bias로 잘 알려진 training과 inference 사이의 discrepancy를 줄이는 것은 성공적인 supervised agent를 학습하기 위한 필수적인 단계이다. 에이전트가 unseen partial translation과 에러를 compound하지 않기 위한 방법들을 서술한다.

 

The Interpreter 여기서 translation component는 바꾸지 않기 때문에 만약 우리가 ground truth translation 대신 이전에 만들어진 토큰들을 고려하면, 우리는 training과 inference이 same procedure를 가진다고 보장할 수 있다. 이것은 비록 training process를 느리게 만들지만 더 정확한 결과를 제공한다. 

 

The Agent 에이전트의 실수로 prediction space의 익숙하지 않은 영역에 닿는 것을 방지하기 위해 action sequence에 distortion을 도입하는 추가 예시로 action sequece 학습 데이터를 보강한다. 랜덤하게 time step t를 선택해서, training example (o_t, a_t)가 아래 condition을 따르는지 확인한다.

만약 모든 condition이 만족한다면, READ와 WRITE를 swap하고, 새로운 oracle action sequence를 만든다.

 

Beam Search vs Greedy Decoding 이전 연구들에 따라서, 모델의 simultaneous nature를 boost하기 위해, INTERPRETER가 simultaneous decoding을 하는 동안 greedy decoding을 사용한다. simultaneous decoder(INTERPRETER)는 더 정확한 결과를 위해 빔서치를 사용할 수 있지만, greedy decoding을 사용한 것과 큰 차이를 보이지 않았다고 한다. 이는 future work로 남겨두겠다고 추가로 설명한다. Partial Translation Table은 offline 방식으로 생성할 수 있고 이는 전처리(preprocess)단계로 간주할 수 있으므로, simultaneous translation의 decoding time에 부정적인 영향 없이 partial translation을 만들 때 beam search decoding을 사용한다.

 

 

 

이전에 불안정한 training을 낳는 RL framework를 사용한 adaptive policy보다 훨씬 안정적인 reference action을 미리 만들어 놓고 supervised manner를 사용해 oracle agent를 학습하는 논문이었다. 깔끔하면서도 간단한 아이디어로 좋은 성능을 보인다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.