ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Attention] Neural Machine Translation by Jointly Learning to Align and Translate(ICLR 2015)
    Paper Review(논문이야기) 2024. 2. 16. 15:58

    https://arxiv.org/abs/1409.0473

     

    Neural Machine Translation by Jointly Learning to Align and Translate

    Neural machine translation is a recently proposed approach to machine translation. Unlike the traditional statistical machine translation, the neural machine translation aims at building a single neural network that can be jointly tuned to maximize the tra

    arxiv.org

    Attention이라는 개념이 처음 소개된 paper로, ICLR 2015 논문이다. 

     

    이전에 작성한 Seq2Seq(https://secundo.tistory.com/92)의 경우 Endoder-Decoder 모델을 통해서 기존 기계번역 task의 여러 문제들(어순, 단어의 길이변화) 등을 잘 해결하였지만, 고정된 크기의 context vector를 이용하여서 생기는 문제, BottleNeck 문제가 존재했다. 

     

    문장의 길이가 길어지게 되면, 고정된 크기의 vector에 그 정보를 충분히 담을 수 없었다. 즉, Encoding의 정보를 잘 모아서 주어야 하지만, 한정된 vector 크기에 욱여서 놓아야했다. 

     

    Attenttion에서는 최종 state만을 이용하여 정보를 받지 말고, hidden state 중 필요한 vector를 받아와서 써보자라는 아이디어에서 시작하였다. 즉, 취사선택해서 추가로 필요한 정보를 가져오는 path를 하나 더 만들자!가 핵심이다. 

    이때, 필요한 정보를 정하기 위해 각 encoder의 hiddenstate에서 유사도를 측정하여, 참고해야할 encoder cell가 유사도가 높게 띄게끔 학습하였다. 

     

    Attention에서 집중해야할 부분을 정하는 attention scoer는 softmax를 통해 확률로 변환하는 것이 일반적이지만, 이는 다른 함수로 변환하는 경우도 있다(차후에 나오는 다른 attention 기반 모델의 경우). 아래의 그림을 봐보면, context vector가 각 Decoder마다 새롭게 변환되어 나오는 것을 확인 가능하다(contect vector의 값, attention weight의 변화를 보자!)

    허민석님의 유튜브: https://youtu.be/WsQLdu2JMgI?si=DPefzFFDXCotgkQf

     

    이를 통해 크게 아래의 2 장점을 지니게 되었다.

    1. Encoder information이 하나의 single context vector가 아닌 다른 cell로부터도 들어올 수 있는 path를 만들어 정보를 decoder에 더 잘 전달한다. 

    2. , Back propagetion 관점에서도 path가 추가되었기에 attention path를 통해 직접적으로 원하는 cell에 더 잘 도달할 수 있게 되었다라는 점이다. 이를 통해 특정 단어는 skip하거나 역순으로 보면서 해석하는 것 또한 가능해졌다.

    Attention을 통해 추가된 path: 출처) LgAimers 4기 주재걸 교수님 강의 중 발췌

     

     

    아래의 그림을 보면 decoder에서 어떤 순서로 어떻게 해석을 하는지 조금 시각화해서 볼 수 있다. 

    오른쪽에 위치한 그림을 보면 모델이 단어를 순차적으로 해석하는 것이 아니라 주변 단어들 또한 보면서 해석을 하는 모습을 시각적으로 확인 가능하다. 

    Attention을 통해 추가된 decoer가 어떻게 해석하는지 볼 수 있다: 출처) LgAimers 4기 주재걸 교수님 강의 중 발췌

    Encoder in paper 

    해당 논문에서 적용한 encoder와 decoder에 기존과 조금 차이가 있어 작성하였다. 

    Encoder의 경우 해당 논문에서는 Bidirectional RNN(BiRnn)을 사용한다

    we propose to use a bidirectional RNN (BiRNN, Schuster and Paliwal, 1997), which has been successfully used recently in speech recognition (see, e.g., Graves et al., 2013). -논문 3.2 ch

    BIRNN은 두개의 RNN으로 구성되어 순차적으로 읽어 hidden state을 생성하며, Backword RNN은 입력의 제일 뒤부터 읽어서 역방향의 hidden state를 생성한다. 그리고 이후 모델의 hidden state로 이 둘을 단순히 concat하여 사용한다. 

    이를 통해 모델이 주변부 단어에 관해 더 잘 알 수 있다고 한다. 

    concat hidden state

    Decoder in paper 

    Decoder의 경우 기존 decoder(seq2seq)과 비교하면, Alignment model에서 decoder와 encoder의 cell간 정보 연관성 score, 즉, Attention score을 계산한다. 이때, a는 alignment model의 유사도를 잘 뽑아내는 어떠한 유사도 함수든 상관 없다. 이후 해당 점수를 softmax를 통해 확률 식으로 변형한다. 이렇게 유사도 scalar값을 계산한다.

    attention score 계산 식, 좌측 수식은 softmax 수식임을 알 수 있다

    이를 이용하여, 새로운 context vector를 구성하고

    최종적으로 state를 계산할 때, 이전 state와 입력값과 위에서 구한 attention context vector를 이용해 예측에 이용한다.

    Teacher Forcing?

    허민석님의 유튜브: https://youtu.be/WsQLdu2JMgI?si=DPefzFFDXCotgkQf

     

    추가적으로 Teacher forcing의 경우, 논문 paper에서는 언급되지 않았지만 참고한 자료에서 작성되어서 추가적으로 작성하였다. 

    실제로 학습을 할 때, 우리는 기본적으로 이전의 output을 그대로 받아와 sequnce한 예측을 만들어 내는 것이 목적이었지만, Teacher forcing의 경우 Target word 즉, ground truth한 input을 대신 전달함으로서 학습과정에서 더 모델이 빠르고 안정적으로 학습하는데 도움을 주는 기법이다. 

     

    Result

    결과는 위에서 보듯이, RNN-Attention을 적용한 모델이 훨씬 안정적으로 작동함을 확인 가능하다. 

     

    Reference

    https://arxiv.org/abs/1409.0473

    https://www.youtube.com/watch?v=WsQLdu2JMgI&t=418s

    LgAimers 4기 주재걸 교수님의 Seq2Seq with Attention 강의 

Designed by Tistory.