๐ ๋ณธ ๊ธ์ 2023.03 ์ ์์ฑํ paper review๋ฅผ ๋ค๋ฌ์ด ๋ฐํํ ์์นด์ด๋ธ ๊ธ์ ๋๋ค.
์์ฑ ๋น์ ์ปจํ ์คํธ: X:AI 4๊ธฐ Basic
์๋ณธ ๋ ผ๋ฌธ: https://arxiv.org/abs/1706.03762
์ฐ์ธํ ์ํ์ค ๋ฒ์ญ์ ๋ณต์กํ rrecurrent์ด๊ฑฐ๋ convolution ๋คํธ์ํฌ์ ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์๋ค. ๊ฐ์ฅ ์ข์ ๋ชจ๋ธ์ ์ดํ ์ ๋ฐฉ์์ ํตํ ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ์ฐ๊ฒฐํ๋ ๋ชจ๋ธ์ด๋ค. ์ฐ๋ฆฌ๋ ์ธ๋ก์ด ๊ฐ๋จํ recurrence์ convolution๋ฐฉ์์ ์ ์ ์ผ๋ก ์ ๊ฐํ๋ฉฐ self attention mechanism์ ๋ฐฉ์์ ๊ฐ์ง๋ Transformer๋ฅผ ์ ์ํ๋ค. ์ฐ๋ฆฌ๋ ์์ด-๋ ์ผ ๋ฒ์ญ๊ณผ ์์ด-ํ๋์ค ๋ฒ์ญ ํ ์คํฌ์์ ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ๊ฐ์ก์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋ค๋ฅธ ํ ์คํฌ์์๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์์ ํ์ธํ ์ ์์๋ค.
RNN๊ณผ LSTM ๊ทธ๋ฆฌ๊ณ GRNN์ ์ํ์ค ๋ชจ๋ธ๋ง๊ณผ ๋ฒ์ญ ๋ฌธ์ ์์ ์ข์ ์ฑ๋ฅ์ ๋ด๊ณ ์๋ค. ๊ทธ๋ฆฌ๊ณ reccurent์ encoder-decoder๋ฐฉ์์์ ๋ง์ ๋ ธ๋ ฅ๋ค์ด ์งํ๋์ด ์๋ค.
๋ฐ๋ณต์ ์ธ ๋ชจ๋ธ(recurrent)์ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์์์ ๋ฐ๋ผ ๊ณ์ฐ๋๋ค. ์์๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉฐ ๊ณ์ฐํ๋ฉฐ hidden states* *๋ฅผ ์์ฑํ๊ธฐ ์ํด hidden states ๊ณผ ํฌ์ง์ ๊ฐ์ ์ธํ์ผ๋ก ์ฌ์ฉํ๋ค. ์ด๋ฌํ ์์์ ์ธ ์ํ์ ์ ํ์ต๊ณผ์ ์์ ๋ณ๋ ฌ์ ์ํํ์ง ๋ชปํ๊ฒ ๋ ๋ฟ๋ง ์๋๋ผ ๊ธด ์ํ์ค์์ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ์ ๋ฐ๊ฒ ๋๋ค. ์ด๋ฌํ ํจ์จ์ฑ ๋ฌธ์ ๋ ์ฌ๋ฌ ๊ธฐ๋ฒ์ ํตํด์ ํด์๋์์ง๋ง, ์ฌ์ ํ ๋ฌธ์ ๋ก ๋จ์์๋ค.
Attention์ ๋ค์ํ ํ ์คํฌ์์ ์ธํ๊ณผ ์์ํ์ ๊ธธ์ด๋ฅผ ๋ฌด์ํ๋ ์ํ์ค ๋ชจ๋ธ๋ง๊ณผ ๋ฒ์ญ ๋ชจ๋ธ์ ๋ถ๋ถ์ด ๋์๋ค. ๋ช๋ช ๊ฒฝ์ฐ์์๋ ๋ฐ๋ณต ๋ชจ๋ธ์ ์ผ๋ถ๋ก ๊ฒฐํฉ๋์ด ์ฌ์ฉ๋์๋ค.
์ฐ๋ฆฌ๋ attention๊ธฐ๋ฒ์ ํตํด ๋ฐ๋ณต๊ณผ ๋จ๊ธฐ ์์กด์ฑ์ ํผํ๋ Transformer๋ฅผ ์ ์ํ๋ค. Transformer๋ ๋ณ๋ ฌ์ ๊ทธ๋ฆฌ๊ณ ์ ์ ํ์ต์ผ๋ก ์ต๊ณ ์ ์ฑ๋ฅ์ ๋๋ฌํ ์ ์๋ค.
์ฐ์์ ์ธ ๊ณ์ฐ์ ์ค์ด๊ธฐ ์ํด ์ปจ๋ณผ๋ฃจ์ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ธํ๊ณผ ์์ํ์ ๋ํด ๋ณ๋ ฌ์ ์ผ๋ก ํ๋ representation์ ๊ณ์ฐํ์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ์ ์ธํ๊ณผ ์์ํ์ ์์น์ ๋ฐ๋ผ ์ฐ์ฐ๋์ ์ฆ๊ฐ์ํต๋๋ค. ์ด๋ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ฅธ ์์กด์ฑ์ ๋ ์ด๋ ต๊ฒ ๋ง๋ค์์ต๋๋ค. Transformer์์๋ ์ฐ์ฐ์ ์ค์์ง๋ง, averaging attention-weighted position์ผ๋ก ์ธํด ํจ๊ณผ์ ์ธ ํด์๋๊ฐ ๊ฐ์ํ๋ธ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฅผ Multi-head attention์ผ๋ก ๋์ฒดํ์ต๋๋ค.
intra-attention์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ Self-attention์ ๋ค๋ฅธ ์์น์ ์๋ ์ํ์ค๋ผ๋ฆฌ์ ๊ด๊ณ๋ฅผ ํํํ๊ณ ์ ํฉ๋๋ค. Self-attention์ ๊ธ ์ดํด, ์์ฝ๋ฑ๋ฑ ๋ค์ํ ํ ์คํฌ์์ ์ฑ๊ณต์ ์ด์์ต๋๋ค. Transformer๋ RNN๊ณผ CNN์ด ์๋ ์ธํ๊ณผ ์์ํ์ ๊ด๊ณ์ ๋ํด ๊ณ์ฐํ๋ self-attention์ ์์กดํ ์ฒซ๋ฒ์งธ ๋ชจ๋ธ์ ๋๋ค.
๊ฐ์ฅ ์ข์ ์ธ์ด ๋ชจ๋ธ์ ์ธ์ฝ๋์ ๋์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค. ์ธ์ฝ๋์ โฆ์ ์ธํ์ ์ฌ์ฉํ๋ฉด ์ธ์ฝ๋๊ฐ ์ด๋ฅผ,โฆ ๋ก ํํํ๋ฉฐ ์ด๋ ๋์ฝ๋์ ๋ค์ด๊ฐ output์ธ ๋ฅผ ์์ฑํ๊ฒ ๋ฉ๋๋ค. ๋ชจ๋ ๋จ๊ณ์์ ๋ชจ๋ธ์ ์๋์ ์ผ๋ก ํ๊ทํ๋ฉฐ, ๋ค์ ๊ฒ์ ์์ฑํ ๋ ์ธํ ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ฃ์ต๋๋ค.

