cleanUrl: 'paper/transformer'
๋
ผ๋ฌธ : Attention Is All You Need
์ ์ : Ashish Vaswani,ย Noam Shazeer,ย Niki Parmar,ย Jakob Uszkoreit,ย Llion Jones,ย Aidan N. Gomez,ย Lukasz Kaiser,ย Illia Polosukhin
ย
๋
ผ๋ฌธ ์ ์ ์ด์ Abstract Introduction BackgroundModel ArchitectureEncoder and Decoder Stacks(1) Encoder(2)ย DecoderAttention(1) Scaled Dot- Product Attention(2) Multi-Head Attention(3) Applications of Attention in our ModelPosition-wise Feed-Forward NetworksEmbeddings and SoftmaxPositional EncodingWhy Self-AttentionTrainingResultsConclusion์ฝ๋ ์ค์ตReference
ย
๋ ผ๋ฌธ ์ ์ ์ด์
๋ณธ ๋
ผ๋ฌธ์์๋ ์ํ์ค๋ณํ task์์ ํํ ์ฌ์ฉ๋์๋ convolution์ด๋ recurrent layer ์์ด ์์ attention ๋ฉ์ปค๋์ฆ๋ง์ ์ด์ฉํ์ฌ ๋์ ์ฑ๋ฅ ๊ฐ์ ์ ์ด๋์ด๋ธ Transformer๋ฅผ ์ ์ํฉ๋๋ค.
์์ฐ์ด์ฒ๋ฆฌ ๊ด๋ จ ๋ชจ๋ธ์ ๊ณต๋ถํ ๊ฒฝ์ฐ ๋ํ์ ์ผ๋ก ๋จผ์ ์ธ๊ธ๋ ์ ๋๋ก ์ ๋ช
ํ ๋
ผ๋ฌธ์ผ ๋ฟ ์๋๋ผ, ํ
์คํธ๋ฅผ ๋ฐ์ด ๋์ด ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ ๋ค์ํ ๋ถ์ผ์ ํ์ฉ๋ ๋งํผ ํ๊ธฐ์ ์ธ ๋งค์ปค๋์ฆ์ ์ ์ํ์๋ค๊ณ ์๊ฐํ์ฌ ์ด๋ฅผ ๊ณต๋ถํด๋ณด๊ณ ์ ๋
ผ๋ฌธ์ ์ ํํ์์ต๋๋ค.
ย
Abstract
์ ๋ช
ํ ์ํ์ค ๋ณํ ๋ชจ๋ธ๋ค์ ๋ณต์กํ ์ํ๏นํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(์ดํ RNN๏นCNN)์ ๊ธฐ๋ฐ์ผ๋ก encoder์ decoder๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข์ ๋ชจ๋ธ ๋ํ attention ๋งค์ปค๋์ฆ์ ์ด์ฉํ์ฌ encoder์ decoder๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ํด๋น ๋
ผ๋ฌธ์์๋ RNN๏นCNN ์์ด ์ค์ง Attention ๋งค์ปค๋์ฆ๋ง์ ๊ธฐ๋ฐ์ผ๋ก ํ, ์๋กญ๊ณ ๊ฐํธํ ๋คํธ์ํฌ ๊ตฌ์กฐ์ธ Transformer๋ฅผ ์ ์ํฉ๋๋ค. 2๊ฐ์ง์ ๊ธฐ๊ณ๋ฒ์ญ task์์ Transformer ๋ชจ๋ธ๋ค์ ์ฑ๋ฅ์ด ๋งค์ฐ ์ฐ์ํ์ผ๋ฉฐ, ๋ณ๋ ฌํ๋ฅผ ํตํด ํ์ต ์๊ฐ์ ํ์ ํ ์ค์ฌ๋๊ฐ์ต๋๋ค. ์ฐ๋ฆฌ์ ๋ชจ๋ธ์ WMT 2014 English-German ๋ฒ์ญ task์์ ์์๋ธ์ ํตํด ๊ธฐ์กด์ ์ต๊ณ ์ ์๋ฅผ 2 BLEU ์ด์ ํฅ์์ํค๋ฉด์, 28.4 BLEU๋ฅผ ๋ฌ์ฑํ์์ต๋๋ค. WMT 2014 English-French ๋ฒ์ญ task๋ 8๊ฐ์ GPU, 3.5์ผ๊ฐ์ ํ์ต์ ํตํด 41.8 BLEU๋ฅผ ๋ฌ์ฑํ์ฌ ์ฐ๋ฆฌ์ ๋ชจ๋ธ์ด ์๋ก์ด ๋จ์ผ ๋ชจ๋ธ SOTA(State-Of-The-Art)๋ฅผ ๋ฌ์ฑํ์์ต๋๋ค.
- BLEU : ํ ์์ฐ์ด์์ ๋ค๋ฅธ ์์ฐ์ด๋ก ๊ธฐ๊ณ ๋ฒ์ญ ๋ ํ ์คํธ ํ์ง์ ํ๊ฐํ๊ธฐ์ํ ์๊ณ ๋ฆฌ์ฆ
๋ํ, ๊ธฐ๊ณ ๋ฒ์ญ ์ด์ธ์๋ English constituency(ํฌ๊ฑฐ๋, ๋งค์ฐ ์ ์ ํ์ต ๋ฐ์ดํฐ์ ๋ํ์ฌ ๊ตฌ๋ฌธ ๋ถ์ ์งํ)์ ๋ํด์๋ ์ผ๋ฐํ๊ฐ ์ ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
ย
Introduction
RNN(Recurrent Neural Networks), ํนํ LSTM(Long Short-Term Memory), GRU(Gated Recurrent Unit)์ ์ํ์ค๋ชจ๋ธ๋ง์ด๋ ์ธ์ด๋ชจ๋ธ๋ง, ๊ธฐ๊ณ๋ฒ์ญ๊ณผ ๊ฐ์ ๋ณํ ๋ฌธ์ ์์ SOTA ์ ๊ทผ๋ฒ์ผ๋ก ๊ฒฌ๊ณ ํ๊ฒ ์๋ฆฌ์ก๊ณ ์์ต๋๋ค. ์ํ ์ธ์ด ๋ชจ๋ธ๊ณผ encoder-decoder ๊ตฌ์กฐ์ ํ๊ณ๋ฅผ ๋ํ๊ธฐ ์ํ ๋
ธ๋ ฅ์ ๊ณ์ ๋๊ณ ์์ต๋๋ค.
Recurrent ๋ชจ๋ธ๋ค์ ์ ํ์ ์ผ๋ก input๊ณผ output ์ํ์ค์ ํ ํฐ ์์น์ ๋ฐ๋ผ ๊ณ์ฐ์ ๋ถํดํฉ๋๋ค. ๊ณ์ฐ์๊ฐ์ ๊ฐ step์ ์์น๋ฅผ ์ ๋ ฌ์์ผ, hidden state ์ ์ํ์ค๋ฅผ ์์ฑํ์ฌ, ์ด์ ์ hidden state์ธ ์ ํจ์, ๊ทธ๋ฆฌ๊ณ t position์์์ ์
๋ ฅ์ผ๋ก ์ ์ฉํฉ๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์ด๋ฐ ์ฐ์์ ์ธ(sequentialํ) ํน์ฑ์ ํ์ต์ ์์ด์ ๋ณ๋ ฌํ๋ฅผ ๋ฐฐ์ ํ๋๋ฐ, ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ์ผ๋ก ์ธํด ํ์ต ์ํ๊ฐ์ batch๋ฅผ ์ ํํ์ฌ, ์ํ์ค์ ๊ธธ์ด๊ฐ ๊ธธ์ด์ง์๋ก ์ทจ์ฝํฉ๋๋ค. ์ต๊ทผ์๋ ์ธ์๋ถํด ๊ผผ์(?)์ ์กฐ๊ฑด๋ถ ๊ณ์ฐ์ ํตํด ํ์ต์ ๊ณ์ฐ ํจ์จ์ฑ์ ๋์ด๊ณ , ๋ชจ๋ธ์ ํผํฌ๋จผ์ค ๋ํ ํฅ์์ํค๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ์์ ๊ณ์ฐ์ด๋ผ๋ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๊ฐ ์ฌ์ ํ ๋จ์์์ต๋๋ค.
์
๏น์ถ๋ ฅ์ ์ํ์ค์์ ๊ทธ๋ค์ ๊ฑฐ๋ฆฌ์ ์๊ด ์๋ ์์กด์ฑ์ ํ์ฉํ๋ฉด์, ๋ค์ํ task์ ๋ํ์ฌ ์ํ์ค ๋ชจ๋ธ๋ง ๋ฐ ๋ณํ ๋ชจ๋ธ์์ Attention ๋งค์ปค๋์ฆ์ ์ค์ํ ๋ถ๋ถ์ด ๋์ด๊ฐ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋, ๋ช๊ฐ์ง๋ฅผ ์ ์ธํ๊ณ ๋ Attention ๋งค์ปค๋์ฆ์ recurrent ๋คํธ์ํฌ์ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
ํด๋น ๋ชจ๋ธ์์๋ recurrence๋ฅผ ์ ๊ฑฐํ๊ณ ์
๋ ฅ๊ณผ ์ถ๋ ฅ ์ฌ์ด์ globalํ ์์กด์ฑ์ ๋์ด๋ด๊ธฐ ์ํด Attention ๋งค์ปค๋์ฆ์ ์ ์ ์ผ๋ก ์์กดํ๋ ๊ตฌ์กฐ์ธ Transformer๋ฅผ ์ ์ํฉ๋๋ค. Transformer๋ ํจ์ฌ ๋ ๋ณ๋ ฌํ๊ฐ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๊ณ , 8๊ฐ์ P100 GPU์ ๋ํ์ฌ 12์๊ฐ ์ ๋๋ง ํ์ตํด๋ ๋ฒ์ญ ํ์ง์ ๋ํ์ฌ ์๋ก์ด SOTA๋ฅผ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
ย
Background
์ฐ์์ ์ธ ๊ณ์ฐ์ ์ค์ด๊ธฐ ์ํ ๋ชฉํ๋ ๋ํ Extended Neural GPU, ByteNet, ConvS2S์ ๊ธฐ๋ฐ์ ํ์ฑํ์ต๋๋ค. ์ด๋ค์ ๋ชจ๋ ๋ชจ๋ ์
๏น์ถ๋ ฅ์ ์์น์์ hidden representation์ ๋ณ๋ ฌ์ ์ผ๋ก ๊ณ์ฐํ๋ CNN์ ๊ธฐ์ด์ ์ธ building block์ผ๋ก ์ฌ์ฉํ์์ต๋๋ค. ํด๋น ๋ชจ๋ธ๋ค์์๋, ์์์ ๋ ์
๋ ฅ ๋๋ ์ถ๋ ฅ ์์น๋ก ๋ถํฐ ์ ํธ๋ฅผ ๊ด๊ณ์ํค๊ธฐ ์ํด ์๊ตฌ๋๋ ๊ณ์ฐ์ ์๊ฐ ์์น๋ค๊ฐ์ ๊ฑฐ๋ฆฌ์ ๋น๋กํ๋๋ฐ, ConvS2S๋ ์ ํ์ ์ผ๋ก, ByteNet์ ๋์์ ์ผ๋ก(log์ ๋น๋กํ์ฌ) ์ฆ๊ฐํฉ๋๋ค. ์ด๋ ์์น๊ฐ ๋ฉ ์๋ก ์์กด์ฑ์ ํ์ตํ๊ธฐ๊ฐ ๋ ์ด๋ ต๊ฒ ํฉ๋๋ค. Transformer์์๋ ๊ณ์ฐ์ ์๊ฐ ์์ ๋ฒ์ผ๋ก ์ค์ด๋ค์์ต๋๋ค. ๊ทธ๋๋ Attention-๊ฐ์ค ์์น๋ฅผ ํ๊ท ๋ด๊ธฐ ์ํด ํจ๊ณผ์ ์ธ ํด์๋๊ฐ ๊ฐ์ํ๋ cost๊ฐ ์กด์ฌํ์ง๋ง, ์ด๋ section 3.2์ ์ค๋ช
๋ Multi-Head Attention์ ํตํด ์์์ํฌ ์ ์์ต๋๋ค.
๋๋ก๋ intra-attention์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ Self-attention์ ํ ์ํ์ค์ representation์ ๊ณ์ฐํ๊ธฐ ์ํ์ฌ ๋จ์ผ ์ํ์ค์ ์๋ก ๋ค๋ฅธ ์์น๋ค์ ๊ด๋ จ์ํค๋ ๋งค์ปค๋์ฆ์
๋๋ค. self-attention์ ๊ฒฝ์ฐ, ๋
ํด, ์์ฑ์์ฝ, ๋ฌธ๋งฅ ์ถ๋ก , ๊ทธ๋ฆฌ๊ณ ํ์คํฌ ๋น์์กด์ ์ธ ๋ฌธ์ฅ ํํ ๋ฑ ๋ค์ํ task์์ ์ฑ๊ณต์ ์ผ๋ก ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
End-to-End memory๋คํธ์ํฌ๋ ๋ฐฐ์ด๋ ์ํ์ค์ recurrent ๋คํธ์ํฌ ๋์ , ์ฌ๊ท์ attention ๋งค์ปค๋์ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ , ๋จ์ผ ์ธ์ด QA(Question-Answering)์ด๋ ์ธ์ด๋ชจ๋ธ๋ง task์ ์ข์ ์ฑ๋ฅ์ ๋ณด์ด๊ณ ์์ต๋๋ค.
๊ทธ๋ฌ๋, Transformer๋ ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ representation์ ๊ณ์ฐํ๊ธฐ ์ํด ์ํ์ค ํ ๋น RNN์ด๋ ํฉ์ฑ๊ณฑ ์์ด self-attention์๋ง ์ ์ ์ผ๋ก ์์กดํ๋ ์ฒซ๋ฒ์งธ ๋ณํ ๋ชจ๋ธ์
๋๋ค.
ย
Model Architecture
์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ์์ย ์ธ์ฝ๋๋ ์
๋ ฅ sequence (x1, ... ,xn)๋ฅผ ๋ฐ์ย continuous representationย z =ย (z1, ... ,zn)๋ฅผ ๋ฐํํ๊ณ , ๋์ฝ๋๋ ์ด z๋ฅผ ์ฌ์ฉํด ์ถ๋ ฅ sequence (y1, ... ,yn)๋ฅผ ์์ฑํฉ๋๋ค. ์ด๋ย ๊ฐ time step์์ ๋ค์ ๋จ์ด์
๋ ฅ์ ์์ฑํ ๋, ๋ชจ๋ธ์ ์ด์ ์ ์์ฑ๋ ๋จ์ด๋ฅผ ์ถ๊ฐ์ ์ธ input์ผ๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ย Auto-Regressiveํฉ๋๋ค.
Transformer๋ ์ด๋ฌํ ์ ๋ฐ์ ์ธ ์ํคํ
์ณ๋ฅผ ๋ฐ๋ฆ
๋๋ค. ์ธ์ฝ๋์ ๋์ฝ๋์ stacked self-attention, point-wise, fully connected layer๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Encoder and Decoder Stacks
(1) Encoder
์ ๊ทธ๋ฆผ์์ ์ผ์ชฝ์ ํด๋นํ๋ ๊ฒ์ผ๋ก ๋์ผํ ๋ ์ด์ด์ ์ธ์ฝ๋ 6๊ฐ(N=6) ๋ฅผ ๋ณ๋ ฌ๋ก ์ฐ๊ฒฐํด ๊ตฌ์ฑํฉ๋๋ค. ๊ฐ ๋ ์ด์ด์๋ 2๊ฐ์ sub-layers ๊ฐ ์์ต๋๋ค.
์ฒซ๋ฒ์งธ sub-layerย : multi-head self- attention mechanism
๋๋ฒ์งธ sub-layerย : simple position-wise fully connected feed-forward network
ย
๊ทธ๋ฆผ์์ย Add & Norm ์ ํด๋นํ๋ ๋ถ๋ถ์ผ๋กย ๋๊ฐ์ sub-layer ๊ฐ๊ฐ์ย ์์ฐจ์ฐ๊ฒฐ(residual connection)๊ณผ ์ธต ์ ๊ทํ(layer normalization)์ ์ฌ์ฉํฉ๋๋ค. ์์ฐจ์ฐ๊ฒฐ์ x + Sublayer(x), ์ฆ sub-layer ์ธต์ ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ํ๋ ๊ณผ์ ์
๋๋ค. ๋ฐ๋ผ์ sub-layer์ ์๋ฒ ๋ฉ ๋ ์ด์ด์ ์ถ๋ ฅ๊ณผ ์
๋ ฅ์ ์ฐจ์์ ๋์ผํด์ผํฉ๋๋ค(d_model = 512). ๊ทธ๋ฆฌ๊ณ ์ธต ์ ๊ทํ๋ฅผ ์ ์ฉํด, ์ต์ข
ํจ์๋ LayerNorm(x + Sublayer(x)) ์
๋๋ค.
ย
(2)ย Decoder
์ ๊ทธ๋ฆผ์์ ์ค๋ฅธ์ชฝ์ ํด๋นํ๋ ๊ฒ์ผ๋ก ๋ง์ฐฌ๊ฐ์ง๋ก ๋์ฝ๋ 6๊ฐ์ (N=6) ๋์ผํ ๋ ์ด์ด๋ฅผ stackํด ๊ตฌ์ฑํฉ๋๋ค. ์ธ์ฝ๋์ 2๊ฐ์ sub-layer์ ๋๋ถ์ด sublayer์ธย ย ์ธ์ฝ๋์ ์ถ๋ ฅ์ ๋ํย Masked multi-head self-attention์ ์ถ๊ฐํฉ๋๋ค. ๋ค์ ์ค๋ ๋จ์ด๋ฅผ ์ฐธ๊ณ ํ์ง ๋ชปํ๋๋ก masking์ ์ฌ์ฉํ์ต๋๋ค. ์ฆย i ์์ ์ ๋จ์ด๊ฐ ์ค์ง i ์ด์ ์ ๋จ์ด์๋ง ์์กดํ๋๋ก ํ์ต๋๋ค.ย ๋ํ ๊ฐ sub-layer์ ๋ํด ์์ฐจ์ฐ๊ฒฐ๊ณผ ์ธต ์ ๊ทํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ย
Attention
Attention์ query์ ๋ํด์ key-value ์์ ์ถ๋ ฅ๊ณผ mappingํฉ๋๋ค. ์ฌ๊ธฐ์ Query, Keys, Values ๊ทธ๋ฆฌ๊ณ ์ถ๋ ฅ์ ๋ชจ๋ ๋ฒกํฐ์
๋๋ค. Query์์ ๋ชจ๋ key์์ ์ ์ฌ๋๋ฅผ ๊ตฌํ๊ณ , key์ ํด๋นํ๋ ๊ฐ value๋ฅผ ์ ์ฌ๋ ๊ฐ์คํฉ์ผ๋ก ์ถ๋ ฅ์ด ๊ณ์ฐ๋ฉ๋๋ค.ย Query, Keys, Values๋ sequence์ ๋ชจ๋ ๋จ์ด ๋ฒกํฐ๋ค์
๋๋ค.
1. Query vector
> ํ์ฌ ์ฒ๋ฆฌํ๊ณ ์ ํ๋ token์ ๋ํ๋ด๋ vector
2. Key vector
> ์ผ์ข
์ label, ์ํ์ค ๋ด์ ์๋ ๋ชจ๋ ํ ํฐ์ ๋ํ identity
3. Value vector
> Key์ ์ฐ๊ฒฐ๋ ์ค์ ํ ํฐ์ ๋ํ๋ด๋ vector
ย
(1) Scaled Dot- Product Attention
์
๋ ฅ์ย queries, ์ฐจ์์ด d_k์ธ keys,ย ์ฐจ์์ด d_v์ธ values๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.ย ๊ฐ์ค์น๋ฅผ ์ป๊ธฐ ์ํด softmax function์ ์ ์ฉํฉ๋๋ค. key์ ์ฐจ์, d_k์ ๋ฃจํธ๋ฅผ ์์ด ๊ฐ์ผ๋ก ๋๋์ด์ค ์ค์ผ์ผ๋งํด์ค๋๋ค. ์ด๋ ๊ฐ query ๋ฒกํฐ๋ฅผ ๋ฐ๋ก ๊ณ์ฐํ๋ ๊ฒ์ด ์๋๋ผ query ์งํฉ์ผ๋ก ๋์์ ๊ณ์ฐํฉ๋๋ค. ๋ฐ๋ผ์ queries, keys, values๋ ๊ฐ๊ฐ ํ๋ ฌ Q, K, V๊ฐ ๋ฉ๋๋ค. ์ต์ข
์ถ๋ ฅ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์์ฃผ ์ฌ์ฉ๋๋ attention ํจ์์๋ Additive attention๊ณผ ๋ณธ ๋ชจ๋ธ์ ์ฌ์ฉํ Dot-product attetion์ด ์์ต๋๋ค. ๋ ๋ฐฉ๋ฒ์ ์ด๋ก ์ ๋ณต์ก์ฑ์ ๋น์ทํ์ง๋ง ์ค์ ์ ์ฉ์์ Dot-product attention์ด ํ ์ฌ ๋น ๋ฅด๊ณ ๋ space-efficient ํฉ๋๋ค. ์ต์ ํ๋ ํ๋ ฌ ๊ณฑ code๋ฅผ ๊ตฌํํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
ย
(2) Multi-Head Attention
d_model ์ฐจ์์ย queries, keys, values์ ์ฌ์ฉํย ํ๋ฒ์ attention ํจ์๋ณด๋ค ๊ฐ๊ฐย d_v, d_k, d_k ์ฐจ์์ผ๋ก ์ถ์ํด ์๋ก ๋ค๋ฅธ h๊ฐ์ linear projection์ ํ ๊ฒ์ด ๋ ํจ๊ณผ์ ์ด๋ผ๋ ๊ฒ์ ์์๋์ต๋๋ค. ์ฐจ์์ ์ถ์ํ V, K, Q๋ฅผ ๋ณ๋ ฌ attention์ ์ ์ฉํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก d_v์ฐจ์์ ์ถ๋ ฅ ๊ฐ์ด ๋ง๋ค์ด์ง๋๋ค. ์ด๊ฒ์ดย ํฉ์ณ์ ธ(concatenated) ๋ค์ ํฌ์(projection)ํด ์ต์ข
๊ฐ์ ์ป์ ์ ์์ต๋๋ค.
ย
ย
์ด๋ ์๋ก ๋ค๋ฅธ positions์ ์๋ก ๋ค๋ฅธ representation subspaces์์ ๊ฒฐํฉ์ ์ผ๋ก(jointly) ์ ๋ณด์ ์ ๊ทผํ ์ ์๋๋ก ํฉ๋๋ค. ์ฆย ์ถ์๋ Attention์ ๋ณ๋ ฌํํด ๋ค์ํ ์๊ฐ์ผ๋ก ์ ๋ณด๋ฅผ ์์งํ ์ ์์ต๋๋ค. ์ฆ ๋จ์ด๊ฐ์ ์ฐ๊ด๋๋ฅผ ๊ตฌํ ๋, ๋ฌธ๋ฒ์ ๊ตฌ์กฐ๋ ์๋ฏธ์ ๊ตฌ์กฐ์ ๋ํด์ ๋ณตํฉ์ ์ผ๋ก ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ณธ ๋
ผ๋ฌธ์์ย 8๊ฐ์ parallel attention layers(h=8)์, ๊ฐ d_k, d_v๋ย 64์ฐจ์(512/8=64)์ ์ฌ์ฉํ์ต๋๋ค.
ย
(3) Applications of Attention in our Model
Transformer์ multi-head attention์ 3๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ์ต๋๋ค.
ย
- ๋์ฝ๋์ ๋๋ฒ์งธ sub-layer, Multi-Head Attention์ ์ฌ์ฉ๋์์ต๋๋ค. "encoder-decoder attention" ๋ ์ด์ด์์ queries๋ ์ด์ ์ ๋์ฝ๋ ๋ ์ด์ด์์ ์ค๊ณ memory keys์ values๋ ์ธ์ฝ๋์ ์ถ๋ ฅ์ผ๋ก๋ถํฐ ์ต๋๋ค. ์ด๊ฒ์ ๋์ฝ๋๊ฐ ์ ๋ ฅ sequence์ ๋ชจ๋ position์ ๊ณ ๋ คํ ์ ์๋๋ก ํฉ๋๋ค. ์ด๋ sequence-to-sequence ๋ชจ๋ธ์ ์ผ๋ฐ์ ์ธ ์ธ์ฝ๋-๋์ฝ๋ attention ๋งค์ปค๋์ฆ์ ๋ชจ๋ฐฉํ ๊ฒ์ ๋๋ค.
- ์ธ์ฝ๋์ ์ฒซ๋ฒ์งธ sub-layer, Multi-Head Attntion์ ์ฌ์ฉ๋์์ต๋๋ค. ์ธ์ฝ๋๋ self-attention layers๋ฅผ ํฌํจํฉ๋๋ค. self-attention layer์์ ๋ชจ๋ key, values, queries๋ ๊ฐ์ ๊ณณ(์ธ์ฝ๋์ ์ด์ ๋ ์ด์ด์ ์ถ๋ ฅ)์์ ์ต๋๋ค. ์ธ์ฝ๋์ ๊ฐ position์ ์ด์ ๋ ์ด์ด์ ๋ชจ๋ position์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
- ๋์ฝ๋์ ์ฒซ๋ฒ์งธ sub-layer, Masked Multi-Head Attention์ ์ฌ์ฉ๋์์ต๋๋ค. ๋์ฝ๋์ self-attention layer๋ก ๋์ฝ๋๊ฐ ํด๋น position๊ณผ ์ด์ ๊น์ง์ positon๋ง์ ๊ณ ๋ คํ ์ ์๋๋ก ํฉ๋๋ค. ํ์ฌ position ๋ค์์ position์ masking outํฉ๋๋ค. ์์ฃผ ์์ ๊ฐ์ ์๋ ดํ๋๋ก ๊ฐ์ ์ฃผ๊ณ softmax๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฏธ๋์ position์ ๋ํ ์ํฅ์ maskong outํ ์ ์์ต๋๋ค.
ย
Position-wise Feed-Forward Networks
์ธ์ฝ๋์ ๋์ฝ๋์ ๊ฐ ๋ ์ด์ด๋ Fully Connected feed-forward network์ ํฌํจํฉ๋๋ค. ๊ฐ position์ ๋
๋ฆฝ์ ์ผ๋ก ๋์ผํ๊ฒ ์ ์ฉ๋ฉ๋๋ค. ์ด๊ฒ์ ๋๊ฐ์ ์ ํ๋ณํ๊ณผ ReLU๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
ํ๋์ ์ธต ๋ด์์ ๋ค๋ฅธ position์ ๋ํด ์ ํ๋ณํ์ ๊ฐ์ง๋ง, ๋ ์ด์ด๋ง๋ค๋ ๋ค๋ฅธ ๋ชจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ฐจ์์ d_model = 512, ๊ทธ๋ฆฌ๊ณ inner-layer์ ์ฐจ์์ d_ff = 2048์
๋๋ค.
ย
Embeddings and Softmax
๋ค๋ฅธ sequence ๋ณํ๊ณผ ๋น์ทํ๊ฒ, transformer๋ ์
๋ ฅ ํ ํฐ๊ณผ ์ถ๋ ฅ ํ ํฐ์ ์ฐจ์์ด d_model์ธ ๋ฒกํฐ๋ก ์ ํํ๊ธฐ ์ํด learned embedding์ ์ฌ์ฉํฉ๋๋ค. ๋์ฝ๋์ ์ถ๋ ฅ์ผ๋ก next-token ํ๋ฅ ์ ์์ธกํ๊ธฐ ์ํด ํ์ต๊ฐ๋ฅํ ์ ํ๋ณํ๊ณผ ์ํํธ๋งฅ์ค ํจ์ ์ฌ์ฉํฉ๋๋ค. ๋ ์๋ฒ ๋ฉ ๋ ์ด์ด์ pre-softmax ์ ํ ๋ณํ์์ ๋์ผํ weight ํ๋ ฌ์ ๊ณต์ ํฉ๋๋ค. ์๋ฒ ๋ฉ ๋ ์ด์ด์์ ์ด ๊ฐ์ค์น๋ค์ d_model ๋ฃจํธ ์์ด ๊ฐ์ ๊ณฑํด ์ฌ์ฉํฉ๋๋ค.
ย
Positional Encoding
Transformer๋ RNN๊ณผ CNN์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ย sequence์ ์์๋ฅผ ๋ฐ์ํ๊ธฐ ์ํด์ย ๋จ์ด ํ ํฐ์ ์๋์ ๋๋ ์ ๋์ ์์น์ ๋ํ ์ ๋ณด๋ฅผ ์ฝ์
ํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ธ์ฝ๋์ ๋์ฝ๋์ ์
๋ ฅ ์๋ฒ ๋ฉ์ย "Positional Encoding"์ ์ถ๊ฐํ์ต๋๋ค. Positional Encoding์ ์๋ฒ ๋ฉ์ ์ฐจ์๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก d_model ์ฐจ์์ ๊ฐ๊ฒ ํด ๋๊ฐ๊ฐ์ ๋ง์
์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.ย ์์น ์ ๋ณด๋ฅผ ๊ฐ์ง ๊ฐ์ ๋ง๋ค๊ธฐ ์ํด
๋ค์ ๋ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
posย : ์์น (position)
iย : ์ฐจ์(dimension)
ย
๊ฐ ์์น ์ธ์ฝ๋ฉ์ ์ฐจ์์ ์ฌ์ธ๊ณก์ (sinusoid)์ ๋์๋ฉ๋๋ค. ์ธ๋ฑ์ค๊ฐย ์ง์(2i)์ผ ๋๋ ์ฌ์ธํจ์๋ฅผ ์ฌ์ฉํ๊ณ ย ํ์(2i+1)์ผ ๋๋ ์ฝ์ฌ์ธ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ k ๊ฐ์ด๋ผ๋ PE_(pos+k)๋ ์ ํ ํจ์ PE_(pos)๋ก ๋ํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ธยท์ฝ์ฌ์ธ ํจ์๋ฅผ ์ ํํ์ต๋๋ค.
Learning positional embedding ๋ฐฉ๋ฒ๋ ๊ฑฐ์ ๋น์ทํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ์ง๋ง, ์ฌ์ธ๊ณก์ ์ ๋ฐฉ๋ฒ์ด ํ์ต๊ณผ์ ์์ ๋ง๋ฌ๋ sequence ๋ณด๋ค ๊ธด sequence์ ๋ํด์๋ ์ถ๋ก ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ต๋๋ค.
ย
Why Self-Attention
์ ํ์ ์ธ ์ํ์ค ๋ณํ encoder๋ decoder์ฒ๋ผ, ๊ฐ๋ณ๊ธธ์ด๋ฅผ ๊ฐ์ง ์ํ์ค์ representation ์ ๋์ผํ ๊ธธ์ด๋ฅผ ๊ฐ์ง ์ํ์ค์ representation ์ ๋งคํํ๋๋ฐ ์ ํ์ ์ผ๋ก ์ฌ์ฉ๋๋ recurrent convolutional layer๋ฅผ self-attention layer์ ๋ค์ํ ๊ด์ ์์ ๋น๊ตํด๋ณด๋ ค ํฉ๋๋ค. ํด๋น ๋
ผ๋ฌธ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ธ๊ฐ์ง์ ์ด์ ๋ก self-attention์ ์ฃผ์ฅํฉ๋๋ค.
- ๊ฐ layer์ ์ ์ฒด ๊ณ์ฐ๋ณต์ก๋
- ๋ณ๋ ฌํํ ์ ์๋ ๊ณ์ฐ๋(์๊ตฌ๋๋ ์ฐ์์ ๊ณ์ฐ์ ์ต์ ๊ฐ์๋ก ์ธก์ )
- ๋คํธ์ํฌ ๋ด๋ถ์ ์ฅ๊ฑฐ๋ฆฌ ์์กด์ฑ ์ฌ์ด์ ๊ฒฝ๋ก ๊ธธ์ด
์ฅ๊ฑฐ๋ฆฌ ์์กด์ฑ์ ํ์ตํ๋ ๊ฒ์ ๋ค์ํ ์ํ์ค ๋ณํ task์์ ์ค์ํ ๊ณผ์ ์
๋๋ค. ์ด๋ฌํ ์์กด์ฑ์ ํ์ตํ ์ ์๋ ๋ฅ๋ ฅ์ ์ํฅ์ ์ฃผ๋ ํ๊ฐ์ง ์์ธ์ ๋คํธ์ํฌ์์ ์ง๊ทธ์ฌ๊ทธ๋ก ์ฃผ์ด์ง๋ ์ ์, ํ์ ์ ํธ์ ๊ธธ์ด์
๋๋ค. ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ํ์ค์์ ์ด๋ ํ ์์น์์๋ ์ง ์ฌ์ด์ ๊ฒฝ๋ก๋ค์ด ์งง์ ์๋ก, ์ฅ๊ฑฐ๋ฆฌ ์์กด์ฑ์ ํ์ตํ๊ธฐ๊ฐ ์ฌ์์ง๋๋ค. ๊ทธ๋์ ๋ค๋ฅธ layer๋ค๋ก ๊ตฌ์ฑ๋ ๋คํธ์ํฌ์์ ์
๋ ฅ๊ณผ ์ถ๋ ฅ ์์น๊ฐ ๊ฐ์ฅ ๋จผ ๊ฒฝ๋ก์ ๊ธธ์ด๋ฅผ ๋น๊ตํ๊ฒ ๋ฉ๋๋ค.
ย
๋ ์ด์ด ํ์
๋ง๋ค ๊ฐ์ฅ ํฐ ๊ฒฝ๋ก์ ๊ธธ์ด, ๋ ์ด์ด ๋น ๊ณ์ฐ ๋ณต์ก๋์ ์ต์ํ์ ์ฐ์์ ๊ณ์ฐ๋์ ๋น๊ตํ์์ต๋๋ค.
n : ์ํ์ค ๊ธธ์ด
d : representation ์ฐจ์
k : convolution์ kernel size
r : ์ ํ๋ self-attention์์์ ์ด์ ์
์ฐ์์ ๊ณ์ฐ๋์ด O(n)์ ๋ฐ๋ฅด๋ recurrent layer์ ๋ฌ๋ฆฌ, self-attention layer๋ ์์๊ฐ์ ์ฐ์์ ์ผ๋ก ์คํ๋๋ ๊ณ์ฐ๋ค๋ก ๋ชจ๋ ์์น๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ๊ณ์ฐ๋ณต์ก๋์ ๋ํด์๋, ์ํ์ค์ ๊ธธ์ด n์ด representation์ ์ฐจ์์ธ d๋ณด๋ค ์์ ๋ recurrent layer๋ณด๋ค self-attention layer๊ฐ ๋ ๋น ๋ฅธ๋ฐ, word-piece๋ byte-pair representation ๊ฐ์ ๊ธฐ๊ณ๋ฒ์ญ์์ SOTA ๋ชจ๋ธ๋ค์ด ์ฌ์ฉํ๋ ๋ฌธ์ฅ representation์ ๊ฒฝ์ฐ ๋๋ถ๋ถ n์ด d๋ณด๋ค ์์ต๋๋ค. ๋งค์ฐ ๊ธด ์ํ์ค์ ๊ด๋ จ๋ task์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด, self-attention์์ ๊ฐ๊ฐ์ ์ถ๋ ฅ ์์น๋ฅผ ์ค์ฌ์ผ๋ก ํ๋ ์
๋ ฅ ์ํ์ค์ ์ด์ ์๋ฅผ r๋ก ์ ํ์ํฌ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฒฝ๋ก ๊ธธ์ด์ ์ต๋๊ฐ์ O(n/r)๋ก ์ฆ๊ฐํ ์ ์์ต๋๋ค.
kernel ๋๋น k๊ฐ n๋ณด๋ค ์์ ํ๋์ convolutional layer๋ ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ํ์ฌ ๋ชจ๋ ์์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๊ธฐ ์ํด์๋ ๋คํธ์ํฌ ์์์ ๋ ์์น ์ฌ์ด์ ๊ฐ์ฅ ๊ธด ๊ฒฝ๋ก์ ๊ธธ์ด๋ฅผ ์ฆ๊ฐ์ํค๋ฉด์, ์ธ์ ํ kernel์ ๊ฒฝ์ฐ convolutional layer๊ฐ ๋งํผ ํ์ํ๊ณ , ํ์ฅ๋ convolution์ ๊ฒฝ์ฐ๋ ๋งํผ ํ์ํฉ๋๋ค. convolutional layer์ ๊ฒฝ์ฐ k ๋๋ฌธ์ ๋ณดํต recurrent layer๋ณด๋ค ๋ ๋์ ๊ฐ์ ๊ฐ์ง๋๋ค. ๊ทธ๋ฌ๋ ๋ถ๋ฆฌ๋ convolutional layer์ ๊ฒฝ์ฐ, ๊ณ์ฐ ๋ณต์ก๋๋ฅผ ๋ก ์ค์ฌ์ค๋๋ค. ๊ทธ๋ฌ๋, k=n์ผ ๋๋, ๋ถ๋ฆฌ๋ convolutional layer์ ๋ณต์ก๋๊ฐ self-attention๊ณผ point-wise fedd-forward layer์ ๊ฒฐํฉ์ ๋ณต์ก๋์ ๋์ผํด์ ธ, ํด๋น ๋
ผ๋ฌธ์์๋ ์ด ๋ฐฉ์์ ์ฑํํ์์ต๋๋ค.
๋ํ ์ถ๊ฐ๋ก, self-attention์ ๋์ฑ ํด์์ ์ธ ๋ชจ๋ธ๋ค์ ๋ง๋ค์ด๋ผ ์ ์์ต๋๋ค. ๊ฐ๊ฐ์ attention ํค๋๋ ์๋ก ๋ค๋ฅธ task๋ฅผ ์ํํ ์ ์๋๋ก ํ์ต๋ ๋ฟ๋ง ์๋๋ผ, ๋ฌธ์ฅ์ syntactic(๋ฌธ๋ฒ์ ), semantic(๊ตฌ๋ฌธ์ ) ๊ตฌ์กฐ์ ๊ด๋ จ๋ ํน์ฑ์ ํฌ์ฐฉํ๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
ย
Training
Dataset : WMT 2014 English-German dataset (4.5million sent. pairs, byte-pair encoding), WMT 2014 English-French dataset (36M sent., 32000 word-piece vocab.)
Hardware : 8๊ฐ์ NVIDIA P100 GPU๋ฅผ ์ฌ์ฉํด์ base model์ 100,000 step (1step = 0.4์ด), big model ์ 300,000step(1step = 1.0์ด) ๋์ ํ์ต์ ์งํํ์ต๋๋ค.
Optimizer :ย Adamย optimizer ์ฌ์ฉํด์ learning rate๋ [์-5] ์ ๊ฐ์ด warmup step = 4000์ผ๋ก ๋๊ณ ํ์ต์ ์งํํ์ต๋๋ค.
Residual Dropout : ๊ฐ sublayer์ ๊ฒฐ๊ณผ์ ๋ํด์ residual connection์ ์ํํ๊ธฐ ์ ์ dropout ์ ์ ์ฉํ๋ค.ย Pdrop=1ย ์ผ๋ก ์ง์ ํ์์ต๋๋ค.
Label Smoothing : label smoothing value = 0.1 ๋ก ์ง์ ํด์ ์ฌ์ฉํฉ๋๋ค. Perplexity ์๋๋ถ์ ์ ์ธ ์ํฅ์ ์ฃผ์ง๋ง, accuracy์ BLEU ์ ์์๋ ๊ธ์ ์ ์ธ ์ํฅ์ ์ค๋๋ค.
ย
Results
WMT 2014 English-German translation task(EN-DE) ์ WMT 2014 English-Frensh translation task(EN-FR) ์ ๊ฒฐ๊ณผ๋ก, SOTA๋ฅผ ๋ฐ์ด๋๋ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
ย
์์์ ์ ์ํ Transformer์ ๊ตฌ์กฐ์์ ๋ช ๊ฐ์ง ์์๋ค์ ๋ณ๊ฒฝํ ํ English-German translation task์ ์ ์ฉํ ์คํ ๊ฒฐ๊ณผ์
๋๋ค.
- (A) head์ ๊ฐ์,ย ๋ฅผ ๋ณ๊ฒฝ : head๊ฐ ๋๋ฌด ๋ง์ผ๋ฉด ์คํ๋ ค ์ฑ๋ฅ์ด ๋จ์ด์ง๋๋ค.
- (B) ๋ง ๋ณ๊ฒฝ
- (C) ๋ชจ๋ธ์ ํฌ๊ธฐ๋ฅผ ํค์ด ๊ฒฝ์ฐ : ๋ชจ๋ธ์ด ์ปค์ง์๋ก ์ฑ๋ฅ์ด ๊ฐ์ ๋ฉ๋๋ค.
- (D) dropout์ ์ํฅ : dropout ๋ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- (E) positional embedding์ ์ค์์ฑ : learned positional embedding์ ์ฌ์ฉํด๋ ์ฑ๋ฅ์ ํฐ ๋ณํ๋ ์์ต๋๋ค.
ย
๋ค๋ฅธ task์๋ ์ ์ฉ์ด ๊ฐ๋ฅํ์ง ์คํํ๊ธฐ ์ํด, English Constituency Parsing task์ transformer๋ฅผ ์ ์ฉํด๋ณด์์ต๋๋ค. ์ต๊ณ ์ ์ฑ๋ฅ์ ์ ๊ณตํ์ง๋ ๋ชปํ์ง๋ง, ์์ธ๋ก ๊ฝค ์ข์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
ย
Conclusion
ํด๋น ๋
ผ๋ฌธ์์๋, encoder-decoder ๊ตฌ์กฐ์์ ๊ฐ์ฅ ํํ๊ฒ ์ฌ์ฉ๋๋ recurrent layer๋ฅผ multi-head self-attention์ผ๋ก ๊ต์ฒดํ๋ฉด์, ์ ์ ์ผ๋ก attention์๋ง ์์กดํ๋ ์ต์ด์ ์ํ์ค ๋ณํ ๋ชจ๋ธ, Transformer๋ฅผ ์ ์ํ์์ต๋๋ค.
๋ฒ์ญ task์์, Transformer๋ recurrent, convolutional layer๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ตฌ์กฐ๋ค๋ณด๋ค ํจ์ฌ ๋นจ๋ฆฌ ํ์ต๋ ์ ์์ต๋๋ค. WMT 2014 English-to-German, WMT 2014 English-to-French ๋ฒ์ญ task ๋ ๋ค, ์๋ก์ด SOTA๋ฅผ ๋ฌ์ฑํ์์ต๋๋ค. ํด๋น ๋
ผ๋ฌธ์์์ ์ต๊ณ ์ ๋ชจ๋ธ์ ์ด์ ์ ์ฐ๊ตฌ๋์๋ ๋ชจ๋ ์์๋ธ์ ๋ฐ์ด๋์์ต๋๋ค.
๋ํ, ์ถํ์ attention-based model์ ๊ธฐ๋ํ๋ฉด์, Transformer๋ฅผ text๊ฐ ์๋ ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ชจ๋ฌ๋ฆฌํฐ ๋ฌธ์ ์ ์ ์ฉํ๊ณ , ์ง์ญ์ ์ด๊ณ , ์ ํ๋ attention ๋งค์ปค๋์ฆ์ด ์ด๋ฏธ์ง, ์ค๋์ค, ๋น๋์ค์ ๊ฐ์ ํฐ ์
์ถ๋ ฅ์ ํจ๊ณผ์ ์ผ๋ก ๋ค๋ฃจ๊ฒ๋ ํ์ฅ์ํฌ ๊ณํ์ด๋ผ๊ณ ํฉ๋๋ค.
ย
ย
์ฝ๋ ์ค์ต
ย
Reference
Attention Is All You Need https://arxiv.org/pdf/1706.03762.pdf