🍭

(210816) Diary: Transformer(or Self-Attention)의 역할과 의미

210816 Diary Transformer
최근 NLP를 넘어 Computer Vision, RecSys 분야에서도 널리 쓰이는 Transformer이지만, 해당 모델을 사용하면서도 "이게 왜 잘 될까?"라는 고민을 진지하게 해 볼 기회가 없었던 것 같다.
그러던 중, 한 달 전 그리고 가까운 과거에 Transformer 혹은 Self-Attention의 역할과 의미에 대해 분석한 논문들을 보게 되었다. 비록 많은 수식들로 제대로 이해를 했는지 확신할 수 없지만, 평소와는 다른 시각으로 해당 모델들을 생각할 수 있었던 좋은 경험이었다.

(ICLR 2020) Are Transformers universal approximators of sequence-to-sequence functions?

이 논문은 Big Bird의 References에서 찾아 읽게 되었는데, 크게 다음과 같은 2가지 관점에서 Transformer를 분석한다.
Transformer가 Seq2Seq 함수의 역할을 실제로 수행하는가?? (Universal Approximation)
Turing Completeness of Transformer
또한, Self-Attention과 Feed-Forward 레이어의 역할을 설명하고, Dot-Product의 Self-Attention을 비슷한 역할(Contextual Mapping)을 수행하는 다른 연산들로 치환하여 성능 비교를 수행한다.

(ICML 2021) Attention is Not All You Need: Pure Attention Loses Rank Doubly Exponentially with Depth

이 논문은 최근 절친하고 똑똑한 친구와 함께 읽은 논문으로, Transformer에서 Self-Attention만으로는 충분한 Expressive Power를 가질 수 없으며, Skip-Connection, MLP 등의 다른 레이어들이 필수적으로 함께 해야함을 강조한다.
논문에서는 Transformer Layer의 각 Head들을 하나의 Gate로 정의하여, Transformer 전체에서 총 num(Head)^num(Layer) 만큼의 Path가 존재한다고 가정하고 분석을 수행한다.
논문에 의하면, 순수한 Self-Attention은 Transformer를 Depth에 Doubly Exponential하게 Rank-1 Matrix로 수렴시키며(충분한 표현력을 갖지 못 하는, 제대로 학습되지 않는), Skip-Connection과 MLP가 이 속도를 늦춰주는 역할을 한다고 설명한다. (Layer Normalization은 수렴을 늦추는 측면에서 도움이 되지 않는다고 함).
Skip-Connection은 Path 측면에서 다양한 경로를 추가함으로써 Transformer의 표현력을 증대시키며, MLP는 모델의 Lipschitz Constant를 조정함으로써 안정적인 학습을 가능케 한다고 생각할 수 있다.

소감..

두 편의 논문을 읽고 공통적으로 떠오른 생각은 "수식이 많고 어렵다"였다. 사실, Pre-Trained 되어 있는 BERT 계열의 모델들을 가져와서 End Task에 맞게 Fine-Tuning을 주로 수행하는 나에게 원론적으로 모델을 분석하는 것 자체가 낯선 일이었다. (논문도 실용적인 것들 위주로 읽었으니). 하지만, 이 분야에 몸 담고 있는 만큼 절대 소홀히 하지 않아야 하는 내용이고, 추후 Transformer를 잇는 새로운 Paradigm의 모델을 빠르게 받아들이는 데 필요하지 않을까?하는 생각도 들었다.