본문 바로가기

문학적 Transformer

문학적 Transformer - Encoder - Attention

핵심 요약

  • 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