โ Basic Info
๐ Attention Is All You Need (2017)
๐ https://arxiv.org/pdf/1706.03762์๋ ํ๋ ๋ฅ๋ฌ๋ ๊ทผ๊ฐ์ด ๋๋ ๋ชจ๋ธ์ด๊ธฐ ๋๋ฌธ์ ์คํ ํ๋ํ๋ ๋ณด๋ค๋ ๋ชจ๋ธ ๊ตฌ์กฐ์ ์ด์ ๋ง์ถ ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ.

์ ๋ ฅ์ ํธ๋ ์คํฌ๋จธ ๊ตฌ์กฐ๋ ๋จ์ด ์์ ์ ๋ณด๊ฐ ์๊ธฐ ๋๋ฌธ์ sin, cos ๊ธฐ๋ฐ ํฌ์ง์ ๋ ์ธ์ฝ๋ฉํ ๋ฒกํฐ๋ฅผ input, output ์ธ์ฝ๋ฉ ๋ฒกํฐ์ ๋ํด ์์น ์ ๋ณด๋ฅผ ์ถ๊ฐํด์ค๋ค.

์์ : i ์ pos ์ฐจ์ด ๋ณด์ฌ์ฃผ๋ ํ๊ธฐ๋ณธ

ํ๊ฐ์ Head ๊ฐ ์๋๋ผ ์ฌ๋ฌ head ๋ฅผ ๋์ด Q,K,V Attention ์ํํ๋ค -> ๋ฌธ์ฅ์ ๋ค์ํ ํํ ๋ค์ํ ๊ด์ ์์ ํ์ต
| ์ข ๋ฅ | ์ด๋์ ์ฐ๋๊ฐ | Self-Attention? | Q/K/V์ ์ถ์ฒ |
|---|---|---|---|
| โ Encoder Self-Attention | Encoder | โ | Q=K=V=Encoder ์ ๋ ฅ |
| โก Decoder Self-Attention (Masked) | Decoder | โ | Q=K=V=Decoder ์ ๋ ฅ |
| โข EncoderโDecoder Cross-Attention | Decoder | โ Self ์๋ | Q=Decoder, K=V=Encoder |
Q = XW_Q
K = XW_K
V = XW_V
์ด๋ Q,K,V ์ Weight ์ ํ ํ ํฐ์์๋ ํด๋น ๊ธฐ๋ฅ์ ํ๋๋ก ๊ฐ์ ์๋ฒ ๋ฉ์์ ์ถ๋ฐํด์ -> ์๋ก ๋ค๋ฅธ ๊ฐ์ค์น ํ๋ ฌ๋ก ๋ณํ๋์ด ๋ค๋ฅธ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ฒ ๋จ
๋จ์ด ๊ฐ ์๊ด๊ด๊ณ๋ฅผ ๋งํจ. ์ด๋ Q,K,V ๋ ๊ฐ์ ์ธํ X ์์ ๋์จ๋ค
Q: ๋์ฝ๋ ์ชฝ ์ ๋ณด (์์ฑ ์ค ๋ฌธ์ฅ)
K,V: ์ธ์ฝ๋ ์ชฝ (์
๋ ฅ ๋ฌธ์ฅ)
๋ด๊ฐ ์์ฑ์ค์ธ ๋จ์ด (Q) ์ ๋ํด ์
๋ ฅ ๋ฌธ์ฅ (K,V) ์ด๋๋ฅผ ์ฐธ๊ณ ํ ์ง ์๊ด ํ๋จ

Q,K ๊ฐ ๋ด์ ์ผ๋ก ์ผ๋ง๋ ๋น์ทํ์ง ์ธก์
์ด๋ฅผ softmax ์์์ ๊ฐ์ค์น๋ก ๋ณํํด ์ค์ ์ ๋ณด์ธ V ๋ฅผ ์ผ๋ง๋ ๊ฐ์ ธ์ฌ์ง ํ๋จ
ex.
output(love) = 0.1V(I) + 0.6V(love) + 0.3V(cats) ์ด๋ฐ ๊ฒฐ๋ก ์ ๋ด๊ธฐ ์ํด ๊ฐ์ค์น๋ฅผ q,k ์ ์ฌ๋ ์ค์ ์ ๋ณด V ๊ณฑํ๋ค๋ ๋ป

