핵심 요약
- Attention은 단어 간 의미 관계를 동적으로 반영하는 구조이다.
- 각 단어는 Query(Q)와 Key(K)라는 시선을 만들어 서로를 평가하고,
- 그 중요도를 softmax(QKᵗ / T)로 정규화한 뒤,
- Value(V)에서 정보를 받아온다.
- Temperature는 이 집중의 강도를 조절하며,
- 최종적으로 각 단어는 문맥이 반영된 벡터로 다시 표현된다.
Q, K는 어떤 역할을 할까?
Transformer의 Attention은 다음과 같은 식으로 정의된다:
$$
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{T}\right) \cdot V
$$
여기서, 각 단어는 다음과 같은 시선을 갖는다:
$$
Q = X \cdot W_Q \
K = X \cdot W_K
$$
- Q (Query): 내가 정보를 얻고 싶은 상대는 누구인가?
- K (Key): 내가 상대에게 어떤 반응을 줄 수 있는가?
Q는 나의 시선, K는 그 시선에 비춰진 상대방의 모습이다.
Score Matrix의 계산
모든 단어 쌍의 중요도는 다음처럼 계산된다:
$$
\text{score}_{ij} = Q_i \cdot K_j
$$
하지만 실제로는 모든 토큰을 한 번에 처리한다:
$$
Q = X \cdot W_Q, \quad K = X \cdot W_K \\
\text{Score Matrix} = QK^T \in \mathbb{R}^{n \times n}
$$
이후 Softmax와 Temperature를 적용하여 Attention Matrix가 만들어진다.
Attention은 무엇을 바라보는가?
- $W_Q, W_K$는 모든 임베딩 정보를 보지 않는다.
- 대신, 특정 의미 축에만 집중하도록 학습된다.
Transformer는 전체가 아닌 의미에 집중된 시선을 만든다.
예시: 형용사적 의미에 집중한 Attention
예:
“슬픈 영화였다”
“아름다운 장면이었다”
→ 이때 $W_Q, W_K$는 Embedding 벡터의 요소 중 ‘슬픈’, ‘아름다운’과 같은 감정 표현을 담당하는 요소를 추출하는 방향으로 학습될 수 있다.
Attention은 문장을 해석하는 시선이며,
그 방향은 $W_Q, W_K$가 정의한다.
Temperature — Transformer의 창의성 조절기
Attention의 Softmax는 다음과 같다:
$$
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{T}\right) \cdot V
$$
- T ↓: 집중도 증가 → 보수적 해석
- T ↑: 분산도 증가 → 유연하고 창의적인 해석
Softmax는 어떻게 바뀔까?
$$
\text{softmax}(z_i) = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)}
$$
- $T \downarrow$ → 큰 값은 더 커지고, 작은 값은 더 작아짐 → 한쪽으로 쏠림
- $T \uparrow$ → 전체 값의 차이를 줄임 → 분산된 선택
시각화 예시
입력 $z = [2.0, 1.0, 0.1]$ 에 대해 Softmax가 Temperature에 따라 어떻게 바뀌는가:
| Temperature $T$ | Softmax 결과 (예시) |
|---|---|
| 0.5 | [0.85, 0.12, 0.03] |
| 1.0 | [0.66, 0.24, 0.10] |
| 2.0 | [0.45, 0.32, 0.23] |
V는 어떻게 정보를 바꾸는가?
$Q$와 $K$가 누가 중요한가를 정했다면,
$V$는 Embedding 벡터의 요소 중 어떤 요소를 받아올지를 제안한다.
$$
V = X \cdot W_V
$$
$W_V$는 모든 단어에 공통적으로 적용되는 정보 제공자 역할의 행렬이다.
Attention 가중합
Attention Matrix의 각 행은,
특정 토큰이 문장 속에서 주목하는 다른 토큰들을 나타낸다.
이 가중치로 $V$를 곱하면:
$$
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{T}\right) \cdot V
$$
→ 각 단어는 자신이 주목한 단어들의 정보를 가중합하여 문맥을 반영한 표현이 된다.
Residual Connection — 원래 나를 잊지 않기
Attention 결과는 입력과 더해진다:
$$
Z = \text{Input} + \text{Attention}(Q, K, V) \
\text{Output} = \text{LayerNorm}(Z)
$$
이 Residual 구조 덕분에
새로운 정보와 기존 표현이 균형 있게 합쳐진다.
다음 단계: Multi-Head Attention으로 확장
이제 이 Attention 구조는
여러 개의 시선(Head)을 병렬로 구성하여
Transformer의 핵심 구조인 Multi-Head Attention으로 이어진다.
'문학적 Transformer' 카테고리의 다른 글
| 문학적 Transformer - Prologue (0) | 2025.04.11 |
|---|---|
| 문학적 Transformer - Decoder (0) | 2025.04.11 |
| 문학적 Transformer - Encoder - Head (2) | 2025.04.11 |
| 문학적 Transformer - Embedding (0) | 2025.04.11 |