2023. 3. 14. 13:14ใ๐ง๐ป๐ซ Ideas/(Advanced) Time-Series
"Attention is all you need", ์ด ๋ ผ๋ฌธ์ ๊ธฐ์กด seq to seq ๋ชจ๋ธ์ ํ๊ณ์ ์ ๋ณด์ํ๊ณ ์ฑ๋ฅ์ ํฌ๊ฒ ๊ฐ์ ํ Transformer ๋ชจ๋ธ์ ๋ฑ์ฅ์ ์๋ฆฐ ๊ธฐ๋ ๋น์ ์ธ ๋ ผ๋ฌธ์ด๋ค.
ํ์ฌ NLP์ ๊ฐ์ด seq to seq ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ํ์คํฌ์์๋ ํธ๋์คํฌ๋จธ๊ฐ ์ฃผ๋ฅ๋ฅผ ์ฐจ์งํ๊ณ ์์ผ๋ฉฐ, ์๊ณ์ด ๋ถ์์์๋ ๊ทธ ํ์ฉ์ฑ์ ๋์ด๋ ค๋ ์ฐ๊ตฌ๊ฐ ํ๋ฐํ๊ฒ ์งํ๋๊ณ ์๋ค.
์ฆ, ์๋ก์ด ๋ ผ๋ฌธ์์ ์ ์๋๋ "State of the art"(sota)๋ชจ๋ธ๋ค์ ๋๋ถ๋ถ์ด ์ด ํธ๋์คํฌ๋จธ์ ๋ฐํ์ ๋๊ณ ์๋ ๊ฒ์ด๋ค.
๋๋ฌธ์ ๊ฒฐ๊ตญ ์ด ๋ ผ๋ฌธ์์ ์ ์ํ Attention ์๊ณ ๋ฆฌ์ฆ๊ณผ ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ์ ๋๋ก ์ดํดํ๋ ๊ฒ์ ์ต์ ํธ๋ ๋๋ฅผ ์ดํดํ๊ณ ๋ ๋์๊ฐ ์๋ก์ด ์ฐ๊ตฌ ๊ธฐํ๋ฅผ ํฌ์ฐฉํ๋ ๋ฐ ์์ด์ ๋งค์ฐ ์ค์ํ ์ฒซ ๊ฑธ์์ผ ๊ฒ์ด๋ค.
Introduction
์ด ๋ ผ๋ฌธ์ด ๋ฐํ๋ ๋น์์๋ RNN๊ธฐ๋ฐ์ LSTM, GRU๊ฐ ์์ฐ์ด ๋ฒ์ญ๊ณผ ๊ฐ์ Sequential data(์์ฐจ ๋ฐ์ดํฐ)๋ฅผ ์ฒ๋ฆฌํ๋ ํ์คํฌ์ ์ฃผ๋ ๋ชจ๋ธ์ด์์ผ๋ฉฐ sota์๊ณ ๋ฆฌ์ฆ๋ค์ ๋ฐ๋ฐํ์ด์๋ค.
๊ทธ๋ฐ๋ฐ RNN ๊ธฐ๋ฐ์ ๋ชจ๋ธ๋ค์ "๋ฉ๋ชจ๋ฆฌ, ์๋ ์ฐจ์์ ๋นํจ์จ์ฑ"๊ณผ "์ฅ๊ธฐ ์์กด์ฑ์ ์ํ ์ฑ๋ฅ ์ ํ"๋ผ๋ ์น๋ช ์ ์ธ ๋จ์ ์ด ์กด์ฌํ๋ค.
RNN(Recurrent Neural Network) ๊ธฐ๋ฐ์ Recurrent(์ํ) ๋ชจ๋ธ์ ์์ ๊ฐ์ด ์ธํ๊ณผ ์์ํ์ ํฌ์ง์ ์ ๋ฐ๋ผ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํฌ์ ํ์ฌ ์ฐจ๋ก๋๋ก ํ์ตํ๋ค. ์ฆ, ์ ๋ ฅ์ธต์ ์ธํ์ ์ง์ด๋ฃ๋ ๊ฒ๊ณผ ์๋์ธต Hidden state์ ์ฐ์ฐ ๋ํ ๊ณ์ ์์ฐจ์ ์ผ๋ก ์ ๋ฌ๋๋ฉฐ ์ต์ข ์์ํ์ ์ฐ์ถํ๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ๊ณผ์ ์ ์ธํ์ด ๊ธธ์๋ก ๊ณ์ฐ๊ณผ์ ์์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฝ์ด ์๊ธฐ๋ฉฐ ์๋ ๋ํ ์ ํ๋๋ค.
์ด๋ฌํ ์ํ ๋ชจ๋ธ์ ๋ฉ๋ฆฌ ๋จ์ด์ง ์์ ์ ๋ฐ์ดํฐ์ ์ข ์์ฑ์ ์์ด ์ฑ๋ฅ์ด ์ ํ๋๋ ๋ฌธ์ ์ ๋ํ ์๊ณ ์๋ค. ์ด๊ฒ์ด ๋ฐ๋ก "์ฅ๊ธฐ ์ข ์์ฑ" ๋ฌธ์ ๋ก, ํนํ ๊ธด ์ธํ์์ ์์ฐจ์ ์ผ๋ก ๊ณ์ฐ์ด ์ด์ด์ง ๋, ๋ฉ๋ฆฌ ๋จ์ด์ง ์์ ์ ๋ฐ์ดํฐ์ ์ํฅ๋ ฅ์ ์๊ฒ ๋๋ ๊ฒ์ด๋ค. ๊ฒ๋ค๊ฐ ๊ธฐ๋ณธ RNN ๋ชจํ ๊ฐ์ ๊ฒฝ์ฐ๋ ๊ตฌ์กฐ์ ํ๊ณ์ ์ธ ๊ธฐ์ธ๊ธฐ ์๋ฉธ ๋ฌธ์ ๋ํ ์๊ณ ์๋ค.
์ด์ ์ด๋ฌํ ํ๊ณ์ ์ ๋ณด์ํ๋ ค๋ ์ฌ๋ฌ ์ฐ๊ตฌ๋ค์ด ์งํ๋์๊ณ ์ผ๋ถ ๊ณ์ฐ ํจ์จ์ฑ์ ํฅ์์ํค๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์์ผ๋ ์์ฐจ์ ์ธ ๊ณ์ฐ์ ๊ทผ๋ณธ์ ์ธ ์ ์ฝ์ ์ฌ์ ํ ๋จ์์๋ ๊ฒ์ด ํ์ค์ด์๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก "Attention"(= ์ดํ ์ )์๊ณ ๋ฆฌ์ฆ์ ํตํด ๊ธด ์ธํ, ์ฅ๊ธฐ๊ฐ์ ์์ ์ ๋ค๋ฃจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์์ด์ ์ฅ๊ธฐ ์ข ์์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง๋ง, ์ฌ์ ํ RNN ๊ธฐ๋ฐ์ ์ํคํ ์ฒ์ ํจ๊ป ์ด์ฉ๋ ๊ฒ์ด ๋๋ถ๋ถ์ด์๋ค.
์ด์ ์ด ๋ ผ๋ฌธ์ ์ ์๋ค์ ๊ธฐ์กด์ recurrentํ ์ํคํ ์ฒ๋ฅผ ์ ๊ฑฐํ๊ณ "attention"์ ์ ์ ์ผ๋ก ์์กดํ๋ transformer(์ดํ ํธ๋์คํฌ๋จธ)๋ฅผ ์ ์ํ๋ค.
ํธ๋์คํฌ๋จธ๋ ์ ์ญ์ ์ธ dependence๋ฅผ ๋ฝ์๋ด๊ณ , ๋ ๋ง์ ๋ณ๋ ฌํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํจ์ผ๋ก์จ ๋ ๋์ ์ต์ (sota)์ฑ๋ฅ์ ๋ฌ์ฑํ์๋ค.
Background
์์ฐจ์ ๊ณ์ฐ(sequential computation)์ ์ค์ด๋ ค๋ ์ฐ๊ตฌ๋ CNN์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ก ๋ Extended Neural GPU, ByteNet, ConvS2S์์๋ ์กด์ฌํ๋ค. ์ด๋ค์ ์ธํ, ์์ํ์ ํฌ์ง์ ์ ๋ํด ์๋์ธต์ ์ํ๋ฅผ ๋ณ๋ ฌ์ ์ผ๋ก ๊ณ์ฐํ๋๋ฐ, ์ธํ๊ณผ ์์ํ์ ์ฐ๊ด์ํค๋ ๋ฐ์ ํ์ํ ์์ ์ ์๊ฐ ํฌ์ง์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋งํผ ์ฆ๊ฐํ๋ค. (์ ํ์ for ConvS2S and ๋ก๊ทธ์ for ByteNe)
์ด๋ฌํ ํน์ง์ ๋จ์ด์ง ํฌ์ง์ ์ฌ์ด์ ์์กด์ฑ ๋ด์ง๋ ์ด๋ ํ ๊ด๊ณ๋ฅผ ํ์ ํ๋ ๋ฐ ์ด๋ ค์์ ์ค๋ค.
๋ฐ๋ผ์ ์๋ก ์ ์ํ๋ ํธ๋์คํฌ๋จธ๋, averaging attention-weighted positions์ผ๋ก ์ธํด ํจ๊ณผ์ฑ์ด ๊ฐ์ํ๋ ๋๊ฐ๋ฅผ ์น๋ฅด์ง๋ง, Multi-Head ์ดํ ์ ์ผ๋ก ์ด๋ฅผ ๋ณด์ํ๋ฉฐ ์์ ์ ์๋ฅผ ์ผ์ ํ ์๋ก ๊ฐ์์์ผฐ๋ค.
Model Architecture
๋ณธ๊ฒฉ์ ์ผ๋ก ํธ๋์คํฌ๋จธ์ ์ํคํ ์ฒ๋ฅผ ์ค๋ช ํ๊ธฐ์ ์์, ๋ ผ๋ฌธ์์ ์ง์ ํ ํ์ดํผ ํ๋ผ๋ฏธํฐ๋ฅผ ๋จผ์ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
1.์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ฐจ์ d_model = 512
2.์ธ์ฝ๋์ ๋์ฝ๋์ ์(layer) = 6
3.์ดํ ์ ํค๋์ ์(num_head) = 8
4.FFN(Feed Forward Network) ์๋์ธต์ ํฌ๊ธฐ = 2048
๋๋ถ๋ถ์ ๊ฒฝ์๋ ฅ์๋ neural sequential ๋ณํ๊ธฐ๊ฐ ์ธ์ฝ๋ - ๋์ฝ๋ ๊ตฌ์กฐ๋ก ๋์ด์๋ฏ์ด, ํธ๋์คํฌ๋จธ ๋ํ ์ธ์ฝ๋ - ๋์ฝ๋๋ก ์ฐ๊ฒฐ๋๋ค.
๋ํ ๊ฐ ๋ชจ๋์ ๋ด๋ถ์ ์ ํ ์ดํ ์ ๊ณผ fully-connected-layer๋ผ๋ sub-layer๋ค๋ก ๊ตฌ์ฑ๋์ด์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ธํ์ธ x์ sequence๋ฅผ ๋งตํํ์ฌ(self-attention) context vactor๋ฅผ ์์ฑํ๊ณ , ๋์ฝ๋๋ ๊ทธ๊ฒ์ ์ถ๊ฐ์ ์ธ ์ธํ์ผ๋ก ๋ฐ์ ์์ํ์ ์์ฑํ๋ ๊ตฌ์กฐ์ด๋ค.
๋ ผ๋ฌธ์์ ์ ์ํ ํธ๋์คํฌ๋จธ์ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ์ธ์ฝ๋ & ๋์ฝ๋
๋จผ์ "์ธ์ฝ๋"๋ 6๊ฐ์ ๋์ผํ layer(์ดํ ๋ ์ด์ด)๊ฐ ์ค์ฒฉ๋์ด ์๋ ๊ตฌ์กฐ(N=6, ํ์ดํผ ํ๋ผ๋ฏธํฐ)์ด๋ค.
๊ฐ ๋ ์ด์ด๋ 2๊ฐ์ ํ์ ๋ ์ด์ด๊ฐ ์๋๋ฐ, ์ฒซ ๋ฒ์งธ๊ฐ self-attention ๋งค์ปค๋์ฆ์ด๊ณ ๋ ๋ฒ์งธ๊ฐ ์์ ์ฐ๊ฒฐ๋ ์๋ฐฉํฅ ์ ๊ฒฝ๋ง(feed-forward network)์ด๋ค. ์ฆ, self-attention ๋ ์ด์ด์ feed-forward ๋ ์ด์ด๊ฐ ์ฐ๊ฒฐ๋ ํฐ ๋ธ๋ก, ๋ชจ๋ 6๊ฐ๊ฐ ์ค์ฒฉ๋ ๊ตฌ์กฐ๋ผ๊ณ ๋ณผ ์ ์๋ค.
ํํธ, ๊ฐ ํ์ ๋ ์ด์ด๋ค์ ์์ํ์ ์์ฐจ ์ฐ๊ฒฐ(residual-connection)๊ณผ ์ธต ์ ๊ทํ(layer normalization)์ ๊ฑฐ์น๋ค.
์ ์๋ค์ ์์ฐจ์ฐ๊ฒฐ์ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํด, ์๋ฒ ๋ฉ ๋ ์ด์ด๋ฅผ ํฌํจํ ๋ชจ๋ ํ์ ๋ ์ด์ด๋ค์ด ์์ฑํ๋ ์์ํ์ ์ฐจ์์ 512๋ก ์ค์ ํ๋ค.
์ ๋ฆฌํ์๋ฉด, ์ธ์ฝ๋ ๊ตฌ์กฐ์ ์ค์ํ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
- self-attention layer(sub-layer)
- feed-foward network layer(sub-layer)
- residual - connection
- layer normalization
"๋์ฝ๋"๋ ์ธ์ฝ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก 6๊ฐ์ ๋์ผํ layer(์ดํ ๋ ์ด์ด)๊ฐ ์ค์ฒฉ๋์ด ์๋ ๊ตฌ์กฐ(N=6)์ด๋ค.
๊ทธ๋ฌ๋ ๋์ฝ๋๋, ์ธ์ฝ๋์ ๊ฐ์ 2๊ฐ์ ํ์ ๋ ์ด์ด ๋ฟ๋ง ์๋๋ผ, ์ธ์ฝ๋์ ์ต์ข ๊ฒฐ๊ณผ๊ฐ๊ณผ encorder-decorder attention(not self, multi-head attention)์ ์ํํ๋ ํ์ ๋ ์ด์ด๋ฅผ ์ถ๊ฐํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
๋ํ ์ธ์ฝ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ ํ์ ๋ ์ด์ด๋ค์ ์์ฐจ ์ฐ๊ฒฐ ์ดํ์ ์ธต ์ ๊ทํ๋ฅผ ์ํํ์ฌ ์์ํ์ ์ฐ์ถํ๋ค.
๊ทธ๋ฐ๋ฐ, ์ฌ๊ธฐ์ ์ฃผ๋ชฉํด์ผ ํ๋ ๊ฒ์ self-attention์ ์ํํ๋ ํ์ ๋ ์ด์ด๊ฐ masked self-attention์ด๋ผ๋ ๊ฒ์ด๋ค.
masked๋ ์ง์ ๋ค๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ฏ๋ก ์ด๋ ๋ช๋ช์ ๊ฐ์ ์ง์ฐ๊ณ ์ดํ ์ ์ ์ํํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
์๋ํ๋ฉด ๋์ฝ๋์์ ์ฒ์ ์งํํ๋ masked self-attention์ดํ, ์ธ์ฝ๋์ ์์ํ๊ณผ multi-head-attention์ ์งํํ ๋, t์์ ์ ๊ฐ์ ์์ธกํ๋ ๋ฐ ์์ด์ ๊ทธ ์ด์ ์ ๊ฐ๋ง ์ฐธ์กฐํ๊ธฐ ์ํด์์ด๋ค.
์ด๋ฌํ ๋์ฝ๋์ ์ฒซ ๋ฒ์งธ ์ดํ ์ ์ ๋ง์คํน(masking)์ ์ ์ธํ๊ณ , self-attention๊ณผ multi-head attention์ด๋ผ๋ ์ ์ ๋์ผํ๋ค.
์ ๋ฆฌํ์๋ฉด ๋์ฝ๋์ ์ค์ํ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
- masked self-attention layer(sub-layer)
- feed-foward network layer(sub-layer)
- encorder - decorder attention
- residual - connection
- layer normalization
Attention
์ดํ ์ ์๊ณ ๋ฆฌ์ฆ์ Q(Query, ์ฟผ๋ฆฌ), K(Key, ํค), V(Value, ๊ฐ) ์ธ ๊ฐ์ ์ธํ์ ๋ฐ๋๋ฐ, ๊ทธ ๊ธฐ๋ฅ์ ํ์ด์ ์ค๋ช ํ์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ดํ ์ ์ ์ฟผ๋ฆฌ์ ํค์ ์ ์ฌ๋๋ฅผ ๊ตฌํ๊ณ , ์ด๋ฅผ ๊ฐ์ค์น๋ก์จ ๊ฐ์ ๋ฐ์ํ๋ฉฐ, ์ด๋ฅผ ๊ฐ์คํฉํ์ฌ attention value๋ฅผ ์ฐ์ถํ๋ค.
์ฆ, ์ธํ์ ๋ฌธ๋งฅ์ ํ์ ํ์ฌ ๊ทธ๊ฒ์ ๊ฐ์ค์น๋ก ํ์ฌ ๋์์ด ๋๋ ๊ฐ์ ๋ฐ์ํด์ฃผ๋ ๊ฒ์ด๋ค. (์ฌ๊ธฐ์ Q,K,V๋ ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด ๋ฒกํฐ๋ค์ด๋ค.)
์์ ๊ณ์ ์ธ๊ธํ๋ attention๋ค์ ์ ๋ฆฌํ๋ฉด, ํธ๋์คํฌ๋จธ ์ํคํ ์ฒ์์ ์ํ๋๋ ์ดํ ์ ์ ์ด ์ธ ๊ฐ์ง๋ก ๋ถ๋ฅํ ์ ์๋ค.
1. Encoder self-attention (Q=K=V)
2. Masked decoder self-attention (Q=K=V)
3. Encoder - Decoder attention (Q(decoder), K(encoder) = V(encoder))
์ด๋ค์ ๋ชจ๋ multi-head attention(๋ฉํฐํค๋ ์ดํ ์ )์ด๋ผ๋ ๊ณตํต์ ์ด ์๋ค. ๋ํ 1๋ฒ๊ณผ 2๋ฒ ์ดํ ์ ์ ์ฟผ๋ฆฌ, ํค, ๊ฐ์ด ๋ชจ๋ ๊ฐ๊ธฐ ๋๋ฌธ์ self ์ดํ ์ ์ด๋ผ๋ ์ด๋ฆ์ด ๋ช ๋ช ๋์๋ค. 3๋ฒ ์ดํ ์ ๊ฐ์ ๊ฒฝ์ฐ๋ ๋์ฝ๋์ ์ธ์ฝ๋์ ์ดํ ์ ์ผ๋ก ์ ํ ์ดํ ์ ์ด ์๋๋ผ๋ ๊ฒ์ ์ฃผ์ํด์ผ ํ๋ค.
์ ๊ทธ๋ฆผ์ ๋ฐ๋ผ ์ ์ฒด ๊ณผ์ ์ ์กฐ๊ธ ์ธ๋ฌธํ์ ์ผ๋ก ํ์ด ์ค๋ช ํ๋ค๋ฉด, ์ธํ๋ค๊ณผ ์์ํ๋ค ์ค์ค๋ก์ ์ ์ฌ๋๋ฅผ ๊ตฌํ ๋ค์ ์ธํ๊ณผ ์์ํ์ ๋งตํ์์ผ ๊ทธ ์ ์ฌ๋๋ฅผ ํตํด ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ๋ ๊ณผ์ ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
๋ค์์ผ๋ก ์ด ๋ ผ๋ฌธ์์๋ ํธ๋์คํฌ๋จธ์ ์ฐ์ด๋ ์ดํ ์ ์ ์กฐ๊ธ ๋ ์์ธํ ์ค๋ช ํ๊ณ ์๋ค.
Scaled Dot-Product Attention
Scaled Dot-Product Attention์ Q์ K(transpose)์ ๋ด์ (dot-product) ๊ฐ์ ๊ตฌํ๊ณ , ์ด๋ฅผ ์ํํธ๋งฅ์ค ํจ์์ ๋ฃ์ด ๊ฐ์ค์น๋ฅผ ๋ง๋ ๋ค V์ ๊ณฑํ์ฌ attention value๋ฅผ ๊ตฌํ๋ ๊ฒ์ ๋งํ๋ค. ์ด๋ฅผ ์์์ผ๋ก ์ฐ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์์ผ๋ก ํํํ ์ ์๋ค.
ํํ ์ฐ์ด๋ ์ดํ ์ ์ ํฌ๊ฒ additive(ํฉ) attention๊ณผ multiplicative(๊ณฑ) attention์ผ๋ก ๋๋๋๋ฐ ์ฌ๊ธฐ์ ์ฐ์ด๋ ์ดํ ์ ์ ํ์์ ํด๋นํ๋ค.
๊ทธ๋ฐ๋ฐ, ์ด ํธ๋์คํฌ๋จธ์ dot-product attention์ scaled๋ผ๋ ์ ์์ ์ฐจ์ด๊ฐ ์๋ค. ์ฌ๊ธฐ์ ์ฐ์ธ ์ดํ ์ ์ Q์ K์ ๋ด์ ์ ํ์ดํผ ํ๋ผ๋ฏธํฐ ๊ฐ์ธ K ๋ฒกํฐ ์ฐจ์์ ์ ๊ณฑ๊ทผ์ผ๋ก ๋๋ ์ฃผ์ด ์ค์ผ์ผ๋ง์ ์ํํ๋ค.
๋ ผ๋ฌธ์์ ์ ์๋ k ๋ฒกํฐ์ ์ฐจ์์ด ํด ๋, dot-product์ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด, ์ํํธ๋งฅ์ค ํจ์์ gredient๊ฐ ๋งค์ฐ ์์์ง๋ ๋ฌธ์ ๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ ์ธ๊ธํ๋ค. ๋ฐ๋ผ์ ์ฌ์ ํ ๋ ๋น ๋ฅด๊ณ ๊ณต๊ฐ ํจ์จ์ ์ธ dot-product๋ฅผ ์ด์ฉํ๋, ์์๋๋ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ณ ์ ์ค์ผ์ผ๋ง์ ์ถ๊ฐํ ๊ฒ์ด๋ค.
Multi-Head Attention
ํธ๋์คํฌ๋จธ๋ฅผ ์ด๋ฃจ๋ ์ดํ ์ ๋ชจ๋์ ๋ ๋ค๋ฅธ ํน์ง์ "Multi-head(๋ฉํฐํค๋)"์ด๋ค.
๋ ผ๋ฌธ์ ์ ์๋ค์ ํ ๋ฒ์ ์ดํ ์ ์ ์ํํ๋ ๊ฒ๋ณด๋ค ๋ณ๋ ฌ์ ์ธ ์ดํ ์ ์ด ๋ ํจ๊ณผ์ ์ด๋ผ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์๋ค.
์ด์ ํค๋์ ์๋ฅผ ๊ฒฐ์ ํ๋ ํ์ดํผ ํ๋ผ๋ฏธํฐ์ธ num_head๋ฅผ ์ค์ ํ๊ณ ๊ทธ ๋งํผ์ ๋ณ๋ ฌ ๊ณ์ฐ์ ์ํํ๋๋ฐ, ๋ ผ๋ฌธ์์๋ ์ด๋ฅผ 8๋ก ์ค์ ํ์๋ค.
์์ ๊ฐ์ด ์ดํ ์ ์ ๋ฌธ์ฅ ํ๋ ฌ์ Q,K,V ๊ฐ๊ฐ์ ๊ฐ์ค์น๋ฅผ ๊ณฑํ์ฌ Q,K,V ๊ฐ๊ฐ์ ๋ฒกํฐ๋ฅผ ๋ฝ์๋ธ ๋ค scaled dot-attention์ ์ํํ์ฌ attention value๋ฅผ ์ป์ด๋ธ๋ค. ๊ทธ๋ฐ๋ฐ mulit-head๋ ์ด๋ฌํ ๊ณผ์ ์ ํ๋ฒ์ผ๋ก ๊ทธ์น๋ ๊ฒ์ด ์๋๋ผ num_head๋งํผ ๋ณ๋ ฌ์ ์ผ๋ก ์ํํ๋ค.
์ฌ๊ธฐ์ ์ฃผ๋ชฉํด์ผ ํ๋ ๊ฒ์ ๊ฐ head์ ์ด์ฉ๋๋ ๊ฐ์ค์น๊ฐ ์๋ก ๋ค๋ฅด๋ค๋ ๊ฒ์ด๋ค. (๊ทธ๋ฆผ์์ w0,w1)
์ด๋ ๊ฒ ์๋ก ๋ค๋ฅธ ๊ฐ์ค์น๋ฅผ ํ์ตํจ์ผ๋ก์จ ์ฌ๋ฌ ์๊ฐ์ ์ ๋ณด๋ฅผ ๊ณจ๊ณ ๋ฃจ ํ์ตํ ์ ์๋๋ฐ, ์ด๊ฒ์ด multi-head(๋ฉํฐํค๋)๊ฐ ๊ฐ์ง๋ ์ฅ์ ์ด ๋๋ค.
์์ ์์์ด ๋ฐ๋ก ๋ฉํฐํค๋ ์ดํ ์ ์ ์์์ด๋ค. ์ต์ข ์ ์ผ๋ก ๊ฐ head์ ๊ตฌํด์ง attention value๋ฅผ ์ฐ๊ฒฐ(concat)ํ์ฌ ๋ ๋ค๋ฅธ ๊ฐ์ค์น ํ๋ ฌ์ ๊ณฑํด ์ต์ข ๊ฒฐ๊ณผ๋ฌผ์ ์ฐ์ถํ๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ํ attention ์ ์ต์ข ๊ฒฐ๊ณผ๋ฌผ์ด ๋๋ค.
* ๋ ผ๋ฌธ์์ ์ฐ์ธ ๊ตฌ์ฒด์ ์ธ ํ์ดํผ ํ๋ผ๋ฏธํฐ๋ค(์ ์ถ๋ ฅ ๋ฒกํฐ์ ์ฐจ์, Q/K/V์ ์ฐจ์, ํค๋์ ์)์ ๋ ผ๋ฌธ์ ์ฐธ์กฐํ๊ธฐ ๋ฐ๋๋๋ค.
Position-wise Feed-Forward Networks
ํธ๋์คํฌ๋จธ์ ์ธ์ฝ๋, ๋์ฝ๋ ์์ ํ์ ๋ ์ด์ด์๋ ์ดํ ์ ๋ ์ด์ด ์ด์ธ์๋ ์์ ์ฐ๊ฒฐ๋ ์๋ฐฉํฅ ์ ๊ฒฝ๋ง(feed-forward network)์ด ํฌํจ๋๋ค.
์ ๊ฒฝ๋ง์ ์ฐ์ฐ์ ์ธํ ๋ฒกํฐ x์ ๊ฐ์ค์น ํ๋ ฌ์ ์ ํ๊ฒฐํฉ์ผ๋ก ํํํ ์ ์๋ฏ์ด, ์๋ฐฉํฅ ์ ๊ฒฝ๋ง(FFN)์ ๋ค์๊ณผ ๊ฐ์ ์์์ผ๋ก ํํํ ์ ์๋ค.
FFN์ ์ดํ ์ ๋ ์ด์ด ๋ค์์ผ๋ก ์ฐ๊ฒฐ๋๋ฏ๋ก ์ฌ๊ธฐ์ x๋ ์์์ ์ค๋ช ํ ๋ฉํฐํค๋ ์ดํ ์ ์ ์ต์ข ์ฐ์ถ๋ฌผ ํ๋ ฌ์ด๋ค.
์์ ๊ฐ์ด x๋ ํ ๋ฒ์ ์ ํ๊ฒฐํฉ ์ดํ ํ์ฑํ ํจ์(activation function)์ ์ง๋ ๋ค์ ํ ๋ฒ ์ ํ๊ฒฐํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ์ฌ๊ธฐ์ ๋งค๊ฐ๋ณ์๋ค์ธ ๊ฐ w์ b๋ ํ๋์ layer ์(์ธ์ฝ๋, ๋์ฝ๋ ๋ธ๋ก)์์๋ ๊ฐ์ง๋ง layer๋ง๋ค ๋ค ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง๋ค.
(์ธ์ฝ๋์ ๋์ฝ๋๋ ํ๋์ layer๋ก, Attention,FFN์ด๋ผ๋ sub_layer์ ๊ฐ์ง๋ค.)
๋ ผ๋ฌธ์์๋ FFN์ ์๋์ธต์ ํฌ๊ธฐ๋ฅผ 2048๋ก ์ค์ ํ๋ค.
Embeddings and Softmax
๋ค๋ฅธ ๋ณํ๊ธฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ํธ๋์คํฌ๋จธ ๋ํ input๊ณผ ouput token์ ์ฐจ์์ ์์ ์ค์ ํ d_model(์ธ์ฝ๋, ๋์ฝ๋ ๋ชจ๋์ ๋ค์ด๊ฐ๋ ์ธํ์ ์ฐจ์)๋ก ๋ณํํด์ฃผ๋ embedding layer๋ฅผ ๊ฐ์ง๋ค.
๋ํ ํธ๋์คํฌ๋จธ๋ ๋์ฝ๋์ ์์ํ์ ์ํํธ๋งฅ์ค ํจ์๋ฅผ ํตํด ๋ค์ token์ ํ๋ฅ ์ ์์ธกํ๊ธฐ ์ , ๊ทธ ์ฐจ์์ ๋ค์ token์ ์๋ ์ฐจ์์ผ๋ก ๋๋ ค์ฃผ๋ pre-softmax layer๊ฐ ์กด์ฌํ๋ค๊ณ ํ๋ค. ์ฆ, ์ค์ ํ ์ฐจ์์ ํตํด ๊ฒฐ๊ณผ๊ฐ์ ์ฐ์ถํ ๋ค, ์ํํธ๋งฅ์ค ํจ์๋ฅผ ํต๊ณผํ๊ธฐ ์ ์ ๋ค์ ์ ํ๊ฒฐํฉ์ ํตํด ์๋ ์ฐจ์์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ด๋ค.
ํํธ ๋ ผ๋ฌธ์์ ์ ์ํ ํธ๋์คํฌ๋จธ๋ ๋ embedding layer์ pre-softmax linear transformation(layer)๊ฐ ๊ฐ์ ๊ฐ์ค์น ํ๋ ฌ์ ๊ณต์ ํ๋ค๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ embedding layer์ ๊ฐ์ค์น์ d_model์ ์ ๊ณฑ๊ทผ์ ๊ณฑํด์ค๋ค.
Positional Encoding
ํธ๋์คํฌ๋จธ๋ ์์ฐจ์ ์ธ ์ ๋ ฅ์ ๋ฐ๋ recurrence ํน์ convolution ๊ตฌ์กฐ๊ฐ ์๋๊ธฐ ๋๋ฌธ์, ๊ทธ order set ๋ด์ง๋ position ์ ๋ณด๋ฅผ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค. (์ฌ๊ธฐ์์ ๋ฃ์ด์ฃผ๋ ์ ๋ณด๋ ์๋์ ์ธ ์์น ์ ๋ณด์ผ ์๋ ์๊ณ , ์ ๋์ ์ธ ์์น ์ ๋ณด์ผ ์๋ ์๋ค.)
๋ฐ๋ผ์ ํธ๋์คํฌ๋จธ์์๋ ๋ชจ๋ธ์ embedding vector๋ฅผ ์ธํ์ผ๋ก ํฌ์ ํ๊ธฐ ์ ์ position ์ ๋ณด๋ฅผ ๋ํด์ฃผ๋๋ฐ, ์ด๋ฅผ Positional Encoding์ด๋ผ๊ณ ํ๋ค.
์ ๊ณผ์ ์ ์ธํ์ผ๋ก ๋ค์ด๊ฐ๊ธฐ ์ , ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ๋ชจ์ ํ๋ ฌ์ postional encoding ๊ฐ์ด ๋ํด์ง๋ ๊ฒ์ ํํํ ๊ฒ์ด๋ค.
(์์์๋ d_model, ์ฆ, ์ ๋ ฅ์ ์ฐจ์์ด 4์ด์ง๋ง ์ค์ ๋ ผ๋ฌธ์์๋ 512์์ ์ ์ํด์ผ ํ๋ค.)
์์์ pos๋ ์ ๋ ฅ ๋ฌธ์ฅ(i am a student)์์ ์๋ฒ ๋ฉ ๋ฒกํฐ(ํ ๋ฒกํฐ)์ ์์น๋ฅผ ๋ํ๋ด๊ณ , i๋ ์๋ฒ ๋ฉ ๋ฒกํฐ ๋ด์ ์ธ๋ฑ์ค๋ฅผ ์๋ฏธํ๋ค.
์ค๋ฅธ์ชฝ ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ ๊ฐ์ sin๊ณผ cosine ํจ์์ ๊ฐ์ผ๋ก ๊ฒฐ์ ํ๋ค.
(pos, ์ง์)์ผ ๋๋ sinํจ์์ ๊ฐ์ผ๋ก ๊ฒฐ์ ํ๊ณ (pos, ํ์)์ผ ๋๋ cosineํจ์์ ๊ฐ์ผ๋ก ๊ฒฐ์ ํ๋ค.
์ด๊ฒ์ ํ๋์ ๊ณต์์ผ ๋ฟ์ด๊ณ , ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ์ ํ๋ ๋ฐฉ๋ฒ์ ๊ทธ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ค์ํ๋ค.
์ค์ํ ๊ฒ์ ์ด๋ ๊ฒ ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ ๊ฐ์ด ๋ฌ๋ผ์ง์ ๋ฐ๋ผ ๊ฐ์ ๋จ์ด๋ผ๊ณ ํ ์ง๋ผ๋, ๋ค๋ฅธ ๊ฐ์ด ๋ํด์ง๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ก ๋ค๋ฅธ ์๋ฒ ๋ฉ ๋ฒกํฐ(input)๊ฐ ๋ ์ ์๋ค๋ ๊ฒ์ด๋ค.
Why Self-Attention
์ด๋ฒ ๋จ๋ฝ์์๋ ์ฐ๊ตฌ์๋ค์ด Transformer์ ์ค์ํ ํ์ต ๊ณผ์ ์ธ Self-Attention์ RNN, CNN๊ณผ ๋น๊ตํ๋ฉฐ ์ฅ์ ์ ๋ถ๊ฐํ๋ค.
๋น๊ต๋ ๋ค์ ์ธ ๊ฐ์ง ์ธก๋ฉด์์ ์ด๋ฃจ์ด์ง๋ค.
1. Total computational complexity per layer (์ด ๊ณ์ฐ ๋ณต์ก๋)
2. The amount of computation that can be parallelized (์์ฐจ์ ์์ ์ "์ต์" ํ์ ์)
3. Path length between long-range dependencies in the network (๊ธด ์์ ๊ฐ์ ๊ฒฝ๋ก๊ธธ์ด)
๋ ผ๋ฌธ์์ ์ ์ํ๋ ์ฐ๊ตฌ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ๋ค.
1. Total computational complexity per layer
Self-Attention์ ์ง์์ ์ผ๋ก ์ผ์ ํ๊ฒ ๋ชจ๋ position์ ์ฐ๊ฒฐํ๊ธฐ ๋๋ฌธ์ sequence length์ ๋ ๋ฐฐ ๋งํผ ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๋ค.
๋ฐ๋ฉด Recurrent๋ Convolution์ sequence length๊ฐ ์๋ representation์ ์ฐจ์์ ๋ ๋ฐฐ ๋งํผ ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๋ค.
๊ทธ๋ฐ๋ฐ, NLP์ state-of-the-art models๋ค์ ๊ฑฐ์ sequence length๊ฐ representation์ ์ฐจ์๋ณด๋ค ์งง๋ค.
๋ฐ๋ผ์ self-attention์ด ๋ ์ ์ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค๊ณ ๋ณผ ์ ์๋ค.
2. The amount of computation that can be parallelized
Self-Attention์ Recurrent์ ๋นํด ํ์ํ ์ต์ ์์ ๋์ n์์ 1๋ก ์ค์ธ ๊ฒ์ ํ์ธํ ์ ์๋ค.
3. Path length between long-range dependencies in the network
๊ฐ์ฅ ์ฃผ๋ชฉํ ๋งํ ๋ถ๋ถ์ด ๋ฐ๋ก ์ด ์ธ ๋ฒ์งธ ๋น๊ต์ด๋ค. long-range dependencies๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ตํ๋ ๊ฒ์ sequentialํ task์์ ๋งค์ฐ ํต์ฌ์ ์ธ ๋ถ๋ถ์ด๋ค.
๊ทธ๋ฌํ ๋ฅ๋ ฅ์ ํ์ ํ ์ ์๋ ์งํ ์ค ํ๋๊ฐ ๋ฐ๋ก Path lenth์ด๋ค. ์ฌ๊ธฐ์ Path length๋ ์ ๋ฐฉ ๋ฐ ํ๋ฐฉ ์ ํธ๊ฐ ๋คํธ์ํฌ์์ ํต๊ณผํด์ผ ํ๋ ๊ฒฝ๋ก์ ๊ธธ์ด๋ฅผ ์๋ฏธํ๋๋ฐ, Path length๊ฐ ์งง์ ์๋ก long-range dependencies๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋ฐฐ์ธ ์ ์๋ค.
ํํธ ์ ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณด๋ฉด, ์ฌ๋ฌ ๋ ์ด์ด๋ค ์ค Self-Attention์ ์ต๋ ๊ฒฝ๋ก ๊ธธ์ด๊ฐ ๊ฐ์ฅ ์งง๋ค.
๋ฐ๋ผ์, Self-Attention์ด ๋ค๋ฅธ ๋ ์ด์ด๋ค๊ณผ ๋ค๋ฅด๊ฒ ๋ ํจ๊ณผ์ ์ผ๋ก long-range dependencies๋ฅผ ํ์ตํ ์ ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
+ long sequence์์ computational performance๋ฅผ ํฅ์ ์ํค๊ธฐ ์ํด, ์ ์ฒด๊ฐ ์๋ r๊ฐ์ ์ด์(neighborhood)์๋ง self-attention์ ์ํํ๋ ๋ฐฉ๋ฒ์ด ์์ ์ ์๋ค.
์ด๋ ์์์ ํ์ธํ ์ ์๋ฏ์ด ๊ธฐ๋ณธ self-attention๋ณด๋ค "computational complexity" ์ธก๋ฉด์์ ๊ฐ์ ์ ์ด๋ค๋๋ค.
๊ทธ๋ฌ๋ ์ ์๋ค์ ์คํ ๊ฒฐ๊ณผ, maximum path length๋ ์คํ๋ ค ์ฆ๊ฐํ์์ ํ์ธํ์ฌ ์ถํ ๋ ์์ธํ ์ฐ๊ตฌ๋ฅผ ์งํํ๋ค๊ณ ์ธ๊ธํ๊ณ ์๋ค.
(์ค์ ๋ก ์ด ๋ ผ๋ฌธ์ด ๋ฐํ๋๊ณ ๋ช ํด๊ฐ ์ง๋ ์ค๋ ๋ , ๊ณ์ฐ ๋ณต์ก๋์ ์ต๋ ๊ฒฝ๋ก ๋ฑ ํธ๋์คํฌ๋จธ์ "ํจ์จ์ฑ"์ ๊ฐ์ ํ๋ ค๋ ์ฐ๊ตฌ๊ฐ ํ๋ฐํ ์งํ๋๊ณ ์๋ค.)
+ ๋ ผ๋ฌธ์์๋ ํธ๋์คํฌ๋จธ์ ์ถ๊ฐ์ ์ธ ์ฅ์ ์ผ๋ก "์ค๋ช ์ด ๊ฐ๋ฅํ๋ค"๋ ๊ฒ์ ์ธ๊ธํ๋ค.
์ฐ๊ตฌ์๋ค์ ์ดํ ์ ์ด ์ด๋ฃจ์ด์ง๋ ๋ถํฌ๋ฅผ ์ ๊ฒํ๊ณ ์ด๋ฅผ ๊ณต์ ํ์๋๋ฐ, ๋ง์ ๊ฒ๋ค์ด ๋ฌธ์ฅ์ ๊ตฌ๋ฌธ๊ณผ ์๋ฏธ ๊ตฌ์กฐ์ ๊ด๋ จ๋ ํ๋์ ๋ณด์ธ๋ค๊ณ ์ธ๊ธํ๋ค. ์ ๊ทธ๋ฆผ์ ์ธ์ฝ๋์์ ์ด๋ฃจ์ด์ง๋ self-attention ๋ ์ด์ด ์ค ํ๋์ธ๋ฐ, ์ค์ ๋ก "making"์ด๋ผ๋ ๋จ์ด๊ฐ "more" , "difficult"์ ๊ฐํ๊ฒ ์ฐ๊ฒฐ๋๋ค. ์ด๋ ๋ฌธ๋ฒ ๊ตฌ์กฐ์ ๋ง๋ ๋ฐฉํฅ์ด๋ค.
Training
1. Optimizer
์ฐ๊ตฌ์ง์ ์ตํฐ๋ง์ด์ ๋ก Adam์ ์ฌ์ฉํ์๊ณ , ์์ ๊ฐ์ ์์์ผ๋ก ํ์ต๋ฅ ์ ์กฐ์ ํ์๋ค.
2. Regularization
์ฐ๊ตฌ์ง์ ์ ๊ทํ ๊ธฐ๋ฒ์ผ๋ก Residual Dropout๊ณผ, Label Smoothing์ ์ด์ฉํ์๋ค.
๋จผ์ Residual Dropout์ ๊ฐ ํ์ ๋ ์ด์ด(sub_layer)์ ์์ํ๊ณผ ์๋ฒ ๋ฉ, ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ์ ํฉ์ ์ ์ฉํ์๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ต๊ณผ์ ์์ Lable Smoothing์ ์ ์ฉํ์๋๋ฐ, ์ด๋ ๋ชจ๋ธ์ด ๋ ํ์คํ์ง ์์ ๊ฒ์ ํ์ตํ๊ธฐ ๋๋ฌธ์ ํผ๋์ ๊ฐ์ค์ํค์ง๋ง ์ ํ๋์ BLEU ์ ์๋ฅผ ํฅ์์์ผฐ๋ค๊ณ ํ๋ค.
Result
ํธ๋์คํฌ๋จธ๋ BLEU scores์์ ์ด์ ๋ชจ๋ธ๋ค๋ณด๋ค ๋ ์ข์ sota ์ฑ๋ฅ์ ๋ฌ์ฑํ์๋ค. ํนํ ๊ตฌ์กฐ๊ฐ ํฐ big ํธ๋์คํฌ๋จธ๋ ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ์ป์ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ํ Traning cost์์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ์กด์ ๋ชจ๋ธ๋ค๊ณผ ์์๋ธ ๋ชจ๋ธ๋ค๋ณด๋ค ํฅ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์๋ค.
Model Variations
์ฐ๊ตฌ์๋ค์ ํธ๋์คํฌ๋จธ์ ํต์ฌ ์์๋ค์ ์ค์์ฑ์ ํ๊ฐํ๊ธฐ ์ํด ๋ชจ๋ธ์ ์กฐ๊ธ์ฉ ์ฐจ์ด๋ฅผ ์ฃผ๋ฉด์ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ข ํฉํ์๋ค.

์ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- (A): head๋ฅผ ๋ง์ด ๋๋ฉด ์ฑ๋ฅ์ด ์ข์์ง์ง๋ง ๋ฌด์์ ๋ง์ด ๋๋ค๊ณ ํด์ ์ฑ๋ฅ์ด ์ค๋ฅด๋ ๊ฒ์ ์๋๋ค.
- (B): key์ ์ฐจ์(dk)์ด ์์ ๊ฒ๋ณด๋ค ํฐ ๊ฒ์ ์ฑ๋ฅ์ด ๋ ๋๋ค.
- (C): ํฐ ๋ชจ๋ธ์ผ์๋ก ์ฑ๋ฅ์ด ๋ ๋๋ค.
- (D): dropout์ด ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ค.
- (E): ์ด ๋ ผ๋ฌธ์์ ์ ์ฉํ ๊ฒ๊ณผ ๋ค๋ฅธ positional embedding์ ์ฌ์ฉํด๋ ์ฑ๋ฅ์ ํฐ ์ฐจ์ด๋ ์๋ค.
๋ง์น๋ฉฐ
์ค๋๋ AI์ ํธ๋๋๋ฅผ ๋ ผํ ๋ ์ด ํธ๋์คํฌ๋จธ๋ฅผ ๋นผ๋์ ์ ์์ ๊ฒ์ด๋ค. Sequential task, ํนํ ๋ฒ์ญ ์์ ์์ ํธ๋์คํฌ๋จธ์ ํ๊ธ๋ ฅ์ ์ด๋ฏธ ๋๋ฆฌ ์๋ ค์ก๊ธฐ ๋๋ฌธ์ ๋ ๊ฐ์กฐํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ด๋ณด์ผ ์ ๋์ด๋ค. ์ฌ์ ํ ์ด ํธ๋์คํฌ๋จธ๋ฅผ ๋ฒ ์ด์ค๋ก ํ ์์ฉ ๋ชจ๋ธ๋ค์ด ํ๋ฐํ๊ฒ ์ฐ๊ตฌ๋๊ณ ์์ผ๋ฉฐ ํ์ ์์๋ ๊ทธ ์ฑ๋ฅ์ ์ธ์ ๋ฐ์๋ค๊ณ ํ ์ ์๋ค.
๊ทธ๋ฌ๋ ํ์๋ ์ด๋ฌํ NLP์๋ ๊ด์ฌ์ด ์์ง๋ง, ๊ฐ์ sequential task์ธ ์๊ณ์ด ๋ฐ์ดํฐ ๋ถ์์์ ํธ๋์คํฌ๋จธ๊ฐ ์ด๋ค ์ญํ ์ ํ๊ฒ ๋ ์ง์ ๋ํด ๊ฐ์ฅ ํฐ ๊ด์ฌ์ด ์๋ค.
๋น์ฆ๋์ค ๋๋ฉ์ธ์ ์งํฅํ๋ ํ์์ผ๋ก์ ์๊ณ์ด ๋ฐ์ดํฐ ๋ถ์์ด ๋น์ฆ๋์ค์์ ํฐ ์ญํ ์ ํ ์ ์๋ค๋ ๊ฒ์ ์ ์๊ณ ์๋ค.
์ด๋ป๊ฒ ๋ณด๋ฉด ์ฅ๊ธฐ ์ข ์์ฑ(long dependence) ๋ฌธ์ ์ ๊ฐ์ฅ ์น๋ช ์ ์ธ ๊ฒ์ด ๋ฐ๋ก ์๊ณ์ด ๋ถ์์ด๊ธฐ ๋๋ฌธ์, ์๊ณ์ด ๋ถ์ ์ ๋ฌธ๊ฐ๋ค์๊ฒ ์ด ํธ๋์คํฌ๋จธ์ ๋ฑ์ฅ์ ํฐ ๋ฐ๊ฐ์์ผ๋ก ๋ค๊ฐ์์ ์ง๋ ๋ชจ๋ฅธ๋ค.
2023๋ ์ด ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ๋ ์์ ์์ ๋ฐ๋ผ๋ณด๋ฉด, 2017๋ ์ด ๋ ผ๋ฌธ์ ํตํด ํธ๋์คํฌ๋จธ๊ฐ ์ ์๋ ๋ค, ์๊ณ์ด ๋ถ์์์๋ ์ด๋ฅผ ์ ์ฉํ๋ ค๋ ์๋๊ฐ ๋น์ฐํ ์์ด์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
์ฌ์ค ๋ ์ ํํ๊ฒ ์ค๋ช ํ๋ค๋ฉด, ์๊ฐ์ด ์ง๋ ๊ธฐ๋ณธ์ ์ธ ํธ๋์คํฌ๋จธ๊ฐ ๊ฐ์ง๋ ํ๊ณ์ ๋ค์ ๊ท๋ช ํ๊ณ , ์ด๋ฅผ ๊ฐ์ ํจ๊ณผ ๋์์ ์๊ณ์ด ๋ฐ์ดํฐ๊ฐ ๊ฐ์ง๋ ํน์ง์ ๋ชจ๋ธ์ ๋ น์ฌ๋ด๋ ค๋ ์๋๋ค์ด ์ด์ด์ง๊ณ ์๋ค.
์ค์ ๋ก ์ฐ๊ตฌ ๊ฒฐ๊ณผ ํธ๋์คํฌ๋จธ์ ์์ฉ์ ํตํด ์ฌ๋ฌ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ก๊ณ , ์๊ณ์ด ๋ถ์์ด ๊ฐ์ง๋ ์๊ธฐ์๊ด์ฑ, ์ถ์ธ/๊ณ์ /์ํ ๋ณ๋ ๋ฑ๊ณผ ๊ฐ์ ๊ณ ์ ํ ํน์ง๋ค์ ๊ณ ๋ คํ ์์ฉ ๋ชจ๋ธ์ด ๋ฐํ๋๊ธฐ๋ ํ๋ค.
์ด๋ฌํ ์ต์ ํธ๋ ๋๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ๊ฒฐ๊ตญ ๊ธฐ์ด๋ผ๊ณ ํ ์ ์๋ "๊ธฐ๋ณธ ํธ๋์คํฌ๋จธ, vanilla ํธ๋์คํฌ๋จธ"๋ฅผ ์ ๋๋ก ์ดํดํ๊ณ ์์ด์ผํ๋ค๋ ์ ์์, Attention is all you need ์ด ๋ ผ๋ฌธ์ ๊ฐ์ฅ ๋จผ์ ๋ฆฌ๋ทฐํ๋ ๊ฒ์ ํฐ ์๋ฏธ๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค.
๋ค์ ํฌ์คํธ์์๋ ์์ ์ธ๊ธํ๋ฏ์ด ์๊ณ์ด ๋ถ์์์ ํธ๋์คํฌ๋จธ๊ฐ ์ด๋ป๊ฒ ์์ฉ๋์ด ์๋ ์ง๋ฅผ ์ ๋ฆฌํ ๋ ผ๋ฌธ์ ๋ฆฌ๋ทฐํด๋ณด๊ณ ์ ํ๋ค.
์ฐธ์กฐ
16-01 ํธ๋์คํฌ๋จธ(Transformer)
* ์ด๋ฒ ์ฑํฐ๋ ์์ ์ค๋ช ํ ์ดํ ์ ๋ฉ์ปค๋์ฆ ์ฑํฐ์ ๋ํ ์ฌ์ ์ดํด๊ฐ ํ์ํฉ๋๋ค. ํธ๋์คํฌ๋จธ(Transformer)๋ 2017๋ ๊ตฌ๊ธ์ด ๋ฐํํ ๋ ผ๋ฌธ์ธ Attention i…
wikidocs.net
์๋ฌธ
https://arxiv.org/abs/1706.03762
Attention Is All You Need
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new
arxiv.org