Q,K,V ๋ฅผ ๊ฐ๊ฐ ๋ค๋ฅธ Linear Layer ๋ฅผ ํต๊ณผ์์ผ ์๋ก ๋ค๋ฅธ ๊ด์ (Head) ๋ฅผ ๋ง๋ค๊ณ ๊ฐ Attention ์ฐ์ฐ์ ํ ๋ค concat ์ ํ๋ค.
์ฌ๋ฌ ์๊ฐ์์ Q, K,V ๋ฅผ ๋์์ ๋ณด๊ณ ๊ฒฐํฉํ๋ ๋ฐฉ์
๊ฐ์ ์ ๋ ฅ ๋ฒกํฐ๋ฅผ ๊ฐ head๋ง๋ค ์๋ก ๋ค๋ฅธ ์ ํ๋ณํ์ผ๋ก ํฌ์ํด์ ๋ ์์ ์ฐจ์์ ์ฌ๋ฌ ๋ฒกํฐ๋ฅผ ๋ง๋ค๊ฒ ๋จ.
์๋ฅผ ๋ค์ด 512 ์ฐจ์์ ๋ฒกํฐ๊ฐ ๊ฐ QKV ๋ฒกํฐ์์ผ๋ฉด ์ ๋ณด ๋ชจ๋ ํฌํจํ ๊ฐ 64์ฐจ์ ๋ฒกํฐ๋ก ํฌ์์ํจ๋ค๋ ๊ฒ์.
์๋ณธ ๊ทธ๋๋ก ๋ณด์กด์ด ๋ชฉ์ ์ด ์๋๋ผ ํน์ง ์ถ์ถ์ด ๋ชฉ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด ๋ฐฉ๋ฒ์ด ์ ์ฉํ๋ค.
Head ์ ๊ฐ์๊ฐ ๋ฌด์กฐ๊ฑด ๋ง๋ค๊ณ ์ข์๊ฑด ์๋. ๋ค๋ง Head ๊ฐ ๋ง์ผ๋ฉด ์ฃผ์ ํน์ง ์ถ์ถ์ ์ ์ฉํ๊ธฐ ๋๋ฌธ์ ํ์ต์ ์ ์ฉ

Multi-head attention = self-attention์ ํ๋, head๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ฌ์ ๋ค์ํ ๊ด๊ณ์ ์ ๋ณด๋ฅผ ํํ.
Head ์ฌ๋ฌ๊ฐ ๋ฌ์ ๊ฐ head ๊ฐ ๋ค๋ฅธ ํจํด์ ์ฐพ๊ฒ ํ๋ ๊ฑด ๋์ผํ๋ฐ ๋์ฝ๋ ๋ถ๋ถ์์ ์ถ๋ ฅ์ ์ดํ ๋์ฌ ๋จ์ด๋ฅผ ์ง์๋์ ๋ท๋ด์ฉ์ ์์ธกํ๊ฒ ๋๋ ๋ฐฉ์
ํ๋ จ ๋จ๊ณ์์๋ ์ ๋ ฅ - ์ถ๋ ฅ ์ ๋ต์ด ์๋ ๊ฒ์ ํ์ต์ํค๋๊น, ์ ๋ต์ ๋ณด๊ณ ํ์ต๋์ง ์๊ฒ ํด๊ฐ ์ํด masking ์ ํด์ฃผ๋ ๊ฒ
์ถ๋ก ์์๋ ํ ํ ํฐ์ฉ ์์ฑํ ๋ ์ด์ ํ ํฐ๋ง ๋ณด๋๋ก ๊ท์น์ ์ ์ง
ex. [๋๋] (์ค๋, ๋ฐฅ์ ์ ๋ชป๋ด)
[๋๋], [์ค๋] (๋ฐฅ์ ์ ๋ชป๋ด)
[๋๋],[์ค๋],[๋ฐฅ์] (์ด ๋ค์ ๋ชป๋ด)
Attention ๊ณ์ฐ ๋ฐ FFNN ์ดํ ์๋ณธ ์ ๋ ฅ x ๋ฅผ ๋ํ๋ค.
output = LayerNorm(x + Sublayer(x))
์ด๋ ์ธํ x ์ Layer ํต๊ณผํ ๊ฐ์ ๋ํด์ค
์ด์ : Vanishing Gradient ๋ฌธ์ ํด๊ฒฐ ์ํด, ํ์ต ์๋ ๊ฐ์ ๊ณผ ์๋ ด์ ์ํด์
F(x) + x

