์ฃผ์ sequence transduction ๋ชจ๋ธ์ ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ํฌํจํ๊ณ ์๋ ๋ณต์กํ RNN ๋๋ CNN์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. ๋ณธ ๋ ผ๋ฌธ์์๋ ์ค์ง attention mechanism์๋ง ๊ธฐ๋ฐํ transfomer๋ฅผ ์ ์ํ๋ค. ์ด๋ ๋ณ๋ ฅ์ ์ผ๋ก ์ํ์ค ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ ๋น ๋ฅธ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. ๋ํ transformer ๋ ๋ค๋ฅธ task์ ์ผ๋ฐํ ํ ์ ์์์ ๋ณด์ธ๋ค.
Recurrent model์ input๊ณผ output ์ํ์ค์ symbol position์ ํตํด ๊ณ์ฐ์ ์ํํ๋ค. ์ด๋ ์ด์ hidden states ๊ณผ ์์น ์ ํจ์์ธ hidden states ๋ฅผ ์์ฑํ๋ค. ์ด๋ ๊ฒ ์งํ ์ ๊ธด sequence ๊ธธ์ด๋ฅผ ๊ฐ์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋, memory์ computation์์ ์ ์ฝ์ด ์๊ธด๋ค.
Attention mechanisms์ input ๋๋ output ์ํ์ค์ distance์ ๊ด๊ณ์์ด dependency๋ฅผ ๋ชจ๋ธ๋งํ ์ ์์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ recurrent network์ ํจ๊ป ์ฌ์ฉ๋์์ ํจ์จ์ ์ธ ๋ณ๋ ฌํ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ recurrence๋ฅผ ํํผํ๋ฉด์ input๊ณผ output์ฌ์ด์ global dependencies์ ๋ชจ๋ธ๋ง ํ ์ ์๋ Attention mechanism๋ง์ ์ฌ์ฉํ ๋ชจ๋ธ Transformer์ ์ ์ํ๋ค.
"Extended Neural GPU," "ByteNet," "ConvS2S"๊ณผ ๊ฐ์ ๋ชจ๋ธ์ sequentialํ ๊ณ์ฐ์ ์ค์ด๊ธฐ์ํด CNN์ ์ฌ์ฉํ๋ฉฐ input๊ณผ outputdml position์ ๋ํ ์จ๊ฒจ์ง ํํ์ ๋ณ๋ ฌ๋ก ๊ณ์ฐํ๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๋ชจ๋ธ์์ ์์์ ์
๋ ฅ ๋๋ ์ถ๋ ฅ ์์น ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ตํ๊ธฐ๊ฐ ์ด๋ ค์์ง๋ค.
transformer๋ ์ด ๋ฌธ์ ๋ฅผ ์์ ๊ฐ์ ์ฐ์ฐ์ผ๋ก ์ค์ด์ง๋ง, ํ๊ท ํ๋ ์ดํ
์
๊ฐ์ค์น ์์น๋ก ์ธํด ํจ๊ณผ์ ์ธ ํด์๋๊ฐ ๊ฐ์ํ๋ ๋ถ์์ฉ์ด ์๋ค. ์ด ๋ถ์์ฉ์ "Multi-Head Attention"์ ํตํด ๊ทน๋ณตํ๊ณ ์ ํ๋ค.
๋ณธ ๋ ผ๋ฌธ์์๋ transformer๊ฐ sequence-aligned RNNs ํน์ ์ปจ๋ณผ๋ฃจ์ ์ ์ฌ์ฉํ์ง ์๊ณ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ์ ํํ์ ๊ณ์ฐํ๊ธฐ ์ํด ์์ ํ 'self-attention'์ ์์กดํ๋ ๋ชจ๋ธ์์ ๋ณด์ธ๋ค.
encoder์ decoder์์ stacked self-attention๊ณผ poinwise๋ฅผ ์ฌ์ฉํ ์์ ์ฐ๊ฒฐ์ธต์ ๊ตฌ์กฐ๋กํ๋ค.
Encoder : 6๊ฐ์ ๋์ผํ layer๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
โถ๏ธ ๊ฐ๊ฐ์ layer๋ ๋๊ฐ์ sub-layer๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- 1. multi-head self-attention mechanism
- 2. positionwise fully connected feed-forward network
Decoder : 6๊ฐ์ ๋์ผํ layer๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
โถ๏ธ ๊ฐ๊ฐ์ layer๋ ์ธ๊ฐ์ sub-layer๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- 1. multi-head self-attention mechanism
- 2. positionwise fully connected feed-forward network
- 3. encoder stack์ output์ ๋ํด multi-head attention์ ์ํ
query, key, value?
Query(Q)๋ ๋ฌผ์ด๋ณด๋ ์ฃผ์ฒด, Key(K)๋ ๋ฐ๋๋ก Query์ ์ํด ๋ฌผ์ด๋ด์ ๋นํ๋ ์ฃผ์ฒด, Value(V)๋ ๋ฐ์ดํฐ์ ๊ฐ๋ค์ ์๋ฏธํ๋ค.
๊ณ์ฐ์์ ๋ค์๊ณผ ๊ฐ๋ค.
Query(Q) : ์ด๋ค ๋จ์ด๋ฅผ ๋ํ๋ด๋ vector
Key(K) : ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด๋ค์ ๋ํ vector๋ค์ ์์๋์ ํ๋ ฌ๐๐ป ์ด ๋ Q์ K์ ์ฐจ์์ , V์ ์ฐจ์์ ์ด๋ค.
๋ชจ๋ธ์ด ๋ค์ํ ๊ด์ ์์ ๋ฌธ์ฅ์ ํด์ํ ์ ์๋๋ก ํ๋ ์ญํ ์ด๋ค.
queries์ keys, values๋ฅผ linear projection์ ํตํด ์ค๊ฐ์ ๋งคํํด ์ฌ๋ฌ๊ฐ์ attention function๋ค์ ๋ง๋๋ ๊ฒ์ด single attention function๋ณด๋ค ํจ์จ์ ์ด๋ค. ๊ฐ๊ฐ์ attention์ ์ถ๋ ฅ๊ฐ์ ์ ๋ถ ํฉ์ณ์ง๊ณ linear function์ ์ด์ฉํด ๋งคํ๋๋ค.
computational cost์ธก๋ฉด์์ ๋ฐ๋ผ๋ดค์ ๋ ์ด๊ธฐ ๋๋ฌธ์ single-head attention๊ณผ ๋น๊ตํ์ ๋ ๋น์ทํ๋ค.
transformer์์๋ multi-head attention์ ๋ค์์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๋ค.
input๊ณผ output์ tokenizing์ ์งํํ๋ฉฐ embedding layer๋ฅผ ๊ฑฐ์ณ ๋์จ embedding vector๋ฅผ ์ฌ์ฉํ๋ค. embedding vector๋ ๋ฌธ๋งฅ์ ์ ๋ํ๋ด๊ณ ์์ผ๋ฉฐ input embedding๊ณผ output embedding์์ ๊ฐ์ค์น matrix๋ ์๋ก ๊ณต์ ํ๋ค.
transformer๋ attention mechanism๋ง์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ sequenceํ ์ ๋ณด๋ฅผ ๋ด์๋ผ ์ ์๋ค. ๋ฐ๋ผ์ ๋ณ๋์ 'positinal encoding'์ ํตํด sequenceํ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ค.
positinal encoding์ sine๊ณผ cosine function์ ์ด์ฉํด ๋์ถํ ์ ์๋ค.
pos : position
i : dimension
โญ๏ธ ๊ณ ์ ๋ offset k์ ๋ํด ๊ฐ $$PE_{pos}##์ ์ ํํจ์๋ก ํํ๋ ์ ์๊ธฐ์ ๋ชจ๋ธ์ด ์ฝ๊ฒ ์๋์ ์ธ ์์น๋ฅผ ์ฐธ์กฐํ ์ ์์ ๊ฒ์ด๋ผ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์์ ํจ์๋ฅผ ์ฌ์ฉํ๋ค.