topic★★★★★난이도 · 약 30분
Q, K, V — 질문하고, 검색하고, 읽다
Query=검색어, Key=색인, Value=내용 — 도서관 비유로 어텐션 공식을 이해한다.
#Q,K,V#Attention#Softmax#행렬 곱#멀티헤드
왜 배우는가
벡터, 행렬 곱셈, Softmax, 역전파 — 지금까지 배운 모든 것이 트랜스포머의 심장, '어텐션 메커니즘'에서 하나로 합쳐진다. AI가 '문맥을 이해한다'는 것은 수학적으로 어떤 뜻일까?
선형대수 + 확률 + 미적분이 트랜스포머의 심장에서 만납니다
| 단계 | 수학 | 설명 |
|---|---|---|
| Q = X × W_Q | 행렬 곱셈 (선형대수) | Query 생성 |
| K = X × W_K | 행렬 곱셈 (선형대수) | Key 생성 |
| V = X × W_V | 행렬 곱셈 (선형대수) | Value 생성 |
| Score = Q × Kᵀ | 유사도 계산 (선형대수) | 관련성 점수 |
| Score /= √d_k | 스케일링 (제곱근) | 값 안정화 |
| Weights = softmax() | 확률 분포 (소프트맥스) | 가중치 |
| Output = Weights × V | 가중 합 (선형대수) | 최종 출력 |
| 역전파로 W 업데이트 | 기울기 전파 (미적분) | 학습 |
도서관에서 책을 찾는 과정으로 이해합시다
| 역할 | 의미 |
|---|---|
| Query (Q) | 이 토큰이 무엇을 찾고 있는가? — 검색어 |
| Key (K) | 이 토큰이 무엇을 제공하는가? — 색인 |
| Value (V) | 이 토큰의 실제 정보는 무엇인가? — 책 내용 |
Attention(Q, K, V) = softmax(Q × Kᵀ / √d_k) × V Query와 Key의 유사도를 행렬 곱으로 계산하고, √d_k로 스케일링 후 소프트맥스로 확률 분포를 만들고, 그 가중치로 Value를 합산합니다.
| 멀티헤드 어텐션 | 역할 |
|---|---|
| 헤드 A | 문법 관계 (주어 ↔ 동사) |
| 헤드 B | 대명사 참조 ('그것' → '고양이') |
| 헤드 C | 위치적 근접성 |
| GPT-3 | 96개의 어텐션 헤드를 동시에 사용! |
Q, K, V 행렬로 어텐션 점수를 직접 계산해봅시다
Q, K, V 행렬로 어텐션을 처음부터 계산한다. 스케일링 → Softmax → 가중 합 3단계.
| Q, K, V 역할 (도서관 비유) | 설명 |
|---|---|
| Query (Q) | 이 토큰이 무엇을 찾고 있는가 — 검색어 |
| Key (K) | 이 토큰이 무엇을 제공하는가 — 색인 |
| Value (V) | 이 토큰의 실제 정보 — 책 내용 |
| 어텐션 공식 | 설명 |
|---|---|
| 유사도 계산 | Score = Q × Kᵀ (행렬 곱으로 관련성 측정) |
| 스케일링 | Score / √d_k (차원이 클수록 값이 커지는 것 방지) |
| 확률 변환 | Softmax → 0~1 사이의 가중치로 변환 |
| 정보 추출 | 가중치 × V → 관련 정보를 가중 합산 |
| 멀티헤드 어텐션 | 설명 |
|---|---|
| 여러 관점 | 각 헤드가 문법, 의미, 위치 등 다른 관계를 포착 |
| GPT-3 | 96개 어텐션 헤드를 동시에 사용 |
어텐션 = 선형대수(행렬 곱) + 확률(Softmax) + 미적분(역전파)의 집대성
실기 드릴 5문항
edit실기 드릴 · 단답형
셀프 어텐션에서 Query(Q)와 Key(K)를 행렬 곱하는 이유는?
check_circle실기 드릴 · OX
어텐션의 수학적 공식에는 선형대수(행렬 곱), 확률(소프트맥스), 미적분(역전파)이 모두 사용된다.
edit실기 드릴 · 단답형
어텐션 공식에서 √d_k로 나누는 이유는 무엇인가?
edit실기 드릴 · 단답형
Attention(Q, K, V) = softmax(Q × Kᵀ / √d_k) × ___ 의 빈칸은?
check_circle실기 드릴 · OX
Q, K, V는 각각 서로 다른 가중치 행렬(W_Q, W_K, W_V)로 생성된다.