오뚝이개발자

RealFormer : Transformer Likes Residual Attention 논문 리뷰 본문

AI/Deep Learning Paper Review

RealFormer : Transformer Likes Residual Attention 논문 리뷰

땅어 2021. 9. 12. 14:38
728x90
300x250

 

오늘 리뷰할 논문은 구글 리서치팀에서 발표한 "RealFormer : Transformer Likes Residual Attention"(링크)이다. 해당 논문은 Transformer와 Attention의 후속 연구 같은 느낌이니 두 개념에 대해 먼저 알고 본 포스팅을 보는 것을 추천한다. 

 

무슨 논문이지?


쉽게 말해, RealFormer는 기존의 Transformer의 성능을 향상시키는 방법에 대한 논문이다. 그런데 기존 Transformer의 2개의 canonical한 구조 Pre-LN, Post-LN에서 약간의 구조적인 변화를 주어 이러한 성능 향상을 이끌어 내는 것이다. 정확히는 Resnet의 개념을 Transformer에 접목하여서 말이다. 이에 대해선 뒤에서 더 자세히 설명하겠다. 그렇게 만들어 낸 RealFormer를 기존의 Transformer 모델들과 비교하기 위해 다양한 Task들을 대상으로 성능 평가를 진행하였다.

제목에서 알 수 있듯이 RealFormer를 이해하기 위해선 Transformer + Resnet의 개념이 필요하다. 따라서 이 두 가지 배경지식에 대해 간략히 설명하고자 한다.

 

Background1 - Transformer


원 논문의 제목은 "Attention is all you need(NIPS, 2017)"이다. Transformer는 현대 NLP model의 Backbone 역할을 하고 있는 중요한 개념이다. 여기엔 크게 2개의 canonical한 구조가 있다.(Two baseline) 이 두 개의 구조는 LN(Layer Normalization)을 어느 위치에서 수행하느냐에 따라 구분된다.

Post-LN

Post-LN의 구조

Post-LN의 경우 그림에서 보는 것과 같이 Multi-Head Attention과 Feed Forward layer를 지나고 LN을 수행하기 때문에 Post라는 이름이 붙은 것이다. Post-processing을 한다고 생각하면 된다.

Pre-LN

Pre-LN의 구조

반대로 Pre-LN의 경우 Multi-Head Attention과 Feed Forward layer를 지나기 이전에 LN을 수행해준다. Pre-processing을 해준다고 생각하면 된다. Post-LN과 다른 또 한가지는 바로 Token Embedding 정보를 Layer 전체에 propagate하기 위한 direct path가 하나 더 있다는 점이다.

 

Background2 - Resnet


원 논문의 제목은 "Deep Residual Learning for Image Recognition(CVPR, 2016)(링크)"이다. 해당 논문에선 residual block과 shortcut의 개념을 제안하였다. 이 연구는 "층을 깊게 쌓으면 항상 더 좋은 성능을 보일까?"와 같은 의문에서 시작되었다. 아래 그래프를 보면 x축이 학습 iteration 수, y축이 error를 나타낸다. 그런데 56개의 층을 사용한 모델이 20개의 층을 사용한 모델보다 training error, test error에서 모두 더 높은 error를 보이는 것을 알 수 있다. 이는 바로 vanishing gradient 때문이다.

vanishing gradient란 역전파 과정에서 weight parameter를 갱신하면서 미분을 반복하게 되는데 층이 깊어질수록 이 값이 점점 작아져 나중엔 0에 가깝게 되는 현상이다. 이렇게 되어버리면 사실상 parameter가 거의 갱신되지 않은 채로 학습이 종료될 수 있다. 

층이 깊어지면 항상 더 좋은 성능을 보일까?

이를 해결해보고자 제안한 것이 바로 Residual block이다. 아래 그림에서와 같이 보통의 network는 input x가 weight layer->activation function의 과정을 반복적으로 거쳐 H(x)라는 output을 내게 된다. 그런데 resnet에선 input x를 가공하지 않고 그대로 더해주는 shortcut path가 추가되어있다. 결국 H(x) = F(x) + x라는 output을 얻게 되고 이를 최소화 하는 과정에서 x는 고정되어 있으니 F(x)만을 최소화 하게 된다. F(x) = H(x) - x로 다시 쓸 수 있고, 이 때 F(x)가 H(x)에서 x를 빼주고 남은 값이라하여 잔차(residual)란 이름이 붙은 것이다.

