Attention Is All You Need (2017, NIPS)

2023. 12. 19. 19:15AI & ML & DL/Paper Review

Introduction 

원래 RNN 계열을 사용해서 NLP를 했지만, 순차적으로 예측하는 본질적인 이슈로 인하여 계산할 시에 parallel하게 계산이 불가능 하다. 그래서 attention mechanism만을 활용하여 거리와 상관없이 input과 output간의 global dependency를 뽑아내고 parallelization을 훨씬 더 할 수 있는 Transformer라는 모델을 제안한다.

Model Architecture

  • Input : Encoder에는 input embedding과 positional encoding을, Decoder에서는 output embedding과 positional encoding을 같이 더한 값이 나온다. Positional encoding은 sine / cosine 함수를 응용하였다.
  • Encoder / Decoder 내부 구조 : Encoder-decoder structure를 따르며 encoder 및 decoder 내부에는 multi-head attention layer와 fully connected layer가 들어간다. Encoder 및 Decoder 둘 다 self-attention을 활용하지만, decoder에서는 이후에 예측할 것으로부터 역으로 계산하지 못하도록(auto-regressive한 특성을 유지할려고) masking을 한 후에 계산한다고 한다. 그리고 decoder에서는 encoder의 output을 value / key로 활용하고 decoder sublayer에서 나온 값을 query로 사용하는 attention layer가 있어 input sequence에 있는 모든 값들을 참조할 수 있게 만들었다고 한다. 마지막으로, Encoder 및 Decoder 둘 다 residual connection을 활용한다.
  • Attention 방식 : 실전에서 계산 속도가 빠르고 “공간 효율적인” scaled dot-product attention을 활용하였다. 또한, parallelization을 위하여 multi-head attention 방식도 차용하였다.

Self-attention을 활용한 이유

논문에서는 각 self-attention, recurrent, convolution layer 별로 variable-length sequence끼리의 mapping할 때 필요한 complexity를 Big-O notation으로 비교하여 self-attention의 우월성에 대해서 증명하였다. 또한, self-attention을 통해서 interpretable한 모델을 생성할 수 있다는 추가적인 장점도 언급하였다.

 

매우 유명한 논문이죠. 트랜스포머라는 모델이 처음으로 제안되었던 논문입니다.

그리고 이 논문 덕분에 NLP를 RNN이나 1D-CNN을 활용해서 모델링하는 패러다임에서 Transformer를 활용하는 패러다임으로 확 바뀌었습니다. (물론 거기에는 GPT랑 BERT 논문들의 활약도 있었지만요.)

저는 이걸 군대에 가서 처음으로 읽어보았는데, 학부연구생때 왜 이걸 읽지 않았을 까하는 후회가 많았습니다.

그만큼 AI / DL을 공부할려면 이 논문은 필수적으로 읽어봐야하는 논문이라고 생각합니다. 제가 요약한 것보다 꼭 한 번 실제 논문을 읽어보시는 걸 추천드립니다.

 

(+ 24.03.01.)
최근에 저 논문을 찾아볼 일이 생겨 봤더니 AAAI가 아니라 NIPS였네요;;; 부정확한 정보 죄송합니다.

왜 AAAI라고 생각했던걸까요...