๐ ๋ ผ๋ฌธ ๋งํฌ: https://proceedings.neurips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017). Attention is all you need. Advances in neural information processing systems, 30.
INTRO
2017๋ Google Brainํ์์ ๋ฐํํ ‘Attention Is All You Need’ ๋ ผ๋ฌธ์ ๋์จ Transformer๋ BERT๋ GPT์ ๊ธฐ๋ฐ์ด ๋๋ ์์ฐ์ด ์ฒ๋ฆฌ ๋ถ์ผ์ ํต์ฌ ๋ชจ๋ธ์ด๋ค. ๋ ผ๋ฌธ ์ ๋ชฉ ๊ทธ๋ RNN์ ์ฌ์ฉํ์ง ์๊ณ Attention Mechanism๋ง์ ํ์ฉํ์ฌ ์ํ์ค๋ฅผ ์ฒ๋ฆฌํ๋ค. Transformer๋ฅผ ์ ์ดํดํ๊ธฐ ์ํด์๋ Seq2Seq๊ณผ Attention์ ๋ํ ์ ํ ์ง์์ด ํ์ํ๋ค.
- Seq2Seq: https://arxiv.org/pdf/1409.3215.pdf
- ๋ณธ ๋ ผ๋ฌธ์ 2๊ฐ์ LSTM ๋ ์ด์ด๋ฅผ ๊ฐ๊ฐ ์ธ์ฝ๋–๋์ฝ๋ ๊ตฌ์กฐ๋ก ๋ํ๋ธ ์ํ์ค ํฌ ์ํ์ค ๋ชจ๋ธ์ ์ ์ํ๋ค.
- ๋ง ๊ทธ๋๋ก ์ํ์ค ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ ๋ฐ๊ณ , ์์ํ์ผ๋ก ๋์ํ๋ ์ํ์ค๋ฅผ ์ถ๋ ฅํ๋ค.
- ๋ณธ ๋ชจ๋ธ์ ์ ๋ ฅ ์ํ์ค์ ์ถ๋ ฅ ์ํ์ค์ ๊ธธ์ด๊ฐ ๋ค๋ฅผ ์ ์๋ค๋ ์ ์ ํด๊ฒฐํ ๋ชจ๋ธ์ด๋ฉฐ, ๋ฌธ์ฅ ๋ฒ์ญ ๋ถ์ผ์ ์ฌ์ฉ๋๋ค.
- ๊ทธ๋ฌ๋ ์ธ์ฝ๋์ ๋ง์ง๋ง hidden state๋ง์ ๋์ฝ๋์ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์ ํํ๋ ฅ์ด ์ ํ๋๋ค๋ ๋จ์ ์ด ์กด์ฌํ๋ค.
- Attention : https://arxiv.org/pdf/1409.0473.pdf
- Seq2Seq ๋ชจ๋ธ์ ๋ณด์ํ Attention mechanism์ ๋์ฝ๋ ๋งค ์์ ๋ง๋ค ์ธ์ฝ๋์ ๋ชจ๋ ์ ๋ ฅ ๋จ์ด๋ค์ hidden state๋ฅผ ์ฐธ๊ณ ํ๋ค.
- Attention score๋ฅผ ํน์ ์ค์นผ๋ผ ๊ฐ์ผ๋ก ๊ตฌํ ํ ์ํํธ ๋งฅ์ค๋ฅผ ํตํด ํ๋ฅ ๊ฐ์ผ๋ก ๋ํ๋ธ๋ค.
- ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ผ๋ก ๋์ฝ๋์ ๊ฐ ์ ๋ ฅ์ด ์ธ์ฝ๋์ ์ด๋ค ์ถ๋ ฅ์ ๊ฐ์ฅ ๋์ ์ฐ๊ด์ด ๋๋์ง ๊ฐ์ค์น๋ฅผ ๊ณฑ์ฐ์ฐ์ ํตํด ํํํ๋ค.
Transformer
Transformer๋ Attention Mechanism๋ง์ ํ์ฉํ์ฌ RNN์ ์ฌ์ฉํ์ง ์๊ณ ์ํ์ค ์ฒ๋ฆฌํ๋ค. RNN์ recursiveํ ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์ ์์ฐจ์ ์ผ๋ก ํ๋์ฉ ์ํ์ค๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ค. ๋ฐ๋ผ์ ๋ณ๋ ฌ์ ์ธ ์ฐ์ฐ์ด ์ด๋ ต๋ค๋ ๋จ์ ์ด ์กด์ฌํ๋ค.
Transformer๋ attention๋ง์ ์ฌ์ฉํ์ฌ ๋ณ๋ ฌํ ์ฐ์ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ , ํ์ต ์๋๋ ๊ฐ์ ํ์๋ค.
Transformer์ ์ ์ฒด์ ์ธ ์ํคํ ์ฒ์ด๊ณ ์ธ์ฝ๋ ๊ตฌ์กฐ๋ถํฐ ํ๋ํ๋ ์ดํด๋ณด๋๋ก ํ๊ฒ ๋ค.
์๋ ์๋ฃ๋ค์ Jay Alammar์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ๋ค. ๊ณผ์ ์ ๊ฐ๋จํ๊ฒ ๋์ํํ ๊ทธ๋ฆผ ์์ฃผ๋ก ๋ณผ ์์ ์ด๋ค.
https://jalammar.github.io/illustrated-transformer/
Encoder-Decoder
Transformer ์ญ์ ํฐ ํ์์๋ Encoder–Decoder ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅธ๋ค.
๊ทธ๋ฌ๋ ๋ด๋ถ์ ์ผ๋ก Seq2Seq๊ณผ ๋ฌ๋ฆฌ Attention ๋ฉ์ปค๋์ฆ๋ง์ ํ์ฉํ์ฌ ์ํ์ค๋ฅผ ์ฒ๋ฆฌํ๋ค.
Transformer์ ํน์ง์ ์ฌ๋ฌ ๊ฒน์ Encoder–Decoder๋ฅผ stackํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
์ค๋ฆฌ์ง๋ ํ์ดํผ๋ 6๊ฐ์ ์คํ์ ์์๋๋ฐ, ๊ตณ์ด 6๊ฐ์ผ ํ์๋ ์๋ค๊ณ ๋งํ๋ค. ๊ทธ๋ฌ๋ ์ธ์ฝ๋์ ๋์ฝ๋ ์คํ์ ์๋ ๊ฐ๋ค.
๋ํ ๊ฐ ์ธ์ฝ๋์ ์ถ๋ ฅ์ ๋ค์ ์ธ์ฝ๋์ ์ ๋ ฅ์ด ๋๊ณ , ๋ง์ง๋ง ์ธ์ฝ๋์ ์ถ๋ ฅ์ด ๊ฐ ๋์ฝ๋์ ์ํฅ์ ์ค๋ค.
Encoder
ํ๋์ ์ธ์ฝ๋๋ ํฌ๊ฒ Self-Attention ๋ ์ด์ด์ FFNN ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋๋ค.
์ธ์ฝ๋์์๋ ์ ๋ ฅ์ผ๋ก 512๊ธธ์ด์ ์ํ์ค๋ฅผ ์ ๋ ฅ ๋ฐ๋๋ค.
์ธ์ฝ๋ ์ธต์ Self-Attention์ RNN๊ณผ ๋ฌ๋ฆฌ ์ ๋ ฅ ๋ฐ์ ์ํ์ค๋ฅผ ํ๋ฒ์ ์ฒ๋ฆฌํ๋ค.
๋ชจ๋ธ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด 2๋จ๊ณ๋ก ๊ตฌ์ฑ๋ n๊ฐ์ ์ธ์ฝ๋๊ฐ stack๋ ๊ตฌ์กฐ์ด๋ค.
Self-Attention ๋ ์ด์ด๋ ํ๋์ ํ ํฐ์ด, ๋ค๋ฅธ ํ ํฐ๊ณผ ์ผ๋งํผ ์ฐ๊ด์ด ์๋์ง ํํํ๋ ๋ ์ด์ด์ด๋ค.
์ดํ ๊ฐ ํ ํฐ์ FFNN ๋ ์ด์ด๋ฅผ ๊ฑฐ์น๋๋ฐ, ํ ํฐ๋ค์ด ๊ฐ๊ฐ ์ฐ์ฐ๋๊ธฐ ๋๋ฌธ์ ํฌ์ง์ ์ด ๊ทธ๋๋ก ์ ์ง๋๋ค.
์ธ์ฝ๋์ ์ ์ฒด ๊ตฌ์กฐ์ด๋ค. ๋งจ ์๋ ์ธํ ์ํ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ์์๋๋ก ํ๋์ฉ ์ดํด๋ณด๊ฒ ๋ค.
1. Embeddimg
2. Positional Encoding
3. Multi-Head Attentiom
4. Add&NormFFNN
1. Embedding
์ธํ ์ํ์ค๋ ์๋ฒ ๋ฉ ๋ ์ด์ด๋ฅผ ๊ฑฐ์ณ ๋งจ ์ฒ์ ์ธ์ฝ๋์ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๋ค. ์ฐ๋ฆฌ๊ฐ ํํ ์๋ ์๋ ์๋ฒ ๋ฉ, ๊ธ๋ก๋ธ ๋ฑ์ ์ฌ์ฉํ๊ณ ์๋ฒ ๋ฉ ์ฐจ์์ 512์ด๋ค. ์ด ์๋ฒ ๋ฉ์ ๋งจ ์ฒ์ ์ธ์ฝ๋์ ์ ๋ ฅ์ผ๋ก๋ง ์ฌ์ฉ๋๊ณ , ์ดํ ์ธ์ฝ๋๋ค์ ์ง์ ์ธ์ฝ๋์ ์ถ๋ ฅ์ ์ ๋ ฅ์ผ๋ก ๋ฐ๋๋ค.
2. Positional Encoding
์๋ฒ ๋ฉ ๋ ํ ํฐ๋ค์ Positional Encoding์ ๊ฑฐ์น๋ค. Transformer์ ์ฅ์ ์ RNN ๋ชจ๋ธ์ ์ฐ์ง ์์ง ์๊ณ , ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๋จ์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์์น ์ ๋ณด๋ฅผ ๋ณ๋๋ก ํํํ ์ฅ์น๊ฐ ํ์ํ๋ค. Positional Encoding์ ๊ฐ๊ฐ์ ์ธํ ์๋ฒ ๋ฉ์ ๋จ์ํ ๋ํด์ง๋ ๋ฒกํฐ์ด๋ค.
Positional Encoding์ ์๋ ์ฃผ๊ธฐํจ์๋ก ํํ๋๋ค.
$$ PE(pos,2i)โ=\sin(10000_{2i}/d_{model}โposโ) $$
$$ PE(pos,2i+1)โ=\cos(10000_{2i}/d_{model}โposโ) $$
Positional encoding์ ๋๊ฐ์ง ๋ชฉ์ ์ ๋ฌ์ฑํด์ผ ํ๋ค.
1. ๋ ๋จ์ด์ ๊ฑฐ๋ฆฌ๊ฐ ์ค์ ๋ก ์ธํ ์ํ์ค์์ ๋ฉ์ด์ง๊ฒ ๋๋ฉด, ๋ ์ฌ์ด์ Positional encoding ๊ฑฐ๋ฆฌ๋ ๋ฉ์ด์ ธ์ผ ํ๋ค,
2. ์ ๋ ฅ ์ํ์ค์ ๊ฐ์ ํฌ๊ธฐ๋ก ํํ๋์ด์ผ ํ๋ค.
3. Multi-Head Attention
์๋ฒ ๋ฉ์ ๊ฑฐ์น ํ ํฐ๋ค์ ์ธ์ฝ๋์ ๋ ๊ฐ์ ๋ ์ด์ด๋ฅผ ์ง๋๊ฒ ๋๋ค. ๋ ผ๋ฌธ์ ๋ฐ๋ฅด๋ฉด ๊ฐ ํ ํฐ์ own path๋ฅผ ์ง๋๋๋ฐ, ์ ๊ทธ๋ฆผ์์ ์ด๋ฅผ ํํํ๊ณ ์๋ค. ์ฃผ๋ชฉํ ์ ์ Self-Attention ๋ ์ด์ด์์๋ ์ ๋ ฅ๋ค ๊ฐ์ dependencies๊ฐ ์๋ ๊ฒ์ด ํน์ง์ด๊ณ , FFNN ๋ ์ด์ด์๋ ๊ฐ๊ฐ dependencies๊ฐ ์๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ ์ธ์ฝ๋ ๋ธ๋ก ์์์๋ ๊ฐ์ค์น๋ฅผ ๊ณต์ ํ๋ค๋ ์ ์ด ์ค์ํ๋ค.
Self-attention์ ๊ฐ๋ ์ ์ผ๋ก ๋ณธ๋ค๋ฉด, ์ ๋ ฅ ์ํ์ค๋ผ๋ฆฌ์ ์์น ์ ๋ณด๋ฅผ ํํํ๋ ๊ฒ์ด๋ค.
์๋์ ๊ฐ์ ๋ฌธ์ฅ์์ 'it'์ด ์ด๋ค ํ ํฐ๊ณผ ํฐ ์ฐ๊ด์ฑ์ ๊ฐ๋์ง, ์ฆ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ๋์ง ์ค์ฝ์ดํ ํ๋ ๊ฒ์ด๋ค.
”The animal didn't cross the street because it was too tired”
Query / Key / Value
Self-attention์ ์กฐ๊ธ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ดํด๋ณด๊ฒ ๋ค.
๋จผ์ Self-attention์ ํ๊ธฐ ์ํด ๊ฐ๊ฐ์ ์ธํ ๋ฒกํฐ๋ฅผ ํ์ฉํด์ 3์ข ๋ฅ์ ๋ฒกํฐ๋ฅผ ๋ง๋ ๋ค.
- Q(Query) : ํ์ฌ ๋ด๊ฐ ๋ณด๊ณ ์๋ ๋จ์ด์ representation. ๋ค๋ฅธ ๋จ์ด๋ฅผ scoringํ๊ธฐ ์ํ ๊ธฐ์ค์ด ๋๋ ๊ฐ.
- K(Key) : ์ฟผ๋ฆฌ๊ฐ ์ฃผ์ด์ก์ ๋ relevantํ ๋จ์ด๋ฅผ ์ฐพ๊ธฐ ์ํ ์์ด๋ดํฐํฐ ๋ฒกํฐ์ ๊ฐ์ด ์ดํดํ๋ฉด ๋๋ค.
๋ง์น ๋ ์ด๋ธ๊ณผ ๊ฐ๋ค๊ณ ํํํ๊ณ , softmax score๋ฅผ ๊ตฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. - V(Value) : key๋ฅผ ๋ ์ด๋ธ๋ก ๋ณธ๋ค๋ฉด, value๋ ์ค์ ๊ฐ์ผ๋ก ๋ณผ ์ ์๋ค. ์ต์ข ๊ฐ์ธ z๋ฅผ ๊ตฌํ๊ธฐ ์ํด ๊ณฑํด์ง๋ ๊ฐ์ด๋ค.
์ ๊ทธ๋ฆผ์ 'Thinking' / 'Mechines' ๋ ํ ํฐ์ ๋ํด q, k, v๋ฅผ ๊ณ์ฐํ๋ ๊ณผ์ ์ ๋์ํ ํ๋ค.
๋ชจ๋ธ์ด ํ์ตํ๋ ๊ฐ์ค์น๋ $W^Q W^K W^V$์ด๋ค
Step1
q, k, v๋ ๊ฐ๊ฐ์ ์ธํ ์๋ฒ ๋ฉ์ผ๋ก ๋ถํฐ ๋ง๋ค์ด์ง๋ค. ๊ฐ ์ธํ ์๋ฒ ๋ฉ๊ณผ ํ์ต ๋์์ด ๋๋ $W^Q, W^K, W^V$ ๊ฐ์ค์น ๋ฉํธ๋ฆญ์ค ๊ณฑํ๋ค.
์ ๊ทธ๋ฆผ์์ 'Thinking' ํ ํฐ์ $X_1$์ด๋ผ๋ 4์ฐจ์ ๋ฒกํฐ๋ก ํํ ๋์๋ค. ์ด๋ฅผ 4x3 ๋ฉํธ๋ฆญ์ค $W^Q$์ ๊ณฑํ๋ฉด 1x3 ๋ฒกํฐ์ธ $q_1$์ ๊ตฌํ ์ ์๋ค. $q_i, k_i, v_i$ ๋ชจ๋ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ค.
์ฌ๊ธฐ์ $W^Q, W^K, W^V$์ ์ฐจ์์ ์ธํ ์๋ฒ ๋ฉ์ ์ฐจ์๋ณด๋ค๋ ์๊ฒ ์ค์ ํ๋ค.
๊ผญ ๊ทธ๋ด ํ์๋ ์์ง๋ง, ์ดํ Multi-head embedding์์ ์ต์ข z๊ฐ์ concat์ ํ๊ธฐ์ ํจ์จ์ ์ด๋ค.
Step2
์์ ์์์ ๊ฐ์ด ์ฐ๋ฆฌ๊ฐ ๊ด์ฌ์๋ ‘it’ ๋จ์ด์ ์ฟผ๋ฆฌ์ ๊ฐ์ฅ ๊ด๋ จ์ฑ์ด ๋์ ๋จ์ด๋ฅผ ์ฐพ๊ธฐ ์ํด score๋ฅผ ๊ณ์ฐํ์ฌ ํ๋ฅ ๊ฐ์ผ๋ก ๋ํ๋ธ๋ค.
ํ์ฌ ๋ณด๊ณ ์๋ ํ ํฐ์ ์ฟผ๋ฆฌ์, ๋๋ฅผ ํฌํจํ ๋๋จธ์ง ํ ํฐ๋ค์ key๋ค์ ๊ณฑํด์ค๋ค. ์ด ๊ฐ์ ์ค์นผ๋ผ๋ก ํํ๋๊ณ ์ด ๊ฐ์ ์๋ฒ ๋ฉ ์ฐจ์์ ๋ฃจํธ ์ฐ์ด ๊ฐ์ผ๋ก ๋๋์ด์ softmax๋ฅผ ์ ์ฉํ๋ค. ์ด ์ค์ฝ์ด๋ ๊ฐ ๋จ์ด๊ฐ ๋ด๊ฐ ๋ณด๊ณ ์๋ ์ฟผ๋ฆฌ์ ๋จ์ด์ ์ผ๋ง๋ ๊ด๋ จ์ด ์๋์ง ๋ํ๋ด๋ ์ ๋๋ฅผ ํํํ๋ค.
์ด๋ ๊ฒ ์ฟผ๋ฆฌ์ ํค๋ฅผ ํตํด ๊ด๋ จ์ฑ ์ค์ฝ์ด๋ฅผ ๊ตฌํ๊ณ , ์ด softmax score์ ์ค์ value ๊ฐ์ ๊ณฑํ๋ค. ์ด๋ ๋จ์ด์ ์ค์๋์ ๋ฐ๋ผ Weight๋ฅผ ์ค ๊ฒ๊ณผ ๊ฐ๋ค. ์ ๊ทธ๋ฆผ์ v1, v2์ ํฌ๋ช ๋๋ก ์ค์๋๋ฅผ ํํํ๋ค. ์ต์ข ์ ์ผ๋ก ๋ชจ๋ ๋จ์ด์ ๋ํ v๋ฅผ ๋ํ๋ฉด Thinking์ self-attention layer ์์ํ์ด ๋๋ค. ์ ๊ทธ๋ฆผ์ ๋ชจ๋ ๋จ์ด์ ๋ํ softmax ์ค์ฝ์ด๋ฅผ ๊ตฌํ ํ Weighted sum์ ํ์ฌ ์ต์ข z ๊ฐ์ ๊ตฌํ๋ ๊ทธ๋ฆผ์ด๋ค.
์ ํ๋ ๋ชจ๋ ํ ํฐ์ ๋ํด softmax ์ค์ฝ์ด๋ฅผ ๊ตฌํ ๊ณผ์ ์ ๋ณด์ฌ์ค๋ค.
์ ๊ณผ์ ์ ์ต์ข ์ ์ผ๋ก ๊ฐ๋จํ ํํํ๋ฉด ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค. ์ต์ข z๊ฐ์ ์ฐจ์์ ๊ฐ q,k,v ์ฐจ์๊ณผ ๊ฐ๋ค๋ ์ ์ด ์ค์ํ๋ค.
Multi-head attention
์ง๊ธ๊น์ง๋ single attention์์ z๊ฐ์ ๊ตฌํ๋ ๊ณผ์ ์ ์ค๋ช ํ๋ค, Multi-head attention์ ๊ฐ single attention์ ๊ฐ๊ฐ ๊ณ์ฐํ ํ ์ด๋ฅผ ํตํฉํ๋ ๊ธฐ๋ฒ์ด๋ค. ๋ ผ๋ฌธ์์๋ 8๊ฐ์ single attention ๊ฐ๊ฐ ๋ฐ๋ก ๊ณ์ฐํ๋ค. Multi-head attention์ ์ฌ์ฉํ๋ ์ด์ ๋ ‘it’์ด๋ผ๋ ๋จ์ด๊ฐ ๋ฌธ์ฅ ๋ด์์ ํ๋์ ๊ด๊ณ๋ง์ ๊ฐ์ง ์๊ณ ์ฌ๋ฌ ๊ฒฝ์ฐ์ ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํํํ ๊ฒ์ด๋ค. ์ฌ๋ฌ ๊ฐ์ Attention Head๋ฅผ ๊ณ์ฐํ ํ ์ต์ข ์ ์ผ๋ก ๊ณ์ฐ๋ Z๊ฐ๋ค์ concat ํ๋ค.
๋ง์ง๋ง์ผ๋ก ๊ฐ Attention Head์ Z๊ฐ์ concat๋ฒกํฐ๋ฅผ, ๊ฐ์ค์น์ธ $W^Q$์ ๊ณฑํด์ ์ธํ ์ฐจ์๊ณผ ๋์ผํ ๋๋ฉ์ ์ ๊ฐ๋๋ก ๋ง๋ ๋ค. $W^O$๋ ๋ชจ๋ธ์ ํ์ต ๋์์ด ๋๋ ๊ฐ์ด๋ค. ์ต์ข Multi-Head Self-Attention ๋จ๊ณ์ ๊ทธ๋ฆผ์ ์๋์ ๊ฐ๋ค.
The Residuals & FFNN
์ง๊ธ๊น์ง ์ธํ ํ ํฐ์ ๋ํด์ ์๋ฒ ๋ฉ์ ํ๊ณ , Positional encoding๊ณผ ๋ํ ํ์ Self-Attention์ ํ๋ ๊ณผ์ ์ ๋ณด์๋ค.
Add & Norm ์ธต์ ๊ฐ๋จํ๋ค. Residual์ ๊ทธ๋๋ก ๋ํด์ฃผ๊ณ layer normalization์ ์งํํ๋ค. Residual์ ResNet์ฒ๋ผ input ์๊ธฐ ์์ ์ ๋ํด์ฃผ๋ฉด ๋๋ค. ์ด๋ ๊ฒ ํด์ FFNN์ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋ z1, z2..zi ๊ฐ์ด ๋ง๋ค์ด ์ง๋ค.
๊ฐ ํ ํฐ์ z๊ฐ์ ๋ ๋ฆฝ์ ์ผ๋ก FFNN์ธต์ผ๋ก ๋ค์ด๊ฐ๊ณ fully connected ์ฐ์ฐ์ ์งํํ๋ค. ์์ ์๋์ ๊ฐ๋ค.
$$FFN(x) = max(0, xW_1 + b_1)W_2 + b_2 $$
max(0, x)๋ RuLU ํจ์๋ฅผ ์๋ฏธํ๋ค. ๊ฐ z1, z2์ ๋ ๋ฆฝ์ ์ผ๋ก FFNN์ ์งํํ์ง๋ง, ํ๋์ ์ธ์ฝ๋ ๋ธ๋ฝ ๋ด์์ ๊ฐ์ค์น๋ ๊ณต์ ํ๋ค.
Decoder
Masked Multi-Head-Attention
๋ชจ๋ ์ธํ์ ํ๋ฒ์ ์ฒ๋ฆฌํ๋ ์ธ์ฝ๋์ ๋ฌ๋ฆฌ, ๋์ฝ๋๋ ๋ฐ๋์ ์๊ธฐ ์์ ๋ณด๋ค ์์ชฝ์ ํด๋นํ๋ ํ ํฐ๋ง์ ๊ณ ๋ คํ ์ ์๋ค. ์ด๋ฅผ ์ํ์ ์ผ๋ก ํํํ๋ฉด, ๋ค ํ ํฐ๋ค์ -inf๋ก ๊ฐ์ ํด์ softmax score๊ฐ 0์ด ๋๋๋ก ๋ง๋๋ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค.
์๋ ๊ทธ๋ฆผ์ attention์ softmax score๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์์ masking์ ์ ์ฉํ ๊ฒ์ ์ง๊ด์ ์ผ๋ก ๋ณด์ฌ์ค๋ค.
Multi-Head-Attention with Encoder Outputs
์ธ์ฝ๋์ ์์ํ๊ณผ ๋์ฝ๋๊ฐ ์ํธ์์ฉํ๋ ๋ถ๋ถ์ด๋ค.
๋ง์ง๋ง ์ธ์ฝ๋์ ์ถ๋ ฅ์ ๋ชจ๋ ๋์ฝ๋์ Multi-Head-Attention with Encoder Ouputs ์ธต๊ณผ ์ํธ์์ฉ์ ํ๋ค. ์ด๋ attention vector์ธ K์ V๊ฐ ์ฌ์ฉ๋๋ค. Masked self attention์ธต์ ์ง๋ ๋์ฝ๋์ ์ธํ์ ์ธ์ฝ๋์ K, V ๊ฐ๊ณผ ๋ค์ Multi-head attention ๊ณผ์ ์ ๊ฑฐ์น๋ค.
๋์ฝ๋๋ ๊ฐ ์ธํ์ ๋ํด์ ์ฐ์ฐ์ ์ํ์ ํ๊ฒ ์ฒ๋ฆฌํ๋ค๋ ์ ์ด ์ธ์ฝ๋์ ๋ค๋ฅธ ๋ถ๋ถ์ด๋ค.
Final Linear Layer
๋ง์ง๋ง์ผ๋ก ๋์ฝ๋์ stack output์ fc์ธต๊ณผ ์ํํธ ๋งฅ์ค ์ธต์ ์ง๋, vocab_size๋งํผ์ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ค.
Final linear layer๋ ๋จ์ ์์ ์ฐ๊ฒฐ์ธต์ด๋ค.
์ด๋ ๊ฒ Transfomer์ ์๋ฒ ๋ฉ๋ถํฐ Fc ์ธต๊น์ง ์ฐจ๋ก๋๋ก ์ดํด ๋ณด์๋ค.
์ด์ ๋ model architecture๊ฐ ์กฐ๊ธ์ ์น์ํ๊ฒ ๋ณด์ผ ๊ฒ์ด๋ค.
'DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DL] Gradient descent algorithm (0) | 2022.07.21 |
---|