Contribution
Deletion Classifier
: LevT가 boundaries를 제외한 모든 input token에 대해 각 토큰이 deleted될지 kept될지를 결정
Placeholder Classifier
: LevT가 모든 연속된 position pair에 대해서 몇개의 토큰이 inserted될 것인지를 결정
Token Classifier
: LevT가 모든 placeholder에 대해서 채워넣을 토큰을 예측
defalut implementation은 3가지 operation에 대해서 같은 Transformer backbone을 공유
performance과 computational cost를 trade-off할 수 있게, 중간 단계의 블럭에 classifier를 붙여 early exit를 수행하는것 을 제안(과 에)
(마지막 h를 바탕으로 decision하는게 아니라 중간 레이어의 h를 바탕으로 decision할 수 있도록!)
Levenshtein Transformer를 학습시키기 위해 imitation learning을 사용
expert policy 에서 끌어낸 행동을 agent가 따라하도록 함
다음 식을 최대화하도록 목적함수가 구성됨
roll-in policy : 학습 동안 에 주어지는 state distribtuion을 결정
즉, roll-in policy로 만든 state에서 expert의 action을 할 확률을 최대화하도록 함
Oracle : One way is to build an oracle which accesses to the ground-truth sequence. It returns the optimal actions
Distillation : 먼저 같은 dataset를 사용해서 auturegressive teacher model를 학습한 후 groud-truth sequence 을 teacher-model의 beam-search결과인 로 교체. 이후 1번과 같은 방법을 사용해 action 반환
machine translation(MT), text summarization(TS), automatic post-editing(APE) for machine translatione에 대해 실험을 진행
sequence generation의 관점에서 LevT를 평가
sequence generation은 empty 를 input으로 가정, initial deletion은 적용 X
dataset으로는 Ro-En(WMT'16), En-De(WMT'14), En-Ja(WAT2017 Smal-NMT)를 사용, 평가 지표로는 MT에선 BLEU를, TS에선 ROUGE-1,2,L를 사용
전반적으로 Transformer에 견줄만한 성능을 내면서 훨씬 빠른 decoding 속도를 보임
LevT의 경우 보통 2번의 iteration이면 decoding이 끝나는 것을 볼 수 있음
Figure 4a를 보면, monolingual corpus에 대한 input의 길이에 따른 iteration의 평균 횟수가 나타나 있음
Figure 4a에서 IT와 MaskT는 기존 refinement-based model의 성능을 보여줌
Figure 4b를 보면, early exit를 넣었을 때의 속도 vs 성능 을 볼 수 있음(LevT(m-n) as a model with m and n blocks for deletion)
Weight sharing했을 때의 결과가 Table 2a에, roll-in polices로 eq6(Ours)과 eq6에서 mixing하지 않은 버전(DAE)을 사용했을 때의 결과가 Table 2b에 나타나 있음(확실히 DAE가 deletion loss가 훨씬 적음)