콘텐츠로 바로가기

Attention Mechanism

Transformer의 핵심: 입력 시퀀스의 각 토큰이 다른 모든 토큰과 관계를 계산하여 문맥 의존적 표현을 생성. 동일 입력에 대해 여러 Attention을 병렬 계산 후 연결: 각 헤드가 서로 다른 의미 관계(통사, 의미, 거리 등)를 포착. O(n²·d) —...

sys.entry
M

Me

hyunyoun's Blog

machine-learning-ai1 min read

Attention Mechanism

Transformer의 핵심: 입력 시퀀스의 각 토큰이 다른 모든 토큰과 관계를 계산하여 문맥 의존적 표현을 생성.

Scaled Dot-Product Attention

CODE
Attention(Q, K, V) = softmax(QK^T / √d_k) · V
  • Q(Query): 현재 토큰이 무엇을 찾는가
  • K(Key): 각 토큰이 어떤 정보를 보유하는가
  • V(Value): 실제 전달할 정보
  • √d_k 스케일링: 내적 값이 커질수록 softmax 기울기 소실 방지

Multi-Head Attention

동일 입력에 대해 여러 Attention을 병렬 계산 후 연결:

CODE
MultiHead(Q, K, V) = Concat(head_1, ..., head_h) · W_O

각 헤드가 서로 다른 의미 관계(통사, 의미, 거리 등)를 포착.

Self-Attention vs Cross-Attention

유형 Q 출처 K/V 출처 용도
Self-Attention 같은 시퀀스 같은 시퀀스 인코더/디코더 내부
Cross-Attention 디코더 인코더 출력 seq2seq 번역

계산 복잡도

O(n²·d) — 시퀀스 길이 n에 제곱 비례. 긴 컨텍스트의 병목 원인. Flash Attention 등 근사 기법으로 완화.

연결 노트