x: ํ ํ ํฐ์ hidden vector ์ ์ฒด (์: 512์ฐจ์)
E[x]: ๊ทธ ๋ฒกํฐ์ ํ๊ท
Var(x): ๊ทธ ๋ฒกํฐ์ ๋ถ์ฐ
ฮณ, ฮฒ: ํ์ต ๊ฐ๋ฅํ ์ค์ผ์ผ(scale) ยท ์ฌํํธ(shift) ํ๋ผ๋ฏธํฐ
ฮต: ๋ถ๋ชจ๊ฐ 0 ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ ์์ ๊ฐ
์ฆ, ๊ฐ ํ ํฐ๋ณ ๋ฒกํฐ๋ฅผ ์ ๊ทํํ๋ ๊ฒ์ด Layer Normalization
Attention - FFN - Residual Connection ๋ฐ๋ณตํ๋ฉด ๊ฐ์ด ํญ๋ฐํ๊ธฐ ์ฌ์.
Layer Normalization ์ผ๋ก ๊ฐ ๋จ๊ณ ๊ฐ์ scale ์ ์์ ํ ์์ผ ํ์ต ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๊ฒ.
Transformer ๊ตฌ์กฐ๋ฅผ revisit ํด๋ณด๋, ๊ณผ์ฐ ํ๋ ๋ฅ๋ฌ๋ ๊ตฌ์กฐ์ ๋ฐ์ด๋ธ์ด ๋ง๋ค๋ ์๊ฐ์ด ๋ง์ด ๋ ๋ค. ์ดํ ์ ๋ฟ๋ง ์๋๋ผ ํธ๋ ์คํฌ๋จธ ๊ตฌ์กฐ ์์ฒด ์ ๋ฐ์ด ์ด๋ค ๋ฅ๋ฌ๋ ํ๋ก์ ํธ์์๋ ์์ด๋์ด๋ก ์ฐ์ธ๋ค๋๊ฒ ์ข ๊ณต๋ถํ๊ณ ๋ณด๋ ๋ณด์ธ๋ค.
์์๋ง ํ๋ฉด ๋ค์ ์น์ด๋จน์ผ๋ฌ ์์ผ ํ๋ ์ ๋ง ์ค์ํ ๊ตฌ์กฐ๊ตฌ๋ ์ถ์๋ค. ๋ด๋ ๋ด๋ ์๋ก์ด๊ฒ ๋ณด์ธ๋ค.
์ฌํด ์ฒ์ ๋ญฃ๋ ๋ชจ๋ฅด๊ณ ๋์๋ฆฌ ๋ค์ด์์ ํ๋ก์ ํธ ํ ๋๋ ๋๋ฌด๋ ์ด๋ ต๊ฒ ๋๊ปด์ก๋ ๊ตฌ์กฐ๊ฐ ๊ทธ๋๋ ์ดํด๊ฐ ๊ฐ๋ค๋๊ฒ ์ ๊ธฐํ๊ธฐ๋ ํ๊ณ , ์ฌ๋ฌ๋ชจ๋ก ๊ฒฉ์ธ์ง๊ฐ์ ๋๋ผ๊ฒ ๋ง๋๋ ๋
ผ๋ฌธ.
1๋
์ด ๋ ์งง๋ค๊ณ ๋ง ์๊ฐํ๋๋ฐ, ์๊ฐ๋ณด๋ค ์ ๋ง ๊ธธ๊ตฌ๋.

Attention ๋ชจ๋์ ๊ฐ์ค์น ๋ถ๋ฐฐ๋ฅผ ๋น์ ํ์ ์ผ๋ก ๊ฒฐํฉ, FFN ๋ ํํ ์์ฒด๋ฅผ ๋น์ ํ์ ์ผ๋ก ๊ฒฐํฉ
FN ์ญํ :
- Attention ๋ถ๋ถ๋ค์ ์ ๋ณด๋ค์ ๊ด๊ณ๋ฅผ ํ์
ํ๊ธฐ ์ํด ํ์ํ์ง๋ง ์ฐธ๊ณ ํด์ ์ป์ ํํ์ ์ด๋ป๊ฒ ๋ณํํ ์ง์ ๋ํด ์ ์ฉ
Add & Norm

Add ๋ Residual Connection (F(x) + x) ์ฆ ์ดํ ์ ํต๊ณผํ๊ฑฐ + ์ ์ ๋ณด
Norm ์ (Layer Norm)

ํ๋ ์ด์ ๋ ๋ง์ฝ ํ ๊ฐ์ด ๊ทน๋จ์ ์ผ๋ก ํฌ๋ฉด ์ ๊ทํ ์๋ ์ํ์์ ์งํํ๋ฉด ํํ์ ์ง๋์น ์ฐจ์ด ๋๋ฌธ์ ์ ๋ฐ์ ์ธ ์ ๋ณด ํํ๋ ฅ์ ์ ํ๋๊ฐ ๋ฎ์์ง.
Transformer์ ๊ฐ ๋ ์ด์ด๋ง๋ค LayerNorm์ด ๋ค์ด๊ฐ๊ณ , ๊ทธ LayerNorm์ ๊ฐ ํ ํฐ ๋ฒกํฐ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ ๊ทํ
self attention ๊ณผ์ ์ค์ ํ ํฐ ๊ฐ ๊ด
๋ฌธ์ฅ ์ํ์ค ์ ์ฒด๋ฅผ ํ๋ฒ์ ์ฒ๋ฆฌํจ (self-attention ๊ณผ์ ์ผ๋ก) ๋ฐ๋ผ์ ์์ ์ ๋ณด๋ฅผ ๋ถ์ฌํด์ค์ผ ํจ
์ํ์ค ๋ด์์ ๊ด๊ณ ์ ๋ณด ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ ๋์ ๋ฐ ์๋์ ์์น๋ ์ ์ค๋๋๊น PE ์ฐ๋๊ฑฐ