IT Study/인공지능 관련

🤖 셀프 어텐션(Self Attention)

cs_bot 2025. 3. 30. 23:14

1. 서론: 딥러닝 기반 시퀀스 모델링의 핵심 메커니즘으로 부상한 Self Attention

  • 기존 순환 신경망(RNN, LSTM) 기반 구조의 연산 병렬화 한계, 장기 의존성 문제 등을 해결하기 위한 대안으로 등장함
  • 입력 시퀀스 내 각 요소가 다른 모든 요소들과 상호작용할 수 있도록 설계되어, 문맥 정보의 전역적 고려가 가능함
  • Transformer, BERT, GPT 등 최신 모델의 핵심 구성 요소로 사용되며, 자연어 처리뿐 아니라 이미지, 음성, 시계열 등 다양한 분야에 적용 중임
  • 입력 시퀀스의 각 토큰 간의 관계를 정량적으로 계산하고, 이를 통해 중요한 정보에 집중하는 메커니즘임

2. Self Attention의 개념 및 동작 원리

2.1 기본 개념

  • Self Attention은 동일한 시퀀스 내 토큰 간 유사도 및 상호작용을 계산하여 문맥을 반영한 표현을 생성함
  • 입력 임베딩으로부터 Query, Key, Value 세 가지 벡터를 생성한 뒤, Query와 Key 간 유사도를 계산하여 Value에 가중치를 부여함
  • 특정 단어가 문장에서 다른 단어들과 어떤 연관성을 갖는지 정량적으로 판단 가능함

2.2 동작 절차 요약

  1. 입력 임베딩 $X \in \mathbb{R}^{n \times d}$로부터 Query ($Q$), Key ($K$), Value ($V$) 생성

    • $Q = XW^Q$, $K = XW^K$, $V = XW^V$
    • $W^Q, W^K, W^V$는 각각의 학습 가능한 가중치 행렬이며, $W^Q, W^K, W^V \in \mathbb{R}^{d \times d_k}$
  2. Query와 Key 간 내적 연산을 통해 Attention Score 행렬 계산

    • $S = QK^T$
    • 각 점수는 해당 Query가 각 Key와 얼마나 유사한지를 나타냄
  3. 내적 결과를 $\sqrt{d_k}$로 나누어 스케일 조정 후 Softmax 적용

    • 정규화된 유사도 값은 다음과 같이 계산됨
    • $A = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)$
  4. 정규화된 Attention Score를 Value에 곱하여 최종 출력 생성

    • $Z = AV$
    • 결과적으로 $Z$는 문맥 정보를 반영한 새로운 임베딩 표현임

3. 구조적 특징

3.1 병렬 연산 가능

  • RNN 기반 구조와 달리 시퀀스를 순차적으로 처리하지 않으므로 병렬 연산 가능
  • GPU 및 TPU 환경에서 학습 속도 및 효율성 확보 가능

3.2 장기 의존성 문제 해결

  • Self Attention은 모든 토큰 쌍의 관계를 고려하므로 시퀀스 길이에 관계없이 의존성 유지 가능
  • RNN의 Gradient Vanishing 현상 방지에 효과적임

3.3 위치 정보 반영 필요

  • Attention 메커니즘 자체는 위치 정보를 내포하지 않으므로 Positional Encoding 등의 방법으로 보완 필요
  • 일반적으로 $\sin$과 $\cos$ 함수를 사용한 주기적 함수 기반 위치 인코딩이 활용됨

4. Multi-Head Attention과의 관계

  • Self Attention을 단일 Head로 수행할 경우 표현력 한계 존재
  • 여러 개의 Head를 통해 서로 다른 하위 공간에서 Attention을 병렬로 수행한 뒤 결과를 종합하는 방식 사용

$$
\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \dots, \text{head}_h)W^O
$$

  • 각 Head는 다음과 같이 계산됨
    $$
    \text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)
    $$

  • 다양한 의미 관계를 병렬적으로 학습 가능하며 표현력 증가


5. 활용 사례

5.1 자연어 처리

  • BERT, GPT, T5 등의 언어 모델은 Self Attention을 기반으로 문맥 정보 반영
  • 문장 내 단어 관계, 문맥 기반 의미 추론 등에 효과적임

5.2 컴퓨터 비전

  • Vision Transformer(ViT)에서는 이미지를 패치로 분할하여 시퀀스로 간주한 후 Self Attention 적용
  • 기존 CNN 구조 없이도 이미지 인식 및 분류 성능 확보 가능함

5.3 시계열 분석

  • 주가 예측, ECG 분석, 기상 데이터 처리 등 시계열 영역에도 응용
  • 기존 LSTM 기반 모델을 대체하거나 보완하며 높은 정확도 달성

5.4 멀티모달 학습

  • 텍스트-이미지, 텍스트-음성 등 서로 다른 modality 간 상호작용 분석에 사용됨
  • 예: CLIP 모델에서는 텍스트와 이미지 간 연관도를 Self Attention 기반으로 계산함

6. 한계점 및 개선 방향

6.1 계산 복잡도 문제

  • Self Attention은 입력 길이 $n$에 대해 $O(n^2)$의 연산 복잡도 발생
  • 긴 시퀀스나 고해상도 이미지 처리 시 연산 부담 증가

6.2 개선 모델 등장

  • 효율성 확보를 위한 다양한 경량화 구조 제안됨
    • Sparse Attention: 일부 토큰 간 상호작용만 고려
    • Linformer: 저차원 공간으로 투영하여 연산량 감소
    • Performer: 커널 기반 근사 기법 도입
    • Longformer: Local + Global Attention 혼합 구조로 메모리 절약 가능

7. 결론: Self Attention의 기술적 의의와 확장성

  • Self Attention은 단일 시퀀스 내부 요소들 간의 관계를 효과적으로 추론할 수 있는 메커니즘으로, 정보의 흐름을 선형 구조가 아닌 상호작용 기반으로 재정의함
  • 병렬 연산 가능성과 장기 의존성 유지 능력으로 인해 기존 시퀀스 모델을 대체할 핵심 구성 요소로 자리잡음
  • 다양한 확장 구조와 함께 멀티모달 처리, 이미지 처리, 시계열 등으로 확장되고 있으며, 향후 대규모 범용 AI 모델 개발의 기반 기술로 지속 발전할 것으로 예상됨