상세 컨텐츠

본문 제목

Attention과 Norm의 관계

딥러닝 논문리뷰

by 대학원생안첨지 2020. 12. 29. 10:08

본문

며칠간 포스팅을 하면서 느낀 결과로는 그냥 블로그에 제가 관심있는 논문을 위주로 작성하려구요.

(사실 계속 그래왔다는거!!!)

 

아무래도 블로그가 공개된 포스트들이다보니 남들에게 더 보여지기 쉬운 general한 논문들을 포스팅하고도 싶었는데, 

사실 수많은 논문리뷰 블로그들 중에서 누가 이걸보겠어욯ㅎㅎ

자기만족과 글쓰기 실력을 위한 블로그 정리이기 때문에 related work에서 필요한 자세한 용어설명은 건너뛰려구요 (attention이나 graph fourier변환이나 RESCAL, DistMult 등등)

 

결론 : minor할수도 있지만 내가 개인적으로 궁금한 최신 논문위주로 작성하려 합니다. 설마 보겠어?

 

그래서 오늘은 attention을 다른 시각으로 해석한 두 논문을 확인하고,

공통적으로 중요하게 여기는 embedding의 norm에 대해서 정리해보려고 합니다.

 

오늘 포스팅할 논문은

1) EMNLP 2020에서 나온 "Attention is Not Only a Weight: Analyzing Transformers with Vector Norms."

2) AAAI 2020에서 나온 "Implicit Kernel Attention."

입니다.

둘다 따끈따끈한 top conference죠?

 

이 두 논문은 공통적으로 기존 attention 방식에서 간과하는 점을 지적합니다.

이는 모두 norm에 관한 정보입니다.

 

1) Attention is not only a weight

에서는 재미난 문제를 언급합니다. 

이는 attention weight가 크다고 해서 실제 큰 영향력을 주지 않는다!!

오잉?! 실화인가? 싶으실텐데요

아랫 그림을 보세요

출치 : Attention is not only a weight

기존의 attention의 설계목표에 따르면 attention weight가 큰 1번이 큰 영향을 주어야하는데, 

실제로는 1번은 f(x1)의 norm이 작기 때문에 weighted vector의 크기가 평범하죠

그에 비해 attention weight가 그 다음으로 큰 3번은 f(x3)의 norm이 굉장히 크기 때문에, weighted vector의 norm도 굉장히 크다는 것을 볼 수가 있습니다.

 

이러한 점에 착안하여, attention is not only a weight에서는 object의 실제 영향력은 attention coefficient * the norm of the vector representing the object로 나타냅니다.

그리고 그랬을때 attention coefficient만으로 영향력을 나타낸 것보다 실제 영향력이 높음을 다음과 같이 보였습니다.

 

2) Implicit Kernel Attention

비슷한 시기 2020년에 또 다른 논문이 나오는데요!

attention coefficient도 해당 i,j object들의 embedding의 norm의 합과 관련있다

이렇게 attention coefficients들은 similarity 부분과 magnitude의 곱으로 구해지는 것을 확인할 수 있습니다.

본 논문은 각 부분 (1)similarity와 (2)magnitude를 설명하고 이들을 보완하는 방법을 제시합니다.

 

(1) similartiy부분에서는 similarity를 구할때 기존의 방법들이 euclidean distance의 exponential form을 사용하고 있는데, 이 euclidean distance의 exponential들의 가지는 단점들을 말합니다

i. 먼저 euclidean distance가 hidden feature를 표현하기에 부적절하다 (Geodesic Distance Estimation with Spherlets 참고)

ii. distance이므로 엄청나게 넓은 positive공간에서 mapping되고 이 공간은 부적절하다(??) 

이게 진짜 재밌는 분석인 것 같았습니다.

그럴듯 하죠. magnitude를 고려한 개념이 뒤에 따로 곱해지는데, 이 sim에서도 magnitude를 너무 고려해버리니까요

 

이를 대체하기 위해 implicit kernel을 사용한다고 하는데 잠시 이 부분은 해당 포스트에서는 생략할게요.

우리는 norm과의 연관성을 보고싶은거니까!

implicit kernel을 이용한 attention coefficient 정의

결과적으로 제안된 방법으로 정의된 attention coefficient들은 similarity를 고려할때 그 값이 기존의 RBF kernel처럼 positive의 넓은 공간이 아닌, negative도 함께하는 작은 범위로 mapping되는 것을 확인할 수 있습니다.

 

 

(2) 또한 본 논문에서는 attention과정에서 합할때 뿐만아니라, attention coefficient를 구하는 과정도 object들의 magnitude 즉,norm이 영향을 주는것을 보이고 이 norm을 L2-norm에서 Lp-norm으로 확장을하는 방식을 취합니다.

 

이 부분은 큰 contribution은 없는 것 같네요.

 

넵!!! 모두 끝났습니다.

저희는 본 posting에서 norm이 생각보다 attention과정에 엄청 큰 영향을 미치고 있음을 확인했습니다.

먼저 최종적으로 임베딩을 구할때, 각 노드의 실질적 영향력은 attention coefficient보다는 attention coefficient * norm이 적절하다는 점을 파악하였고,

이후 coefficient를 구하는 과정에서 norm의 영향을 줄이는 방법을 보았네요.

관련글 더보기

댓글 영역