지난 글에서 Transformer의 핵심적인 Building Block인 Attention을 정리해봤습니다. 이어서 Vaswani et al. (2017) 논문을 통해 현재 나오는 수 많은 모델의 기반이 되고 있는 Transformer를 차근차근 이해할 수 있도록 정리해보았습니다.
이번 글에서는 Transformer의 Encoder를 이해하기 위한 마지막 요소인 Multi-Head Attention에 대해 알아보겠습니다.
Multi-Head Self Attention
사실 Multi-Head (Self) Attention은 지난 글에서 다룬 Single-Head (Self) Attention을 여러 개 이용하는 것에 불과합니다. 하나의 Attention Value를 이용하는 대신 여러 개의 Attention Value를 이용하면 서로 다른 Subspace에 있는 Representation을 추출할 수 있을 것이라는 아이디어를 직접적으로 구현한 것이지요. 즉, 연산 과정은 h개의 $W_i^Q, W_i^K, W_i^V$를 이용하여 추출한 h개의 Query, Key, Value를 이용해 h개의 Attention Value를 계산하는 것에 불과합니다. 그 후에는 Attention Value를 Concatenate하고, $W^O$ 행렬을 이용하여 여러 Subspace에 있는 Representation을 하나로 합쳐주면서 동시에 Residual Connection이 가능하도록 차원을 맞춰줍니다.
$$\begin{align}\text{MultiHead}(Q,K,V)&=\text{Concat}(A_0, A_1, \cdots, A_h)W^O\\\text{where }head_i&=\text{Attention}(QW_i^Q,KW_i^K,VW_i^V)\end{align}$$
잘 생각해보면 $W_i^V$의 차원을 늘리면 Single-Head Attention과 Multi-Head Attention의 결과는 동일한 차원을 가질텐데 하나의 Attention 대신 여러 개의 Attention을 이용해야 할 이유는 무엇일까요? Transformer에서 강조하는 GPU를 통한 병렬 처리를 통해 연산 속도를 높이고자 한 것이 그 이유입니다.
Encoder with Multi-Head Self Attention
지금까지 Encoder Layer의 모든 요소를 살펴보았습니다. 마지막으로 전체적인 그림을 한 번 살펴보겠습니다.
전체 과정을 그림으로 보니 생각보다 복잡하지 않다는 느낌이 드실 겁니다. 🙂 다음 번에 다룰 Decoder는 Encoder의 구조에 2가지 Attention이 추가된 것에 불과하기 때문에 여기까지 이해하셨다면 Transformer를 거의 다 이해한 것과 마찬가지입니다!
잘못된 내용, 오타, 부정확한 문장 등 어떤 피드백이든 환영합니다. 감사합니다.
References
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017). Attention is all you need. Advances in neural information processing systems, 30. [Link]
- https://jalammar.github.io/illustrated-transformer/
'Data Science > Maching Learning' 카테고리의 다른 글
차근차근 이해하는 Transformer(5): Positional Encoding (0) | 2022.05.18 |
---|---|
차근차근 이해하는 Transformer(4): Masked Multi-Head Attention과 Decoder (2) | 2022.05.09 |
차근차근 이해하는 Transformer(2): Single-Head Attention으로 이해하는 Encoder (2) | 2022.05.05 |
차근차근 이해하는 Transformer(1): Scaled Dot-Product Attention (2) | 2022.05.02 |
[DL] 쉽게 풀어쓴 Attention Mechanism (2): Luong Attention (0) | 2022.04.27 |