기존 network와 Residual block의 비교

 

Concept of RealFormer


RealFormer의 구조

RealFormer는 위 사진과 같은 구조를 갖고 있다. 기본적으로는 Post-LN과 유사하지만 우측에 direct path를 추가하여 이전 layer에서 온 raw attention score(=pre-softmax attention score)를 propagate 해준다. 바로 이 부분이 Resnet에서 shortcut과 비슷해 Residual Attention이란 이름이 붙었다. 

ResidualMultiHead attention의 수식 변화

이전 layer에서 raw attention score를 받아 처리하니 기존의 multihead attention에선 Q(query), K(key), V(value)만 받던 것에 Prev라는 term이 추가되었다. 바로 이 Prev가 raw attention score이다.

 

RealFormer의 contribution


그래서 RealFormer를 쓰면 도대체 무엇이 좋다는 말인가?

  • RealFormer는 기존 Transformer에서 slight change만을 요구하므로 손쉽게 기존의 Transformer를 대체 할 수 있다.
  • 기존의 Post-LN과 Pre-LN을 MLM(Masked Language Modeling)에서 outperform한다.
  • GLUE나 SQuAD 같은 data set을 대상으로 하는 downstream task에서 accuracy를 개선할 수 있다. (심지어 더 적은 pre-train epoch 수로도 말이다.)
  • Regularization effect를 부여한다. -> 망에 범용성 부여해 overfitting 억제, fast learning speed

 

Experiment 1 : Pre-trained model test


실험에선 BERT model을 기반으로 하여 다야한 model size(small~extra large)를 대상으로 실험을 진행하였다. accuracy 비교를 위해선 MLM(Masked Language Modeling)이 사용되었다. 참고로 MLM이란 input으로 주어진 text에서 특정 단어들을 mask시키고 문맥 정보를 바탕으로 이들을 유추해내는 것이다. 실험 결과 RealFormer는 기존의 두 baseline을 모두 outperform하는 것으로 나타났다. 그리고 이 gap은 모델의 사이즈가 커질수록 더 커졌다.

MLM accuracy after pre-trained

 

Experiment 2 : Downstream task


실험에선 downstream task를 가지고 성능평가를 하였다. 여기서 downstream task란 pre-train시킨 model을 가지고 추가적인 학습을 시켜 fine-tuning할 때 사용하는 task를 말한다. 예컨대, 기존의 pre-trained된 BERT를 사용해 감정 분석을 하는 모델을 만들고자 한다면, 긍정/부정 label이 달린 text data를 추가로 학습시켜야 한다. 이 때 긍정/부정 label이 달린 data를 대상으로 판별하는 작업이 바로 downstream task이다.

크게 2가지 level에서 평가를 하였다. GLUE data set을 사용해서 Sentence-level의 평가를, SQuAD data set을 사용해 Token-leve의 평가를 하였다. GLUE는 General Language Understanding Evaluation의 약자로 NLU task의 benchmark로 주로 사용된다. RealFormer는 2개의 baseline과 비교했을 때 평균 성능(Overall)에서 모두 outperform하는 결과를 보여준다. 개개의 task 별로 비교했을 때는 1~2개의 case만 제외하고는 모두 outperform한다.

GLUE result(수치들은 accuracy이고 뒤의 작은 수는 표준편차)

SQuAD는 Stanford Question Answering Dataset의 약자로, crowd working을 통해 question-answer의 pair로 구성한 dataset이다. RealFormer는 SQuAD를 사용한 token-level에서의 성능평가 실험에서 2개의 baseline을 모두 outperform하는 결과를 냈다.

SQuAD result(public은 기존 BERT 논문에서 Post-LN 결과를 비교를 위해 가져온 것, 수치들은 accuracy이고 뒤의 작은 수는 표준편차)

 

