2021년 기준으로 최신 고성능 모델들은 Transformer 아키텍처를 기반으로 하고 있다.(우리가 Transformer를 알아야 하는 이유)
GPT: Transformer의 Decoder 아키텍쳐 활용
BERT: Transformer의 Encoder 아키텍쳐 활용
기존의 Seq2Seq 모델들의 한계점
Q: 매번 소스 문장에서의 출력 전부를 입력받게 할수는 없을까??
A: 어텐션 메커니즘을 적용해보자
Q: RNN과 CNN 구조를 꼭 이용해야 할까?
A: Transformer의 등장
Abstract
지금까지의 sequence transduction에서의 주류 model들은 모두 encoder-decoder 구조를 포함한 RNN or CNN 기반이었다. Best performing model은 attention mechanism을 적용한 encoder-decoder 구조의 모델. 저자들이 제안하는 새로운 모델인 Transformer는 오직 attention mechanism만을 사용하는 모델. 일체의 RNN, CNN구조가 사용되지 않는다. Transformer는 기존 모델들에 비해 more parallelizable하며, training에 걸리는 시간을 상당히 줄였다. 2014년, 영어 -> 프랑스어 번역 task에서 BLEU 기준 SOTA를 달성하였다. Transformer는 large and limited data 모두를 사용하여 영어 구문 분석에 성공적으로 적용하였기 때문에 다른 task에도 generalize할 수 있는 장점이 있다.
Introduction
Attention mechanism은 강력한 sequence modeling과 transduction model을 만들기 위한 필수적인 부분이 되었고, 이는 input, output sequence 안에서의 거리를 신경쓰지 않아도 되었기 때문이다. 이제까지 attention mechanism은 RNN와 결합되어 사용되고 있었다.
저자들은 input과 output간의 전체 맥락을 파악할 수 있는 attention mechanism에 전적으로 의존한 Transformer를 제안하게 되었으며, 일체의 RNN 혹은 CNN이 등장하지 않는다.
Model Architecture
Transformer는 Attention만으로 encoder, decoder를 구성한 모델이다.
이전에 generated된 symbol이 next를 generate하기 위한 additional input으로 들어가는 auto-regressive한 모델이다.
Attention
Transformer의 핵심 개념인 Attention은 Query와 Key-Value pairs를 output에 mapping하는 것으로 설명될 수 있다.
Output은 value들의 가중합으로 표현될 수 있으며, 가중치는 Query와 상응하는 Key간의 compatibility function으로 계산된다.
저자들이 Transformer에서 사용하는 attention의 이름은 'Scaled Dot-Product Attention'이다. 그 식은 아래와 같다.
저자들은 dmodel 차원의 keys, values, queries에 대한 single attention function을 적용하는 것보다 dk, dk, dv 차원에 대해 각각 다르게 학습된 queries, keys, values에 대해 h번 linearly project하는 것이 더 좋다는 것을 발견하였다.
각각의 attention function들은 병렬적으로 dv차원의 output을 생성하며, 이것들은 모두 concatenated되어(dmodel의 차원으로 병합) final value를 산출하게 된다.
Multi-head attention은 model이 다른 시각에서 바라본 서로 다른 표현의 정보들을 결합할 수 있게 해준다.
앞서 살펴본 attention sub-layers 이외에도, encoder와 decoder는 fully-connected feed-forward network를 포함하고 있다.
이 Network는 ReLU를 활성화함수로 사용하는 두개의 linear transformations로 구성되어 있다.
이는 kernel size가 1인 two convolutions으로 표현할 수도 있는데 input과 output의 차원은 8dmodel(=512)이고, inner-layer는 dff(=2048)의 차원을 가지고 있다.
다른 sequence transduction model과 유사하게 input token과 output token을 dmodel차원의 벡터로 바꾸는 embedding 작업이 필요함. Decoder output을 0과 1 사이의 predicted next token probabilities로 변환하는 Softmax function도 사용. Two embedding layers와 pre-softmax linear transformation 사이에서는 동일한 가중치 matrix을 활용한다.
Transformer는 RNN이나 CNN을 일체 사용하지 않기 때문에, 시퀀스의 위치정보를 따로 주입해야 한다.(input으로 행렬이 한번에 들어가기 때문에) 이를 위해 저자들은 'positional encoding'을 encoder, decoder 블록 밑의 input embedding에 추가하였다. Positional encoding은 input embedding과 동일한 dmodel의 차원을 가지고 있어 더해질 수 있다.
위 식은 positional encoding에 적용되는 함수이다. 저자들은 이 함수가 모델이 상대적인 위치를 쉽게 학습하는데 용이하였다고 가정하였다.(어떤 고정된 k에 대해서, PE(pos+k)가 PE(pos)의 linear function으로 표현될 수 있기 때문)
Why Self Attention?
Transformer에서 Self Attention을 사용한 이유는? 3가지 지표를 고려
Self-attention은 추가적으로 더 해석가능한 모델을 만들어 낼 수 있음. Transformer에 있는 individual attention head들은 다른 작업들을 수행하는 방법을 명확하게 학습할 뿐만 아니라, 문장의 문법적, 의미적 구조와 관련하여 행동한다.
Experiments
Transformer는 기계 번역에서 다른 모델들을 제치고 BLEU와 Training Cost에서 좋은 모습을 보여주면서 SOTA를 달성하였다. BLEU는 기계 번역 결과와 사람이 직접 번역한 결과가 얼마나 유사한지 비교하여 번역에 대한 성능을 측정하는 방법이다. 높을수록 모델의 성능이 좋은것이다.
위 결과는 Transformer model의 architecture 조건들을 변경해가면서 성능에 어떤 영향을 주는지 확인해본 것이다.
요약하자면, (A)(B)에서 key demension dk를 너무 줄이면 (512 -> 16) 성능이 안좋아지고 (C)에서 dmodel이 큰 것이 성능이 좋으며, (D)에서 drop-out을 주는 것이 오버피팅을 방지하는데 효과적이라는 것을 알 수 있다.
마지막 실험은 Transformer가 다른 task에서도 잘 동작하는지를 보기 위해 기계 번역이 아닌 English Constituency Parsing task에 적용해본 것이다. Constituency Parsing은 어떠한 단어가 문법적으로 어떠한 것에 속하는지 분류하는 task이다. 예를 들어 I am a student라는 문장을 parsing하면, I와 student는 noun, am은 verb, a는 article로 분류될 것이다.
여기서 Transformer는 WSJ 데이터에 대해서만 training 했음에도 불구하고, Berkeley-Parser[29]를 outperform하는 모습을 보여준다.
Conclusion
Transformer는 attention으로만 이루어진 최초의 sequence transduction model이다.
Translation task에서 Transformer는 CNN,RNN 기반 모델들보다 확실히 빠르게 훈련되며, 성능도 그들을 압도하였다.
Transformer는 앞으로 텍스트 이외의 task에도 확장될 것이며, 특히 image, audio, video와 같은 대규모 input, output을 핸들하기 위한 local, restricted attention mechanism이 대두될 것이다.
https://aistudy9314.tistory.com/63
https://hipgyung.tistory.com/entry/ATTENTION-IS-ALL-YOU-NEED-논문-리뷰
댓글 영역