Encoder๋ 6๊ฐ์ ๋ ์ด์ด ์คํ์ผ๋ก ์ด๋ฃจ์ด์ ธ์๋ค. ๊ฐ๊ฐ์ ๋ ์ด์ด๋ ๋๊ฐ์ ์๋ธ๋ ์ด์ด๋ฅผ ๊ฐ์ง๋ค. ์ฒซ ๋ฒ์งธ๋ multi-head self-attention mechanism์ด๊ณ , ๋ ๋ฒ์งธ๋ position wise fully connected feed-forward networkdlek. ์ฐ๋ฆฌ๋ ๋งค ๋ ์ด์ด์ residiual connection์ ์ด์ฉํ๊ณ ๊ทธ ๋ค๋ก layer normalization์ ์ฌ์ฉํ๋ค. ๊ทธ๋ฌ๋ฉด ๊ฐ๊ฐ์ ๋ ์ด์ด์ ์์ํ์ LayerNorm(x+Sublayer(x))๊ฐ ๋๋ค. ์ฐ๋ฆฌ๋ residual connection์ ์ด์ฉํ๊ธฐ ์ํด์ ๋ชจ๋ ๋ ์ด์ด์ ์๋ฒ ๋ฉ์ ์์ํ์ 512๋ก ์ค์ ํ์๋ค.
Decoder ๋ํ 6๊ฐ์ ์คํ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค. ๊ฒ๋ค๊ฐ ์ธ์ฝ๋์ ๋๊ฐ์ ๋ ์ด์ด์ ๋์ฝ๋๋ ์ธ์ฝ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ํ์ฌ multi-head attention์ ์ํํ๋ 3๋ฒ์งธ ๋ ์ด์ด๋ฅผ ์ฝ์ ํ์๋ค. ์ธ์ฝ๋์ ์ ์ฌํ๊ฒ residual connection๊ณผ layer normalization์ ๋งค ๋ ์ด์ด ์ดํ์ ์คํํ์๋ค. ์ฐ๋ฆฌ๋ ๋ํ self-attention์ ์์ ํ์ฌ ์ด์ด์ง๋ ํฌ์ง์ ์ ์ํ์ฌ ํฌ์ง์ ์ด ์ ํด์ง๋ ๊ฒ์ ์๋ฐฉํ๋ค. ์ด ๋ง์คํน์ ํตํด์ ์ด์ ์ ์ ๋ณด์ ๋ํด์๋ง ์์กดํ ์ ์๊ฒ ๋๋ค. ( ๋ฏธ๋๋ฅผ ์์ธกํ๊ธฐ ์ํด์ ๋ฏธ๋์ ์ ๋ณด๋ฅผ ๋ฐฐ์ ํ๋ ๊ฒ. )
Attention์ ๋ฒกํฐ๋ก ์ถ๋ ฅ๋๋ query, key, value๋ก ์ด๋ฃจ์ด ์ง๋ค. ์์ํ์ query์ key๋ก ๋ถํฐ ๋์ค๋ values์ ๊ฐ์คํฉ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.