Research Question 1 : RealFormer는 half pre-training budge으로도 좋은 성능을 낼까?


연구진들은 위의 2개의 실험 이외에도 이런저런 궁금증들을 해소하기 위해 여러가지 부가적인 실험을 진행하였다. 첫 번째 의문은 바로 제한된 pre-training budge으로도, 정확히는 절반의 epoch 수로 pre-train을 시킨 경우에도 기존의 두 baseline보다 좋은 성능을 낼 수 있을까?에 대한 것이다. 실험 결과 500K의 epoch으로 학습시킨 RealFormer는 GLUE dataset에서 1M의 epoch으로 학습시킨 Post-LN을 이겼다. 또한 SQuAD dataset에서는 거의 match하는 성능을 보였다.

Downstream task result with different epochs between Post-LN and RealFormer

 

Research Question 2 : Residual attention의 regularization 효과는 dropout의 그것을 능가하는가?


초반에 RealFormer가 regularization 효과를 부여한다고 언급했다. regularization은 신경망 학습에서 굉장히 중요한 요소이다. 망에 범용성을 부여하고 overfitting을 방지하는 등 성능을 한층 더 높여주는 좋은 기법이기 때문이다. 그런데 연구진들이 궁금해했던 부분은 residual attention으로 얻을 수 있는 regularization 효과가 dropout의 그것과 다른 측면에서의 효과를 내는가?이다. 

MLM accuracy result for different dropout rate

위의 table에서 보면 기존의 두 baseline과 RealFormer를 가지고 dropout rate를 바꿔가며 성능을 측정해 비교하였다. 그런데 동일한 dropout rate에서 비교해보면 항상 RealFormer가 outperform하는 것을 알 수 있다. 다시 말해, 단순히 dropout rate를 증가시키는 것만으로는 residual attention이 줄 수 있는 regularization 효과를 누릴 수 없다는 것이다.

 

Research Question 3 : L번째 layer의 attention head들의 값은 L-1번째 layer의 그것들과 얼마나 유사한가?


아마 층을 거치며 value들의 distribution이 어떻게 변화하는지를 알아보기 위해 본 실험을 진행한 것 같다. 실험에선 vertically adjacent한 attention head들 간의 attention probability의 JSD (Jensen-Shannon Divergence) value를 사용하였다. 통계학에서 JSD value는 서로 다른 두 확률 분포 간의 similarity를 비교하도록 해준다.

이를 확률 분포로 나타냈는데 실험에선 8192개의 held-out development set의 token 정보를 바탕으로 학습을 진행하였다고 한다. 계산한 JSD value를 알아보기 쉽게 coloring을 하였는데 쉽게 생각해서 colder color쪽으로 갈수록 similar attention value를 갖는다고 생각하면 된다.(정확히는 red:median>0.75, yellow:0.25<median<=0.75, blue:median<0.25) 아래 figure를 보면 RealFormer가 lower JSD value를 갖는 경향이 있다. 이것이 바로 RealFormer가 약간의 regularization effect를 준다는 것을 보여주며 그래서 다른 두 개의 baseline 모델을 성능면에서 outperform할 수 있었던 것 같다고 논문에선 말하고 있다.

논문에서 자세한 설명은 없었지만 나의 생각으로 보았을 때, 두 layer간의 value 차이가 크지않다는 것은 그만큼 value들의 분포가 유사하다는 것이고 이것은 층을 지나면서 전과 다르게 한 쪽으로 치우친 결과가 나오지 않는다는 것이다. 따라서, 어느 정도 균일한 분포를 유지해주며 층을 지나는 과정이 regularization의 효과를 주는 듯하다.

JSD result of RealFormer
JSD result of Post-LN

 

결론


  • 본 논문은 기존의 Transformer 구조에 residual attention이라는 아이디어를 접목시켜 RealFormer라는 새로운 구조를 제안하였다.
  • 이는 BERT에서 사용되는 Transformer를 대체할 수 있다.
  • RealFormer는 pre-training과 downstream task에서 기존의 두 baseline 모델을 능가한다.
  • RealFormer는 regularization effect를 망에 부여한다.

 

 

728x90
300x250
Comments