์ข ๊ฐ ํ์ 2023๋ ๋ฒ์ ์ ๋ง์ถฐ ์๋กญ๊ฒ ์ ๋ฐ์ดํธ๋ CS224N ๊ฐ์๋ฅผ ์๊ฐ ์ค์ด๋ค. ํ์คํ ์์ฆ ๊ฐ์๋ค์ด ํจ์ฌ ๋ ์ต์ ์ ๋ณด๋ค๋ ๋ง๊ณ , ๊ทธ์ ๋ฐ๋ผ ๊ฐ์์ ์ง๋ ์ข์ ๊ฒ ๊ฐ๋ค.
ํ๋ฌ๊ฐ๋ฏ์ด ๋ค์๋ ๊ณผ๊ฑฐ์๋ ๋ค๋ฅด๊ฒ, ์ด๋ฒ์๋ ์ค์ํ ์ ๋ณด๋ค์ ์ดํดํ๊ณ ๋ค์ ๊ฐ๋ ํ์ธ์ฐจ ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํด๋ณด๊ณ ์๋ค.
์ด๋ฒ ๊ธ์์๋ RNN์ ๋์ ๋ถํฐ LSTM, Transformer๊น์ง ์ค๊ฒ ๋ ๊ณผ์ ๊ณผ ๊ฐ๊ฐ์ ๋ชจ๋ธ๋ค์ ๋ํด์ ์์ฑํด ๋ณด์๋ค. ์ ๋ชจ๋ธ์ ๋ํด์ ๋ค์ด๋ง ๋ณด๊ณ ์ ์์ง๋ ๋ชปํ์ ๋ถ๋ค์๊ฒ ๊ฐ์ถ.
1. RNN
Simple RNN
์ง๋ ๊ธ์์๋ ์์ฑํ๋ค์ํผ, RNN์ ํต์ฌ์ ๊ฐ์ ๊ฐ์ค์น W๋ฅผ ๋ฐ๋ณตํ์ฌ ์ฌ์ฉํจ์ผ๋ก์จ ์ค์ค๋ก์๊ฒ ํผ๋๋ฐฑ์ ์ฃผ๋ ๋ฐฉ์์ด๋ค.
๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค.
Training RNN
๊ทธ๋ผ ์ด๋ฐ ๊ตฌ์กฐ์ RNN์ ๋ณดํต ์ด๋ป๊ฒ training ์ํค๋ ๊ฒ์ผ๊น? ์ด ๊ฐ๋ ์ RNN์ ์ฌ์ฉํ๋ Language Model (RNN-LM)์ ์๋ก ๋ค์ด ์ค๋ช ํด ๋ณด์.
- ๋จผ์ ๊ธด ๊ธธ์ด์ text ๋ญ์น๋ฅผ ์ค๋นํ๋ค: {x1, x2, ..., xT}
- ์ด ํ ์คํธ๋ฅผ RNN-LM์ ์ฃผ๊ณ , ๊ฐ step t์ ํด๋นํ๋ output distribution y^(t)๋ฅผ ๊ณ์ฐํ๋ค.
- predicted probability y^(t)์ ์ค์ ๋จ์ด y(t) (=x(t+1))์ ๋ํ Loss function์ ๋ง๋ ๋ค.
- ์ ์ฒด training set์ ๋ํด ์ด๊ฒ์ ํ๊ท ์ ๊ตฌํ์ฌ ์ต์ข loss๋ฅผ ๊ตฌํ๋ค.
๊ฐ๋จํ๊ฒ ๋งํ๋ฉด, ๊ทธ๋ฅ ๋ฐ๋ก ๋ค ๋จ์ด๋ฅผ ์์ธกํ๋ ํ๋ฅ ์ ๋์ด๋ ๋ฐฉํฅ์ผ๋ก ํ์ต๋๋ ๊ฒ์ด๋ค.
ํ์ต์ ์ญ์ ํ๋ก ์ด๋ฃจ์ด์ง๋๋ฐ, gradient๋ฅผ ์ป์ด parameter๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ด๋ค. ๊ฐ ๋จ๊ณ์์ loss์ gradient ๊ฐ์ ๊ตฌํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น? ์ด๋ ๋ค์ 2๊ฐ์ง์ ์ง์คํด์ผ ํ๋ค:
- RNN์์๋ W๊ฐ ๊ณต์ ๋๋ค.
- Chain Rule์ ์ํด ์ต์ข ๋จ๊ณ์์์ loss์ ๋ฏธ๋ถ๊ฐ์ ๊ฐ ๋จ๊ณ์ ๋ฏธ๋ถ๊ฐ์ ๋ํ ๊ฒ๊ณผ ๊ฐ๋ค.
์ด 2๊ฐ์ง๋ฅผ ๊ณ ๋ คํ๋ฉด, ๋ฏธ๋ถ๊ฐ์ด ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋๋ค.
๊ทธ๋ผ ์ด์ ์ ์์ time step t, (t-1), (t-2), ..., 0์ ์ง๋๋ฉด์ gradient๋ฅผ ๊ณ์ฐํ๋ฉด ๋๋ค. ์ด๋ฅผ backpropagation through time ์ด๋ผ๊ณ ํ๋ค๋๋ผ.
Generating text with a RNN-LM
RNN-LM์์๋ Repeated Sampling์ด๋ผ๋ ๋ฐฉ๋ฒ๋ก ์ผ๋ก text๋ฅผ ์์ฑํ๋ค.
์ด๋ ์์์ ํ step์์ ์์ฑ๋๋ output ์ค ํ๋๋ฅผ ๊ณจ๋ผ ๋ค์ step์ input์ผ๋ก ์ฃผ๋ ๋ฐฉ์์ด๋ค.
๋น์ฐํ ๋ง๋ง ๋ค์ผ๋ฉด ์ ํ๋๊ฐ ๋๋ค๊ณ ์๊ฐ์ด ์ ํ ๋ค์ง ์๊ฒ ์ง๋ง, ์๊ฐ๋ณด๋ค๋ ๋์์ง ์๊ณ , ๋ฌด์๋ณด๋ค ๋น์์๋ n-gram๋ณด๋ค ํจ์ฌ ์ผ๊ด์ฑ ์๋ ๋ง์ ์์ฑํด ๋ด์ ์ข์ ์ฑ๋ฅ์ผ๋ก ํ๊ฐ๋ฐ์์๋ค.
RNN์ ๋ฌธ์
์ด๋ ๊ฒ n-gram ์๋์ ๋ฑ์ฅํ RNN์ ์ ๋ง ๊ด์ฐฎ์ ๋ณด์์ง๋ง, ์ฌ์ค์ ๋ง์ ๋ฌธ์ ์ ์ด ์์๋ค.
Vanishing & Exploding Gradients
๊ฐ์ฅ ๋ํ์ ์ด๊ณ ์ ๋ช ํ ๋ฌธ์ ๋ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฐ ์ฆํญ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ์ด๋ค.
์ญ์ ํ๋ฅผ chain rule์ ํตํด์ ์ ๋ฌํ ๋, ๊ฐ์ฅ ๋ง์ง๋ง layer๋ layer์ ์๋งํผ ๊ณฑ์ ์ ๊ฑฐ์น๊ฒ ๋๋ค.
๋ง์ฝ ์ด ๊ณฑํ๋ ๊ฐ๋ค์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ์๋ค๋ฉด, ์ญ์ ํ๊ฐ ์ ๋ฌ๋ ์๋ก ๊ฐ์ด ์ ์ ๋ ์์์ง๊ฒ ๋๋ค.
๊ทธ๋์ ์ด๋ฐ gradient vanishing์ ๊ฒฝ์ฐ, ๋ฌธ์ ๋ ๋ชจ๋ธ์ weight๊ฐ ์ ๋ฐ์ดํธ๋ ๋, ๊ทผ์ฒ์ ์๋ text์๋ง ์ํฅ์ ๋ฐ๊ณ , ๋ฉ๋ฆฌ ์๋ text์ ๋ํด์๋ ์ํฅ์ ๊ฑฐ์ ๋ฐ์ง ๋ชปํ๋ค๋ ๊ฒ์ด๋ค.
์ด๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ๊ณฑํด์ง๋ ๊ฐ๋ค์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ์ปค์ง๋ฉด, ์ญ์ ํ๊ฐ ์ ๋ฌ๋ ์๋ก ๊ฐ์ด ์ ์ ์ปค์ง๊ฒ ๋๋ค.
์ด๋ฐ gradient explosion์ ๊ฒฝ์ฐ, bad update๋ฅผ ์ด๋ํ๊ณ , ์ต์ ์ ๊ฒฝ์ฐ์๋ ๋๋ฌด ์ปค์ ธ์ NaN์ด ๋๊ณ , ๊ณ์ฐํ์ง ๋ชปํ๋ ์ํ๊ฐ ๋์ด ํ์ต์ ์ฒ์๋ถํฐ ๋ค์ ์์ํด์ผ ํ ์๋ ์๋ค.
Solution for gradient Explosion: Gradient Clipping
๋จผ์ gradient explosion์ ๋ํ ํด๊ฒฐ๋ฐฉ์์ผ๋ก๋ gradient clipping์ด ์๋๋ฐ, ์ด๋ ๋ง์ฝ gradient๊ฐ ์ด๋ค threshold๋ณด๋ค ํฌ๋ค๋ฉด, SGD update ์ ์ scale down ํ๋ ๋ฐฉ์์ด๋ค. ์๊ฐ๋ณด๋ค ๊ฐ๋จํ๊ฒ ํด๊ฒฐํ ์ ์์๋ค.
๊ทธ๋ ๋ค๋ฉด gradient vanishing ๋ฌธ์ ๋ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น?
์ด ๋ฌธ์ ์ ๋ํ ์์ด๋์ด๋ก memory๊ฐ ๋ถ๋ฆฌ๋ RNN์ ์ฌ์ฉํ๋ ๋ฐฉ์์ ๊ณ ์ํ๋ค. ์ด๋ ๊ฒ ์๊ธด ๋ชจ๋ธ์ด LSTM์ด๋ค.
2. LSTM
์์ ๋งํ๋ฏ์ด, LSTM์ RNN์ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ํด๊ฒฐ์ ์ํด memory๋ฅผ ๋ถ๋ฆฌํ๋ ๋ฐฉ์์ ์ ์ฉํ ๋ชจ๋ธ์ด๋ค. ์ด ๋ฌธ์ ํด๊ฒฐ์ ์ํด cell state๋ผ๋ ๊ฐ๋ ์ ๋์ ํ๋ค.
ํ๋์ hidden state๋ฅผ ๊ฐ์ง๋ RNN๊ณผ ๋ฌ๋ฆฌ LSTM์ 2๊ฐ, hidden state๊ณผ cell state๋ฅผ ๊ฐ์ง๋ค. ์ด cell state์ ํน์ง์ ๋ค์๊ณผ ๊ฐ๋ค:
- ๋ ๋ฒกํฐ์ ๊ธธ์ด๋ ๋ชจ๋ n์ด๋ค.
- cell์ long-term ์ ๋ณด๋ฅผ ๋ด๋๋ค.
- LSTM์ cell๋ก๋ถํฐ ํด๋น ์ ๋ณด๋ฅผ ์ฝ๊ณ , ์ง์ฐ๊ณ , ์ธ ์ ์๋ค. ๋ง์น ์ปดํจํฐ์ RAM ๊ฐ์ ๋๋์ด๋ค.
์ด๋ ๊ฒ ์ง์ฐ๊ณ , ์ฐ๊ณ , ์ฝ๊ธฐ ์ํ ๊ณผ์ ์ 3๊ฐ์ gate๋ก ์ด๋ฃจ์ด์ง๋๋ฐ, gate์ ํน์ง์ ๋ค์๊ณผ ๊ฐ๋ค.
- gate๋ค์ ๊ธธ์ด ๋ํ ๋ชจ๋ n์ด๋ค.
- ๊ฐ timestep์ ๋ํด, gate๋ open (1), closed (0) ์ด๊ฑฐ๋ in-between ์ํ๋ก ์์ ์ ์๋ค.
- gate๋ค์ dynamic ํ๋ค. ๊ทธ๋ค์ ๊ฐ์ ํ์ฌ context๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐ๋๋ค.
์๋ ๊ทธ๋ฆผ์ ์ฐธ๊ณ ํ์ฌ 3๊ฐ์ง์ gate๊ฐ ๋ฌด์์ ๋ํ๋ด๋์ง ๋ณด์.
- Forget gate: ์ง์ cell state๋ก๋ถํฐ ๋ฌด์จ ์ ๋ณด๊ฐ ์ ์ฅ๋์ด์ผ ํ๊ณ , ๋ฌด์จ ์ ๋ณด๊ฐ ์ํ์ผ ํ๋์ง ๊ธฐ์ตํ๋ gate์ด๋ค.
- Input gate: cell์ ์ด๋ค ๋ถ๋ถ์ด cell memory์ ๊ธฐ๋ก๋๋์ง ๊ด๋ฆฌํ๋ gate์ด๋ค.
- Ouptut gate: cell์ ์ด๋ค ๋ถ๋ถ์ด hidden state๋ก ์ฎ๊ฒจ์ ธ์ผ ํ๋์ง ๊ด๋ฆฌํ๋ค.
LSTM์ ๋ด๋ถ ๊ตฌ์กฐ๋ ๋ค์ ๊ทธ๋ฆผ์ด ์ ๋ง ์ ๋ํ๋ด์๋ค.
- ๊ฐ์ฅ ์ผ์ชฝ์์๋ forget gate๋ฅผ ๊ณ์ฐํ์ฌ ์ ๋นํ cell content๋ฅผ ์๋๋ค.
- ์ค๊ฐ์์๋ input gate์ new cell content๋ฅผ ๋ฃ์ด ์ด๋ค ์ ๋ณด๊ฐ cell์ ๊ธฐ๋ก๋๋ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ค.
- ๋ง์ง๋ง์์๋ output gate๋ฅผ ๊ณ์ฐํ์ฌ cell state์ ์๋ ์ ๋ณด๋ค์ hidden state๋ก ์ ๋ฌํ๋ค.
- ํํฌ์์ผ๋ก ํ์๋ +๋ฅผ ํตํด ์๋ก์ด cell content๋ฅผ ์์ฑํ๋ค.
์ด๋ ๊ฒ, LSTM์ ๊ฐ์ข gate๋ฅผ ํ์ฉํ์ฌ ์ ๋ณด๊ฐ ๋ง์ timestep์ผ๋ก๋ถํฐ ๋ณด์กด๋ ์ ์๋๋ก ๋๋๋ค.
3. NMT & Seq2Seq
์ด๋ ๊ฒ RNN, LSTM์ ๋ํ ๋ด์ฉ์ ์ด๋ ์ ๋ ๋ง๋ฌด๋ฆฌํ๊ณ , ์๋ก์ด ํ์คํฌ์ธ Machine Translation์ด ์๊ฐ๋๋ค.
Machine Translation์ด๋ ๋ง ๊ทธ๋๋ก ๊ธฐ๊ณ๋ก ๋ฒ์ญํ๋ ๊ฒ์ ๋ปํ๋ค. ์๋ฅผ ๋ค์ด ํ๋์ค์ด๋ฅผ ์์ด๋ก ๋ฒ์ญํ๋ ค๊ณ ํ ๋, ๋ฐ์ดํฐ๋ก๋ถํฐ probabilistic model์ ํ์ต์ํค๋ ๊ฒ์ด๋ค.
Statistical Machine Translation (SMT)
neural machine translation (nmt)๊ฐ ์ ์ฉ๋๊ธฐ ์ , ์ฌ๋๋ค์ ํ๋ฅ ๊ธฐ๋ฐ์ ๋ฒ์ญ ๋ชจ๋ธ์ ๋ง๋ค๊ณ ์ ํ๋๋ฐ, ์ด๋ค์ ํ๋ณด๋ ์๋์ ๊ฐ์๋ค.
ํ๋์ค์ด ๋ฌธ์ฅ์ x, ์์ด ๋ฌธ์ฅ์ y๋ผ๊ณ ํ ๋, ๊ตฌํ๋ ค๋ ํ๋ฅ ์ ๋ค์๊ณผ ๊ฐ๋ค:
์ฌ๊ธฐ์ ๋ฒ ์ด์ง์ ๋ฒ์น์ ์ ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด 2๊ฐ์ง ์ปดํฌ๋ํธ๋ก ๋ถํดํ ์ ์๋ค.
- ์ผ์ชฝ์ ํ์ต๋ data๋ก๋ถํฐ ๋จ์ด์ ๊ตฌ์ ๋ค์ด ์ด๋ป๊ฒ ํด์๋ ์ง ํ์ต๋๋ translation model,
- ์ค๋ฅธ์ชฝ์ ์์ด๋ฅผ ์ ์์ฑํ๊ธฐ ์ํด ํ์ต๋๋ language model์ด ๋๋ ๊ฒ์ด๋ค.
๋จผ์ Translation model์ ์ดํด๋ณด์. Translation model P(x|y)๋ฅผ ํ์ตํ๊ธฐ ์ํด์๋ ์ด๋ป๊ฒ ํด์ผ ํ ๊น?
- ๋จผ์ ์ ๋ง ๋ง์ ์์ parallel data๊ฐ ํ์ํ๋ค. (์์๋ก, ์ ๋ฒ์ญ๋ ํ๋์ค์ด-์์ด ์์ ๋ฌธ์ฅ๋ค์ด ์์ ๊ฒ์ด๋ค.)
- ๋ ๋ฌธ์ฅ ๊ฐ์ ์ ๋ ฌ๋ data๊ฐ ํ์ํ๋ค. (์์๋ก, ํ๋์ค์ด์ ์ด๋ค ๋จ์ด๊ฐ ์์ด์ ์ด๋ค ๋จ์ด๋ฅผ ๊ฐ๋ฆฌํค๋์ง ๋ฑ์ ๊ดํ ์ ๋ณด๊ฐ ์์ผ๋ฉด ์ข๋ค.)
- ์ด๋ฌํ alignment๋ ์ผ๋์ผ, ๋ค๋์ผ, ์ผ๋๋ค, ๋ค๋๋ค์ ๋ชจ๋ ๊ด๊ณ๊ฐ ๋ ์ ์๋ค.
์์ ๊ฐ์ด Encoding ํ ์ดํ Decoding ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ด๋ ๊ฒ ๋จ์ด๋ง๋ค ์กฐ๊ฐ์ด ์์ผ๋ฉฐ, ์ด ์กฐ๊ฐ๋ค์ ํ๋์ฉ ์ง ๋ง์ถฐ ๋๊ฐ์ผ๋ก์จ ์์ธกํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ์งํ๋ Statistical Machine Translation์ ๋๋ฌด ๋ณต์กํ๊ณ , ํ์ ์ปดํฌ๋ํธ๋ค์ด ๋๋ฌด ๋ง์์ผ๋ฉฐ, ๋ง์ feature engineering์ด ์๊ตฌ๋์๊ณ , ๋ค์ํ ์ถ๊ฐ์ ์ธ ์์๋ค๊ณผ ์ธ๊ฐ์ ๋ ธ๋ ฅ์ด ํ์ํ๋ค...
Neural Machine Translation (NMT)
NMT์ ๊ตฌ์กฐ
์ด์ Neural Network๋ฅผ ๋์ ํด์ machine translation์ ์ ์ฉํ ๋ถ์ผ๋ฅผ ํ๋ฒ ๋ณด์. ์ด ์ํคํ ์ฒ๋ sequence-to-sequence ๋ชจ๋ธ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, 2๊ฐ์ RNN์ผ๋ก ๊ตฌ์ฑ๋ผ ์๋ค.
๋จผ์ Seq2Seq์ ์์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ์ง๋๊ณ , ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
(๋ค๋ง ์ ๊ตฌ์กฐ๋ Test์ ๊ฒฝ์ฐ์ด๊ณ , Train ์์๋ ์์ฑ๋๋ output ๋จ์ด๋ฅผ ๋ค์ input์ผ๋ก ์
๋ ฅํ๋ ๊ฒ์ด ์๋, true data๋ฅผ ์
๋ ฅ์ผ๋ก ์ค๋ค.)
- source sentence๋ฅผ encoder RNN์ ํตํด encoding ํ๋ค.
- Encoding์ ํตํด Decoder RNN์ ์ํ initial hidden state๊ฐ ๋ง์ง๋ง์ ์ฃผ์ด์ง๊ฒ ๋๋ค.
- Decoder RNN์ encoding์ ์กฐ๊ฑดํ์ฌ ํ๊น ๋ฌธ์ฅ์ ์์ฑํ๋ค. ์ฆ ๋ฒ์ญ์ ํ๋ ๊ฒ์ด๋ค.
์ด์ฒ๋ผ, Seq2Seq ๋ชจ๋ธ์ Conditional Language Model์ ํ ์์์ด๋ค.
Training NMT
๊ทธ๋ ๋ค๋ฉด Train ๊ณผ์ ์ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๊น?
Training ๊ณผ์ ์ ๋ค์์ ๋ฐ๋ฅธ๋ค.
- ํ๋์ค์ด-์์ด batch๋ฅผ ๊ฐ์ ธ์
- ํ๋์ค์ด์ Encoder RNN์ ์ ์ฉํ์ฌ encoding ํ hidden state๋ฅผ decoder์ ์ ์ฉํ๋ค.
- decoder๊ฐ ํด๋น hidden state๋ฅผ ๋ฐํ์ผ๋ก ์์ธกํ ๋จ์ด์ ์ค์ ๋จ์ด๊ฐ ์ผ์นํ๋์ง๋ฅผ ํ๋จํ๋ค.
Multi-layer RNNs
RNN์ ์ฑ๋ฅ์ ๋์ด๋ ๋ฐฉ๋ฒ์ผ๋ก, ์ฌ๋ฌ ๊ฒน์ RNN์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๋ค. ์ด๋ multi-layer RNN์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋๋ฐ, ์ด๊ฒ์ ์ฅ์ ์ ๋์ฑ ๋ณต์กํ ํํ์ ๊ณ์ฐํ ์ ์๊ฒ ํ๋ค๋ ๊ฒ์ด๋ค. ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ด, ๊ทธ๋ฅ RNN์ ์ข ๋ ์์ ์ฌ๋ฆฐ ํ์์ด๋ค.
- ํผํฌ๋จผ์ค๊ฐ ์ข์ RNN์ ์ฃผ๋ก multi-layer๋ผ๊ณ ํ๋ค.
- ์ค์ ๋ก NMT์ ๊ฒฝ์ฐ, encoder RNN์ 2~4๊ฒน, decoder RNN์ 4๊ฒน์ด ๊ฐ์ฅ ๋์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค๊ณ ํ๋ค.
- ๋ํ, ์ฃผ๋ก skip-connection(residual connection)์ด๋ dense-connection ๋ฑ์ด RNN์ ๋ ๊น๊ฒ train ํ๊ธฐ ์ํด ํ์ํ๋ค๊ณ ํ๋ค.
Decoding ๋ฐฉ์
1. Greedy Decoding
Decoding ์, decoder์ ๊ฐ step์ argmax๋ฅผ ์ทจํจ์ผ๋ก์จ ํ๊น ๋ฌธ์ฅ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ณด์๋ค.
์ด๋, ๊ฐ time step๋ง๋ค ํ๋ฅ ์ด ๊ฐ์ฅ ๋์ ๋จ์ด๋ฅผ ์ ํํ๋ ๊ฒ์ greedy decoding์ด๋ผ๊ณ ํ๋ค.
๋ณธ ๋ฐฉ๋ฒ์ ๋ฌธ์ ์ ์ greedy ํ๊ฒ ์ ํํด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๊ฒฝ์ฐ, ๋์๊ฐ ์๊ฐ ์๋ค๋ ๊ฒ์ด๋ค.
2. Exhuastive search Decoding
์ด๋ฅผ ์ํด Exhaustive search Decoding์ด๋ผ๋ ๋ฐฉ๋ฒ์ด ๊ณ ์๋์๋ค.
์ด๋ x๊ฐ ์ฃผ์ด์ง ๊ฒฝ์ฐ, ๋์ฌ ์ ์๋ ๋ชจ๋ y์ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์๋ ๋ฐฉ์์ธ๋ฐ, ์ด ๋ฐฉ๋ฒ์ ๋๋ฌด computational resource๊ฐ ๋ง์ด ๋ค์๋ค.
3. Beam search Decoding
์ด ๋ฐฉ๋ฒ์ ์ฝ์ด ์์ด๋์ด๋ decoder์ ๊ฐ time step์์ k๊ฐ (beam size)์ ๊ฐ์ฅ ํ๋ฅ ์ด ๋์ translation์ ์ฐพ์๋ ๊ฒ์ด์๋ค.
์ด ๋ฐฉ๋ฒ์ ์ต์ ์ ํด๊ฒฐ๋ฐฉ์์ด ๋ณด์ฅ๋ผ์์ง๋ ์์ง๋ง, exhaustive search๋ณด๋ค๋ ํจ์ฌ ํจ์จ์ ์ธ ๋ฐฉ์์ด์๋ค.
์ด๋ ๊ฒ ํจ์ผ๋ก์จ, ๊ฝค ๊ด์ฐฎ์ Neural Machine Translation์ ๋ง๋ค์ด๋ผ ์ ์์๊ณ , ์ด์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ์๋ค.
- ๋ ๋์ ์ฑ๋ฅ: ๋ ์ ์ฐฝํ๊ณ , context๊ฐ ๋ ์ผ๊ด์ฑ ์์๋ค.
- ์ค์ง single neural network๋ง ํ์ํ๋ค. ๋ค๋ฅธ subcomponents๋ค์ด ํ์ ์์๋ค.
- Human engineering์ ์ ๊ฒ ์๊ตฌํ๋ค.
๋ค๋ง, ๋๋ฒ๊น ํ๊ธฐ ์ด๋ ต๊ณ , ์ปจํธ๋กคํ๊ธฐ ์ด๋ ต๋ค๋ ๋จ์ ๋ํ ์๊ธด ํ๋ค.
Evaluation of Machine Translation
Machine Translation์ BLEU (Bilingual Evalutaion Understudy) ์ค์ฝ์ด๋ก ํ๊ฐํ๋ค.
์ด๋ ํ๋์ machine-written translation๊ณผ human-written translation ์ฌ์ด์ ์ ์ฌ์ฑ์ ๋น๊ตํ๋๋ฐ, ์ด ์ ์ฌ์ฑ์ ๋ค์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
- n-gram precision
- ๋๋ฌด ์งง์ system translation์ ๋ํ penalty
BLEU ์ค์ฝ์ด๋ ์ฉ์ดํ์ง๋ง ์๋ฒฝํ์ง ๋ชปํ๋ค๋ ๋จ์ ์ด ์๋ค. ๊ฐ์ ์๋ฏธ๋ฅผ ๋ด์ ๋ฌธ์ฅ์ด๋๋ผ๋, ์ถฉ๋ถํ ๋ค๋ฅธ ์ฉ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅด๊ฒ ํด์๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด ๋๋ฌธ์ ์ ๋ฒ์ญ๋ ๋ฌธ์ฅ๋ ๋ฎ์ ์ค์ฝ์ด๋ฅผ ๋ฐ๋ ํ์ ๋ํ ๋ฐ์ํ๊ธฐ๋ ํ๋ค.
4. Attention
Problem of Seq2Seq Model: Bottleneck problem
Neural Machine Translation ํ์คํฌ๋ฅผ ์ํด ๋ง๋ค์ด์ง Seq2Seq ๋ชจ๋ธ๋ ๋ฌธ์ ์ ์ด ์์๋๋ฐ, ์ด๋ Bottleneck problem, ๋ณ๋ชฉ ํ์์ด์๋ค. ์ฝ๊ฒ ๋งํ๋ฉด, Encoder RNN์ ๋ง์ง๋ง hidden state์์ ๋ชจ๋ ์ ๋ณด๋ฅผ ํฌํจํด์ผ ํ๋ค๋ ๋ฌธ์ ์๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ์ธ๊ฐ์ด ๋ฒ์ญ์ ์๋ํ๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด ๋ณด์.
์ธ๊ฐ์ ๋ฒ์ญ์ ํ ๋, ๋ฌธ์ฅ์ ํ ๋ฌธ๋งฅ์ ๋ณด๊ณ ๋ฒ์ญํ๊ณ , ์ดํ ๋ฌธ๋งฅ์ ๋ณด๊ณ ๋ฒ์ญํ๊ณ ,, ์ด ํ๋์ ๋ฐ๋ณตํ๋ค.
๋ ๋ฌธ๋งฅ์ ๋ณด๋ฉด์ ๋ ์ฃผ์ ๊น๊ฒ ๋ด์ผ ํ ๊ฒ์ ์ธ์งํ๊ณ ๊ทธ๊ฒ์ ์ด์ ์ ๋ง์ถ์ด ๋ฒ์ญํ๋ค.
์ด ์์ด๋์ด์ ์ฐฉ์ํ์ฌ, decoder์ ๊ฐ ๋จ๊ณ์์ encoder์์ ์ง์ ์ ์ธ connection์ ํตํด ํน์ ๋ถ๋ถ์ ์ง์คํ๋๋ก ๋ง๋ ์ํคํ ์ฒ๊ฐ Attention์ด๋ค.
Seq2seq with Attention
Seq2seq ๋ชจ๋ธ์ Attention์ ๊ฒฐํฉํ ๊ตฌ์กฐ๋ฅผ ๋จผ์ ์ดํด๋ณด์. ์์ ๋งํ๋ฏ์ด, Attention์ ์ด๋์ ์ฃผ์๋ฅผ ์ค ๊ฒ์ธ๊ฐ๋ฅผ ๊ณ ๋ คํ์ฌ ๋ง๋ ์ํคํ ์ฒ์ด๋ค.
- ๋จผ์ ํ๋์์ผ๋ก Attention Scores๋ผ๊ณ ๋ผ์๋ ๋ถ๋ถ์, ๊ฐ ์์น์์์ encoder hidden state์ decoder์ hidden state๋ฅผ ๊ฐ์ง๊ณ attention score๋ฅผ ๊ณ์ฐํ ๊ฒ์ด๋ค. ๊ณ์ฐ์ ์ฃผ๋ก dot product, ๋ด์ ์ ์ฌ์ฉํ๋ค.
- ์ด๋ ๊ฒ ๊ฐ decoder์ timestep์ attention distribution์ ๋ณด๋ฉด, ์ด๋ค hidden state์ ์ผ๋ง๋งํผ์ attention์ ์ฃผ๋์ง์ ๋ํด ์ ์ ์๋ค.
- ๋ง๋ค์ด์ง Attention Distribution์ ๊ฐ์ง๊ณ , encoder hidden state์ ๋ํ weighted sum์ ์ ์ฉํ์ฌ attention output์ ๋ง๋ ๋ค. ์ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด, ์ต์ข attention output์ ์ฃผ๋ก high attention์ ๊ฐ์ง, hidden state๋ก๋ถํฐ ํ์๋ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
์ดํ์๋ ์ ์ Seq2seq ๋ชจ๋ธ์์ ํ๋ ๋น์ทํ ๊ณผ์ ๋ค์ ์ญ ๋ฐ๋ณตํ๋๋ฐ, decoder hidden state์ attention output์ concatenate ํ๊ณ , ๊ณ์ฐํ์ฌ y^์ ๊ตฌํ๋ค.
Problem of RNN: Linear interaction distance
RNN์ ์ฃผ๋ก ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ๋๋ฐ, ์ด๋ ๊ฐ๊น์ด ์๋ ๋จ์ด๊ฐ ์๋ก์ ์๋ฏธ์ ์ํฅ์ ์ค๋ค.
์ด์, RNN์ sequence ๊ธธ์ด๋งํผ์ ์๊ฐ ๋ณต์ก๋๊ฐ ๊ฑธ๋ฆฐ๋ค.
์ด๋ ๋ค์ ๋งํ๋ฉด GPU์ ์ฅ์ ์ ์์ ํ ๋ฌด์ํด ๋ฒ๋ฆฌ๋ ๊ฒ์ด ๋๋ค. ๊ทธ ์ด์ ๋ RNN์ ๊ฒฝ์ฐ, ์ข ์์ ์ผ๋ก ์ ์ ๋จ์ด๋ฅผ ์์ธกํด์ผ ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ ์ ์๋ ํ์์ด ๋ฐ๋ณต๋๊ธฐ ๋๋ฌธ์ด๋ค. GPU์ ์ด์ ์ ์ฑ๊ธฐ๋ ค๋ฉด ๋ชจ๋ ๋จ์ด๋ค์ด ๋ ๋ฆฝ์ ์ผ๋ก ์์ธก๋ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค.
Attention์ ๋ชจ๋ ๋จ์ด๋ค์ ํํ์ query๋ก ์ทจ๊ธํ์ฌ ์ ๊ทผํ๊ณ value ์ง๋จ์ ์ ๋ณด๋ฅผ ํฌํจํ๋ค. Attention์ ์ฌ์ฉํจ์ผ๋ก์จ ์ด๋ฐ ๋ณ๋ ฌ์ ์ธ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ ธ ์๊ฐ ๋ณต์ก๋๊ฐ sequence ๊ธธ์ด์ ์ํฅ์ ๋ฐ์ง ์๊ฒ ๋ ๊ฒ์ด๋ค.
์ด๋ฐ Attention์ ๊ตฌ์กฐ๋ ๋ง์น lookup table๊ณผ ๊ฐ๋ค.
- Attention์์๋ query์ key๋ค๊ณผ์ ์ ์ฌ์ฑ์ ๊ณ์ฐํด์ softmax๋ก ์ํฅ๋ ฅ (=weight)๋ฅผ ๋ํ๋ด๊ณ , value์ ํด๋น weight๋ฅผ ๊ณฑํ์ฌ sum ๊ฐ์ ๊ตฌํ๋ค. ๊ทธ๊ฒ์ด ๊ณง output์ด ๋๋ค.
Self-Attention
Self-Attention์ keys, queries, values๋ฅผ ๊ฐ์ sequence๋ก๋ถํฐ ๋ฝ์๋ด๋ ๊ฒ์ด๋ค.
vocabulary V์ ์๋ ๋จ์ด๋ค์ sequence๋ฅผ w_{1:n}์ด๋ผ๊ณ ํ์.
๊ฐ wi์ ๋ํด x_i = E * w_i๋ผ๊ณ ํ์. E๋ embedding matrix์ด๊ณ , ์ฐจ์์ d x |V|์ด๋ค.
Self-Attention์ด ์ด๋ฃจ์ด์ง๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- dxd ์ฐจ์์ weight matrix์ธ Q, K, V๋ฅผ ๊ฐ์ง๊ณ word embedding์ transform ํ๋ค.
- q_i = Q * x_i (Queries)
- k_i = K * x_i (Keys)
- v_i = V * x_i (Values)
- keys์ queries์ ๋ํ ์ ์ฌ์ฑ์ ๊ณ์ฐํ๊ณ , softmax๋ก normalize ํ๋ค.
- ์ต์ข ์ ์ผ๋ก, weighted sum of values๋ฅผ ๊ณ์ฐํ์ฌ, ๊ฐ ๋จ์ด์ ๋ํ ์ต์ข output์ ๊ณ์ฐํ๋ค.
- e_ij๋ i๊ฐ j๋ฅผ ์ฐพ๊ธฐ ์ํด ์ผ๋ง๋ ๋ง์ด lookup ํด์ผ ํ๋์ง๋ฅผ ๋ํ๋ด๋ score,
- alpha_ij๋ ์ ๊ทํ๋ ์ซ์์ด๋ค.
์ด๋ฐ Attention ๋ฉ์ปค๋์ฆ์๋ ๋น์ฐํ ๋ฌธ์ ๋ ์์๋ค.
Attention์ ๋ฌธ์ ์ ํด๊ฒฐ๋ฐฉ์
1. Doesn't have inherent notion of order -> Positional Encoding
Attention์ ์ฒซ ๋ฒ์งธ ๋ฌธ์ ๋ ๋ด์ฌ๋ ์์๊ฐ ์๋ค๋ ๊ฒ์ด์๋ค. ์์ ๊ฐ์ ๋จ์ํ Attention ๋ฉ์ปค๋์ฆ๋ง์ ์ฌ์ฉํ๋ฉด,
'Zuko made his uncle a breakfast'์ 'His uncle made Zuko a breakfast'๋ ๊ฐ์ ์๋ฏธ๋ก ์ธ์ฝ๋ฉ ๋๋ค.
๊ทธ๊ฐ RNN์ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅ๋์ด ์ด๋ฐ ์์์ ๊ตณ์ด ์ ๊ฒฝ ์ฐ์ง ์์๋ ๋์ง๋ง, Attention์ ๊ฒฝ์ฐ, ์์ ์ ๋ณด๊ฐ ๋ฐ๋์ ํ์ํ๋ค.
์ด์ ๋ฌธ์ฅ์ ์์๋ ํจ๊ป encoding ํ๋ ์์ ์ ์๊ฐํ๋ค. ์ฆ, index ๋ํ vector๋ก ์ทจ๊ธํ๋ ๊ฒ์ด๋ค.
Attention์์๋ position vector p_i๋ฅผ embedding ๋ ๋จ์ด x_i์ ๋ํ์ฌ ์๋กญ๊ฒ ์๋ฒ ๋ฉ๋ ๋จ์ด๋ฅผ ๋ง๋ค์๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด p_i๋ฅผ ์ด๋ป๊ฒ ํํํ ์ ์์๊น. ๋ํ์ ์ผ๋ก 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
1. Sinusoidal position representations
์ด ๋ฐฉ์์ ๋ณํํ๋ ์์ ์ ๋ํด sinusoidal function์ ๋์ ํ ๊ฒ์ธ๋ฐ, ์ฌ์ธ๊ณผ ์ฝ์ฌ์ธ ํจ์์ ์ฃผ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ์์น์ ๋ํ ๊ณ ์ ํ ๊ฐ์ ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ์ฃผ๊ธฐ์ ์ธ ํจํด์ ๋ชจ๋ธ์ด ์ ๋ ฅ ์ํ์ค์์ ๊ฐ ๋จ์ด์ ์์น๋ฅผ ์ธ์ํ๋ ๋ฐ ๋์์ ์ค๋ค.
์ด๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ์ฅ์
- ๋จ์ด์ ์ ๋์ ์ธ ์์น์ ์ค์์ฑ์ ๋ฎ์ถ ์ ์๋ค.
- ๋ ๊ธด sequence๋ฅผ ์ถ์ ํ ์ ์๋ค.
- ๋จ์
- ํ์ต์ด ๋ถ๊ฐ๋ฅํ๋ค
2. Learned absolute position representations
์ด ๋ฐฉ์์ position์ ๋ํ๋ด๋ matrix์ธ p_i๊น์ง ํ๋ผ๋ฏธํฐํ ์ํค๋ ๊ฒ์ด๋ค. ์ด ํ๋ผ๋ฏธํฐ๋ฅผ x_i์ ๋ํ์ฌ ์ฌ์ฉํ๋ค.
- ์ฅ์
- ์ ์ฐ์ฑ: ๊ฐ position์ data๋ฅผ fit ํ๊ธฐ ์ํด ํ์ต๋ ์ ์๋ค.
- ๋จ์
- ์ฌ์ ์ ์ ์ํ ๋จ์ด์ ๊ฐ์๋ฅผ ๋์ด๊ฐ๋ index๋ฅผ ์ถ์ ํ์ง ๋ชปํ๋ค. ์ฆ n๋ณด๋ค ๊ธด input์ ๋ฐ์๋ค์ผ ์ ์๊ฒ ๋๋ค. ์ด๋ ์ค์ ์ ์ผ๋ก๋ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ด๊ณ , computational ๋น์ฉ์ด n์ ๊ณฑ์ ๋น๋กํด์ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์, ์ฝ์ง ์๋ค.
2. No nonlinearitites for deep learning, it's just weighted averages -> Adding Nonlinearities
์์ ์ ์ํ Attention๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ๋ฅ๋ฌ๋์ ๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋, ๊ทธ๋ฅ ๋ด์ ์ ๊ณ์ฐํ๊ณ softmax๋ฅผ ์ ์ฉํ๋ ๊ฒ๋ฟ์ด๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Feef-forward network๋ฅผ ๋ํ๋ค.
3. Need to ensure not to look at the future -> Masking
Machine translation ๋ฑ์ task๋ฅผ ์ํํ๊ธฐ ์ํด์, ์ ์ด๋ decoder ๋งํผ์ ๋น์ฐํ ๋จ๋ฐฉํฅ, ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค.
์ด๋ฅผ ์ํด, ๋ด ์์ ์ดํ์ ๋จ์ด๋ค์ ๋ํด์๋ ์ ๋ณด๋ฅผ ๋ณด์ง ๋ชปํ๋๋ก masking์ ์ํํ๋ค.
์ด๋ ๊ฒ ํจ์ผ๋ก์จ, ๋ฏธ๋์ ์ ๋ณด๋ฅผ ๋ณด์ง ์๊ณ ๋ ํจ๊ณผ์ ์ผ๋ก ํ์ตํ ์ ์๋ค. (์ฌ์ค ๋ฏธ๋์ ์ ๋ณด๋ฅผ ๋ณผ ์ ์์ผ๋ฉด ๊ทธ๊ฑธ ํ์ต์ด๋ผ๊ณ ๋งํ ์๋ ์๋ค)
์์ ๋ฌธ์ ์ ๋ค์ ๋ชจ๋ ํด๊ฒฐํ์ฌ ๋ง๋ Attention ์ํคํ ์ฒ๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ๊ธฐ์ block์ผ๋ก ํ์๋ Masked Self-Attention๊ณผ FFN์ ํ ์์ผ๋ก ๊ฐ์ฃผ๋๋ฉฐ, ๋ช ๊ฐ์ block์ด ๋ฐ๋ณต๋๊ธฐ๋ ํ๋ค.
5. Transformer
Attention์ ๊ธฐ๋ฐ์ผ๋ก, ํ์ฌ NLP ์ธ๊ณ์ ๋ฟ๋ฆฌ๋ก ์๋ฆฌ ์ก์ Transformer model์ ๋ง๋ค์๋ค.
Transformer๋ Encoder์ Decoder๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ, Decoder์ ๊ตฌ์กฐ๋ฅผ ๋จผ์ ์ดํด๋ณด์.
Decoder
์ฐ์ decoder๋ language model๊ณผ ๊ฐ์ system์ ๋ง๋๋ ๋ฐฉ์์ธ๋ฐ, ์์ ์ค๋ช ํ attention๊ณผ ๊ฑฐ์ ์ ์ฌํ๊ณ ,
self-attention์ด multi-head attention์ผ๋ก๋ง ๋ฐ๋์๋ค๋ ๊ฒ์ด ๊ฐ์ฅ ํฐ ๋ณํ ํฌ์ธํธ ์ค ํ๋์ด๋ค.
1. Multi-head Attention
Self-Attention์ ๊ดํด์ ์๊ฐํด ๋ณด๋ฉด, ์๋์ 'learned'์ ๋ํ attention ๊ฐ์ค์น๋ฅผ ํ ๋ฒ์ผ๋ก๋ง ํํํ๋ค.
์ด์ ๋ค๋ฅด๊ฒ multi-head attention์ ๋ค์ํ attention์ ํตํด ์ด๋ค attention์์๋ entitiy ๊ด๋ จํ attention์ ๊ณ์ฐํ๋๋ก, ๋ ์ด๋ค attention์์๋ syntactic ํ ์ ๋ณด๋ฅผ ๊ณ์ฐํ๋๋ก ํ๋ค.
๊ธฐ๋ณธ attention์์์ ์ด๋ก ์ query์ key ์ฌ์ด์ ์ ์ฌ์ฑ์ ๊ธฐ๋ฐ์ผ๋ก attention score๋ฅผ ๊ณ์ฐํ๊ณ , ํด๋น score์ softmax๋ฅผ ์ ์ฉํ์ฌ ๊ฐ์ค์น๋ก ๋ง๋ค์ด, value์ ๊ณฑํ๋ ๊ฒ์ด์๋ค. ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
Multi-headed attention์ ์ด์ ๊ฑฐ์ ๋น์ทํ๋ฐ, ๋ค์ํ ํํ์ ํ์ตํ๊ธฐ ์ํด ์์์ ์ฌ์ฉํ matrix๋ค์ ๋ถํ ํ์ฌ ๊ณ์ฐํ๋ค. ์ฌ๊ธฐ์ ๋ถํ ์ด๋, ๋ ๋ฎ์ ์ฐจ์์ผ๋ก ๋ด๋ฆฌ๋ ๊ฒ์ ์๋ฏธํ๋ค. ๊ทธ๋์ ์ด ๊ณผ์ ์ ์๊ฐ์ ์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค:
2. Scaled Dot Product
๋ ๋ฒ์งธ๋ก Transformer์์ ๋ํ๋ ๋ณํ๋ scaled dot product์ด๋ค.
์์์ ๊ณ์ฐํ ๋ ๋ง์ฝ dimentionality d๊ฐ ์ปค์ง๊ฒ ๋๋ฉด, vector ์ฌ์ด์ ๋ด์ ์ด ์ปค์ ธ softmax๋ฅผ ํฌ๊ฒ ๋ง๋ค ์ ์๋ค. Softmax๊ฐ ์ปค์ง๋ฉด gradient๊ฐ ์์์ง๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์๋ ์์ธ
์ด ์์
์ด์ ๊ฐ์ด ๋ณํ์์ผฐ๋ค.
(d/h)^1/2๋ก ๋๋ ์ค์ผ๋ก์จ ์ค์ฝ์ด๊ฐ ๋๋ฌด ์ปค์ง๋ ํ์์ ๋ง์ ๊ฒ์ด๋ค.
3. Optimization Tricks: Residual Connection & Layer Normalization
Residual Connection์ gradient vanishing ํ์์ ๋ง๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก, ์์ RNN์ ์ค๋ช ํ ๋ ํจ๊ป ์ค๋ช ํ๋ค.
Layer Normalization์ ์ ๊ทํ๋ฅผ ํ๋ ๋ฐฉ์์ธ๋ฐ, ์์ ๋ค์๊ณผ ๊ฐ๋ค:
Final Architecture
์ต์ข ์ํคํ ์ฒ๋ ๋ค์๊ณผ ๊ฐ๋ค:
Attention ๊ตฌ์กฐ์ ๊ฑฐ์ ๋น์ทํ๋ฐ, block์ Masked Multi-head Attention์ด ์ ์ฉ๋ ๊ฒ๊ณผ Add&Norm์ด 2๋ฒ ์ ์ฉ๋๋ค๋ ๊ฒ์ด ๊ฐ์ฅ ํฐ ๋ณํ์ด๋ค.
Encoder
Encoder์ ๊ตฌ์กฐ๋ ๊ฑฐ์ ๋น์ทํ์ง๋ง, language modeling์ ์ํด unidirectional context๋ฅผ ์ฌ์ฉํด์ผ ํ๋ decoder์๋ ๋ค๋ฅด๊ฒ encoder์์๋ bidirectional context, ์ฆ ์๋ฐฉํฅ์ฑ์ ์ํด masking์ ์ ๊ฑฐํ๋ค.
Overall & Cross Attention
์ต์ข ์ ์ธ Transformer ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค:
์ฌ๊ธฐ์ ๋ ์ดํด๋ณผ ์ ์ Encoder์ output์ด decoder์ masked multi head attention์ inputd์ผ๋ก ๋ค์ด๊ฐ๋ cross-attention์ด ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ Keys์ Values๋ Encoder๋ก๋ถํฐ, Queries๋ Decoder๋ก๋ถํฐ ์จ๋ค๋ ๊ฒ์ด ํฐ ํน์ง์ด๋ค.
Drawbacks
Transformer ๋ชจ๋ธ์ ๋จ์ ์ผ๋ก๋ ๋ค์ ์ฌํญ๋ค์ด ์๋ค๊ณ ํ๋ค.
- Quadratic compute in self-attention
- Position representation์ ๋ถ์ ํ์ฑ
๋ง๋ฌด๋ฆฌ
๊ฝค๋ ๊ธธ๊ฒ RNN๋ถํฐ Transformer๊น์ง ์ ๋ฆฌํด ์๋ค.
๋ฌธ์ -> ํด๊ฒฐ๋ฐฉ์์ ์คํ์ผ๋ก ๊น์ ์์์ ๊ฑด๋๋ฆฌ์ง ์๊ณ ์ ๋ฆฌํ ํ์ deep ํ์ง๋ ์์ง๋ง, ๋ชจ๋ธ์ ํ๋ฆ ๋ฐ ์ญ์ฌ๋ฅผ ์ฒ์ ์ ํ๋ ์ฌ๋๋ค์ด ๋ณด๊ธฐ์๋ ์ถฉ๋ถํ ๊น์ ๋ด์ฉ์ด ๋ ๊ฒ ๊ฐ๋ค.
'๐ ์คํฐ๋ > CS224N' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS224N] 5. Language Models and Recurrent Neural Networks (2) | 2023.11.20 |
---|---|
[CS224N] 4. Syntactic Structure and Dependency Parsing (0) | 2023.11.18 |
[CS224N] 3. Natural Language Processing with Deep Learning (1) | 2023.11.14 |
[CS224N] 2. Neural Classifiers (0) | 2023.08.02 |
[CS224N] 1. Introduction and Word Vectors (0) | 2023.07.24 |