Value ๊ฐ์ด ์์ ๋ ๋๊ฐ์ ๋ฉ์นด๋์ฆ์ ์ ์ฌํ๊ฒ ์๋ํ์ง๋ง additive attention์ ํฐ ๊ฐ์ ๊ฐ์ง๋ ๊ฐ scaling์ด ๋์ง ์์ ๋ ๋์ฑ ํจ๊ณผ์ ์ด๋ค. ์ฐ๋ฆฌ๋ ํฐ ๊ฐ์ ๊ฐ ๊ท๋ชจ์์ dot product๊ฐ ์ปค์ง๋ฉฐ softmax function์ ๊ฐ์ด ๊ทน๋จ์ ์ผ๋ก ๊ฐ๋ฉฐ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ์ผ์ผํจ๋ค๊ณ ์์ฌํ๊ณ ์ฐ๋ฆฌ๋ ์ด๋ฅผ ๋ก scalingํ์ฌ ๋์ฒํ์๋ค.
Single attention ๋์ ์ฐ๋ฆฌ๋ ๋งค๋ฒ์ h time๋ง๋ค ๋ค๋ฅธ query, key, value๊ฐ์ด ๊ฐ๋ณ์ ์ผ๋ก ์๋๊ฒ ํจ๊ณผ์ ์ด๋๊ฒ์ ์์๋๋ค. ์ด๋ ๋ณ๋ ฌ์ ์ผ๋ก ์ํํ๋ฉฐ ๋์ผํ ์ฐจ์์ value๊ฐ์ ๋ธ๋ค. ์ด๋ ๊ฒ ๋์จ ๊ฒฐ๊ณผ๊ฐ์ concat๋์ด์ง๋ฉฐ ๋ค์ ๋ค๋ฅธ ๋ ์ด์ด๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค.
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ h=8์ 8๊ฐ์ ๋ณ๋ ฌ์ ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ๋ค. ์ฐ๋ฆฌ๋ ๋ฅผ ์ฌ์ฉํ๋ค. ์ด ๋๋ฌธ์ ๊ฐ ํค๋์์ ์ฐจ์์ด ๊ฐ์๋๋ฉฐ ์ ์ฒด์ ์ธ ์ฐ์ฐ๋์ single-head attention๊ณผ ์ ์ฌํด์ง๋ค.
The Transformer uses multi-head attention in three diffrent ways
encoder-decoder attention layer์์ query๋ ์ด์ ์ decoder layer์์ ์ค๋ฉฐ key์ value๋ encoder๋ก๋ถํฐ ์จ๋ค. ์ด๋ decoder์ ๋ชจ๋ sequence์ ๋ํด์ ์ํ๋์ด์ง๋ค. ์ด๊ฒ์ ์ ํ์ ์ธ encoder-decoder attention์ ๋ชจ๋ฐฉํ ๊ฒ์ด๋ค.
์ด๋ฌํ encoder๋ self-attention layer๋ฅผ ํฌํจํ๋ฉฐ ๋ชจ๋ key, value, query๋ ๊ฐ์ ์ฅ์์์ ์จ๋ค. ์ด ๊ฒฝ์ฐ ์ด์ layer์ ์์ํ์ ๋งํ๋ค. ๊ฐ๊ฐ์ encoder์ ์์น๋ ์ด์ encoder์ ๋ชจ๋ ์์น์ ๋ํด ํ์ตํ๊ฒ ๋๋ค.
์ ์ฌํ๊ฒ decoder์ ์๋ self-attention layer๋ decoder์ ๋ชจ๋ ์์น์ ๋ํด ํ์ตํ ๋ ค๋ ๊ฒฝํฅ์ด ์๊ณ ์ฐ๋ฆฌ๋ ์ด๋ฌํ ์ ๋ณด ํ๋ฆ์ ๋ฐฉ์งํด์ผํ๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ง์คํน์ฒ๋ฆฌ๋ฅผ ํ๋ค.
๋ชจ๋ encoder์ decoder๋ feed-forward network๋ฅผ ์ฐ๊ฒฐํ๋ค. ์ด๋ ๋ ๊ฐ์ linear layer์ ์ฌ์ด์ ReLU ํ์ฑํ ํจ์๊ฐ ํฌํจ ๋์ด ์ง๋ค. ์ธํ๊ณผ ์์ํ์ 512์ฐจ์์ด๋ฉฐ ์ค๊ฐ์ ์๋ hidden layer๋ 2048์ฐจ์์ ๊ฐ์ง๊ฒ ๋๋ค.
๋ค๋ฅธ ์ํ์ค ๋ฒ์ญ ๋ชจ๋ธ๊ณผ ์ ์ฌํ๊ฒ ์ฐ๋ฆฌ๋ ์ธํ ํ ํฐ๊ณผ ์์ํ์ผ๋ก ๋ณํํ๋ ํ์ต๋ ์๋ฒ ๋ฉ์ ์ฌ์ฉํ๋ค. ์ฐ๋ฆฌ๋ ๋ํ ํ์ต๋ linear์ softmax funtion์ ์ฌ์ฉํ๋ค. ์ฐ๋ฆฌ ๋ชจ๋ธ์์ ์ฐ๋ฆฌ๋ ๋๊ฐ์ ์๋ฒ ๋ฉ ๋ ์ด์ด์ softmax transformation๊ฐ ๊ฐ์ weight๋ฅผ ๊ณต์ ํ๋ค.
์ฐ๋ฆฌ์ ๋ชจ๋ธ์ ๋ฐ๋ณต๊ณผ ์ปจ๋ณผ๋ฃจ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ธ์ด sequence์ ์์๋ฅผ ์ ์ ์๋๋ก ์์น์ ๋ํ ์ ๋ณด๋ฅผ ์ฃผ์ ํด์ผํ๋ค.

