Transformer(2017) - 2
์ด ํฌ์คํธ๋ ์ ๊ฐ ๊ฐ์ธ์ ์ธ ์ฉ๋๋ก ์ ๋ฆฌํ ๊ธ ์ ๋๋ค.
- โAttention is all you needโ
- 2017, Google
Transformer์ ๋ํ ์ฒซ๋ฒ์งธ ํฌ์คํธ๋ ์ด๊ณณ์์ ๋ณผ ์ ์์ต๋๋ค.
Encoder in Transformer
์์์๋ ์ธ๊ธํ๋ฏ์ด Transformer์ ์ธ์ฝ๋ ๋ชจ๋ธ์ ๋ค์์ Encoder๊ฐ ์์ฌ์๋ ๊ตฌ์กฐ๋ค. ๋
ผ๋ฌธ์์๋ num_layers=6
์ผ๋ก ์ค์ ํ์ฌ ์ธ์ฝ๋ ๋ชจ๋ธ์ ๊ตฌ์ถํ์๋ค.
ํ๋์ ์ธ์ฝ๋ ๋ด๋ถ์๋ ๋ ๊ฐ์ง Layer๊ฐ ๋ ์กด์ฌํ๋ค.
- Self-Attention
- Feed Forward Neural Network; FFNN
Self-Attention in Encoder Module
๊ธฐ์กด Attention์ ๊ฒฝ์ฐ Query $Q$๊ฐ $t$ ์์ ์์์ ๋์ฝ๋์ ์๋ ์ํ์๋ค.
ํ์ง๋ง, Self-Attention์ ๊ฒฝ์ฐ, ์ด Query $Q$๊ฐ ๋์ฝ๋๊ฐ ์๋ ์ธ์ฝ๋์์ ์ ๋ํ๋ค. ๋ํ, $t$ ์์ ์ด ์๋, ์ธ์ฝ๋์ ์ ์ฒด ์์ ์ ๋ํ ์๋ ์ํ๋ก Query $Q$๋ฅผ ์์ฑํ ์ ์๋ค!
Self-Attention์ ํ์ฉํ๋ฉด, ์๋์ ๊ฐ์ด ๋ฌธ์ฅ ๋ด์์ ์ง์ํ๋ ๋์์ ์ฐพ๋๋ก ์ ์ฌ๋๋ฅผ ํ์ต์ํฌ ์ ์๋ค๊ณ ํ๋ค.
Transformer๋ ๋์ด์ RNN์ ์ฌ์ฉํ์ง ์๋๋ค. ๊ทธ๋์ โ์๋ ์ํโ๋ผ๋ ๊ฐ๋ ์ด ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ $Q$, $K$, $V$๋ฅผ ์๋ ์ํ๊ฐ ์๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ ์ํ๊ฒ ๋๋ค.
์์ ๊ฐ์ด ๋จ์ด์ embedding vector์ $Q$, $K$, $V$์ ๋์ํ๋ ๊ฐ์ค์น $W^Q$, $W^K$, $W^V$๋ฅผ ๊ณฑํ์ฌ $Q$, $K$, $V$๋ฅผ ์ป๋๋ค. (๊ฐ์ค์น๋ ๊ฐ ๋จ์ด์์ ๊ณต์ ๋๋ ๊ฐ์ธ๊ฐ? ์๋ง ๊ทธ๋ ๊ฒ ์ง?)
๊ฐ ๋จ์ด์ ๋ํ $Q$, $K$, $V$ ๊ฐ์ ๊ตฌํ ์ ์๋ค๋ฉด, ๋ค์ ๊ณผ์ ์ ์์์ ๋ค๋ฃฌ Attention Mechanism๊ณผ ์์ ํ ๋์ผํ๋ค.
Query $Q$ ๋ฒกํฐ๋ ๋ชจ๋ $K$ ๋ฒกํฐ์ ๋ํด Attention score๋ฅผ ๊ตฌํ๊ณ , softmax๋ก Attention distribution๋ฅผ ๊ตฌํ๋ค. ๊ทธ๋ฆฌ๊ณ Attention distribution์ $V$ ๋ฒกํฐ๋ฅผ ๊ฐ์คํฉํ์ฌ Attention Value๋ฅผ ๊ตฌํ๋ค. ์ด ๊ณผ์ ์ ๋ชจ๋ Query $Q$ ๋ฒกํฐ์ ๋ํด ๋ฐ๋ณตํ๋ค.
์ด๋, ์์์ ๋ค๋ฃฌ Attention Mechanism๊ณผ ๋ฌ๋ฆฌ Dot-Product Attention์ด ์๋, Dot-Product ๊ฒฐ๊ณผ์ ํน์ ๊ฐ์ ๋๋๋ $\textrm{score}(q, k) = \frac{q \cdot k}{\sqrt{n}}$๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ฐ Attention Function์ โScaled Dot-Product Attentionโ์ด๋ผ๊ณ ํ๋ค.
Attention Function์ผ๋ก Attention Score๋ฅผ ๊ตฌํ ํ์๋ ๊ธฐ์กด ๋ฐฉ์์ฒ๋ผ Softmax๋ฅผ ์์ Attention Distribution์ ๊ตฌํ๊ณ , ๊ฐ $V$ ๋ฒกํฐ์ ๊ฐ์คํฉํ์ฌ Attention Value๋ฅผ ์ป๋๋ค!
์ฐธ๊ณ ํ ์๋ฃ์์๋ ์์ ๊ณผ์ ์ word ๋ฒกํฐ ํ๋ํ๋๊ฐ ์๋๋ผ word ๋ฒกํฐ๋ฅผ ๋ชจ์ ํ๋ ฌ๋ก ์ทจ๊ธํด sequence ์ ์ฒด์ ๋ํด ํ๋ฒ์ ์งํํ ์ ์๋ค๊ณ ํ๋ค. ์์ธํ ์ค๋ช ์ ์ฌ๊ธฐ์ ์-๋ต
๊ทธ๋์ ํ๋ ฌ์ ๋ฐฉ์์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ข ํฉํ๋ฉด ์๋์ ๊ฐ๋ค.
\[\textrm{Attention}(Q, K, V) = \textrm{softmax} \left( \frac{Q \cdot K^{T}}{\sqrt{d_k}}\right) \cdot V\]๋ค์๋ Multi-head์ ๋ํ ์ค๋ช ์ด ๋ ์์ธํ ์๋๋ฐ, ํ โฆ ์ดํด๊ฐ ์ ๋๋ ์๋ตํ์.
FFNN
์๊ฐ๋ณด๋ค ๊ฐ๋จํ ๋ชจ๋ธ์ด๋ค.
๊ทธ๋ฅ ํ๋ฒํ Neural Network์ ๋ถ๊ณผ.
์์ โPosition-wiseโ๋ผ๋ ๋ง์ด ๋ถ์๋๋ฐ, ๊ทธ๋ฅ Fully-connected๋ผ๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ค!
์ด๊ฒ ๋ง๊ณ ๋ FFNN ๋ชจ๋ธ์ residual connection๊ณผ normalization์ ์ฐ๊ฒฐํด ๋ ์ ๊ตํ๊ฒ ๋ง๋ค์ด ์ค๋ค.
์ด๋ ๊ฒ Self-Attention layer์ FFNN layer๋ก ์ธ์ฝ๋ ๋ชจ๋ ํ๋๋ฅผ ๋ง๋ ํ์๋ ์ธ์ฝ๋ ๋ชจ๋์ ์์์ Encoders๋ฅผ ๋ง๋ค์ด ์ค๋ค.
์ธ์ฝ๋์ ๋ง์ง๋ง ์ถ๋ ฅ์ธต์์์ ๊ฒฐ๊ณผ๊ฐ ๋์ฝ๋์ ์ ๋ ฅ์ผ๋ก ์ ๋ฌ๋๋ค.