NLP task, architecture์ ์ญ์ฌ๋ Transformer ์ด์ ๊ณผ ์ดํ๋ก ๋ด๋ ๋ ๋งํผ, Transfomer, self-attention ์ ๋ํ ๋ด์ฉ์ ๊ผญ ์์์ผ ํ๋ ๋ด์ฉ์ด๋ผ๊ณ ์๊ฐํ๋ค. ์ค๋ ์ด ํฌ์คํ
์ ํ๋ฉด์ Transformer์ ๋ํด์ ๋ค์ ํ ๋ฒ ์ ๋๋ก ๊ณผ์ ์ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ์๋ค.
์ด ์ฐ๊ตฌ ๋ํ Google Brain, Google Research์์ ์ํ๋ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ผ๊ณ ๋
ผ๋ฌธ์ ๊ธฐ์ฌ๋์ด ์์ต๋๋ค.
์๋ ๊ทธ๋ฆผ์ด Seq2Seq+Attention ๋ชจ๋ธ์!
recurrence ๊ณผ convolutions์ ์์ ํ ์์ ๊ณ , attention mechanism์๋ง ๊ธฐ๋ฐํ ์๋ก์ด ๊ฐ๋จํ ๋คํธ์ํฌ ์ํคํ ์ฒ์ธ Transformer๋ฅผ ์ ์
=> RNN๊ณผ Attention์ ํจ๊ป ์ฌ์ฉํ๋ Seq2Seq+Attention ๋ชจ๋ธ์์, RNN์ ๊ฑท์ด๋ด๊ณ Attention ์ฐ์ฐ๋ง์ ์ฌ์ฉ
encoder์์ ์ผ์ ํฌ๊ธฐ๋ก ๋ชจ๋ ์ํ์ค ์ ๋ณด๋ฅผ ์์ถํ์ฌ ํํํ๋ ค๊ณ ํ๊ธฐ ๋๋ฌธ์ ์ ๋ณด์์ค์ด ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ณด์ํ๊ณ ์ Attention ๋ชจ๋ธ์ด ์ ์๋์๋ค.
Attention ๋ชจ๋ธ์ decoder๊ฐ ๋จ์ํ encoder์ ์์ถ๋ ์ ๋ณด๋ง์ ๋ฐ์ ์์ธก ์ํ์ค๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ์ด ์๋๋ผ, decoder๊ฐ ์ถ๋ ฅ๋๋ ์์ ๋ง๋ค encoder์์์ ์ ์ฒด ์
๋ ฅ ๋ฌธ์ฅ์ ํ๋ฒ๋ ๊ฒํ ํ๋๋ก ํ๋ค. ์ด ๋, decoder๋ encoder์ ๋ชจ๋ ์
๋ ฅ ์ํ์ค๋ฅผ ๋์ผํ ๊ฐ์ค์น๋ก ๋ฐ์๋ค์ด์ง ์๊ณ , ์ค์ํ ๋จ์ด์ ๋ํ์ฌ ๋ ํฐ ๊ฐ์ค์น๋ฅผ ์ฃผ์ด ์ค์์ฑ์ ๋ํ๋ด๋๋ก ํ๋ค. ์ฆ, encoder์์ ์ค์ํ ๋จ์ด์ ์ง์คํ์ฌ ์ด๋ฅผ decoder์ ๋ฐ๋ก ์ ๋ฌํ๋๋ก ํ๋ค.
Attention(Q, K, V) = Attention value
Value += similarity(Q, K)
=> Attention value
"์ดํ ์ ํจ์๋ ์ฃผ์ด์ง '์ฟผ๋ฆฌ(Query)'์ ๋ํด์ ๋ชจ๋ 'ํค(Key)'์์ ์ ์ฌ๋๋ฅผ ๊ฐ๊ฐ ๊ตฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ตฌํด๋ธ ์ด ์ ์ฌ๋๋ฅผ ํค์ ๋งตํ๋์ด์๋ ๊ฐ๊ฐ์ '๊ฐ(Value)'์ ๋ฐ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ฌ๋๊ฐ ๋ฐ์๋ '๊ฐ(Value)'์ ๋ชจ๋ ๋ํด์ ๋ฆฌํดํ๋ค. ์ฌ๊ธฐ์๋ ์ด๋ฅผ ์ดํ ์ ๊ฐ(Attention Value)์ด๋ผ๊ณ ํ๋ค."
Qeury์ ๋ํ์ฌ ๋ชจ๋ Key์์ ์ ์ฌ๋๋ฅผ ๊ตฌํ๊ณ , ํด๋น ์ ์ฌ๋๋ฅผ Key์ ๋งคํ๋ Value์ ๋ฐ์ํ๋ค.
๋ชจ๋ Value ๊ฐ๋ค์ ๋ํ์ฌ attention value๊ฐ์ ์ป๊ฒ ๋๋ค.
Attention ๊ธฐ๋ฒ์ ๋ค์ํ๊ฒ ์๋๋ฐ, ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ Attention ๊ฐ๋ ์ ์ดํดํ๊ธฐ ์ํด dot-product attention๋ฅผ ์ ์ฉํ ๋ชจ๋ธ์ ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๋ ค๊ณ ํ๋ค.
Q (Query): decoder์์ t ์์ ์ ์๋ ๋ฒกํฐ ()
K (Key): encoder์์ ๋ชจ๋ ์์ ์ ๋ํ ์๋ ๋ฒกํฐ ()
V (Value): encoder์์ ๋ชจ๋ ์์ ์ ์๋ ๋ฒกํฐ ๊ฐ
(์ ์ฒด ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.)
dot-product attention์์๋ ์ด ์ค์ฝ์ด ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด ๋ฅผ ์ ์น(transpose)ํ๊ณ ๊ฐ ์๋ ์ํ์ ๋ด์ (dot product)์ ์ํํฉ๋๋ค. ์ฆ, ๋ชจ๋ ์ดํ ์ ์ค์ฝ์ด ๊ฐ์ ์ค์นผ๋ผ์ด๋ค.
์ ์ํํธ๋งฅ์ค ํจ์๋ฅผ ์ ์ฉํ์ฌ, ๋ชจ๋ ๊ฐ์ ํฉํ๋ฉด 1์ด ๋๋ ํ๋ฅ ๋ถํฌ๋ฅผ ์ป์ด๋ ๋๋ค. ์ด๋ฅผ ์ดํ ์ ๋ถํฌ(Attention Distribution)๋ผ๊ณ ํ๋ฉฐ, ๊ฐ๊ฐ์ ๊ฐ์ ์ดํ ์ ๊ฐ์ค์น(Attention Weight)๋ผ๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ํํธ๋งฅ์ค ํจ์๋ฅผ ์ ์ฉํ์ฌ ์ป์ ์ถ๋ ฅ๊ฐ์ธ I, am, a, student์ ์ดํ ์ ๊ฐ์ค์น๋ฅผ ๊ฐ๊ฐ 0.1, 0.4, 0.1, 0.4๋ผ๊ณ ํฉ์๋ค. ์ด๋ค์ ํฉ์ 1์ ๋๋ค. ์์ ๊ทธ๋ฆผ์ ๊ฐ ์ธ์ฝ๋์ ์๋ ์ํ์์์ ์ดํ ์ ๊ฐ์ค์น์ ํฌ๊ธฐ๋ฅผ ์ง์ฌ๊ฐํ์ ํฌ๊ธฐ๋ฅผ ํตํด ์๊ฐํํ์์ต๋๋ค. ์ฆ, ์ดํ ์ ๊ฐ์ค์น๊ฐ ํด์๋ก ์ง์ฌ๊ฐํ์ด ํฝ๋๋ค.
์์ Seq2Seq + Attention ๋ชจ๋ธ์ ์ฐ์ผ ์ ์๋ ๋ค์ํ ์ดํ ์ ์ข ๋ฅ๊ฐ ์์ง๋ง, dot-product attetntion๊ณผ ๋ค๋ฅธ ์ดํ ์ ๋ค์ ์ฐจ์ด๋ ์ค๊ฐ ์์์ ์ฐจ์ด๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ์ค๊ฐ ์์์ attention score ํจ์๋ฅผ ๋งํ๋ค. ์์ attention์ด dot-product attention์ธ ์ด์ ๋ attention score๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด ๋ด์ ์ด์๊ธฐ ๋๋ฌธ์ด๋ค.
์ดํ ์ ์ค์ฝ์ด๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์ ์๋์ด์์ผ๋ฉฐ, ํ์ฌ ์ ์๋ ์ฌ๋ฌ ์ข ๋ฅ์ ์ดํ ์ ์ค์ฝ์ด ํจ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
Recurrent ๋ชจ๋ธ์ ์ผ๋ฐ์ ์ผ๋ก ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์ํ์ค์ ๊ธฐํธ ์์น๋ฅผ ๋ฐ๋ผ ๊ณ์ฐ์ ๊ณ ๋ คํ๋ค. ๊ณ์ฐ ์๊ฐ์ ๋จ๊ณ์ ๋ฐ๋ผ ์์น๋ฅผ ์ ๋ ฌํ์ฌ ์ด์ ์จ๊ฒจ์ง ์ํ์ ํจ์()๊ณผ t ์์ ์ ์ ๋ ฅ์ ๋ฐ๋ผ์์ผ๋ จ์ hidden state()๋ฅผ ์์ฑํ๋ค.
์ด๋ฌํ ๋ณธ์ง์ ์ธ ์์ฐจ์ ํน์ฑ์ผ๋ก ์ธํด ํ๋ จ์์ ๋ณ๋ ฌํ๊ฐ ๋ถ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ์ผ๋ก ์ธํด ์์ ๊ฐ ์ผ๊ด ์ฒ๋ฆฌ๊ฐ ์ ํ๋๋ฏ๋ก ์ํ์ค ๊ธธ์ด๊ฐ ๊ธธ์ด์ง์ ์ ์ฝ์ด ์๋ค.
โ Attention ๋ฉ์ปค๋์ฆ์ ๋ค์ํ ์์ ์์ ๊ฐ๋ ฅํ ์ํ์ค ๋ชจ๋ธ๋ง ๋ฐ ๋ณํ ๋ชจ๋ธ์ ํ์์ ์ธ ๋ถ๋ถ์ด ๋์์ผ๋ฉฐ, ์ ๋ ฅ ๋๋ ์ถ๋ ฅ ์ํ์ค์ ๊ฑฐ๋ฆฌ์ ๊ด๊ณ์์ด timestamp์ ๋ํ ์ข ์์ฑ์ ๋ชจ๋ธ๋งํ ์ ์๋ค. ์ด๋ฌํ Attention ๋ฉ์ปค๋์ฆ์ RNN๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ค.
โ ์ด ์ฐ๊ตฌ์์ ์ฐ๋ฆฌ๋ ๋ฐ๋ณต์ ํผํ๊ณ ๋์ Attention ๋ฉ์ปค๋์ฆ์ ์ ์ ์ผ๋ก ์์กดํ์ฌ ์
๋ ฅ๊ณผ ์ถ๋ ฅ ์ฌ์ด์ global dependencies(์ ์ญ ์ข
์์ฑ)์ ๊ทธ๋ฆฌ๋ ๋ชจ๋ธ ์ํคํ
์ฒ์ธ Transformer๋ฅผ ์ ์ํ๋ค.
โ Transformer๋ ํจ์ฌ ๋ ๋ง์ ๋ณ๋ ฌํ๋ฅผ ํ์ฉํ๋ฉฐ 8๊ฐ์ P100 GPU์์ ๋จ 12์๊ฐ ๋์ ๊ต์ก์ ๋ฐ์ ํ ๋ฒ์ญ ํ์ง์์ ์๋ก์ด ์ต์ฒจ๋จ ๊ธฐ์ ์ ๋๋ฌํ ์ ์์๋ค.
์์ฐจ ๊ณ์ฐ์ ์ค์ด๊ณ ์ Extended Neural GPU (extendedngpu,), ByteNet (NalBytenet2017,) and ConvS2S (JonasFaceNet2017,), ๋ชจ๋ธ๋ค์ด ์ ์๋์๊ณ , ๋ชจ๋ ์ปจ๋ณผ๋ฃจ์
์ ๊ฒฝ๋ง์ ๊ธฐ๋ณธ ๋น๋ฉ ๋ธ๋ก์ผ๋ก ์ฌ์ฉํ์ฌ ๋ชจ๋ ์
๋ ฅ ๋ฐ ์ถ๋ ฅ ์์น์ ๋ํด hidden representations์ ๋ณ๋ ฌ๋ก ๊ณ์ฐํจ
=> ํ์ง๋ง, ๋จผ ์์น ๊ฐ์ ์ข
์์ฑ์ ํ์ตํ๋ ๊ฒ์ ์ด๋ ค์ ์์
=> ์์์ ๋ ์
๋ ฅ ๋๋ ์ถ๋ ฅ ์์น์ ์ ํธ๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐ ํ์ํ ์์
์๊ฐ ์์น ๊ฐ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ConvS2S์ ๊ฒฝ์ฐ ์ ํ์ ์ผ๋ก, ByteNet์ ๊ฒฝ์ฐ ๋ก๊ทธ์ ์ผ๋ก ์ฆ๊ฐํจ.
Transformer์์๋ ์ด๋ ์ผ์ ํ ์์ ์์ ์ผ๋ก ๊ฐ์๋ฉ๋๋ค. cost of reduced effective resolution due to averaging attention-weighted positions๋ Multi-Head Attention์ผ๋ก ์ด์ ๋์ํจ
Transformer๋ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ ๊ฐ๊ฐ ํ์๋ ๊ฒ์ฒ๋ผ ์ธ์ฝ๋์ ๋์ฝ๋ ๋ชจ๋์ ๋ํด ๋์ ๋ self-attention ๋ ์ด์ด์ ํฌ์ธํธ๋ณ ์์ ์ฐ๊ฒฐ ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ๋ ์ ์ฒด ์ํคํ ์ฒ๋ฅผ ๋ฐ๋ฆ ๋๋ค.
Attention function์ Query์ key-value ์ ์ธํธ๋ฅผ output์ ๋งคํํ๋ ๊ฒ์ผ๋ก ์ค๋ช
ํ ์ ์๋ค.
โ Query, Key, Value ๋ฐ Output์ ๋ชจ๋ vector!
โ Output์ Value์ ๊ฐ์ค์น ํฉ์ผ๋ก ๊ณ์ฐ!
โ ์ฌ๊ธฐ์ ๊ฐ Value์ ํ ๋น๋ ๊ฐ์ค์น๋ ํด๋น Key์ ๋ํ Query์ compatibility function์ ์ํด ๊ณ์ฐ!
์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช ํ๋ฉด ์๋์ ๊ฐ๋ค.
h๊ฐ์ Scaled Dot-Product Attention๋ก multi-head attention ์ด ๊ตฌ์ฑ๋๋ค.
์ฆ, transformer์ ์ฌ๋ฌ๋ฒ์ attention ์ ์ํํ๋ ๊ฒ => input์ ์ฌ๋ฌ๋ฒ ์ดํดํ๋ ํจ๊ณผ
์์ ์ ํ ์ดํ ์ ์ ์ ๋ ฅ ๋ฌธ์ฅ์ ๋จ์ด ๋ฒกํฐ๋ค์ ๊ฐ์ง๊ณ ์ํํ๋ค๊ณ ํ์๋๋ฐ, ์ฌ์ค ์ ํ ์ดํ ์ ์ ์ธ์ฝ๋์ ์ด๊ธฐ ์ ๋ ฅ์ธ ์ ์ฐจ์์ ๊ฐ์ง๋ ๋จ์ด ๋ฒกํฐ๋ค์ ์ฌ์ฉํ์ฌ ์ ํ ์ดํ ์ ์ ์ํํ๋ ๊ฒ์ด ์๋๋ผ ์ฐ์ ๊ฐ ๋จ์ด ๋ฒกํฐ๋ค๋ก๋ถํฐ Q๋ฒกํฐ, K๋ฒกํฐ, V๋ฒกํฐ๋ฅผ ์ป๋ ์์ ์ ๊ฑฐ์นฉ๋๋ค.
์ด๋ ์ด Q๋ฒกํฐ, K๋ฒกํฐ, V๋ฒกํฐ๋ค์ ์ด๊ธฐ ์
๋ ฅ์ธ ์ ์ฐจ์์ ๊ฐ์ง๋ ๋จ์ด ๋ฒกํฐ๋ค๋ณด๋ค ๋ ์์ ์ฐจ์์ ๊ฐ์ง๋๋ฐ, ๋
ผ๋ฌธ์์๋ =512์ ์ฐจ์์ ๊ฐ์ก๋ ๊ฐ ๋จ์ด ๋ฒกํฐ๋ค์ 64์ ์ฐจ์์ ๊ฐ์ง๋ Q๋ฒกํฐ, K๋ฒกํฐ, V๋ฒกํฐ๋ก ๋ณํํ์์ต๋๋ค.
64๋ผ๋ ๊ฐ์ ํธ๋์คํฌ๋จธ์ ๋ ๋ค๋ฅธ ํ์ดํผํ๋ผ๋ฏธํฐ์ธ numheads๋ก ์ธํด ๊ฒฐ์ ๋๋๋ฐ, ํธ๋์คํฌ๋จธ๋ ์ numheads๋ก ๋๋ ๊ฐ์ ๊ฐ Q๋ฒกํฐ, K๋ฒกํฐ, V๋ฒกํฐ์ ์ฐจ์์ผ๋ก ๊ฒฐ์ ํฉ๋๋ค. ๋ ผ๋ฌธ์์๋ numheads๋ฅผ 8๋กํ์์ต๋๋ค.
ํธ๋์คํฌ๋จธ ์ฐ๊ตฌ์ง์ ํ ๋ฒ์ ์ดํ ์ ์ ํ๋ ๊ฒ๋ณด๋ค ์ฌ๋ฌ๋ฒ์ ์ดํ ์ ์ ๋ณ๋ ฌ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ํจ๊ณผ์ ์ด๋ผ๊ณ ํ๋จํ0๋ค.
๊ทธ๋์ ์ ์ฐจ์์ numheads๊ฐ๋ก ๋๋์ด, /numheads์ ์ฐจ์์ ๊ฐ์ง๋ Q, K, V์ ๋ํด์
numheads๊ฐ์ ๋ณ๋ ฌ ์ดํ
์
์ ์ํํ๋ค.
๋
ผ๋ฌธ์์๋ ํ์ดํผํ๋ผ๋ฏธํฐ์ธ numheads์ ๊ฐ์ 8๋ก ์ง์ ํ์๊ณ , 8๊ฐ์ ๋ณ๋ ฌ ์ดํ
์
์ด ์ด๋ฃจ์ด์ง๊ฒ ๋๋ค. ๋ค์ ๋งํด ์์์ ์ค๋ช
ํ ์ดํ
์
์ด 8๊ฐ๋ก ๋ณ๋ ฌ๋ก ์ด๋ฃจ์ด์ง๊ฒ ๋๋๋ฐ, ์ด๋ ๊ฐ๊ฐ์ ์ดํ
์
๊ฐ ํ๋ ฌ์ ์ดํ
์
ํค๋๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ด๋ ๊ฐ์ค์น ํ๋ ฌ ,, ์ ๊ฐ์ 8๊ฐ์ ์ดํ
์
ํค๋๋ง๋ค ์ ๋ถ ๋ค๋ฅด๋ค.
๋ณ๋ ฌ ์ดํ
์
์ ๋ชจ๋ ์ํํ์๋ค๋ฉด ๋ชจ๋ ์ดํ
์
ํค๋๋ฅผ ์ฐ๊ฒฐ(concatenate)ํ๋ค. ๋ชจ๋ ์ฐ๊ฒฐ๋ ์ดํ
์
ํค๋ ํ๋ ฌ์ ํฌ๊ธฐ๋ (seq-len, )๊ฐ ๋๋ค.
๊ฐ ํค๋์ ์ฐจ์์ด ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ์ด ๊ณ์ฐ ๋น์ฉ์ ์ ์ฒด ์ฐจ์์ ๊ฐ์ถ ๋จ์ผ ํค๋ ์ดํ
์
์ ๋น์ฉ๊ณผ ์ ์ฌํด์ง๋ค.
์ดํ
์
ํค๋๋ฅผ ๋ชจ๋ ์ฐ๊ฒฐํ ํ๋ ฌ์ ๋ ๋ค๋ฅธ ๊ฐ์ค์น ํ๋ ฌ
์ ๊ณฑํ๊ฒ ๋๋๋ฐ, ์ด๋ ๊ฒ ๋์จ ๊ฒฐ๊ณผ ํ๋ ฌ์ด ๋ฉํฐ-ํค๋ ์ดํ
์
์ ์ต์ข
๊ฒฐ๊ณผ๋ฌผ์ด๋ค. ์์ ๊ทธ๋ฆผ์ ์ดํ
์
ํค๋๋ฅผ ๋ชจ๋ ์ฐ๊ฒฐํ ํ๋ ฌ์ด ๊ฐ์ค์น ํ๋ ฌ ๊ณผ ๊ณฑํด์ง๋ ๊ณผ์ ์ ๋ณด์ฌ์ค๋ค. ์ด๋ ๊ฒฐ๊ณผ๋ฌผ์ธ ๋ฉํฐ-ํค๋ ์ดํ
์
ํ๋ ฌ์ ์ธ์ฝ๋์ ์
๋ ฅ์ด์๋ ๋ฌธ์ฅ ํ๋ ฌ์ (seq-len, ) ํฌ๊ธฐ์ ๋์ผํ๋ค.
transformer์์๋ Multi-Head Attention layer๊ฐ 3๊ฐ ์กด์ฌํ๊ณ , ๊ฐ๊ฐ์ ํน์ง์ด ๋ค๋ฅด๋ค.
์ด์ decoder ๋ ์ด์ด์์ ์ค๋ query๋ค๊ณผ encoder์ ์ถ๋ ฅ์ผ๋ก ๋์ค๋ memory key, value๋ค๊ณผ์ attention์
๐๐ป ์ด๋ decoder์ ๋ชจ๋ ์์น์์ input sequence์ ๋ชจ๋ ์์น๋ฅผ ์ฐธ์กฐํ ์ ์๋๋ก ํจ
Encoder์ self-attention ๋ ์ด์ด์์๋ ๋ชจ๋ ํค, ๊ฐ ๋ฐ ์ฟผ๋ฆฌ๊ฐ ๋์ผํ ์์น(์ด ๊ฒฝ์ฐ ์ธ์ฝ๋์ ์ด์ ๋ ์ด์ด ์ถ๋ ฅ)์์ ๋์ด
๐๐ป Encoder์ ๊ฐ ์์น๋ค์ ์ด์ ๋ ์ด์ด์ ๋ชจ๋ ์์น๋ค์ ์ฐธ์กฐํ ์ ์์
Decoder์ self-attention ๋ ์ด์ด๋ ๋์ฝ๋์ ๊ฐ ์์น๊ฐ ํด๋น ์์น๊น์ง ํฌํจํ๋ Decoder์ ๋ชจ๋ ์์น์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด๋ ๊ฒ์ ํ์ฉ
๐๐ป ํ์ง๋ง, Auto-Regressive ํน์ง ์ด๋ฆฌ๊ณ ์ ์ด์ ์์น๋ถํฐ ์์ ์์น๊น์ง๋ง์ ์ฐธ์กฐํ ์ ์์(Masking ๋ฐฉ๋ฒ ์ฌ์ฉ)
๋ชจ๋ Attention layer์ ํจ๊ป fully connected feed-forward network๊ฐ ์ฌ์ฉ๋จ, ์ธ์ฝ๋ ๋ฐ ๋์ฝ๋์ ๊ฐ ๊ณ์ธต์ ๊ฐ๋ณ์ ์ผ๋ก ์์นํจ(Position-wise FFNN์ ์ธ์ฝ๋์ ๋์ฝ๋์์ ๊ณตํต์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ์๋ธ์ธต์)
์ฌ๊ธฐ์ ๋ ์์ ๋ฉํฐ ํค๋ ์ดํ ์ ์ ๊ฒฐ๊ณผ๋ก ๋์จ (seq-len, )์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ ํ๋ ฌ์ ๋งํฉ๋๋ค. ๊ฐ์ค์น ํ๋ ฌ ์ (, )์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ , ๊ฐ์ค์น ํ๋ ฌ ์ (, )์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋๋ค. ๋ ผ๋ฌธ์์ ์๋์ธต์ ํฌ๊ธฐ์ธ ๋ ์์ ํ์ดํผํ๋ผ๋ฏธํฐ๋ฅผ ์ ์ํ ๋ ์ธ๊ธํ๋ฏ์ด 2,048์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋๋ค.
์ฌ๊ธฐ์ ๋งค๊ฐ๋ณ์ ,, , ๋ ํ๋์ ์ธ์ฝ๋ ์ธต ๋ด์์๋ ๋ค๋ฅธ ๋ฌธ์ฅ, ๋ค๋ฅธ ๋จ์ด๋ค๋ง๋ค ์ ํํ๊ฒ ๋์ผํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค. ํ์ง๋ง ์ธ์ฝ๋ ์ธต๋ง๋ค๋ ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง๋๋ค.
๊ทธ๋ฆผ์ผ๋ก ์๊ฐํ๋ฉด,
Encoder๋ ์ด๋ฐ ๊ตฌ์กฐ์ธ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ๋ก ์์ฐจ ์ฐ๊ฒฐ(Residual connection)๊ณผ ์ธต ์ ๊ทํ(Layer Normalization)๋ ์ถ๊ฐ๋์ด์ Encoder๋ฅผ ๊ตฌ์ฑํ๋๋ฐ ์๋์ ๊ฐ๋ค.
์์ฐจ ์ฐ๊ฒฐ์ ์๋ธ์ธต์ ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ํ๋ ๊ฒ์ ๋งํ๋ค ์์ ์ธ๊ธํ๋ฏ์ด ํธ๋์คํฌ๋จธ์์ ์๋ธ์ธต์ ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋์ผํ ์ฐจ์์ ๊ฐ๊ณ ์์ผ๋ฏ๋ก, ์๋ธ์ธต์ ์
๋ ฅ๊ณผ ์๋ธ์ธต์ ์ถ๋ ฅ์ ๋ง์
์ฐ์ฐ์ ํ ์ ์๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์์ ์ธ์ฝ๋ ๊ทธ๋ฆผ์์ ๊ฐ ํ์ดํ๊ฐ ์๋ธ์ธต์ ์
๋ ฅ์์ ์ถ๋ ฅ์ผ๋ก ํฅํ๋๋ก ๊ทธ๋ ค์ก๋ ์ด์ ๋ค. ์์ฐจ ์ฐ๊ฒฐ์ ์ปดํจํฐ ๋น์ ๋ถ์ผ์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๋ชจ๋ธ์ ํ์ต์ ๋๋ ๊ธฐ๋ฒ์ด๋ค.
์๋ธ์ธต์ด ๋ฉํฐ ํค๋ ์ดํ ์ ์ด์๋ค๋ฉด ์์ฐจ ์ฐ๊ฒฐ ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ๋ค.
์์ฐจ ์ฐ๊ฒฐ์ ๊ฑฐ์น ๊ฒฐ๊ณผ๋ ์ด์ด์ ์ธต ์ ๊ทํ ๊ณผ์ ์ ๊ฑฐ์น๊ฒ๋ฉ๋๋ค.
์ธต ์ ๊ทํ๋ ํ
์์ ๋ง์ง๋ง ์ฐจ์์ ๋ํด์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ๊ตฌํ๊ณ , ์ด๋ฅผ ๊ฐ์ง๊ณ ์ด๋ค ์์์ ํตํด ๊ฐ์ ์ ๊ทํํ์ฌ ํ์ต์ ๋๋๋ค. ์ฌ๊ธฐ์ ํ
์์ ๋ง์ง๋ง ์ฐจ์์ด๋ ๊ฒ์ ํธ๋์คํฌ๋จธ์์๋ ์ฐจ์์ ์๋ฏธํ๋ค. ์๋ ๊ทธ๋ฆผ์ ์ฐจ์์ ๋ฐฉํฅ์ ํ์ดํ๋ก ํํํ์๋ค.
Positional Encoding
์ ์ถ๊ฐํจ์ ์ํ์ค ๊ธธ์ด, ๋ ํํํ๋ ์ฐจ์, ๋ ์ปจ๋ณผ๋ฃจ์ ์ ์ปค๋ ์ฌ์ด์ฆ, ์ ์ ํ๋ self-attention์์์ neighborhood ํฌ๊ธฐ์
(1) Self-Attention vs Recurrent
Recurrent layer๋ ์์ฐจ์ ์ผ๋ก ๊ณ์ฐํด๋๊ฐ๊ธฐ์, ํ๋ฒ์ ํ๋ ฌ ๊ณ์ฐ์ผ๋ก attention์ ๊ณ์ฐํ๋ Self-Attention๊ณผ ๋น๊ตํ์ ๋, Sequential Operations ๋ณต์ก๋๋ O(n)์ด๋ค. => Self-Attention layer๊ฐ Recurrent layer๋ณด๋ค sequential operations
๋ฉด์์ ๋น ๋ฆ
๋ํ, n<d ์ธ ๊ฒฝ์ฐ, ๊ณ์ฐ ๋ณต์ก๋(Complexity per Layer)๋ฉด์์๋ Self-Attention layer์ด Recurrent layer๋ณด๋ค ๋ ๋ซ๋ค.
(1) Self-Attention vs Convolutional
Convolutional layers๋ ์ผ๋ฐ์ ์ผ๋ก recurrent layers๋ณด๋ค ๋ก ์ธํด์ ๋ ๋ง์ ๋น์ฉ์ด ๋ ๋ค.
๋ํ Maximun Path Length์ ๊ฒฝ์ฐ์๋ ๋ณต์ก๋๊ฐ Self-Attention ๋ณด๋ค ํฌ๋ค.
(3) Self-Attention์ ๋ ํด์ ๊ฐ๋ฅํ ๋ชจ๋ธ์ ์์ฑํ ์ ์์
Individual attention heads๋ ๋ค์ํ ์์
์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ช
ํํ๊ฒ ํ์ตํ ๋ฟ๋ง ์๋๋ผ, ๋ง์ ๊ฒฝ์ฐ ๋ฌธ์ฅ์ ๊ตฌ๋ฌธ ๋ฐ ์๋ฏธ ๊ตฌ์กฐ์ ๊ด๋ จ๋ ํ๋์ ๋ณด์ด๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
3๊ฐ์ง์ Regularization ๋ฐฉ๋ฒ๋ก ์ฌ์ฉ
Transformer๋ ์ ์ ๊ต์ก ๋น์ฉ์ผ๋ก e English-to-German and English-to-French newstest2014 tests์์ ์ด์ ์ต์ฒจ๋จ ๋ชจ๋ธ๋ณด๋ค ๋ ๋์ BLEU ์ ์๋ฅผ ๋ฌ์ฑํ๋ค.
Transformer์ ๋ค์ํ ๊ตฌ์ฑ ์์์ ์ค์์ฑ์ ํ๊ฐํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ๊ธฐ๋ณธ ๋ชจ๋ธ์ ๋ค์ํ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝํ์ฌ ๊ฐ๋ฐ ์ธํธ์ธ newstest2013์ English-to-German ๋ฒ์ญ ์ฑ๋ฅ ๋ณํ๋ฅผ ์ธก์ ํ๋ค.
Transformer๊ฐ ๋ค๋ฅธ ์์ ์ผ๋ก ์ผ๋ฐํํ ์ ์๋์ง ํ๊ฐํ๊ธฐ ์ํด ์์ด ์ ๊ฑฐ๊ตฌ ๊ตฌ๋ฌธ ๋ถ์์ ๋ํ ์คํ์ ์ํํ๋ค.
RNN sequence-to-sequence models๊ณผ ์ ๋ฐ๋๋ก, the Transformer๊ฐ BerkeleyParser์ ๋ฅ๊ฐํ๋ ์ฑ๋ฅ์ ๋ณด์๋ค. (40K sentences๋ก ๊ตฌ์ฑ๋ Wall Street Journal (WSJ)๋ง์ ํ์ตํ๋๋ฐ๋)
โ
์ต์ด์ ์ํ์ค ๋ณํ ๋ชจ๋ธ์ธ Transformer๋ฅผ ์ ์
: ์ด ์์
์์ ์ฐ๋ฆฌ๋ ์ธ์ฝ๋-๋์ฝ๋ ์ํคํ
์ฒ์์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ํ ๋ ์ด์ด๋ฅผ Multi-headed self-attention์ผ๋ก ๋์ฒดํ์ฌ ์ ์ ์ผ๋ก Attention์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ Transformer ์ ์
โ
Translation Task์ ๊ฒฝ์ฐ Transformer๋ Recurrent ๋๋ Covolutional layer๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ํคํ
์ฒ๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ฒ ํ์ต๋ ์ ์์
โ
WMT 2014 English-to-German and WMT 2014 English-to-French translation tasks ๋ชจ๋์์ new state of the art(SOTA) ๋ฌ์ฑ
: Best Transformer ๋ชจ๋ธ์ ์ด์ ์ ๋ณด๊ณ ๋ ๋ชจ๋ Ensemble model๋ณด๋ค ์ฑ๋ฅ์ด ๋ฐ์ด๋จ
๐ก ๋ค๋ฅธ Task์ ์ ์ฉํ ๊ณํ
๐ก ํ
์คํธ ์ด์ธ์ ์
๋ ฅ ๋ฐ ์ถ๋ ฅ ์์๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๋ก Transformer๋ฅผ ํ์ฅํ๊ณ ์ด๋ฏธ์ง, ์ค๋์ค ๋ฐ ๋น๋์ค์ ๊ฐ์ ๋๊ท๋ชจ ์
๋ ฅ ๋ฐ ์ถ๋ ฅ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ง์ญ์ ์ด๊ณ ์ ํ๋ ์ฃผ์ ๋ฉ์ปค๋์ฆ์ ์กฐ์ฌํ ๊ณํ
๐ก Making generation less sequential is another research goals of ours.
Reference
์ํค๋ ์ค_Trasnformer
attention ๊ตฌ์กฐ
transfomer ๊ณ์ฐ ๊ณผ์ ์ค๋ช