ํธ๋์คํฌ๋จธ(Transformer). RNN์ ํ๊ณ๋ฅผ ์ดํ ์ ํ๋๋ก ๋ค์ง์ ๊ตฌ์กฐ. "Attention Is All You Need"๊ฐ ์ ๋ฅ๋ฌ๋์ ํ๋๋ฅผ ๋ฐ๊ฟจ๋์ง, ์ ํ ์ดํ ์ ์ ๋์ ์๋ฆฌ๋ฅผ ์์๊ณผ ๊ทธ๋ฆผ์ผ๋ก ์ ๋ฆฌํ๋ค. ์ค๋๋ GPT·BERT์ ์ถ๋ฐ์ ์ด๋ค.
๋ค์ด๊ฐ๋ฉฐ
RNN ๊ธ์์ ์ํ ์ ๊ฒฝ๋ง์ด ์์๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง ๋ดค๋ค. ๊ทธ๋ฐ๋ฐ RNN์๋ ๋ ๊ฐ์ง ๊ณ ์ง์ ์ธ ํ๊ณ๊ฐ ์์๋ค. 2017๋ , ๊ตฌ๊ธ์ด ๋ฐํํ ๋ ผ๋ฌธ "Attention Is All You Need"๋ ์ด ํ๊ณ๋ฅผ ์ดํ ์ ์ด๋ผ๋ ๋ฉ์ปค๋์ฆ ํ๋๋ก ์ ๋ฉด ๋ํํ๋ค. ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ด ํธ๋์คํฌ๋จธ(Transformer) ๋ค.
ํธ๋์คํฌ๋จธ๋ ๋จ์ํ ์ข์ ๋ชจ๋ธ ํ๋๊ฐ ์๋๋ค. ์ค๋๋ ์ฐ๋ฆฌ๊ฐ ์ฐ๋ GPT, BERT, Claude ๊ฐ์ ๊ฑฐ์ ๋ชจ๋ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ์ ๊ทผ๊ฐ์ด๋ค. ๋ฅ๋ฌ๋์ ํ๋ฆ์ ๋ฐ๊พผ ๊ตฌ์กฐ๋ผ ํด๋ ๊ณผ์ธ์ด ์๋๋ค.
ํธ๋์คํฌ๋จธ์ ํต์ฌ์ "์์๋๋ก ์ฒ๋ฆฌํ๋ค"๋ RNN์ ์ ์ ๋ฅผ ๋ฒ๋ฆฌ๊ณ , "๋ชจ๋ ๋จ์ด๋ฅผ ํ ๋ฒ์ ๋ณด๋ ์๋ก์ ๊ด๊ณ์ ์ง์คํ๋ค"๋ก ๋ฐ๊พผ ๊ฒ์ด๋ค.
์ด ๊ธ์์๋ RNN์ ํ๊ณ์์ ์ถ๋ฐํด, ๊ทธ๊ฑธ ํด๊ฒฐํ ์ ํ ์ดํ ์ ์ ์๋ฆฌ๋ฅผ ์์๊ณผ ํจ๊ป ์ ๋ฆฌํ๋ค.
RNN์ ๋ฌด์์ด ๋ฌธ์ ์๋
RNN์ ๋จ์ด๋ฅผ ์์๋๋ก ํ๋์ฉ ์ฒ๋ฆฌํ๋ค. ์ด ๋ฐฉ์์ ๋ ๊ฐ์ง ๊ทผ๋ณธ์ ํ๊ณ๊ฐ ์๋ค.
1. ์ฅ๊ธฐ ์์กด์ฑ ๋ฌธ์ (Long-term dependency) ๋ฌธ์ฅ์ด ๊ธธ์ด์ง๋ฉด ์์ชฝ ์ ๋ณด๊ฐ ๋ค๋ก ๊ฐ๋ฉด์ ํฌ๋ฏธํด์ง๋ค. "๋๋ ํ๋์ค์์ ์๋๊ณ ... (๊ธด ๋ฌธ์ฅ) ... ๊ทธ๋์ ๋๋ [ ]๋ฅผ ์ ์ฐฝํ๊ฒ ํ๋ค"์์ ๋น์นธ์ด 'ํ๋์ค์ด'์์ ์๋ ค๋ฉด ๋งจ ์ ์ ๋ณด๊ฐ ํ์ํ๋ฐ, RNN์ ๊ทธ ์ฌ์ด๋ฅผ ๊ฑฐ์น๋ฉฐ ์ ๋ณด๋ฅผ ์๋๋ค. LSTM·GRU๊ฐ ์ํํ์ง๋ง ์์ ํ ํ์ง ๋ชปํ๋ค.
2. ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ถ๊ฐ RNN์ ์ด์ ๋จ์ด์ ๊ณ์ฐ์ด ๋๋์ผ ๋ค์ ๋จ์ด๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค. ์์ฐจ์ ์ด๋ผ์ GPU์ ๋ณ๋ ฌ ์ฐ์ฐ์ ์ ๋๋ก ํ์ฉํ์ง ๋ชปํ๋ค. ๋ฐ์ดํฐ๊ฐ ๊ธธ์๋ก, ๋ชจ๋ธ์ด ํด์๋ก ํ์ต์ด ๋๋ ค์ง๋ค.
ํธ๋์คํฌ๋จธ๋ ์ด ๋์ ํ ๋ฒ์ ํด๊ฒฐํ๋ค. ๋ชจ๋ ๋จ์ด๋ฅผ ๋์์(๋ณ๋ ฌ๋ก) ์ฒ๋ฆฌํ๋ฉด์, ์ดํ ์ ์ผ๋ก ๋จ์ด ๊ฐ ๊ด๊ณ๋ฅผ ์ง์ ์ฐ๊ฒฐํ๋ค.
ํต์ฌ ์์ด๋์ด: ์ดํ ์ (Attention)
์ดํ ์ ์ ์ง๊ด์ ๋จ์ํ๋ค. ๋ฌธ์ฅ์ ์ดํดํ ๋, ๊ฐ ๋จ์ด๊ฐ ๋ค๋ฅธ ์ด๋ค ๋จ์ด์ ์ฃผ๋ชฉํด์ผ ํ๋์ง๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ด๋ค.
"๊ทธ ๋๋ฌผ์ ๊ธธ์ ๊ฑด๋์ง ์์๋ค. ๊ทธ๊ฒ์ด ๋๋ฌด ํผ๊ณคํ๊ธฐ ๋๋ฌธ์ด๋ค."
์ฌ๊ธฐ์ "๊ทธ๊ฒ"์ ๋ฌด์์ ๊ฐ๋ฆฌํฌ๊น? ์ฌ๋์ ์์ฐ์ค๋ฝ๊ฒ "๋๋ฌผ"์ด๋ผ๊ณ ์๋ค. ์ดํ ์ ์ ๋ฐ๋ก ์ด ์ฐ๊ฒฐ์ ์์น๋ก ๊ณ์ฐํ๋ค. "๊ทธ๊ฒ"์ด๋ผ๋ ๋จ์ด๊ฐ ๋ฌธ์ฅ์ ๋ค๋ฅธ ๋ชจ๋ ๋จ์ด์ ์ผ๋ง๋ ๊ด๋ จ ์๋์ง ์ ์๋ฅผ ๋งค๊ธฐ๊ณ , ๊ด๋ จ ๋์ ๋จ์ด("๋๋ฌผ")์ ๋ ํฐ ๊ฐ์ค์น๋ฅผ ์ค๋ค.
์ด๋ ๊ฒ ํ ๋ฌธ์ฅ ์์์ ๋จ์ด๋ค๋ผ๋ฆฌ ์๋ก ์ฃผ๋ชฉํ๋ ๊ฒ์ ์ ํ ์ดํ ์ (Self-Attention)์ด๋ผ ํ๋ค.
Query, Key, Value
์ ํ ์ดํ ์ ์ ๊ฐ ๋จ์ด๋ฅผ ์ธ ๊ฐ์ง ๋ฒกํฐ๋ก ๋ณํํ๋ฉฐ ์์ํ๋ค. ๊ฒ์ ์์คํ ์ ๋น์ ํ๋ฉด ์ดํด๊ฐ ์ฝ๋ค.
| ๋ฒกํฐ | ์ญํ | ๊ฒ์ ๋น์ |
| Query (Q) | ๋ด๊ฐ ์ฐพ๊ณ ์๋ ๊ฒ | ๊ฒ์์ฐฝ์ ์ ๋ ฅํ ์ง์์ด |
| Key (K) | ๊ฐ ๋จ์ด๊ฐ ๊ฐ์ง "๊ผฌ๋ฆฌํ" | ๋ฌธ์์ ์ ๋ชฉ/ํ๊ทธ |
| Value (V) | ์ค์ ๋ก ๊ฐ์ ธ์ฌ ์ ๋ณด | ๋ฌธ์์ ๋ด์ฉ |
๋์์ ์ด๋ ๋ค. ์ด๋ค ๋จ์ด์ Query๋ฅผ ๋ค๋ฅธ ๋ชจ๋ ๋จ์ด์ Key์ ๋น๊ตํด "์ผ๋ง๋ ์ ๋ง๋์ง(์ ์ฌ๋)"๋ฅผ ๊ตฌํ๋ค. ๊ทธ ์ ์ฌ๋๋ฅผ ๊ฐ์ค์น๋ก ์ผ์ ๊ฐ ๋จ์ด์ Value๋ฅผ ๊ฐ์คํฉํ๋ค. ๊ด๋ จ ๋์ ๋จ์ด์ ์ ๋ณด์ผ์๋ก ๋ ๋ง์ด ์์ด๋ ๊ฒ์ด๋ค.
์ดํ ์ ์์
์ด ๊ณผ์ ์ ํ ์ค์ ์์์ผ๋ก ์ ๋ฆฌํ ๊ฒ ํธ๋์คํฌ๋จธ์ ํต์ฌ์ด๋ค.
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
ํ๋์ฉ ๋ฏ์ด๋ณด์.
- $QK^T$ : Query์ Key์ ๋ด์ . ๋จ์ด๋ค ์ฌ์ด์ ์ ์ฌ๋(์ดํ ์ ์ ์)๋ฅผ ๊ตฌํ๋ค.
- $\sqrt{d_k}$ : Key ๋ฒกํฐ ์ฐจ์์ ์ ๊ณฑ๊ทผ์ผ๋ก ๋๋๋ค. ๊ฐ์ด ๋๋ฌด ์ปค์ ธ softmax๊ฐ ํ์ชฝ์ผ๋ก ์ ๋ฆฌ๋ ๊ฑธ ๋ง๋ ์ค์ผ์ผ๋ง์ด๋ค.
- $\text{softmax}$ : ์ ์๋ค์ ํฉ์ด 1์ธ ํ๋ฅ ๋ถํฌ๋ก ๋ฐ๊พผ๋ค. "์ด๋์ ์ผ๋ง๋ ์ฃผ๋ชฉํ ์ง"์ ๋น์จ์ด ๋๋ค.
- $\cdot V$ : ๊ทธ ๋น์จ๋ก Value๋ฅผ ๊ฐ์คํฉํ๋ค. ์ต์ข ์ ์ผ๋ก "์ฃผ๋ชฉํ ์ ๋ณด๊ฐ ์์ธ" ์ ํํ์ ์ป๋๋ค.

