๋ณธ ๊ธ์์ ๋ฆฌ๋ทฐํ ๋ ผ๋ฌธ์ 2014๋ NeurIPS์ ๊ฒ์๋ Sequence to Sequence Learning with Neural Network ์ด๋ค.
Sequence to Sequence
๋ ผ๋ฌธ ์ ๋ชฉ์์ ์ ์ ์๋ฏ์ด ๋ณธ ๋ ผ๋ฌธ์ Neural Network๋ก ์ด๋ฃจ์ด์ง Sequence to Sequence(์ดํ Seq2Seq) ๋ชจ๋ธ์ ์๊ฐํ๊ณ ์๋ค. Seq2Seq ๋ชจ๋ธ์ ์ด๋ค ๋ชจ๋ธ์ผ๊น?
์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ด๋ ํ Sequence $\{A, B, C\}$ ๊ฐ ์ ๋ ฅ๋๋ฉด, ๊ทธ์ ๋์ํ๋ Sequence $\{W, X, Y, Z\}$ ๋ฅผ ์ถ๋ ฅํ๋ ๋ชจ๋ธ์ Seq2Seq ๋ชจ๋ธ์ด๋ผ ํ๋ค. ์ฌ๊ธฐ์ ์ฌ์ฉ๋๋ Sequence Data๋ ๊ธธ์ด๊ฐ ์ ํด์ ธ ์์ง ์๋ค. ์ฆ, ๊ฐ๋ณ์ ์ธ ๋ฌธ์ฅ์ ์ ๋ ฅ์ผ๋ก ๋ฃ์ผ๋ฉด ๋ ๋ค๋ฅธ ๊ฐ๋ณ์ ์ธ ๋ฌธ์ฅ์ ์ถ๋ ฅํ๋ ๊ฒ์ด๋ค. ์ ๋ ฅ ๋ฌธ์ฅ๊ณผ ์ถ๋ ฅ ๋ฌธ์ฅ ๊ธธ์ด๊ฐ ๋ค๋ฅธ ๋ํ์ ์ธ ์ํฉ์ '๋ฒ์ญ'ํ ๋๋ค. ํ๊ตญ์ด ๋ฌธ์ฅ์ ์์ด ๋ฌธ์ฅ์ผ๋ก ๋ฒ์ญํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ด๋, ํ๊ตญ์ด ๋ฌธ์ฅ์ ๋จ์ด ์์ ์์ด ๋ฌธ์ฅ์ ๋จ์ด ์๊ฐ ํญ์ ๊ฐ์์ผ ํ๋ค๋ฉด ๋งค์ฐ ์ด์ํ ๋ฌธ์ฅ์ผ๋ก ๋ฒ์ญ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ Seq2Seq์ Machine Translation, Speech Recognition๊ณผ ๊ฐ์ NLP Task์์ ์ฌ์ฉ๋๋ค.
Why Use the Sequence to Sequence Model
๊ทธ๋ ๋ค๋ฉด ์ ๊ฐ๋ณ ๊ธธ์ด์ Sequence Data๋ฅผ ๋ค๋ฃฐ ๋ DNN์ด๋ Single RNN์ด ์๋ Seq2Seq ๋ชจ๋ธ์ ์ฌ์ฉํ ๊น?
DNN
DNN์ ์ฌ์ฉํ ์ ์๋ ์ด์ ๋ ๋ช ํํ๋ค. DNN์์ ํ์๋ก ํ๋ Input, Output Data๋ ๊ณ ์ ๋ ์ฐจ์ ๋ฒกํฐ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ Seq2Seq์์ ์ฌ์ฉํ๋ ๊ฐ๋ณ ๊ธธ์ด์ Sequence Data๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. ๋ํ, Sequence Data์ ์์ ์ ๋ณด๋ฅผ ํ์ตํ ์ ์๋ค๋ ์ ๋ ์น๋ช ์ ์ธ ์ฝ์ ์ผ๋ก ๊ผฝํ๋ค.
Single RNN
์์ ์์ฑํ DNN์ ๋จ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋ชจ๋ธ์ด RNN์ด๋ฉฐ, Sequence Data์ ํนํ๋ ๋ชจ๋ธ์ด๋ค. RNN์ Input Sentence์ Tocken(๋จ์ด) ํ๋ ํ๋๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ๊ณ , ์ด์ ๋์ํ๋ ์๋ก์ด ๋จ์ด๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ค. ๋ฐ๋ผ์ Input Sequence์ Output Sequence์ ๊ธธ์ด๊ฐ ๊ฐ์์ผ ํ๋ค. ํ์ง๋ง Seq2Seq์์ ํ๊ณ ์ ํ๋ Translation์ด๋ Speech Recognition์ Input๊ณผ Output ๊ธธ์ด๋ฅผ ๋์ผํ๊ฒ ์ค์ ํ๋ฉด ์ํ๋ ์ฑ๋ฅ์ ๋ณด์ผ ์ ์๋ค. ์ด๋ฐ ํ๊ณ์ ์ผ๋ก Single RNN์ด ์๋ Seq2Seq ๋ชจ๋ธ์ ์ฌ์ฉํ๊ฒ ๋๋ค.
Encoder-Decoder
Sequence Data๋ฅผ ๋ค๋ฃจ๋ Seq2Seq ๋ชจ๋ธ์ RNN์ ์ฌ์ฉํ๋ค. ํ๋์ RNN์ ์ฌ์ฉํ๋ฉด ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๊ธธ์ด๊ฐ ๊ฐ์์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค๊ณ ์์์ ์ธ๊ธํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ Seq2Seq๋ ๋ ๊ฐ์ RNN์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ทธ๋ฆฌ๊ณ RNN ๊ฐ๊ฐ์ Encoder, Decoder ๋ผ ๋ช ์นญํ๋ค. ์ฆ, Seq2Seq๋ Encoder-Decoder ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ธ์ด๋ผ ํ ์ ์๋ค.
Encoder๋ Input Sequence๋ฅผ ๋ฐ์ ํ๋์ ๊ณ ์ ๋ ๋ฒกํฐ(Context Vector)๋ฅผ ์ถ๋ ฅํ๋ค. ๊ทธ๋ ๊ฒ ์ถ๋ ฅ๋ Context Vector๋ฅผ Decoder์์ Input์ผ๋ก ๋ฐ์ Output Sequence๋ฅผ ์ถ๋ ฅํ๊ฒ ๋๋ค. ์ฆ, Encoder์์ Input Sequence๋ฅผ ๋จ์ด(token) ํ๋ ํ๋๋ก ์ชผ๊ฐ Decoder์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ์ง ์๊ณ , ํ๋์ Context Vector๋ฅผ Input Sequence ์ ์ฒด๋ฅผ ํ๋์ ์ ๋ ฅ ๋จ์๋ก ๋ณด๊ณ Decoder์ ์ ๋ฌํด์ค๋ค. ์ด๋ฌํ ํน์ง์ผ๋ก Input Sequence๊ณผ ๋ค๋ฅธ ๊ธธ์ด๋ฅผ ๊ฐ์ง ์๋ก์ด Output Sequence์ด ๋ง๋ค์ด์ง๊ฒ ๋๋ ๊ฒ์ด๋ค.
์ด๋ฌํ Encoder-Decoder ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด๋ถ ํ๋ฅ ๋ก ๋ชจ๋ธ๋งํ ์ ์๋ค. ์ ์์ ํ์ด ์ค๋ช ํ์๋ฉด, ์ ๋ ฅ $(x_1, x_2, \dots, x_T)$๊ฐ ์์๋๋ก ์ฃผ์ด์ก์ ๋ ์ถ๋ ฅ $(y_1, y_2, \dots, y_{T^\prime})$์ด ์์๋๋ก ์ฃผ์ด์ง ํ๋ฅ ์ด๊ณ , ์ด ํ๋ฅ ์ ๊ฐ time step์์ ์ถ๋ ฅ๊ฐ($y_t$)๊ฐ ๋์ฌ ํ๋ฅ ๋ค์ ๊ณฑํด์ ๊ณ์ฐํ ์ ์๋ค.
LSTM Sequence Model
๋ณธ ๋ ผ๋ฌธ์์ 2๊ฐ์ LSTM์ด ์ฐ๊ฒฐ๋ Seq2Seq ๋ชจ๋ธ์ ์ ์ํ๊ณ ์๋ค. ๊ธฐ์กด RNN ๊ธฐ๋ฐ Seq2Seq์ 3๊ฐ์ง ์ฐจ๋ณ์ ์ ๋์ด ๋์ฑ ํฅ์๋ ์ฑ๋ฅ์ ๋ณด์๋ค๊ณ ํ๋ค. 3๊ฐ์ง ์ฐจ๋ณ์ ์ ์ฐจ๋ก๋๋ก ์ดํด๋ณด์.
Using Two Different LSTMs
์ฒซ ๋ฒ์งธ ์ฐจ๋ณ์ ์ RNN ๋์ LSTM Encoder, Decoder๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ด๋ค. ์ด๋ RNN์ ๋ํ์ ์ธ ๋จ์ ์ธ Long Term Dependency ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์์ด๋ค. Long Term Dependency๋ ๋จผ ๊ณผ๊ฑฐ์ ์ ๋ณด๋ฅผ ํ์ฌ ํ์ต์ ์ฌ์ฉํ์ง ๋ชปํ๋ ๋ฌธ์ ์ด๋ค. ์๋ฅผ ๋ค์ด "์ด๋ฆฐ ์์๋ ์์ ๋ณ์์ ์ฅ๋ฏธ๊ฝ์ ๋ง๋ฌ๋ค. ๊ทธ๋ฆฌ๊ณ ( )์ ๊ทธ์๊ฒ ์์คํ ์กด์ฌ๊ฐ ๋์๋ค." ๋ผ๋ ๋ฌธ์ฅ์ด ์ฃผ์ด์ก๊ณ , ๊ดํธ ์์ ๋ค์ด๊ฐ ๋จ์ด๊ฐ "์ฅ๋ฏธ๊ฝ" ์ผ ๋ ๊ดํธ ์ ๋จ์ด๋ฅผ ์์ธกํ๊ธฐ ์ํด์ ์ด์ ์ ๋์จ "์ฅ๋ฏธ๊ฝ"์ ํ์ฉํด์ผ ํ๋ค. ๋๋ฌธ์ ๊ณผ๊ฑฐ์ ์ ๋ณด๊ฐ ํ์ฌ ํ์ต์ ์ค์ํ ์ํฅ์ ๋ฏธ์น๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ ๊ณผ๊ฑฐ ์ ๋ณด๊ฐ ๊ฑฐ์ ์ฌ๋ผ์ง๋ค๋ฉด ๊ดํธ ์ ๋จ์ด๋ฅผ ์์ธกํ ์ ์๊ฒ ๋๊ณ , ์ด๋ฐ ๋ฌธ์ ๋ฅผ Long Term Dependency ๋ผ๊ณ ํ๋ค.
Deep LSTMs
๋ ๋ฒ์งธ ์ฐจ๋ณ์ ์ Single Layer Model์ด ์๋ Deep LSTM์ ์ฌ์ฉํ๋ค๋ ์ ์ด๋ค. 4๊ฐ์ layer๋ฅผ ์์ ๋ง๋ ๋ชจ๋ธ์ 1๊ฐ์ layer๋ง ์ฌ์ฉํ ๋ชจ๋ธ๋ณด๋ค ํจ์ฌ ์ข์ ์ฑ๋ฅ์ ๋ณด์๋ค๊ณ ํ๋ค.
Reversed Order Input Sequence
์ธ ๋ฒ์งธ ์ฐจ๋ณ์ ์ Input Sequence์ ์ฐจ์์ ๋ค์ง์๋ค๋ ๊ฒ์ด๋ค. ์ ๊ทธ๋ฆผ์์ Input Data๋ $(a, b, c)$ ์ด๊ณ , ์ด์ ๋์ํ๋ Output Data๋ $(\alpha, \beta, \gamma)$ ์ด๋ค. ์ด๋, Input์ ์์๋ฅผ Sequence ์์๊ฐ ์๋ ๊ทธ ๋ฐ๋์ ์์๋ก ์ ํ๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ๋๋ฉด $a$์ $\alpha$์ ๊ฑฐ๋ฆฌ๋ ๊ฐ๊น์์ง๊ณ , ์ด๊ธฐ ๋จ์ด $a$์ ์ ๋ณด๋ฅผ ๋ค์ ์์นํ๋ ๋จ์ด $\gamma$๊น์ง ์ถฉ๋ถํ ์ํฅ์ ๋ฏธ์น ์ ์๊ฒ ๋๋ค.
Object Function & Inference
์์์ ์ค๋ช ํ ๋ชจ๋ธ์ ๋ณธ๊ฒฉ์ ์ผ๋ก ํ์ต์์ผ๋ณด์.
ํ์ต์ ๋ชฉ์ ์ Input Sentence์ ์ง์ง์ด์ง Target Sentence๋ก Output Sentence๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ Input Sentence $S$๊ฐ ์ฃผ์ด์ก์ ๋, Target Sentence $T$๊ฐ ์ผ์ด๋ ํ๋ฅ ์ ๋ก๊ทธ ๊ฐ์ ์ต๋ํ ์ํค๋ ๋ฐฉํฅ์ผ๋ก ๋ชจ๋ธ์ ํ์ต์ํจ๋ค. ๋ค์ ๋งํด, Maximum Likelihood Estimation(์ต๋์ฐ๋๋ฒ)์ ํด๋น ๋ชจ๋ธ์ Object Function์ผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ค.
ํ์ต์ด ์๋ฃ๋๋ฉด ์ ์์์ ๋ฐ๋ผ $S$๊ฐ ์ฃผ์ด์ก์ ๋ $T$๊ฐ ์ฃผ์ด์ง ํ๋ฅ ์ด ๊ฐ์ฅ ํฐ $\hat{T}$์ ์ต์ข Output Sentence๋ก ์ ํํ๊ฒ ๋๋ค. ์ด ๊ณผ์ ์์ Beam Search๊ฐ ์ฌ์ฉ๋๋๋ฐ, ์ด๋ Decoder์ ๋งค time step์์ ๋ฏธ๋ฆฌ ์ ์ํ $k$(Beam Size)๊ฐ ๋งํผ ํ๋ณด ๊ฐ์ ์ถ๋ ฅํ๊ณ , ๊ทธ ํ๋ณด ๊ฐ์์ ๋ค์ $k$๊ฐ์ ํ๋ณด๋ฅผ ์ถ๋ ฅํ๋ค. ์ด๋ ๊ฒ ๋์จ ํ๋ณด ๊ฐ๋ค์ ์กฐํฉํ ๊ฒฐ๊ณผ ์ค score ๊ฐ์ด ๊ฐ์ฅ ํฐ ๊ฒฐ๊ณผ๋ฅผ ์ต์ข ๊ฒฐ๊ณผ๋ก ์ ํํ๋ ๋ฐฉ์์ด๋ค.
Metric
์ต์ข ๊ฒฐ๊ณผ์ ๋ํ ํ๊ฐ๋ BLEU score๋ฅผ ์ฌ์ฉํ๋ค. BLEU๋ Output Sentence์ Reference Sentence ์ฌ์ด ๊ฒน์น๋ ๋จ์ด์ ์์ ์์ธก ๋ฌธ์ฅ์ ๊ธธ์ด๋ฅผ ๊ณ ๋ คํ์ฌ ๋ ๋ฌธ์ฅ ์ฌ์ด์ ์ ์ฌ์ฑ์ ์ธก์ ํ๋ ์งํ์ด๋ค.
Brevity Penalty
- $\min \left( 1, {\text{output length} \over{\text{reference length}}} \right)$
๋ฌธ์ฅ์ ๊ณผ์ ํฉ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์์์ผ๋ก Output Sentence์ ๊ธธ์ด๊ฐ Reference Sentence ๊ธธ์ด๋ณด๋ค ํฐ ๊ฒฝ์ฐ ์ ์๋ฅผ 1๋ก ์ค์ ํด ๊ธธ์ด์ ๋ฐ๋ผ ์ ์๊ฐ ์ฌ๋ผ๊ฐ๋ ๊ฒ์ ๋ง์๋ค.
n-gram
- $\left( \prod^4_{i=1} \text{precision}_t \right)^{1 \over 4}$
Reference Sentence๊ณผ Output Sentence ์ฌ์ด์์ n๊ฐ์ ๋จ์ด๋ฅผ ๋ฌถ์ด ๊ฒน์น๋ ์ ๋๋ฅผ ๊ณ์ฐํ๋ ์์์ด๋ค. ์ด๋, Clipping์ ์ฌ์ฉํด ๋จ์ด์ ๊ฒน์น๋ ์ ๋๋ฅผ Reference Sentence์ ์กด์ฌํ๋ ๊ฐ์๋ก ์ ํํ๋ค. ์ฆ, ์ ๋ต ๋ฌธ์ฅ์ apple์ด๋ผ๋ ๋จ์ด๊ฐ 1๋ฒ ๋์ค๊ณ ์์ธก ๋ฌธ์ฅ์์ 3๋ฒ ๋์จ๋ค๋ฉด ๊ฒน์น๋ ์ ๋๋ฅผ 3์ด ์๋ 1๋ก ์ ํํ์ฌ ์ ์์ ์ ๋ขฐ๋๋ฅผ ๋์๋ค.
Result
๋ ผ๋ฌธ์์ ์ ์ํ ๋ชจ๋ธ๋ก ํ์ตํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ๋ค. ๋ชจ๋ธ์ด ์ถ๋ ฅํ ๋ฌธ์ฅ๊ณผ Truth ๋ฌธ์ฅ์ ๋น๊ตํ์ฌ ๋ํ๋ด๊ณ ์๋ค. ์ข ๋ ์์ธํ ๊ฒฐ๊ณผ๋ฅผ ์์์ ์ค๋ช ํ BLUE score์ Output Sentence๋ฅผ ๋น๊ตํ ๊ฒฐ๊ณผ๋ฅผ ์ฐจ๋ก๋ก ์ดํด๋ณด์.
BLUE score
๋จผ์ BLUE score์ ๊ฒฐ๊ณผ์ด๋ค. LSTM Seq2Seq ๋ชจ๋ธ ๊ฒฐ๊ณผ 5๊ฐ๋ฅผ ์์๋ธ ํ ๊ฒฐ๊ณผ SOTA ๋ชจ๋ธ์ ์์ง๋ฅด์ง๋ ๋ชปํ์ง๋ง ์ฒ์์ผ๋ก Neural Network์ ์ฑ๋ฅ์ด SMT(Statistical Machine Translation) ๋ชจ๋ธ ์ฑ๋ฅ์ ๋ฐ์ด ๋์๋ค๊ณ ํ๋ค. ์ด๋ฅผ ๋ชจ๋ธ๋ณ BLUE score๋ฅผ ๋น๊ตํ๋ฉฐ ์ค๋ช ํด์ฃผ๊ณ ์๋ค.
Output Sentence
๋ค์์ ์ถ๋ ฅ๋ ๋ฌธ์ฅ์ ๋ฐ๋ฅธ ๋ชจ๋ธ ์ฑ๋ฅ์ ๋น๊ตํ ๋ด์ฉ์ด๋ค.
๋ฌธ์ฅ ๊ธธ์ด์ ๋ฐ๋ฅธ ๋ชจ๋ธ ์ฑ๋ฅ์ ๋น๊ตํ ๊ทธ๋ํ๋ก, ๋ฌธ์ฅ ๊ธธ์ด๊ฐ ๊ธธ์ด์ ธ๋ ์ด๋ ์ ๋ ์ฑ๋ฅ์ ์ ์งํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
์ด ๊ทธ๋ํ๋ ์ ์ํ ๋ชจ๋ธ์ ๊ฒฐ๊ณผ๋ฅผ PCA๋ฅผ ์ฌ์ฉํด 2์ฐจ์ ํ๋ฉด์ ๋ํ๋ธ ๊ฒฐ๊ณผ๋ก ๋จ์ด ์์์ ๋ฐ๋ผ์ ๋ฏผ๊ฐํ๊ฒ ๋ฐ์ํ์ง๋ง ๋ฌธ์ฅ์ ์๋, ๋ฅ๋ ํํ์ ๋ฐ๋ผ์ ํฐ ์ํฅ์ ๋ฐ์ง ์๋๋ค๋ ๊ฑธ ๋ณผ ์ ์๋ค.
Conclusion
๋ณธ ๋ ผ๋ฌธ์์ LSTM์ Encoder, Decoder๋ก ์ฌ์ฉํ๋ Sequence to Sequence ๋ชจ๋ธ์ ์ ์ํ๊ณ ์๋ค. Seq2Seq์ Single RNN, LSTM ๊ณผ์ ์ฐจ์ด์ ์ด ๋ฌด์์ธ์ง, ์ ์ฌ์ฉํ๋์ง ์ ์ ์์๊ณ ๋ฌด์๋ณด๋ค ์ด๋ป๊ฒ ๋์ํ๋์ง ์ ๋ฆฌํ ์ ์์ด์ ๋ป๊น์ ๋ฆฌ๋ทฐ์๋ค. ํนํ, Input Sequence์ ์ฐจ์์ ๋ค์ง์ด ์ฌ์ฉํ๋ค๋ ์ ์ด ์ธ์๊น์๊ณ , ์ด์ ์ ์ ๋ฆฌํ๋ MLE๋ฅผ Object Function์ผ๋ก ์ฌ์ฉํ๋ค๋ ์ ์ ๋ณด๊ณ ๋ฅ๋ฌ๋์์ MLE๊ฐ ์ด๋ค ์์ผ๋ก ํ์ฉ๋๋์ง ๊ณต๋ถํ ์ ์์ด์ ์ข์๋ค.
๋ค์ ๋ฆฌ๋ทฐํ ๋ ผ๋ฌธ์ Show and Tell: A Neural Image Caption Generator๋ก Seq2Seq ๋ชจ๋ธ์ ์์ฉํด Encoder๋ CNN, Decoder๋ RNN์ผ๋ก ๊ตฌ์ฑํ Image Caption ๋ชจ๋ธ์ ๋ํด ๊ณต๋ถํ๋ ค ํ๋ค.
'๐ Jero's Review > Paper' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Three Scenarios for Continual Learning (0) | 2024.06.12 |
---|---|
Attention Is All You Need (0) | 2024.05.25 |
Show and Tell: A Neural Image Caption Generator (1) | 2024.05.10 |