셀프 어텐션
셀프 어텐션
셀프 어텐션(Self-Attention)은 입력 시퀀스의 각 요소가 동일한 시퀀스 내의 모든 다른 요소와 어텐션을 계산하여, 시퀀스 내 모든 위치 간의 의존성을 동시에 포착하는 메커니즘이다.
핵심
- Q, K, V 모두 같은 입력 시퀀스에서 생성된다 (자기 자신에 어텐션)
- 거리에 상관없이 시퀀스 내 모든 위치 쌍 간의 관계를 직접 계산한다
- 트랜스포머의 각 층에서 멀티헤드 셀프 어텐션(Multi-Head Self-Attention)으로 적용된다
- 디코더에서는 미래 토큰을 보지 못하게 인과 마스크(causal mask)를 적용한다
- RNN과 달리 모든 위치를 병렬로 처리할 수 있어 훈련이 빠르다
수식
\[\text{SelfAttn}(X) = \text{softmax}\!\left(\frac{XW^Q(XW^K)^T}{\sqrt{d_k}}\right)XW^V\]