์์ฝํ๋ฉด, "Query์ Key๋ก ์ฃผ๋ชฉํ ์ ๋๋ฅผ ์ ํ๊ณ , ๊ทธ๋งํผ Value๋ฅผ ์๋๋ค"๋ ๊ฒ ์ ๋ถ๋ค. ์ด ์ฐ์ฐ์ด ํ๋ ฌ ๊ณฑ์ด๋ผ ๋ชจ๋ ๋จ์ด์ ๋ํด ํ ๋ฒ์(๋ณ๋ ฌ๋ก) ๊ณ์ฐ๋๋ค. RNN์ ์์ฐจ ์ฒ๋ฆฌ ํ๊ณ๊ฐ ์ฌ๊ธฐ์ ํ๋ฆฐ๋ค.
๋ฉํฐ ํค๋ ์ดํ ์ (Multi-Head Attention)
ํธ๋์คํฌ๋จธ๋ ์ดํ ์ ์ ํ ๋ฒ๋ง ํ์ง ์๋๋ค. ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์์ ๋๋ฆฐ๋ค. ์ด๊ฑธ ๋ฉํฐ ํค๋ ์ดํ ์ ์ด๋ผ ํ๋ค.
์
๋ ฅ → [ํค๋ 1] ๋ฌธ๋ฒ์ ๊ด๊ณ์ ์ฃผ๋ชฉ
[ํค๋ 2] ์๋ฏธ์ ๊ด๊ณ์ ์ฃผ๋ชฉ
[ํค๋ 3] ๋ฉ๋ฆฌ ๋จ์ด์ง ๋จ์ด ๊ด๊ณ์ ์ฃผ๋ชฉ
...
→ ๊ฒฐ๊ณผ๋ฅผ ํฉ์ณ์ ์ข
ํฉ
๊ฐ ํค๋๊ฐ ์๋ก ๋ค๋ฅธ ๊ด์ ์์ ๋จ์ด ๊ด๊ณ๋ฅผ ํ์ตํ๋ค. ํ ํค๋๋ ์ฃผ์ด-๋์ฌ ๊ด๊ณ๋ฅผ, ๋ค๋ฅธ ํค๋๋ ์์ ๊ด๊ณ๋ฅผ ๋ณด๋ ์์ด๋ค. ์ฌ๋ฌ ์์ ์ผ๋ก ๋ฌธ์ฅ์ ๋์์ ๋ถ์ํ ๋ค ํฉ์น๋ฏ๋ก, ๋จ์ผ ์ดํ ์ ๋ณด๋ค ํ๋ถํ ํํ์ ์ป๋๋ค.
# PyTorch์๋ ๋ฉํฐ ํค๋ ์ดํ
์
์ด ๋ด์ฅ๋ผ ์๋ค
import torch.nn as nn
attention = nn.MultiheadAttention(embed_dim=512, num_heads=8)
# embed_dim: ๋จ์ด ๋ฒกํฐ ์ฐจ์, num_heads: ํค๋ ๊ฐ์
output, weights = attention(query, key, value)
์์ ์ ๋ณด๋ ์ด๋ป๊ฒ? — ์์น ์ธ์ฝ๋ฉ
์ฌ๊ธฐ์ ์๋ฌธ์ด ์๊ธด๋ค. ํธ๋์คํฌ๋จธ๋ ๋ชจ๋ ๋จ์ด๋ฅผ ํ ๋ฒ์ ์ฒ๋ฆฌํ๋๋ฐ, ๊ทธ๋ฌ๋ฉด ๋จ์ด์ ์์๋ ์ด๋ป๊ฒ ์๊น? "๋๋ ๋๋ฅผ ์ข์ํด"์ "๋๋ฅผ ๋๋ ์ข์ํด"๋ฅผ ๊ตฌ๋ถํ๋ ค๋ฉด ์์น ์ ๋ณด๊ฐ ํ์ํ๋ค.
ํธ๋์คํฌ๋จธ๋ ๊ฐ ๋จ์ด์ ์๋ฒ ๋ฉ์ ์์น ์ธ์ฝ๋ฉ(Positional Encoding) ์ ๋ํด์ ์์ ์ ๋ณด๋ฅผ ์ฃผ์ ํ๋ค. ์ ๋ ผ๋ฌธ์ ์ฌ์ธ·์ฝ์ฌ์ธ ํจ์๋ฅผ ์ผ๋ค.
$$PE_{(pos, 2i)} = \sin\left(\frac{pos}{10000^{2i/d}}\right)$$
๊ฐ ์์น๋ง๋ค ๊ณ ์ ํ ํจํด์ ๊ฐ์ ๋ํด์ค์ผ๋ก์จ, ๋ชจ๋ธ์ด "์ด ๋จ์ด๊ฐ ๋ช ๋ฒ์งธ์ธ์ง"๋ฅผ ์ ์ ์๊ฒ ๋๋ค. ์์ฐจ ์ฒ๋ฆฌ๋ฅผ ํฌ๊ธฐํ ๋์ , ์์น ์ ๋ณด๋ฅผ ๋ช ์์ ์ผ๋ก ๋ํด์ฃผ๋ ๋ฐฉ์์ด๋ค.
ํธ๋์คํฌ๋จธ์ ์ ์ฒด ๊ตฌ์กฐ
์ ๋ ผ๋ฌธ์ ํธ๋์คํฌ๋จธ๋ ์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ๋ค.
- ์ธ์ฝ๋: ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ฐ์ ์๋ฏธ๋ฅผ ๋ด์ ํํ์ผ๋ก ๋ณํ (์ ํ ์ดํ ์ + ํผ๋ํฌ์๋ ์ ๊ฒฝ๋ง ๋ฐ๋ณต)
- ๋์ฝ๋: ์ธ์ฝ๋์ ํํ๊ณผ ์ง๊ธ๊น์ง ์์ฑํ ๋จ์ด๋ฅผ ๋ณด๊ณ ๋ค์ ๋จ์ด๋ฅผ ์์ฑ
์ด ๊ตฌ์กฐ์์ ๊ฐ๋ผ์ ธ ๋์จ ๊ฒ์ด ์ค๋๋ ์ ๋ชจ๋ธ๋ค์ด๋ค.
| ๋ชจ๋ธ ๊ณ์ด | ์ฌ์ฉ ๊ตฌ์กฐ | ๋ํ ๋ชจ๋ธ | ์ํ๋ ์ผ |
| ์ธ์ฝ๋๋ง | ์๋ฐฉํฅ ์ดํด | BERT | ๋ถ๋ฅ, ๊ฒ์, ์ดํด |
| ๋์ฝ๋๋ง | ๋ค์ ํ ํฐ ์์ฑ | GPT, Claude | ํ ์คํธ ์์ฑ |
| ์ธ์ฝ๋-๋์ฝ๋ | ๋ณํ | T5, BART | ๋ฒ์ญ, ์์ฝ |
์ง๊ธ ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ChatGPT, Claude๋ ๋๋ถ๋ถ ๋์ฝ๋ ๊ธฐ๋ฐ์ด๋ค. "๋ค์์ ์ฌ ๋จ์ด"๋ฅผ ์์ธกํ๋ ๋ฐฉ์์ผ๋ก ๊ธ์ ์์ฑํ๋ค.
๋ง์น๋ฉฐ
ํธ๋์คํฌ๋จธ๊ฐ ๋ฅ๋ฌ๋์ ํ๋๋ฅผ ๋ฐ๊พผ ๊ฑด, RNN์ ๋ ํ๊ณ(์ฅ๊ธฐ ์์กด์ฑ, ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ถ๊ฐ)๋ฅผ ์ดํ ์ ์ด๋ผ๋ ๋จ์ผ ๋ฉ์ปค๋์ฆ์ผ๋ก ๋์์ ํ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ชจ๋ ๋จ์ด๋ฅผ ํ ๋ฒ์ ๋ณด๋ฉด์ ์๋ก์ ๊ด๊ณ์ ์ง์คํ๋ค๋ ๋ฐ์์ ์ ํ์ด, ๋ ํฌ๊ณ ๋ ๋๋ํ ๋ชจ๋ธ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
ํต์ฌ๋ง ๋ค์ ์ง์ผ๋ฉด ์ด๋ ๋ค. ์ ํ ์ดํ ์ ์ Query·Key·Value๋ก ๋จ์ด ๊ฐ ์ฃผ๋ชฉ๋๋ฅผ ๊ณ์ฐํ๊ณ ($\text{softmax}(QK^T/\sqrt{d_k})V$), ๋ฉํฐ ํค๋๋ก ์ฌ๋ฌ ๊ด์ ์ ๋์์ ๋ณด๋ฉฐ, ์์น ์ธ์ฝ๋ฉ์ผ๋ก ์์๋ฅผ ๋ณด์ํ๋ค. ์ด ๋จ์ํ๋ฉด์ ๊ฐ๋ ฅํ ๊ตฌ์กฐ ์์ GPT์ BERT, ๊ทธ๋ฆฌ๊ณ ์ค๋๋ ์ LLM์ด ๋ชจ๋ ์ ์๋ค.
๋ค์์ LLM์ด ์ด๋ป๊ฒ ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๋์ง, ํน์ ์ด ํธ๋์คํฌ๋จธ๊ฐ ์ด๋ป๊ฒ ๊ฑฐ๋ ์ธ์ด ๋ชจ๋ธ๋ก ํ์ฅ๋๋์ง๋ฅผ ๋ ๋ค๋ค๋ณด๋ฉด ์ข๊ฒ ๋ค.
์ฐธ๊ณ ์ถ์ฒ
- Vaswani et al., "Attention Is All You Need" (2017) — https://arxiv.org/abs/1706.03762
- Jay Alammar, "The Illustrated Transformer" — https://jalammar.github.io/illustrated-transformer/
- PyTorch: MultiheadAttention — https://pytorch.org/docs/stable/generated/torch.nn.MultiheadAttention.html
'๐ Data Science & AI > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ์ํ ์ ๊ฒฝ๋ง(Recurrent Neural Network, RNN) (0) | 2026.03.02 |
|---|---|
| ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(Convolutional Neural Network, CNN) (0) | 2026.03.02 |
| ๋ค์ธต ํผ์ ํธ๋ก (Multilayer Perceptron, MLP) (0) | 2026.03.02 |