The importance of this paper
ํ์ฌ ๋ง์ Language model๋ค์ ๊ธฐ๋ฐ์ด ๋์ด์ฃผ๊ณ ์๋ Transformer, ์ด Transformer์ ๋ฐ๋ช ์ผ๋ก NLP ๋ถ์ผ๋ ์์ฒญ๋ ๋ฐ์ ์ ์ด๋ฃฉํ์๋ค. ๋ํ์ ์ผ๋ก BERT์ GPT๊ฐ ๊ฐ๊ฐ Transformer์ Encoder์ Decoder์ ์ด์ฉํ์ฌ ์ ์๋์๋ค. ๋ณธ ๋ธ๋ก๊ทธ์ ์ด์ ํฌ์คํธ๋ค์์ ๋ค๋ค๋ Language Model paper review๋ฅผ ์ฝ์ด๋ณด๊ธฐ ์ ์ ์ด ํฌ์คํธ๋ฅผ ์ ํ์ผ๋ก ์ฝ์ด๋ณด๊ธธ ๋ฐ๋๋ค. ์๋ํ๋ฉด ์ด Transformer์ ๋ํด ์์ธํ๊ฒ ์ดํด๋ฅผ ํด์ผ๋ง ์ด ๋ชจ๋ธ๋ค์ ์ดํดํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ฉด ์ด๋ฒ ํฌ์คํธ๋ฅผ ์์ํด๋ณด๊ฒ ๋ค.
$($2023.02.09 ์ถ๊ฐ$)$
Transformer ๊ตฌํ ์ฝ๋ ์ค์ต
Table of Contents
1. Introduction
2. Model Architecture
2-1. Encoder and Decoder Stacks
2-2. Attention
2-3. Position-wise Feed-Forward Networks
2-4. Embeddings & Softmax
2-5. Positional Encoding
3. Why Self-Attention?
4. ์ฝ๊ฒ ์ดํดํ๋ Transformer(Alamar ๋ธ๋ก๊ทธ)
1. Introduction
์ด ๋ ผ๋ฌธ์ด ๋ฐํ๋์์ ์์ ์๋ ๋ง์ NLP model๋ค์ด attention ๋ฉ์ปค๋์ฆ๊ณผ ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ํฌํจํ๋ ๋ฐ๋ณต๋๋ ์ ๊ฒฝ๋ง ๋๋ ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ํ์ง๋ง, ์ด ๋ ผ๋ฌธ์์๋ ๋ฐ๋ณต์ ์ ๊ฒฝ๋ง๊ณผ ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง์ ํฌํจํ์ง ์๊ณ ์ค๋ก์ง attention ๋ฉ์ปค๋์ฆ๋ง์ ์ฌ์ฉํ architecture์ ์ ๋ณด์๋ค.
recurrent model์ ์ผ๋ฐ์ ์ผ๋ก ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์ํ์ค์ ๊ธฐํธ ์์น๋ฅผ ๋ฐ๋ผ ๊ณ์ฐ์ ๊ณ ๋ คํ๋ค. ๊ณ์ฐ ์๊ฐ์ ๋จ๊ณ์ ์์น๋ฅผ ์ ๋ ฌํ๋ฉด ์ด์ ์๋ ์ํ h_t−1 ๋ฐ ์์น t์ ๋ํ ์ ๋ ฅ์ ํจ์๋ก ์๋ ์ํ h_t ์ํ์ค๊ฐ ์์ฑ๋๋ค. ์ด ๋ณธ์ง์ ์ผ๋ก ์์ฐจ์ ์ธ ํน์ฑ์ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ์ด ์์ ๊ฐ์ ์ผ๊ด ์ฒ๋ฆฌ๋ฅผ ์ ํํ๊ธฐ ๋๋ฌธ์ ๋ ๊ธด ์ํ์ค ๊ธธ์ด์์ ์ค์ํด์ง๋ ํ๋ จ ์์ ๋ด ๋ณ๋ ฌํ๋ฅผ ๋ง๋๋ค. ์ต๊ทผ์ ์ฐ๊ตฌ๋ค์ด ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๋ง์ ๋ ธ๋ ฅ์ ํ์ง๋ง, ์์ง sequential computation์ ๋ํ ์ ์ฝ์ด ๋จ์์๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด attention ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๊ธฐ ์์ํ๋๋ฐ, ์ค์ ๋ก๋ ๋ง์ ๋ถ์ผ์์ ์ ๋ ฅ ์ํ์ค์ ์ถ๋ ฅ ์ํ์ค ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์๊ฐํ์ง ์๊ณ dependencies๋ฅผ ๋ชจ๋ธ๋งํ ์ ์๊ฒ ๋์์คฌ๋ค.
2. Model Architecture
๋ ผ๋ฌธ์์ ์ธ์ฝ๋๋ ๊ธฐํธ ํํ์ ์ ๋ ฅ ์ํ์ค(x_1, ... , x_n)์ ์ฐ์ ํํ z = (z_1, ..., z_n)์ ์ํ์ค์ ๋งคํํ๋ค. z๊ฐ ์ฃผ์ด์ง๊ฒ ๋๋ฉด, ๋์ฝ๋๋ ํ ๋ฒ์ ํ symbol์ฉ ์ถ๋ ฅ ์ํ์ค์ธ (y_1, ... , y_m)์ ์ถ๋ ฅํ๋ค. ๊ฐ๊ฐ์ ์คํ ์ ๋ํด ๋ชจ๋ธ์ auto-regressiveํ๊ณ , ์ด์ ์ ์์ฑ๋ symbol์ ์ถ๊ฐ์ ์ธ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ค.
Transformer๋ ๋ค์์ ๊ทธ๋ฆผ 1๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅธ๋ค. ์ ๋ฐ์ ์ธ architecture๋ stacked self-attention๊ณผ poinst-wise ๊ณ์ธต์ ์ฌ์ฉํ๊ณ , fully connected ๊ณ์ธต์ด ์ธ์ฝ๋์ ๋์ฝ๋ ๊ฐ๊ฐ์ ์ฌ์ฉ๋๋ค. ๋ค์์ ๊ทธ๋ฆผ 1์ ๋งค์ฐ ์ค์ํ ๋ด์ฉ์ด๋ฏ๋ก ๋ ผ๋ฌธ์ ๋ณด๋ฉด์ ๊ตฌ์กฐ๊ฐ ๊ธฐ์ต์ด ์ ๋ ๋, ๋ค์ ๋ณด๋ฉด์ ๋ณต์ตํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋ค.
2-1. Encoder and Decoder Stacks
Encoder: ์ธ์ฝ๋๋ N = 6์ ๋์ผํ ๊ณ์ธต์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ๊ฐ์ ๊ณ์ธต์ ๋ ๊ฐ์ sub-๊ณ์ธต์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ฒซ ๋ฒ์งธ๋ multi-head self-attention์ด๊ณ , ๋ ๋ฒ์งธ๋ position-wise fully connected feed-forward network์ด๋ค. ๋ ผ๋ฌธ์์๋ residual connection์ ๊ฐ๊ฐ์ sub-๊ณ์ธต์ ์ฌ์ฉํ๊ณ ๊ณ์ธต ์ ๊ทํ๋ฅผ ์งํํ์๋ค. ๋ฐ๋ผ์, ๊ฐ๊ฐ์ sub-๊ณ์ธต์ ์ถ๋ ฅ์ LayerNorm(x + Sublayer(x))์ด๊ณ , ์ฌ๊ธฐ์ Sublayer(x)์ sub-๊ณ์ธต ์์ ์ ๋ํด ์ฌ์ฉ๋๋ ํจ์์ด๋ค. ์ด๋ฌํ residual connection์ ์ ์ฉํ๊ฒ ํ๊ธฐ ์ํด, ๋ชจ๋ธ์ ๋ชจ๋ sub-๊ณ์ธต ๋ฟ๋ง ์๋๋ผ embedding ๊ณ์ธต์ ์ถ๋ ฅ์ d_model = 512 ์ฐจ์์ผ๋ก ์ฐ์ถํ๊ฒ ๋๋ค.
Decoder: ๋์ฝ๋ ๋ํ N = 6์ธ ๋์ผํ ๊ณ์ธต์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ถ๊ฐ์ ์ผ๋ก ๊ฐ๊ฐ์ ์ธ์ฝ๋์ ๋ sub-๊ณ์ธต์ด ๋์ฝ๋์ ์ธ ๋ฒ์งธ sub-๊ณ์ธต์ ๋ค์ด๊ฐ๊ฒ ๋๋ค. ์ด ๋์ฝ๋์ ์ธ ๋ฒ์งธ sub-๊ณ์ธต์ ์ธ์ฝ๋ ์คํ์ ์ถ๋ ฅ์ multi-head attention์ ์ํํ๋ค. ์ธ์ฝ๋์ ๋น์ทํ๊ฒ, ๋์ฝ๋์์๋ ๊ฐ๊ฐ์ sub-๊ณ์ธต์ residual connection์ ์ฌ์ฉํ๊ณ ๊ณ์ธต ์ ๊ทํ๋ฅผ ์งํํ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ผ๋ฌธ์์๋ ๊ฐ๊ฐ์ ๋์ฝ๋์ sub-๊ณ์ธต์ self-attention์ ์์ ํ์ฌ position์ด ๋ค์์ position์ attendingํ์ง ๋ชปํ๋๋ก ๋ฐฉ์งํ์๋ค. ์ถ๋ ฅ ์๋ฒ ๋ฉ์ด ํ ์์น๋งํผ offset๋๋ค๋ ์ฌ์ค๊ณผ ๊ฒฐํฉ๋ ์ด ๋ง์คํน์ ์์น i์ ๋ํ ์์ธก์ด i๋ณด๋ค ์์ ์์น์์ ์๋ ค์ง ์ถ๋ ฅ์๋ง ์์กดํ ์ ์๋๋ก ํ๋ค.
2-2. Attention
attention ํจ์๋ query(์ง๋ฌธ) ๋ฐ key-value(์ ๋ต) ์ ์งํฉ์ ์ถ๋ ฅ์ ๋งคํํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค. ์ฌ๊ธฐ์ query, keys, values ๋ฐ output์ ๋ชจ๋ ๋ฒกํฐ์ด๋ค. ์ถ๋ ฅ์ ๊ฐ์ ๊ฐ์ค์น ํฉ๊ณ๋ก ๊ณ์ฐ๋๋ฉฐ, ์ฌ๊ธฐ์ ๊ฐ ๊ฐ์ ํ ๋น๋ ๊ฐ์ค์น๋ query์ ํด๋น key์ ํธํ์ฑ ํจ์์ ์ํด ๊ณ์ฐ๋๋ค.
Scaled Dot-Product Attention
๋ ผ๋ฌธ์์๋ Transformer์์ ์ฌ์ฉ๋ ํน์ ํ attention์ 'Scaled Dot-Product Attention' ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ด attention์ ์ ๋ ฅ์ผ๋ก query๋ค๊ณผ ์ฐจ์ d_k์ keys, ์ฐจ์ d_v์ values๋ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ทธ ๋ค์์ ์ด attention์ values์ ๋ํ ๊ฐ์ค์น๋ฅผ ์ป๊ธฐ ์ํด query์ ๋ชจ๋ keys์ ๋ํด ๋ด์ ์ ์งํํ๊ณ , ๊ฐ๊ฐ์ sqrt(d_k)๋ก ๋๋ ๋ค์, softmax ํจ์๋ฅผ ์ ์ฉ์์ผฐ๋ค.
๋ ผ๋ฌธ์์๋ query์ ์งํฉ์ ๋ํด ํ๋ ฌ Q๋ก ํฉ์ณ์ attention ํจ์๋ฅผ ๋์์ ์งํํ์๋ค. key๋ค๊ณผ value๋ค ๋ํ ๊ฐ๊ฐ ํ๋ ฌ K์ ํ๋ ฌ V๋ก ๋ฌถ์๋ค. ๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ ํ๋ ฌ์ ๋ํ ์ถ๋ ฅ์ ์ป์ ์ ์๋ค.
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ attention ๊ธฐ๋ฒ์ additive attention๊ณผ dot-product attention์ด๋ค. ์ฌ๊ธฐ์ Dot-Product attention์ ๋ณธ ๋ ผ๋ฌธ์์ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋์ผํ๋ฐ, ์ฌ๊ธฐ์ scaling factor์ธ 1/sqrt(d_k)๊ฐ ์์ธ๋ก ์ ์ฉ๋์๋ค. ๋ ๊ธฐ๋ฒ์ ๋ณต์ก์ฑ์ ๋น์ทํ์ง๋ง, Dot-Product attention์ด ๋ ๋น ๋ฅด๊ณ , ๊ณต๊ฐ์ ์ฌ์ ๋๊ฐ ๋ ๋๊ธฐ ๋๋ฌธ์, ๊ณ ๋๋ก ์ต์ ํ๋ ํ๋ ฌ ๊ณฑ์ ์ฝ๋๋ฅผ ์ ์ฉ์ํฌ ์ ์๋ค.
์์ ๊ฐ์ธ d_k์ ๋ํด ๋ ๊ฐ์ attention ๊ธฐ๋ฒ์ ๋งค์ฐ ๋น์ทํ๊ฒ ์๋ํ๋๋ฐ, additive attention์ด ํฐ ๊ฐ์ธ d_k์ ๋ํ ์ค์ผ์ผ๋ง ์์ด dot-product attention ๋ณด๋ค ๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋ค. d_k์ ํฐ ๊ฐ์ ๋ํด dot-product๋ ํฌ๊ธฐ๊ฐ ํฌ๊ฒ ์ฆ๊ฐํ์ฌ softmax ํจ์๋ฅผ ๋งค์ฐ ์์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ฐ๋ ์์ญ์ผ๋ก ๋ฐ์ด ๋ฃ๋๋ค. ์ด ํจ๊ณผ๋ฅผ ์์ํ๊ธฐ ์ํด ๋ด์ ์ 1/sqrt(d_k)๋ก ์ค์ผ์ผ๋ง์ ์งํํ์๋ค.
Multi-Head Attention
d_model ์ฐจ์์ key์ value, query๋ฅผ ํ๋์ attention์ ์ ์ฉํ๊ธฐ ๋ณด๋ค๋, d_k, d_k ๋ฐ d_v ์ฐจ์์ ๋ํด ํ์ต๋ ์๋ก ๋ค๋ฅธ ์ ํ ํ๋ก์ ์ ์ ์ฌ์ฉํ์ฌ query, key ๋ฐ value๋ฅผ h๋ฒ ์ ํ ํ๋ก์ ์ ํ๋ ๊ฒ์ด ๋ ๋ซ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ค. ๊ฐ๊ฐ์ ํ๋ก์ ํธ๋ query์ key, value์ ๋ํด์ attention ํจ์๋ฅผ ํํํ๊ฒ ์ ์ฉ์์ผ์ d_v ์ฐจ์์ ์ถ๋ ฅ๊ฐ์ ์ฐ์ถํ์๋ค. ์ด๋ ๊ฒ ์ถ๋ ฅ๋ ๊ฐ๋ค์ ํฉ์ณ์ ธ์ ๋ค์ ํ ๋ฒ ํ๋ก์ ํธ๋๊ณ , ์ต์ข ๊ฐ์ผ๋ก ๊ทธ๋ฆผ 2์ ๊ฐ์ด ๋์ค๊ฒ ๋๋ค.
Multi-head attention์ ๋ชจ๋ธ์๊ฒ ์๋ก ๋ค๋ฅธ ์์น์ ์๋ ์๋ก ๋ค๋ฅธ subspace representation์ ์ ๋ณด์ ๊ณต๋์ผ๋ก ์ฃผ์๋ฅผ ๊ธฐ์ธ์ผ ์ ์๋ค. ํ๋์ attention์ผ๋ก๋ ์ด๋ฌํ ํน์ง์ ์ต์ ํ๊ฒ ๋๋ค. ์๋์ ์์์ Multi-head attention์ ์๋ ๊ณผ์ ์ ์์์ผ๋ก ๋ํ๋ธ ๊ฒ์ด๋ค.
ํ๋ก์ ์ ๋ค์ ํ๋ผ๋ฏธํฐ ํ๋ ฌ W^Q_i, W^K_i, W^V_i, W^O ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์ด ์์ ์์ ๋ ผ๋ฌธ์์๋ h = 8์ธ ํํ attention ๊ณ์ธต ๋๋ ํค๋๋ฅผ ์ฌ์ฉํ์๋ค. ๊ฐ๊ฐ์ ๊ณ์ธต์ ๋ํด ๋ ผ๋ฌธ์์๋ d_k = d_v = d_model / h = 64์ ์ฌ์ฉํ์๋ค. ๊ฐ๊ฐ์ ํค๋์ ์ฐจ์์ด ์ค์ด๋ค์๊ธฐ ๋๋ฌธ์, ์ด ๊ณ์ฐ ๋น์ฉ์ด ๋ค๋ฅธ single-head attention์ ๋ํด ๊ฝ ์ฐฌ ์ฐจ์์ผ๋ก ์งํํ ๊ฒ๊ณผ ๋น์ทํ๋ค.
Applications of Attention in our Model
Transforemr๋ mult-head attention์ ๋ค์๊ณผ ๊ฐ์ด ์ธ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ด์ฉํ์๋ค.
- ์ธ์ฝ๋-๋์ฝ๋ ๊ณ์ธต์์ query๋ ์ด์ ์ ๋์ฝ๋ ๊ณ์ธต์ผ๋ก๋ถํฐ ์ค๊ณ , memory key์ value๋ ์ธ์ฝ๋์ ์ถ๋ ฅ์ผ๋ก ๋ถํฐ ์ค๊ฒ ๋๋ค. ์ด๊ฒ์ ๋์ฝ๋์ ๋ชจ๋ ์์น์ ๋ํด์ ์ ๋ ฅ ์ํ์ค์ ๋ชจ๋ ์์น๋ฅผ ์ฐธ์กฐํ ์ ์๊ฒ ํ๋ค. ์ด๊ฒ์ ์ ํ์ ์ธsequence-to-sequence model์์์ ์ธ์ฝ๋-๋์ฝ๋ attention ๋ฉ์ปค๋์ฆ์ ํ๋ด๋ธ๋ค.
- ์ธ์ฝ๋๋ self-attention ๊ณ์ธต์ ํฌํจํ๋ค. self-attention ๊ณ์ธต์ ๋ชจ๋ key์ value, query๋ ๋ชจ๋ ๋๊ฐ์ ๊ณณ์์๋ถํฐ ์ค๊ฒ ๋๋๋ฐ, ์ด๊ฒ์ด ์ธ์ฝ๋์์์ ์ด์ ๊ณ์ธต์ ์ถ๋ ฅ์ด๋ค. ์ธ์ฝ๋์ ๊ฐ ์์น์์๋ ์ธ์ฝ๋์ ๋ชจ๋ ์ด์ ๊ณ์ธต์ ์์น๋ฅผ ์ฐจ๋ชพํ ์ ์๋ค.
- ์ ์ฌํ๊ฒ, ๋์ฝ๋์ self-attention layer๋ ๋์ฝ๋์ ๊ฐ ์์น๊ฐ ํด๋น ์์น๊น์ง ๋์ฝ๋์ ๋ชจ๋ ์์น์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ผ ์ ์๋๋ก ํ๋ค. Transformer๋ auto-regressiveํ ํน์ฑ์ ๋ณด์กดํ๊ธฐ ์ํด ๋์ฝ๋์์์ ์ผ์ชฝ์ผ๋ก์ ์ ๋ณด ํ๋ฆ์ ๋ง์๋ค. Transformer๋ ์๋ชป๋ ์ฐ๊ฒฐ์ ํด๋นํ๋ softmax ์ ๋ ฅ์ ๋ชจ๋ ๊ฐ์ ๋ง์คํน(-∞๋ก ์ค์ )ํ์ฌ scaled dot-product attention ๋ด๋ถ์์ ๊ตฌํํ๋ค.
2-3. Position-wise Feed-Forward Networks
attention์ sub-๊ณ์ธต์ ๋ํด, Transformer์ ์ธ์ฝ๋์ ๋์ฝ๋์ ๊ฐ๊ฐ์ ๊ณ์ธต์ fully connected feed-forward network๋ฅผ ํฌํจํ๋ค. ์ด fully connected feed-forward network๋ ๊ฐ ์์น์ ๋ํด ๋ฐ๋ก๋ฐ๋ก ๋์ผํ๊ฒ ์ ์ฉ๋๋ค. ์ด๊ฒ์ ๋ ๊ฐ์ ์ ํ ๋ณํ ์ฌ์ด์ ReLU ํ์ฑํ ํจ์๊ฐ ๊ปด ์๋ ๋ชจ์ต์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
์ ํ ๋ณํ์ ์๋ก ๋ค๋ฅธ ์์น์ ๋ํด์๋ ๋ชจ๋ ๋๊ฐ๋ค. ์ ํ ๋ณํ์ ๊ณ์ธต์ ๋ฐ๋ผ ๋ค๋ฅธ parameter์ ์ฌ์ฉํ๋ค. ์ด๊ฒ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ํํํ๋ฉด kernel ์ฌ์ด์ฆ๊ฐ 1์ธ ๋ ๊ฐ์ ํฉ์ฑ๊ณฑ๊ณผ ๊ฐ์ด ํํํ ์ ์๋ค. ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ฐจ์์๋ d_model = 512์ด๊ณ , ์์ชฝ์ ๊ฒ์ธต์ d_ff = 2048์ ์ฐจ์์๋ฅผ ๊ฐ์ง๋ค.
2-4. Embeddings & Softmax
๋ค๋ฅธ ์ํ์ค ๋ณํ ๋ชจ๋ธ๋ค๊ณผ ๋น์ทํ๊ฒ, Transformer๋ ํ์ต๋ ์๋ฒ ๋ฉ์ ์ฌ์ฉํ์ฌ ์ ๋ ฅ ํ ํฐ๊ณผ ์ถ๋ ฅ ํ ํฐ์ ์ฐจ์์ด d_model์ธ ๋ฒกํฐ๋ก ๋ณํํ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋๊ฐ ์ฌ์ฉ๋๋ ํ์ต๋ ์ ํ ๋ณํ๊ณผ softmax ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋์ฝ๋์ ์ถ๋ ฅ์ผ๋ก ๋ค์ ํ ํฐ์ ํ๋ฅ ์ ์์ธกํ์๋ค. Transformer์์๋ ๋๊ฐ์ ๊ฐ์ค์น ํ๋ ฌ์ ๋ ๊ฐ์ ์๋ฒ ๋ฉ ๊ณ์ธต๊ณผ pre-softmax ์ ํ ๋ณํ์ ๋ํด ๊ณต์ ํ์๋ค. ์๋ฒ ๋ฉ ๊ณ์ธต์์ Transformer๋ ์ด๋ฌํ ๊ฐ์ค์น๋ค์ sqrt(d_model)์ผ๋ก ๊ณฑํ์๋ค.
2-5. Positional Encoding
Transformer๋ ์ด๋ ํ ๋ฐ๋ณต์ ์ธ ์ ๊ณผ ํฉ์ฑ๊ณฑ์ธ ์ ์ด ์์ด์, ์ํ์ค์ ์์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋, ์ํ์ค์ ํ ํฐ์ ์์น๋ฅผ ํ์ ํ ์ ์๋ ์ด๋ ํ ์ ๋ณด๋ฅผ ์กฐ๊ธ ์ฃผ์ ํด์ผ ํ๋ค. ๋ง์ง๋ง์๋, 'positional encoding'์ ์ธ์ฝ๋์ ๋์ฝ๋ stack์ ๊ฐ์ฅ ๋ฐ๋ฅ์์์ ์ ๋ ฅ ์๋ฒ ๋ฉ์ ์ถ๊ฐํ์๋ค. positional encoding์ ์๋ฒ ๋ฉ๊ณผ ๋๊ฐ์ ์ฐจ์์ธ d_model์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์, ๋์ ๊ณ์ฐ๋ ์ ์๋ค. positional encoding์๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ํ์ต๋ ๊ฒ์ด๋ ๊ณ ์ ๋ ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋ค.
์ด ๋ ผ๋ฌธ์์๋ ๋ค๋ฅธ ์ฃผํ์์ sine ๋ฐ cosine ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
pos๋ ์์น์ด๊ณ , i๋ ์ฐจ์์ด๋ค. ์ฌ๊ธฐ์, positional encoding์ ๊ฐ ์ฐจ์์ ์ ํํ์ ํด๋นํฉ๋๋ค. ์ฌ๊ธฐ์ ์ ํํ๋ ์ขํํ๋ฉด ์์์ ์ฃผ๊ธฐ์ ์ธ ๋ชจ์์ ๊ฐ์ง๋ ๊ฐ๊ณก์ ์ ๋งํ๋ค. ํ์ฅ์ 2π์์ 10000 · 2π ๊น์ง ๊ธฐํํ์ ์งํ์ ํ์ฑํ๋ค. ๋ ผ๋ฌธ์์๋, ๊ณ ์ ๋ offset k์ ๋ํด PE_pos+k๋ PE_pos์ ์ ํ ํจ์๋ก ํํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ธ์ด ์๋ ์์น์ ์ํด ์ฐธ์ํ๋ ๊ฒ์ ์ฝ๊ฒ ํ์ตํ ์ ์๋ค๊ณ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ํจ์๋ฅผ ์ ํํ์๋ค.
3. Why Self-Attention?
์ด๋ฒ ์ฅ์์๋ ๋ค์ํ self-attention์ ํน์ฑ๋ค๊ณผ recurrent์ convolutional ๋ ์ด์ด๋ค์ ๋น๊ตํด๋ณด์๋ค. ๊ทธ๋ฆฌ๊ณ ์ self-attention์ ์ฌ์ฉํ๊ฒ ๋์๋์ง ๋ค์์ 3๊ฐ์ง ์์ญ์ผ๋ก ์ค๋ช ํ์๋ค.
- ๊ฐ ๋ ์ด์ด์ ๋ํ ์ด ๋ณต์ก๋
- sequential ์์ ์ ์ต์ ์๋ก ์ธก์ ํ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ฐ๋ฅํ ๊ณ์ฐ์ ์
- ๋คํธ์ํฌ ์์์ long-range dependency ๊ฐ์ ๊ฒฝ๋ก ๊ธธ์ด
- ๊ทธ๋ฆฌ๊ณ ์ฌ์ด๋์ ์ฅ์ ์ผ๋ก self-attention์ ๋์ฑ ์ ํด์ ๊ฐ๋ฅํ ๋ชจ๋ธ์ ๋ง๋ฆ.
4. ์ฝ๊ฒ ์ดํดํ๋ Transformer
์ด๋ฒ ์ฅ์์๋ ์ง๊ธ๊น์ง ๋ ผ๋ฌธ์ ํ ๋๋ก ์ค๋ช ํ Transformer์ ๋ํด์ Alamar์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ์ฌ ๋์ฑ ์๊ธฐ ์ฝ๊ฒ ์ค๋ช ํด๋ณด์๋ค.
๊ตฌ์กฐ ํ์ธ
์ ๋ ฅ์ด ์๋ฅผ ๋ค์ด ํ๋์ค์ด๊ฐ ์ฃผ์ด์ก์ ๋, ์ด Transformer์ ๊ฑฐ์น๊ฒ ๋๋ฉด ์ถ๋ ฅ์ผ๋ก ํ๋์ค์ด ๋ฌธ์ฅ์ด ์์ด๋ก ๋ฒ์ญ๋์ ๋์ค๊ฒ ๋๋ค. ์ด Transformer์ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด๊ฒ ๋๋ฉด ํฌ๊ฒ ์ธ์ฝ๋์ ๋์ฝ๋๋ก ๋๋์ด์ ธ ์๋ ๊ฒ์ ์ ์ ์๋ค. ์ด ์ธ์ฝ๋์ ๋์ฝ๋๋ ๊ฐ๊ฐ ๋์ผํ ๊ฐ์์ ์ธ์ฝ๋์ ๋์ฝ๋๊ฐ ์์ฌ ์๋ ๋ชจ์ต์ด๋ค. ๋ค์์ ๊ทธ๋ฆผ 3์ด ์ด๋ฅผ ๋ณด์ฌ์ค๋ค.
์ธ์ฝ๋๋ ๋ชจ๋ ๊ตฌ์กฐ๊ฐ ๋์ผํํ ๊ฐ ํ๋์ ๋ธ๋ก์ Self-Attention๊ณผ Feed Forward Neural Network๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ธ์ฝ๋์ ์ ๋ ฅ์ ์ฒ์์ self-attention ๊ณ์ธต์ผ๋ก ํ๋ฌ ๋ค์ด๊ฐ๊ฒ ๋๋ค. ์ด self-attention ๊ณ์ธต์ ์ธ์ฝ๋๊ฐ ํน์ ๋จ์ด๋ฅผ ์ธ์ฝ๋ฉํ ๋ ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ค๋ฅธ ๋จ์ด๋ฅผ ๋ณผ ์ ์๋๋ก ๋์์ฃผ๋ ๊ณ์ธต์ด๋ค. ์ด self-attention ๊ณ์ธต์ ์ถ๋ ฅ์ feed-forward neural network์ ๋ค์ด๊ฐ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํํ๊ฒ ๋ค ๋๊ฐ์ feed-forward neural network๊ฐ ๊ฐ๊ฐ์ ํฌ์ง์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ ์ฉ๋๋ค.
๋์ฝ๋๋ ์ธ์ฝ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ ๊ณ์ธต์ ๊ฐ์ง๊ณ ์์ง๋ง, feed forward์ self-attention ์ค๊ฐ์ ์๋ attention ๊ณ์ธต์ ๋์ฝ๋๊ฐ ์ ๋ ฅ ๋ฌธ์ฅ์ ๊ด๋ จ ๋ถ๋ถ์ ์ง์คํ๋ ๋ฐ ๋์์ ์ค๋ค.
Tensor์ ๊ทธ๋ฆผ์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ
NLP์ ์์ฉ์ ํ ๋๋ ๋ณดํต, ์ ๋ ฅ์ ์๋ฒ ๋ฉ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ๋ฒกํฐ๋ก ๋ณํํ๋ ์์ ์ ์งํํ๋ค. ์๋ฒ ๋ฉ ๊ธฐ๋ฒ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ธ์ฝ๋์ ํํด์ ์๋ํ๋ค. ๋ชจ๋ ์ธ์ฝ๋์ ๊ณตํต์ ์ธ ์ถ์ํ๋ ํฌ๊ธฐ๊ฐ ๊ฐ๊ฐ 512์ธ ๋ฒกํฐ ๋ชฉ๋ก์ ์์ ํ๋ค๋ ๊ฒ์ด๋ค. ๋งจ ์๋ ์ธ์ฝ๋์์๋ ์๋ฒ ๋ฉ์ด๋ผ๋ ๋จ์ด๊ฐ ๋์ง๋ง ๋ค๋ฅธ ์ธ์ฝ๋์์๋ ๋ฐ๋ก ์๋์ ์๋ ์ธ์ฝ๋์ ์ถ๋ ฅ์ด ๋ฉ๋๋ค. ํ ๋ง๋๋ก ์ค๊ฐ์ ์ธ์ฝ๋์์๋ ์ด์ ์ธ์ฝ๋์ ์ถ๋ ฅ์ ๋ฐ์์ ์ฌ์ฉํ๋ค๋ ์๋ฏธ์ด๋ค. ์ด ๋ฆฌ์คํธ์ ํฌ๊ธฐ๋ ํ์ดํผํ๋ผ๋ฏธํฐ๋ก ์ฐ๋ฆฌ๊ฐ ์กฐ์ ํ ์๊ฐ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๊ฐ์ ํ๋ จ ์ธํธ์ ๊ฐ์ฅ ๊ธด ๋ฌธ์ฅ์ ๊ธธ์ด๋ก ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ ๋ ฅ ์ํ์ค์ ๋จ์ด๋ฅผ ์๋ฒ ๋ฉ ํ ์ดํ์, ๊ฐ๊ฐ์ ๊ฒ๋ค์ ์ธ์ฝ๋์ ๋ ๊ณ์ธต์ ์ง๋๊ฒ ๋๋ค. ์๋ ๊ทธ๋ฆผ 5๊ฐ ์ด ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค.
์ฌ๊ธฐ์ Transformer์ ์ค์ํ ํน์ฑ์ ํ์ธํ ์ ์๋ค. ์ด๋ ๊ฐ ์์น์ ๋จ์ด๊ฐ ์ธ์ฝ๋์์ ์์ฒด ๊ฒฝ๋ก๋ฅผ ํตํด ํ๋ฅธ๋ค๋ ๊ฒ์ด๋ค. self-attention ๊ณ์ธต์์ ์ด๋ฐ ๊ฒฝ๋ก ์ฌ์ด์๋ ์ข ์์ฑ์ด ์๋ค. feed-forward ๊ณ์ธต์ ์ด๋ฌํ ์ข ์์ฑ์ ์์ง๋ง, ๊ทธ๋์ ๋ค์ํ ๊ฒฝ๋ก๊ฐ ๋ณ๋ ฌ๋ก ์ํ๋๋ค. ๋ค์์๋ ์งง์ ๋ฌธ์ฅ์ ๋ํ ์์๋ฅผ ์ดํด๋ณด๊ณ , ์ด๋ค ์ผ์ด ์ธ์ฝ๋์ ๊ฐ๊ฐ์ sub-๊ณ์ธต์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง ์ดํด๋ณผ ๊ฒ์ด๋ค.
Encoding
์์ ๋งํ๋ฏ์ด ์ธ์ฝ๋๋ ๋ฒกํฐ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ๊ฒ ๋๋ค. ์ธ์ฝ๋๋ ์ด๋ฌํ ๋ฒกํฐ๋ค์ self-attention ๊ณ์ธต์ ์ง๋๋ณด๋ด๊ณ , feed-forward neural network๋ก ํ๋ ค๋ณด๋ธ ๋ค์, ๋ค์์ ์ธ์ฝ๋๋ก ๋ณด๋ด๊ฒ ๋๋ค. ๋ค์์ด ์ด ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค.
Self-Attention ๊ฐ์
์ด๋ฒ์๋ self-attention์ ๋ํด์ ์์๋ณด๊ฒ ๋ค. self-attention์ ์ค๋ช ํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ์์ ์ ๋ ฅ ๋ฌธ์ฅ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์.
"The animal didn't cross the street because it was too tired"
์ด ๋ฌธ์ฅ์์ 'it' ์ด ์ง์นญํ๋ ๊ฒ์ ๋ฌด์์ผ๊น? street๋ฅผ ์ง์นญํ๋ ๊ฒ์ผ๊น? ์๋๋ฉด animal์ ์ง์นญํ๋ ๊ฒ์ผ๊น? ์ด ์ง๋ฌธ์ ์ฌ๋ํํ ๋ ๋งค์ฐ ์ฌ์ด ์ง๋ฌธ์ด์ง๋ง, ์๊ณ ๋ฆฌ์ฆ์ ๊ด์ ์์ ์ค๋ช ํ๊ธฐ์๋ ์๋นํ ๋ณต์กํ ๋ฌธ์ ์ด๋ค. ๋ชจ๋ธ์ด 'it'์ ๋ํด self-attention์ ์งํํ๊ฒ ๋๋ฉด, self-attention์ 'it'์ 'animal'๊ณผ ์ฐ๊ด์ง๊ฒ ๋๋ค.
๋ชจ๋ธ์ด ๊ฐ ๋จ์ด(์ ๋ ฅ ์ํ์ค์์์ ๊ฐ ์์น)๋ฅผ ์ฒ๋ฆฌํ ๋ self-attention์ ํตํด ์ ๋ ฅ ์ํ์ค์ ๋ค๋ฅธ ์์น์์ ์ด ๋จ์ด๋ฅผ ๋์ฑ ์ ์ธ์ฝ๋ฉํ๋ ๋ฐ ๋์์ด ๋๋ ๋จ์๋ฅผ ์ฐพ์ ์ ์๋ค. self-attention์ ๋ค๋ฅธ ๊ด๋ จ ๋จ์ด์ ์ดํด๋ฅผ ๋ชจ๋ธ์ด ํ์ฌ ์ฒ๋ฆฌ ์ค์ธ ๋จ์ด๋ก ๊ตฝ๊ธฐ ์ดํด Transformer๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.
Self-Attention ๋ํ ์ผ
์ด๋ฒ์๋ ๋ฒกํฐ๋ฅผ ์ฌ์ฉํด์ self-attention์ ์ด๋ป๊ฒ ๊ณ์ฐํ๊ณ , ์ด๊ฒ์ด ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ํ๋ ฌ์ ์ด์ฉํด์ ์์๋ณด์๋ค.
self-attention ๊ณ์ฐ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ๊ฐ ์ธ์ฝ๋์ ์ ๋ ฅ ๋ฒกํฐ์์ ์ธ ๊ฐ์ ๋ฒกํฐ๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ๊ฐ ๋จ์ด์ ๋ํด query ๋ฒกํฐ, key ๋ฒกํฐ, value ๋ฒกํฐ๊ฐ ์์ฑ๋๋ค. ์ด ๋ฒกํฐ๋ค์ ํ๋ จ ๊ณผ์ ์์ ์๋ฒ ๋ฉ์ ์ธ ๊ฐ์ ํ๋ ฌ๊ณผ ๊ณฑํ์ฌ ์์ฑ๋๋ค.
์ด ๊ณผ์ ์ ํตํด ์๋กญ๊ฒ ์์ฑ๋ ๋ฒกํฐ๋ค์ ์ฐจ์์ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ณด๋ค ๋ ์์์ง๊ฒ ๋๋ค. ์ด๋ค์ ์ฐจ์์๋ 64์ด๊ณ , ์๋ฒ ๋ฉ๊ณผ ์ธ์ฝ๋์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ ๋ฒกํฐ๋ค์ 512์ ์ฐจ์์๋ฅผ ๊ฐ์ง๋ค. ์๋กญ๊ฒ ์์ฑ๋ ๋ฒกํฐ๋ค์ด ๊ผญ ์์์ผ ํ ํ์๋ ์๋ค. ์ด๊ฒ์ multihead-attention์ ๊ณ์ฐ์ ์ผ์ ํ๊ฒ ๋ง๋ค๊ธฐ ์ํ architecture ์ ํ์ผ ๋ฟ์ด๋ค.
์ฌ๊ธฐ์ query, key, value ๋ฒกํฐ๋ค์ ๋ฌด์์ผ๊น? ์ด๊ฒ์ ์ถ์์ ์ธ ๊ฐ๋ ์ผ๋ก attention์ ์๊ฐํ๊ณ ๊ณ์ฐํ๊ธฐ ์ ์ฉํ๊ฒ ํด์ค๋ค.
self-attention ๊ณ์ฐ์ ๋ ๋ฒ์งธ ๋จ๊ณ๋ ์ ์๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ด๋ค. ์์์ ์ฒซ ๋ฒ์งธ ๋จ์ด์ธ 'Thinking'์ ์ด์ฉํ์ฌ self-attention์ ๊ณ์ฐํด๋ณด๊ฒ ๋ค. self-attention์ ๊ณ์ฐํ๊ธฐ ์ํด์ 'Thinking' ์ด๋ผ๋ ๋จ์ด์ ๋ํด ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด๋ค๋ก ์ ์๋ฅผ ๋งค๊ฒจ์ผ ํ๋ค. ์ฌ๊ธฐ์ ์ ์๋ ํน์ ์์น์์ ๋จ์ด๋ฅผ ์ธ์ฝ๋ฉํ ๋ ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ผ๋ง๋ ๋ง์ ์ด์ ์ ๋ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
์ ์๋ ์ ์๋ฅผ ๋งค๊ธฐ๋ ๊ฐ ๋จ์ด์ query ๋ฒกํฐ์ key ๋ฒกํฐ๋ฅผ ๋ด์ ํด์ ์ป์ ์ ์๋ค. ๊ทธ๋์ ๋ง์ฝ ํฌ์ง์ ์ด 1์ธ ๋จ์ด์ ๋ํด self-attention์ ์งํํ๋ฉด ์ฒซ ๋ฒ์งธ ์ ์๋ q_1๊ณผ k_1์ ๋ด์ ์ผ๋ก ๊ณ์ฐ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ์งธ ์ ์๋ q_1๊ณผ k_2์ ๋ด์ ์ผ๋ก ๊ณ์ฐ๋๋ค.
์ธ ๋ฒ์งธ์ ๋ค ๋ฒ์งธ ๋จ๊ณ๋ ์ ์๋ฅผ 8$($๋ ผ๋ฌธ์์ ์ฌ์ฉ๋ key ๋ฒกํฐ์ ์ฐจ์์ธ 64์ ์ ๊ณฑ๊ทผ ๊ฐ. ์ด๊ฒ์ ์ฌ์ฉํจ์ผ๋ก์จ ๋ ์์ ์ ์ธ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ฐ์ง๊ฒ ๋. ๋ค๋ฅธ ๊ฐ๋ ์์ง๋ง, ์ด ๊ฐ์ด ๊ธฐ๋ณธ๊ฐ$)$๋ก ๋๋๊ณ , ๊ฒฐ๊ณผ๊ฐ์ softmax ํจ์๋ฅผ ์ง๋๊ฒ ํ๋ค. softmax๋ ์ ์๋ค์ ์ ๊ทํ ์์ผ์ ๋ชจ๋ ์์๊ฐ ๋๊ณ , ํฉํ์ ๋ 1์ด ๋๊ฒ ๋๋ค. ๋ค์์ ๊ทธ๋ฆผ 8์ด ๋ ๋ฒ์งธ, ์ธ ๋ฒ์งธ, ๋ค ๋ฒ์งธ ๋จ๊ณ๋ฅผ ๋ณด์ฌ์ค๋ค.
softmax ์ ์๋ ๊ฐ ๋จ์ด๊ฐ ์ด ์์น์์ ํํ๋๋ ์ ๋๋ฅผ ๊ฒฐ์ ํ๋ค. ๋ถ๋ช ํ ์ด ์์น์ ์กด์ฌํ๋ ๋จ์ด๋ ๊ฐ์ฅ ๋์ softmax ์ ์๋ฅผ ๊ฐ์ง์ง๋ง, ๋๋ก๋ ์ด ๋จ์ด๊ฐ ์๋ ํ์ฌ ๋จ์ด์ ๊ด๋ จ๋ ๋ค๋ฅธ ๋จ์ด์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด๋ ๊ฒ์ด ์ ์ฉํ ์๋ ์๋ค.
๋ค์ฏ ๋ฒ์งธ ๋จ๊ณ๋ value ๋ฒกํฐ๋ฅผ softmax ์ ์๋ก ๊ณฑํ๋ค. ์ด ๊ณผ์ ์ ๋ชฉ์ ์ ์ฐ๋ฆฌ๊ฐ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด๊ธธ ์ํ๋ ๋จ์ด์ value๋ ๋ณด์กดํ๊ณ , ๊ด๋ จ์ด ์๋ ๋จ์ด๋ค์ ๋ฒ๋ฆฌ๊ธธ ์ํ๋ค. $($๋งค์ฐ ์์ ์ซ์์ธ 0.0001๊ณผ ๊ฐ์ ์ซ์๋ฅผ ๊ณฑํด์ ๋ง์ด๋ค$)$
์ฌ์ฏ ๋ฒ์งธ ๋จ๊ณ๋ ๊ฐ์ค value ๋ฒกํฐ๋ฅผ ํฉ์ฐํ๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์ด ํฌ์ง์ ์ ๋ํ self-attention ๊ณ์ธต์ ์ถ๋ ฅ๊ฐ์ ์ฐ์ถํ๋ค. ๋ค์์ ๊ทธ๋ฆผ 9๊ฐ ์ด self-attention์ ์ด ์งํ ๊ณผ์ ์ ๋ณด์ฌ์ค๋ค.
๊ฒฐ๊ณผ ๋ฒกํฐ๋ feed-forward neural network๋ก ํจ๊ป ๋ณด๋ผ ์ ์๋ ๋ฒกํฐ์ด๋ค. ์ค์ ์์ฉ๋ฉด์์๋, ๋น ๋ฅธ ์งํ์ ์ํด ์ด ๊ณ์ฐ์ด ํ๋ ฌ์ ๋จ๊ณ์์ ๋๋๋ค.
Self-Attention์ ํ๋ ฌ ๊ณ์ฐ
์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ query, key, value ํ๋ ฌ์ ๊ณ์ฐํ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ํด ์๋ฒ ๋ฉ์ ํ๋ ฌ X๋ก ํฉ์น๊ณ , ์ด์ ์ ํ์ต์ํจ ๊ฐ์ค์น ํ๋ ฌ(W^Q, W^K, W^V)์ ์ด X์ ๊ณฑํจ์ผ๋ก์จ ๊ตฌํ ์ ์๋ค.
ํ๋ ฌ๋ก ๋ค๋ฃจ๊ฒ ๋๋ฉด, ์์ 6๊ฐ์ ๊ณผ์ ์ ํ๋๋ก ์์ถ์ํฌ ์ ์๊ฒ ๋๋ค. ๋ค์์ ๊ทธ๋ฆผ์ด self-attention์ ์ถ๋ ฅ๊ฐ์ ๊ณ์ฐํ๋ ์์์ด๋ค.
The Beast With Many Heads
๋ ผ๋ฌธ์์๋ self-attention์ 'multi-headed' ๋ผ๋ ๋ฉ์ปค๋์ฆ์ ์ถ๊ฐ์ํด์ผ๋ก์จ ๊ฐ์ ์์ผฐ๋ค. ์ด๊ฒ์ attention ๊ณ์ธต์ ๋ค์๊ณผ ๊ฐ์ด ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฑ๋ฅ์ ๊ฐ์ ์์ผฐ๋ค.
- ๋ค๋ฅธ ํฌ์ง์ ์ ๋ํด ์ฃผ์๋ฅผ ๊ธฐ์ธ์ผ ์ ์๋ ๋ชจ๋ธ์ ๋ฅ๋ ฅ์ ํ์ฅ์์ผฐ๋ค. ์์์ ์ธ๊ธ๋ ์์๋ฅผ ๋ณด๋ฉด, z_1์ ๋ค๋ฅธ ์ธ์ฝ๋ฉ์ ๋ํด ์์ฃผ ์กฐ๊ธ์ฉ์ด๋ผ๋ ํฌํจํ๊ณ ์์ง๋ง, z_1์ ์ค์ ๋จ์ด์ ์ํด ์ฌ์ฉ๋ ์ ์๋ค. ๋ง์ฝ ์ฒ์์ ์ธ๊ธํ ์์ ๋ฌธ์ฅ์ ๋ฒ์ญํ ๋, 'it'์ด ์ด๋ค ๋จ์ด๋ฅผ ์ง์นญํ๋์ง ์์๋ด๋ ๋ฐ ๋งค์ฐ ์ ์ฉํ ์ ์๋ค.
- attention ๊ณ์ธต์ ๋ค์ค์ 'representation subspace'๋ฅผ ์ ๊ณตํ๋ค. ๋ค์์์๋ ๋ณผ ์ ์๋ฏ์ด multi-headed attention์ ๋ค์ค์ quety/key/value ๊ฐ์ค์น ํ๋ ฌ์ ๊ฐ์ง๊ณ ์๋ค. (Transformer๋ 8๊ฐ์ attention head๋ฅผ ์ฌ์ฉํ๊ณ , ๋ฐ๋ผ์ ๊ฐ๊ฐ์ ์ธ์ฝ๋์ ๋์ฝ๋์ ๋ํด 8๊ฐ์ ์ธํธ๋ฅผ ์งํํด์ผ ํ๋ค) ๊ฐ๊ฐ์ ์ธํธ๋ ๋ฌด์์๋ก ์ด๊ธฐํ๊ฐ ๋๊ณ , ํ๋ จ์ด ๋ ํ์, ์ ๋ ฅ ์๋ฒ ๋ฉ์ ๋ค๋ฅธ representation subspace๋ก ํฌ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
์์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ self-attention ๊ณ์ฐ์ ๋๊ฐ์ด ์งํํ๋ค๋ฉด, 8๋ฒ์ ๋ค๋ฅธ ๊ฐ์ค์น ํ๋ ฌ์ ๋ํด์ ์งํํ๊ณ , 8๊ฐ์ ๋ค๋ฅธ Z ํ๋ ฌ์ ์ป๊ฒ ๋๋ค. ์ด๊ฒ์ ์ฝ๊ฐ์ ๋์ ํด์ผํ ์ ์ ๋จ๊ธด๋ค. feed-forward ๊ณ์ธต์ 8๊ฐ์ ํ๋ ฌ์ด ์๋ ํ๋์ ํ๋ ฌ์ ์์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ์ด 8๊ฐ์ ํ๋ ฌ์ ํ๋๋ก ์์ถ์ํฌ ์ ์๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค.
์ด๋ป๊ฒ ํด์ผํ ๊น? ์ด ํ๋ ฌ๋ค์ ํฉ์น๊ณ ๋ถ๊ฐ์ ๊ฐ์ค์น ํ๋ ฌ์ธ W^O๋ฅผ ๊ณฑํ์ฌ ๊ตฌํ ์ ์๋ค. ์ด ๊ณผ์ ์ ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์์ ์์๋ก ์ฃผ์ด์ก๋ ๋ฌธ์ฅ์ ๋ํด์ 'it'์ด ๋ฌด์์ ์ง์นญํ๋์ง๋ฅผ multi-head attention์ ์ฌ์ฉํ์ฌ ์์๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ํ์ง๋ง, multi-head attention์ ํตํด ๋์ค๊ฒ ๋ ๊ฒฐ๊ณผ๋ ๋ ์์๋ณด๊ธฐ ํ๋ ๋ชจ์ต์ด๋ค.
์ํ์ค ์์๋ฅผ Positional Encoding์ ์ด์ฉํ์ฌ ํํํ๊ธฐ
์ง๊ธ๊น์ง ์ค๋ช ํ ๋๋ก ๋ชจ๋ธ์์ ๋น ์ง ํ ๊ฐ์ง๋ ์ ๋ ฅ ์ํ์ค์์ ๋จ์ด์ ์์๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, Transformer๋ ๋ฒกํฐ๋ฅผ ๊ฐ๊ฐ์ ์ ๋ ฅ ์๋ฒ ๋ฉ์ ๋ํด ์ถ๊ฐํ์๋ค. ์ด ๋ฒกํฐ๋ค์ model์ด ํ์ตํ๋ ํน์ ํจํด์ ๋ฐ๋ฅด๋ฏ๋ก, ๊ฐ ๋จ์ด์ ์์น ๋๋ ์ํ์ค์์ ์๋ก ๋ค๋ฅธ ๋จ์ด ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ค. ์๋ฒ ๋ฉ์ ์ด๋ฌํ ๋ฒกํฐ๋ค์ ์ถ๊ฐํ๋ฉด ์๋ฒ ๋ฉ ๋ฒกํฐ๊ฐ Query/Key/Value ๋ฒกํฐ์ ํฌ์๋๊ณ dot-product attention ๋์ ์๋ฒ ๋ฉ ๋ฒกํฐ ์ฌ์ด์ ์๋ฏธ ์๋ ๊ฑฐ๋ฆฌ๊ฐ ์ ๊ณต๋๋ค๋ ๊ฒ์ด๋ค.
The Residuals
์ธ์ฝ๋ architecture์ ํ ๊ฐ์ง ๋ํ ์ผ์ ์ธ์ฝ๋ ๊ฐ๊ฐ์ sub-๊ณ์ธต์ ๋ํด์ residual connection์ ํ๋ค๋ ์ ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ layer-normalization์ ๋จ๊ณ์ด๋ค. self-attention๊ณผ ๊ด๋ จ๋ ๋ฒกํฐ์ layer-normalization ์ฐ์ฐ์ ์๊ฐํํ๋ฉด ๋ค์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ํด์ ์์ฑ๋ ๊ฐ์ ๋์ฝ๋์ sub-๊ณ์ธต์ผ๋ก ์ ๋ฌ๋๋ค.
Decoder Side
์ง๊ธ๊น์ง ์ธ์ฝ๋์ ๊ตฌ์ฑ์์๋ค์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์์๋ณด์๊ณ , ์ด์ ๋ ๋์ฝ๋๊ฐ ์ด๋ป๊ฒ ์๋๋๋์ง์ ๋ํด ์์๋ณด๊ฒ ๋ค.
์ธ์ฝ๋๋ ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ํด ํ๋ก์ธ์ค๋ฅผ ํ๋ฉด์ ์์๋๋ค. ๊ฐ์ฅ ์์ ์ธ์ฝ๋์ ์ถ๋ ฅ๊ฐ์ attention ๋ฒกํฐ K์ V๋ก ๋ณํ๋๋ค. ์ด ๋ฒกํฐ๋ค์ ๊ฐ ๋์ฝ๋์ '์ธ์ฝ๋-๋์ฝ๋ attention' ๊ณ์ธต์ ์ฌ์ฉ๋๋ค. ์ด '์ธ์ฝ๋-๋์ฝ๋ attention' ๊ณ์ธต์ ๋์ฝ๋๊ฐ ์ ๋ ฅ ์ํ์ค์ ์ ์ ํ ์์น๋ฅผ ์ง์คํ ์ ์๋๋ก ๋์์ค๋ค. ๋ค์์ ๊ทธ๋ฆผ์ด ์ด ๊ณผ์ ์ ๋ณด์ฌ์ค๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ ๋จ๊ณ๋ transformer ๋์ฝ๋๊ฐ ์ถ๋ ฅ์ ์๋ฃํ์์ ๋ํ๋ด๋ ํน์ ๊ธฐํธ์ ๋๋ฌํ ๋๊น์ง ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ณตํ๋ค. ๊ฐ ์คํ ์ ์ถ๋ ฅ๊ฐ์ ๋ค์ ์คํ ์ ๊ฐ์ฅ ๋ฐ์ ๋์ฝ๋์ ๋ค์ด๊ฐ๊ณ , ๋์ฝ๋๋ ์ธ์ฝ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋์ฝ๋ฉ ๊ฒฐ๊ณผ๋ฅผ ์์์ฌ๋ฆฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ธ์ฝ๋ ์ ๋ ฅ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ ๋จ์ด์ ์์น๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ํด๋น ๋์ฝ๋ ์ ๋ ฅ์ positional encoding์ ํฌํจํ๊ณ ์ถ๊ฐํ๋ค. ๋ค์์ ๊ทธ๋ฆผ์ ๋์ฝ๋๋ฅผ ์งํํ๋ฉด์ ์ต์ข ์ถ๋ ฅ๊ฐ๊น์ง ์ฐ์ถํ๋ ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค.
๋์ฝ๋ ์์์ self-attention ๊ณ์ธต์ ์ธ์ฝ๋์ ๊ฒ๊ณผ๋ ์ด์ง ๋ค๋ฅด๊ฒ ์๋ํ๋ค. ์ธ์ฝ๋์์๋, self-attention ๊ณ์ธต์ด ์ถ๋ ฅ ์ํ์ค์ ์ด์ ํฌ์ง์ ๋ง ์ฐธ์กฐํ ์ ์๋ค. ์ด๋ self-attention ๊ณ์ฐ์์ softmax ๋จ๊ณ ์ด์ ์ ๋ฏธ๋์ ์์น๋ฅผ ๋ง์คํน ํ์ฌ ์ํ๋๋ค.
'์ธ์ฝ๋-๋์ฝ๋ attention' ๊ณ์ธต์ ์๋ ๋ ์ด์ด์์ query ํ๋ ฌ์ ์์ฑํ๊ณ ์ธ์ฝ๋ ์คํ์ ์ถ๋ ฅ์์ key์ value ํ๋ ฌ์ ๊ฐ์ ธ์ค๋ ๊ฒ์ ์ ์ธํ๋ฉด multi-head attention๊ณผ ๋์ผํ๊ฒ ์๋ํ๋ค.
The Final Linear and Softmax Layer
๋์ฝ๋ ์คํ์ ์ค์ํ ๋ฒกํฐ๋ฅผ ์ถ๋ ฅํ๋ค. ์ด๊ฒ์ ์ด๋ป๊ฒ ํ๋ฉด ๋จ์ด๋ก ๋ฐ๊ฟ ์ ์์๊น? ์ด ์์ ์ ํ๋ ๊ฒ์ด softmax layer๊ฐ ๋ค๋ฐ๋ฅด๋ ์ต์ข linear layer์ ์ญํ ์ด๋ค. linear layer์ ๋์ฝ๋ ์คํ์์ ์์ฑ๋ ๋ฒกํฐ๋ฅผ logit ๋ฒกํฐ๋ผ๊ณ ํ๋ ํจ์ฌ ํฐ ๋ฒกํฐ๋ก ํ๋ก์ ํธํ๋ ๊ฐ๋จํ fully connected neural network์ด๋ค.
์๋ฅผ ๋ค์ด, ๋ชจ๋ธ์ด 10,000๊ฐ์ ํน์ ํ ์๋จ์ด๋ฅผ ํ๋ จ ๋ฐ์ดํฐ์ ์ ํตํด ํ์ตํด์ ์๊ณ ์๋ค๊ณ ํ์. ์ด๊ฒ์ด logit ๋ฒกํฐ๋ฅผ 10,000๊ฐ์ ์ ๋๋น๋ก ๋ง๋ค์ด์ง๊ฒ ํ๋ค. ์ฌ๊ธฐ์ ๊ฐ ์ ์ ๊ณ ์ ํ ๋จ์ด์ ์ ์์ ํด๋นํ๋ค. ์ด๊ฒ์ด linear layer์ ์ ์ฉํด์ ๋ชจ๋ธ์ ์ถ๋ ฅ๊ฐ์ ํด์ํ๋ ์ด์ ์ด๋ค.
๊ทธ๋ฆฌ๊ณ softmax ๊ณ์ธต์ ์ด ์ ์๋ค์ ํ๋ฅ ๋ก ๋ณํํ๋ค. ๋ ๋์ ํ๋ฅ ์ ๊ฐ์ง๊ณ ์๋ ์ ์ด ์ ํ๋๊ณ , ์ด์ ๊ด๋ จ๋ ๋จ์ด๊ฐ ์ด ์คํ ์ ์ถ๋ ฅ์ผ๋ก ์์ฑ๋๋ค. ๋ค์์ ๊ทธ๋ฆผ์ด ์ด ๋ชจ๋ ๊ณผ์ ์ ๋ณด์ฌ์ค๋ค.
์ถ์ฒ
https://arxiv.org/pdf/1706.03762.pdf
https://jalammar.github.io/illustrated-transformer/