layer ๋ง๋ค์ ์ฐ์ฐ๋ ๊ฐ์
convolution, recurrent์์ attentionํ์ต ๋ฐฉ๋ฒ์ผ๋ก ์ ํํ๋ฉฐ layer๋ด์์์ ์ฐ์ฐ๋์ ๊ฐ์ ์ํฌ ์ ์๋ค.
๋ณ๋ ฌ ์ํ ๊ฐ๋ฅ
์ฐ์์ ์ผ๋ก ์งํ๋๋ ํ์ต์ด ์๋ ๊ฐ๋ณ์ ์ธ ์ฐ์ฐ์ด ๋ฐ๋ก ๊ฐ๋ฅํ์ฌ ๋ณ๋ ฌ ์ํ์ด ๊ฐ๋ฅํ๋ค.
์ฅ๊ธฐ ์์กด์ฑ
๊ฐ๊ฐ์ ํ ํฐ์ด ๋ชจ๋ ํ ํฐ๊ด์ ๊ด๊ณ์ ๋ํด์ ํ์ต์ ํ๊ธฐ ๋๋ฌธ์ ์ฅ๊ธฐ ์์กด์ฑ์ ํด๊ฒฐํ๋ค.

์ฐ๋ฆฌ๋ ๋ง์ง๋ง์ผ๋ก 5๊ฐ์ checkpoint๋ฅผ ํ๊ท ์ ๋ด์ด ๊ธฐ๋ณธ model๋ก ์ฌ์ฉํ๋ฉฐ big model๋ก๋ ๋ง์ง๋ง 20๊ฐ์ checkpoint๋ฅผ ํ๊ท ๋ด์ด ์ฌ์ฉํ๋ค. ๋ํ output length๋ input length์ + 50๊ฐ๋ฅผ ์ ํ์ผ๋ก ๋๋ฉฐ ๊ฐ๋ฅํ๋ค๋ฉด ์ผ์ฐ ์ข ๋ฃํ๋ค. ๋ํ, beam์ 4๋ก ๋์ด ์งํํ๋ค.

์ฐ๋ฆฌ๋ ์ฒ์์ผ๋ก ์์ ํ attention์ ๊ทผ๊ฑฐํ sequence model์ ๋ณด์ฌ์ค๋ค. reccurent layer๋ฅผ ๋์ฒดํ์๊ณ , encoder-decoder ๊ตฌ์กฐ๋ฅผ multi-headed self-attention๊ณผ ๊ฐ์ด ์ฌ์ฉํ์๋ค. Transformer๋ ์ด์ ๊ตฌ์กฐ๋ค๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ ํ์ต์ด ๊ฐ๋ฅํ์ผ๋ฉฐ ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์๋ค.
๐ ๊ด๋ จ ๊ธ