ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [NLP] Attention as a guide for Simultaneous Speech Translation
    ✨ AI/AI papers 2023. 4. 13. 22:46

    Attention as a guide for Simultaneous Speech Translation

     

    Link : https://arxiv.org/pdf/2212.07850.pdf

     

    Abstract

    어텐션 매커니즘이 많은 분야에 이용되고 있지만, Encoder-Decoder Attention(Cross Attention)의 behavior가 Speech Translation(ST)에서 논의된 적은 없었으며, Attention이 ST의 성능을 향상시키는지에 관해서도 마찬가지이다. 이 논문에서는 simultaneous ST를 위한 attention-based policy(EDATT)를 소개한다. 목적은 real time inference 때, translation 시점을 결정하는 SimulST task에서 가이드의 역할을 할 수 있도록  Encoder-Decoder Attention(이하 EDATT)를 활용하는 것이다.

     

     

    Introduction

    SimulST task는 오디오 인풋을 계속 받으면서 번역 모델이 incremental translation을 생성하는 것이다. SimulST task는 매우 챌린징한 task인데, 높은 퀄리티의 아웃풋(높은 블루 점수)를 최대한 유지하면서도 지연율을 최소화하도록 요구되며 이 Quality-Latency 발란스를 맞추기가 매우 어렵다. model은 전체 input sequence가 아닌 partial sequence만 보기 때문에 문맥의 정보가 충분하지 않아 full sentence input을 받았을 때보다 퀄리티가 떨어질 수밖에 없다. 그리고 partial sequence가 길어서 문맥의 정보를 많이 얻게 된다면 Latency(지연율)이 높아지기 때문에 좋지 않다.

    기존에 SimulST task를 다루기 위한 방법은 가장 전통적인 Cascade model(ASR model + MT model)이 있다. Cascade model은 ASR(speech -> text) 모델의 나쁜 결과를 MT모델이 그대로 입력으로 받지 않기 때문에 성능이 End-to-End model보다 좋지 않으며 end-to-end model은 src speech -> src text -> tgt text 를 거치는 Cascade model과 달리 src speech를 바로 tgt text로 번역하는 Direct model이다. end-to-end 모델은 cascade 모델이 겪는 단점은 줄어들지만 traning cost가 크다는 단점이 있다.

    이러한 문제를 피하기 위해, 해당 논문에서는 offline ST model을 사용한다 offline model은 simul용 model과 다르게 일반 MT 모델처럼 full input sentence를 받아서 훈련된 번역 모델이다. 일반 번역모델이라고 생각하면 된다. 여기에 휴리스틱한 guide( e.g. wait-k) policy를 이용해서 simulST에도 이용할 수 있도록 한 것이다. 이렇게 되면 Simul용 모델을 따로 train하지 않아도 되고(ad-hoc adaptation이 필요하지 않음), offline model이 가지는 높은 품질의 디코딩 능력을 가져갈 수 있게 된다.

    따라서 Offline model을 Simul에 사용하려면 언제 Read, Write를 결정하는 Decision policy가 큰 역할을 한다고 볼 수 있다. Read는 context 정보를 더 얻기 위해 streaming input을 기다리는 것이고 Write는 지금까지 받은 Partial input으로 Decoding을 시작해 output token을 내는 것이다. 굉장히 효율적인 방법이지만 low latency에서는 Online model(cascade, end-to-end)보다 성능이 낮다.

    Attention score는 syntatic dependencies를 encoding할 수 있고, language representation을 예측할 수 있으며, 소스와 타겟의 align을 할 수 있다는 것은 기존 MT task에서 연구된 바가 있다. 이에 동기를 부여 받아 해당 논문에서는 SimulMT에서도 Attention score를 이용해보자는 것이 주 목적이다.

    만약 가장 최신의 오디오 프레임만 attend 하지 않는다면, 현재까지 step에서 모인 information은 word를 emit하기에 충분할 것이라는 점을 이용한다. 그리고 논문에는 Encoder-Decoder attention score는 simulST task에서 ST model의 policy를 가이드하기 위해 이용될 수 있는 소스-타겟 관계를 대표한다는 것을 실험으로 보여주고, 다른 SimulST policy들과 비교해서 낮은 latency를 보여주며 최신 SimulST base model보다 뛰어난 성능을 보여주는 것을 입증한다.

     

     

    Background

    Dot product attention

    Background로 소개하는 Transformer는 일반적인 Transformer와 같게 Query Key의 내적 값으로 Weighted 된 Value을 out하고 Encoder-Decoder attention에서는 Query Key가 소스와 타겟이 된다.

    Simultaneous Speech Translation은 duration T_s마다 input source가 들어오고 policy는 더 많은 input을 얻기 위해 기다릴 것인지, token을 emit할 것인지 adaptive policy(i.e. learned by the model), fixed policy(based on heuristics)로 결정된다. 대체적으로 adaptive policy가 더 성능이 좋다. 해당 논문에서는 adaptive policy를 위해 따로 learning을 하지 않고 offline model의 attention score matrix를 이용하기만 하는 policy를 제안한다.

     

     

    EDATT policy

     

    EDATT policy의 핵심 아이디어는, offline model의 encoder-decoder attention matrix의 아래와 같은 성질을 이용한다는 것이다.

     

    만약 어텐션이 input sequence의 끝부분에 집중되어 있다면, 시스템은 현재 ouput candidate를 생성하기 위해 더 많은 information이 필요하다는 것을 의미한다. 즉, 어텐션 스코어가 마지막으로 받은 오디오 소스쪽이 더 높다면 이 정보는 imcomplete 할 수 있으모로 token을 generation하기에 충분하지 않다는 것을 말한다.

    • (1) I'm going to 라는 음성 세그먼트를 받은 모델이 Ich werde라는 타겟 텍스트를 생성했다면, Ich werde가 생성될 때 I'm going to라는 소스의 정보를 가지고 partial ouput을 내놓았다는 것을 의미한다. 그래서 다음 세그먼트 talk about이 들어왔을 때, reden을 생성하기 위해서는 가장 최근 들어온 소스의 어텐션 값이 높다.
    • (2) emit할 수 있는 hypothesis이 많으면 attention score는 끝 쪽이 아니라 골고루 퍼져있게 된다.

     

    이 아이디어를 formally 작성해보면,

    k 타임스텝에서 n개의 오디오 프레임 input sequence x가 주어졌을 때, 만약 last \lambda frame의 encoder-decoder attention A의 합이 특정 threshold \alpha보다 아래에 있으면 해당 토큰 j를 verify한다.

    attention score의 합은 1이기 때문에, alpha는 0과 1 사이 값이고,이 컨디션이 hold하는 한 우리는 토큰을 emit할 수 있다. A가 threshold보다 크다면 emission을 멈추게 된다. 

     

     

    EDATT Policy를 정리해보면,

    1. 새로운 speech segment가 들어오는 매 스텝마다 partial hypothesis y와 encoder-decoder attention matrix A를 계산하고,
    2. last lambda 프레임동안의 A를 통해 token j를 verify할지 말지 결정하고
    3. partial hypothesis y를 emitting한다.

    여기서 몇개의 프레임을 볼지에 대한 lambda는 하이퍼파라미터이고, alpha는 latency를 조절해주는 값이다. 즉 큰 alpha는 latency가 줄어든다.

     

     

    Experiment

    en->de(german), en->es(spanish) pair 번역 데이터셋으로 실험을 했으며 word ordering이 다른 페어로 en->de는 Subject-Object-Verb(SOV)이고 en->es는 Subject-Verb-Object(SVO)이다. 그리고 speech translation에서 거의 필수적으로 적용되는 data augmentation 테크닉으로 sequence-level knowledge distillation을 적용했고 MT모델을 사용해 번역된 en->de, es페어 transcripts를 사용했다. 

    Model 구조로는 12 Conformer Encoder layer와 6 Transformer decoder layer가 상요되었고 8개의 어텐션 헤더를 가진다. input 스피치는 샘플 윈도우 25로 매 10ms마다 추출된 80 audio feature이며 CNN을 거치고 Utterance-level Cepstral Mean과 Variance Normalization(CMVN)과 SpecAugment가 training동안 적용되었다.

     

    비교 Baseline으로는 SimulST task SOTA모델과 IWSLT2021 winning system인 Cross Attention Augmented Transformer(CAAT)이다. 그리고비교 policy로는 IWSLT2022 winning system의 common-prefix policy와 wait-k policy이다.

     

    Attention Analysis를 위해 Attention weight matrix를 visualization하였고 lambda를 결정할 때도 썼다고 한다.

    위와 같은 Attention pattern은 ST에서도 존재하는 것을 확인하기 위해 attention weight visualization하였고, 이전 연구들에서도 관찰되었다 싶이 약 97% attention score가 가장 최근의 source에 몰려있었다. 이를 해결 하기 위해 re normalization을 해서 (b)와 같이 pseudo-diagonal pattern을 만들어주었다고 한다.

     

    lambda에 따른 Performance

     

    layer에 따른 Performance

     

    Head에 따른 Performance

     

     

    Main result.

     

     

    Conclusion

    해당 논문은 SimulST task에서, Offline ST model에 적용할 수 있는 EDATT policy를 제안한다. 해당 policy는 ST model의 Attention score를 이용하는 것 만으로도 Simultaneous task를 잘 수행할 수 있음을 보여준다. EDATT policy를 Offline model에 적용하면 기존에 Simultanous task만을 위한 Online model이나 Policy를 learning할 필요가 없어 간단하고 cost가 적게든다는 강점이 있다. 그리고 해당 Policy는 거의 대부분의 latency regime에서 다른 Base model들 보다 우수함을 보였다. Limitation으로는, 해당 Policy는 거의 모든 offlien ST model에 적용이 가능하지만, CTC compression이 적용된 모델에 이 policy를 적용했을 때 behavior는 분석되지 않았다. 그리고 hyper parameter lambda설정에도 어려움이 있으며 Western European language가 아닌 다른 language pair에 적용되지 않았다.

    (영-한 처럼 순서가 매우 다른 language pair에는 적용이 잘 안될 수도 있을 것 같다.)

    댓글

Designed by Tistory.