๐Attention Is All You Need (์๋ฌธ)
โ๏ธ๊ฐ๋ ์ ์ ๋ฆฌํ๊ธฐ ์ํด ์์ฑํ ๊ธ๋ก, ๋ด์ฉ์ ์๋ชป๋ ๋ถ๋ถ์ด ์์ ์ ์๋ค๋ ์ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
๋ ผ๋ฌธ์์๋ ์์๊ฐ ์๋์ ๊ฐ์ด ๊ตฌ์ฑ๋์ด์๋ค.
- Introduction
- Background
- Model Architecture
- Encoder and Decoder Stacks
- Attention
- Scaled Dot-Product Attention
- Multi-Head Attention
- Application of Attention in our Model
- Position-wise Feed Forward Networks
- Embeddings and Softmax
- Positional Encoding
- Why Self-Attention
- Training
- Training Data and Batching
- Hardware and Schedule
- Optimizer
- Regularization
- Results
- Machine Translation
- Model Variations
- Conclusion
์ด ๊ธ์ ๋ ผ๋ฌธ ์์๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ผ๊ฐ๊ธฐ๋ณด๋ค๋ ๋ด๊ฐ ๊ณต๋ถํ ๋ ์ดํดํ๊ธฐ ํธํ๋ ํ๋ฆ๋๋ก ์์ฑํ๋ ค๊ณ ํ๋ค.
+) sequence modeling : ์ ๋ ฅ sequence๊ฐ ๋ค์ด์ค๋ฉด ๋๋ค๋ฅธ sequence๋ฅผ ๊ฐ์ง๋ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ task
RNN, LSTM, GRU์ ๊ฐ์ seq2seq ๋ชจ๋ธ์
๋ฐ๋ผ์ ์์ ์ hidden state ๊ฐ ์์ ์ hidden state๋ฅผ ๊ณ์ฐํ ๋ ์ฌ์ฉ๋๋ค. ์ด๋ ๋งค ๋จ์ด๋ง๋ค ์์ฑ๋๋ hidden state๊ฐ ๊ทธ ์ ์์ ์ sequence ์ ๋ณด๋ฅผ ํจ์ถํ๊ณ ์๋ค๋ ์ฅ์ ์ด ๋๋ค.
ํ์ง๋ง ์ ๋ ฅ์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ ํ๊ณ๊ฐ ์กด์ฌํ๋ค.
ํนํ sequence ๊ธธ์ด๊ฐ ๊ธธ์ด์ง ๋ ๋ฐ์ํ๋ long-term dependency problem๊ฐ seq2seq ๋ชจ๋ธ์ ๊ฐ์ฅ ํฐ ํ๊ณ์ด๋ค.
Transformer๋ ๊ธฐ์กด seq2seq ๋ชจ๋ธ์ ์ด๋ฌํ ํ๊ณ๋ฅผ ๊ฐ์ ํ๊ณ ์ ๊ณ ์๋์๋ค. Attention ๋งค์ปค๋์ฆ๋ง์ผ๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ธ๋ก, input๊ณผ output ๋ฐ์ดํฐ์์ sequence distance์ ๋ฌด๊ดํ๊ฒ ์๋ก๊ฐ์ dependencies๋ง์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ๋งํ๋ค.
+) Attention์ transformer์์ ์ฒ์ ์ ์๋ ๊ฐ๋ ์ด ์๋๋ค. Transformer ์ด์ ์ RNN๊ณผ Attention์ ๊ฒฐํฉํ์ฌ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค. ํ์ง๋ง Transformer๊ฐ ์ฃผ๋ชฉ ๋ฐ์ ์ด์ ๋ recurrent layer ์์ด attention ๋งค์ปค๋์ฆ๋ง์ผ๋ก ๊ตฌ์ฑ๋์๊ธฐ ๋๋ฌธ์ด๋ค.
Attention
: ๋ฌธ๋งฅ์ ๋ฐ๋ผ ์ง์คํ ๋จ์ด๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ์
Encoder-Decoder ๊ตฌ์กฐ์์ context vector๋ฅผ ์ฌ์ฉํ ๋ ์ ๋ณด๊ฐ ์์ค๋๋ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๊ณ ์ Attention์ ๋์ ํ๋ค.
๐ 3. Attention [์ด๋ฑํ์๋ ์ดํดํ๋ ์์ฐ์ด์ฒ๋ฆฌ]
๐ ๋ธ๋ก๊ทธ ์ฐธ์กฐ (Reference์ ์ถ์ฒ ํ์ํ์์ต๋๋ค)
Transformer๋ seq2seq๋ชจ๋ธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, Encoder + Decoder ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ด๋ Encoder์ Decoder์ ๋ด๋ถ๋ recurrenct layer๋ convolution layer ์์ด self-attention layer์ fully connected layer๋ก๋ง ๊ตฌ์ฑ๋์ด ์๋ค.
๋จ์ด๋ฅผ ์ซ์๊ฐ์ ๊ฐ๋ ๋ฒกํฐ ํํ๋ก ๋ณํํ๋ ๊ณผ์ ์ด๋ค. ๋จ์ด๋ค ๊ฐ์ dependencies๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด์๋ ์ด ๊ณผ์ ์ ๊ฑฐ์ณ ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฒกํฐ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
Transformer๋ ์ ๋ ฅ sequence๋ฅผ ํ ๋ฒ์ ๋ฐ์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์์ ์ ๋ณด๋ฅผ ๊ณ ๋ คํ์ง ์๋๋ค. ํ์ง๋ง ๋ฒ์ญ, ์์ฝ, ๋จ์ด ๋ถ๋ฅ ๋ฑ์ task๋ฅผ ์ํํ ๋ ์ ๋ ฅ๋๋ ๋จ์ด์ ์์์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ํฌ๊ฒ ๋ฐ๊พธ๋ ๊ฒฝ์ฐ๊ฐ ๋น๋ฒํ๊ธฐ ๋๋ฌธ์ ์์ ์ ๋ณด๋ ๋ฐ๋์ ๊ณ ๋ คํด์ผ ํ ์ฌํญ์ด๋ค.
๋ฐ๋ผ์ ์ ์ฒด ์ ๋ ฅ sequence์์ ๋จ์ด๋ณ ์์น ์ ๋ณด๋ฅผ ๊ฐ ๋จ์ด์ ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์ถ๊ฐํ๊ณ ์ positional encoding์ ์ํํ๋ค.
๋ ผ๋ฌธ์์ ์ฌ์ฉํ positional encoding ๋ฐฉ์์ ์๋์ ๊ฐ๋ค.
์ฃผ๊ธฐํจ์๋ฅผ ์ฌ์ฉํ๋ ์ด์
๐ Transformer์ Nerf์์์ Positional Encoding์ ์๋ฏธ์ ์ฌ์ฉ ๋ชฉ์
- positional encodingํ ๊ฒฐ๊ณผ ๊ฐ์ ๋ฒ์๋ฅผ [-1, 1]๋ก ์ ํํ์ฌ ๋จ์ด๊ฐ ๊ฐ์ง๋ ๊ธฐ์กด์ ์๋ฏธ์์ ๋ง์ด ๋ฒ์ด๋์ง ์๋๋ก ํ๊ธฐ ์ํด
- ์ฃผ๊ธฐํจ์์ frequency๋ฅผ ๋ค์ํ๊ฒ ์ค์ผ๋ก์จ ์์์ ๋ ์์น์ ๋ํด positional encoding ๊ฒฐ๊ณผ๊ฐ ๊ฒน์น ํ๋ฅ ์ ์ค์ด๊ธฐ ์ํด
ex)My favorite fruit is an Apple
vs.Apples grown from seed tend to be very different from those of their parents, and the resultant fruit frequently lacks desired characteristics.
โ ๋ ๋ฌธ์ฅ์์ Apple์ ๋ํด positional encoding์ ํ ๋, ๊ฐ์ ๋จ์ด์ด์ง๋ง ์์น ์ ๋ณด๊ฐ ๋งค์ฐ ๋ค๋ฅด๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ๊ณ ๋ คํ๊ธฐ ์ํด ์ฃผ๊ธฐํจ์๋ฅผ ์ฌ์ฉํ๋ค.
Scaled Dot-Product Attention์ด ์ํ๋๋ ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.
step 1) (์ด๋ค ๋จ์ด ๋ฒกํฐ : Q) ยท (๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด ๋ฒกํฐ๋ฅผ ๋ชจ์๋ ํ๋ ฌ : K)
โ relation vector๊ฐ ์์ฑ๋๋ค.
step 2) ๋ฅผ ๋ก ๋๋ scaling
โ ์ดํ softmax ์ ๋ฒกํฐ ๋ด์ ๊ฐ๋ค์ด 0 ๊ทผ์ฒ๋ก ๋ชจ์ด๋ฉด์ gradient๊ฐ ์ปค์ง๋๋ก ๋ง๋ค์ด์ค๋ค.
(softmax ์ ๊ฐ์ด 1 ๊ทผ์ฒ์ด๋ฉด gradient๊ฐ ์์์ ธ ํ์ต์ด ์ ๋๋ก ์ํ๋์ง ์์ ์ ์์)
step 3)
โ ๋จ์ด(Q)๊ฐ ๋ชจ๋ ๋จ์ด๋ค๊ณผ ์ด๋ ์ ๋ correlation์ด ์๋์ง ํ๋ฅ ๋ถํฌ์ ํํ๋ก ๋ณํํด์ค๋ค.
step 4) ์ ํ๋ ฌ ๋ฅผ ๊ณฑํ๋ค.
โ ๊ฒฐ๊ณผ์ ์ผ๋ก ๊ธฐ์กด ๋ฒกํฐ์ Q์ K ๊ฐ์ correlation ์ ๋ณด๋ฅผ ๋ํ vector๊ฐ ์์ฑ๋๊ณ , ์ด๊ฒ์ด ๋จ์ด์ encoding vector์ด๋ค.
"Self" Attention
๐ 4-1. Transformer(Self Attention) [์ด๋ฑํ์๋ ์ดํดํ๋ ์์ฐ์ด์ฒ๋ฆฌ]
- Q, K, V์ ๊ฐ์ด ๋์ผํ๋ค (X)
- Q, K, V์ ์์ ๊ฐ์ด ๋์ผํ๋ค (O)
โ ๋์ผํ ์ ๋ ฅ์ ๋ฐ์ง๋ง ํ์ต ๊ฐ์ค์น W, W, W์ ๋ฐ๋ผ ์ต์ข ์ ์ผ๋ก ์์ฑ๋๋ Q, K, V์ ๊ฐ์ ๊ฐ๊ฐ ๋ค๋ฅด๋ค.
๋์ผํ ์
๋ ฅ์ ๊ฐ์ง๊ณ ์ฌ๋ฌ ๊ฐ์ head๋ก ๋๋์ด ๋์์ ๋ณ๋ ฌ์ ์ผ๋ก Self-Attention์ ์ํํ๋ค.
๋ฐ๋ผ์ Q, K, V์ ์์ ๊ฐ์ ๋์ผํ์ง๋ง, ์ด ์
๋ ฅ์ ์ ํ๋ณํํ๋ ํ๋ผ๋ฏธํฐ W, W, W๊ฐ ๊ฐ head๋ณ๋ก ๋ฌ๋ผ ๊ตฌํด์ง๋ encoding vector๊ฐ head๋ณ๋ก ๋ค๋ฅด๋ค.
์ด๋ ํ๋ผ๋ฏธํฐ์ ์๋ฅผ ์ค์ด๊ธฐ ์ํด Q, K, V ํ๋ ฌ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋๋ฐ, ๊ทธ ์์ ์๋์ ๊ฐ๋ค.
๋ฐ๋ผ์ MHA๋,
โ ์ด๋ค ํ ๋จ์ด์ ๋ํด ์๋ก ๋ค๋ฅธ ๊ธฐ์ค์ผ๋ก ์ฌ๋ฌ ๊ด์ ์์์ ์ ๋ณด๋ฅผ ์ถ์ถํ ์ ์๊ณ ์ด ๊ณผ์ ์ ๋ณ๋ ฌ์ ์ผ๋ก์ผ๋ก ์ํํ ์ ์๋ค.
sub layer ๊ฒฐ๊ณผ์ ์๋ณธ input์ ๋ํด์ฃผ์ด ์ธต์ด ๊น์ด์ง์๋ก ์๋ณธ input์ ๋ํ ์ ๋ณด๊ฐ ์์ค๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ค. ์ด ๊ฒฐ๊ณผ, ์ญ์ ํ ์ gradient vanishing ๋ฌธ์ ๋ฅผ ์ค์ผ ์ ์๋ค.
๊ฐ instance๋ณ๋ก feature์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ๊ตฌํด์ ๊ทธ feature ์์ฒด๋ฅผ ์ ๊ทํํ๋ค. ์ด ๊ฒฐ๊ณผ, ๋ค์์ sample์ ๋ํด ํ๊ท = 0, ๋ถ์ฐ = 1์ธ ๋ถํฌ๋ก ๋ณํํ ์ ์๋ค.
์์ layer๋ค์์๋ '์ ํ๋ณํ'๋ง ์ํ๋๊ธฐ ๋๋ฌธ์ ํ์ฑํํจ์ ReLU๋ฅผ ํฌํจํ์ฌ ๋น์ ํ์ฑ์ ์ถ๊ฐํด์ค๋ค.
Decoder์์ self-attention์ ์ํํ ๋ QK์ masking์ ์ ์ฉํ๋ค. masking : ๋ฏธ๋ ์์ ๋จ์ด ๋ถ๋ถ์ธ ํ๋ ฌ ์๋จ์ ๋ก ์ค์ ํ์ฌ QK์ ๊ณฑํด์ค๋ค.
โ Decoder์ ์
๋ ฅ๋๋ ๋ฌธ์ฅ์ ๊ฐ ๋จ์ด์ ๋ํด Q, K, V๋ฅผ ๋ง๋ค์ด์ ๋จ์ด๋ณ encoding vector๋ฅผ ๋ง๋ค ๋ ์ ๋จ์ด์ encoding vector๊ฐ ๋ฏธ๋ ์์ ์ ์ ๋ณด๋ ๋ฐ์ํ์ง ๋ชปํ๋๋ก ํ๋ค.
Encoder์ Q, K, V๋ ๋ชจ๋ ๋์ผํ ์ ๋ ฅ์ผ๋ก๋ถํฐ ์์ฑ๋๋ ๋ฐ๋ฉด, Decoder์ Q, K, V๋ ์ ๋ ฅ์ด ์๋ก ๋ค๋ฅด๋ค. ์ด ๊ฒฝ์ฐ๋ฅผ Encoder-Decoder attention์ด๋ผ ํ๋ค.
Q : Decoder์ ์ด์ layer์์ ์ป์ decoder embedding
K, V : Encoder์์ ์ป์ embedding
โ ground truth์ ๊ฐ ๋จ์ด๋ค์ด encoder์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์ ๋ ฅ ๋ฌธ์ฅ์์ ์ด๋ ํ ๋จ์ด์ ๋ ์ฃผ๋ชฉํ ์ง ๊ตฌํ๊ณ , ground truth ๋ฌธ์ฅ์ ๊ฐ ๋จ์ด๋ฅผ encodingํ ๋ ์ ๋ ฅ ๋ฌธ์ฅ์์ ์ด๋ค ๋จ์ด์ encoding vector๋ฅผ ๋ ๋ง์ด ๋ฐ์ํ ์ง ๊ฐ์คํ๊ท ์ ๊ตฌํ๋ ๊ณผ์ ์ด๋ค.
Adam optimizer๋ฅผ ์ฌ์ฉํ์๊ณ , ํ์ต๋ฅ ์ค์ผ์ฅด๋ฌ(lr scheduler)๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์ผ๋ก ํ์ต๋ฅ ์ ๋ณํ์์ผฐ๋ค.
๊ฐ ๋๋ฌด ํฐ ๊ฐ์ ๊ฐ์ง์ง ์๋๋ก (= ๋ชจ๋ธ ๋ณต์ก๋๋ฅผ ๋ฎ์ถ๋๋ก) ํ์ฌ overfitting์ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ๋ ผ๋ฌธ์์๋ ์ด 3๊ฐ์ง ๊ท์ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์๋ค.
label smoothing
๐ ๋ผ๋ฒจ ์ค๋ฌด๋ฉ(Label smoothing), When Does Label Smoothing Help?
: hard label (0 ๋๋ 1๋ก binary encoding๋ label) โ soft label (0 ~ 1 ์ฌ์ด์ ๊ฐ์ ๊ฐ๋ label)๋ก ๋ณํํ๋ ๋ฐฉ์
the total computational complexity per layer (layer ๋น ์ ์ฒด ๊ณ์ฐ ๋ณต์ก๋)
sequence length < representation dimensionality ์ด๋ฉด self-attention์ด RNN๋ณด๋ค complexity๊ฐ ๋ฎ๋ค. ์ด๋, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ๊ฐ < ์ ํด๋นํ๋ค.
the amount of computation that can be parallelized (sequential ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ ๊ณ์ฐ๋)
the path length between long-range dependencies in the network
๐ Attention is all you need paper ๋ฝ๊ฐ๊ธฐ
๐ [๋
ผ๋ฌธ ๋ฆฌ๋ทฐ] Transformer ๋
ผ๋ฌธ ๋ฆฌ๋ทฐ (Attention Is All You Need)
๐ [Paper review] Attention ์ค๋ช
+ Attention Is All You Need ๋ฆฌ๋ทฐ
๐ [Paper] Attention is All You Need ๋
ผ๋ฌธ ๋ฆฌ๋ทฐ
๐ [๋
ผ๋ฌธ์ ๋ฆฌ] Attention is all you need
๐ Attention Is All You Need ๋
ผ๋ฌธ ๋ฆฌ๋ทฐ
๐ Self-Attention is not typical Attention model
๐ [๋
ผ๋ฌธ ์คํฐ๋ Week 4-5] Attention is All You Need