Seq2Seq
Seq2Seq
ํ๊ทธ: Attention
Sequence-to-Sequence
Structure
์ ๋ ฅ ๋ ์ํ์ค๋ก๋ถํฐ ๋ค๋ฅธ ๋๋ฉ์ธ์ ์ํ์ค๋ฅผ ์ถ๋ ฅํ๋ ๋ชจ๋ธ. ์ฑ๋ด๊ณผ ๋ฒ์ญ์ด ๋ํ์ ์ธ ์์์ธ๋ฐ, ์ ๋ ฅ์ํ์ค์ ์ถ๋ ฅ ์ํ์ค๋ฅผ ๊ฐ๊ฐ ์ง๋ฌธ๊ณผ ๋๋ต์ผ๋ก ๊ตฌ์ฑํ๋ฉด ์ฑ๋ด์ ๋ง๋ค ์ ์๊ณ ๋ฒ์ญ๊ธฐ๋ก๋ ์ฌ์ฉ ํ ์ ์๋ค.
์ค์ฌ์ Seq2Seq ๋ถ๋ฅธ๋ค.
๋ฒ์ญ๊ธฐ๊ฐ Seq2Seq ๋ฅผ ํตํด ๋ฒ์ญ์ ํ๋ ๊ตฌ์กฐ์ธ๋ฐ, ๊ทธ ์์ธํ ๋ด๋ถ ๊ตฌ์กฐ๊ฐ ์ด๋ป๊ฒ ์๊ฒผ๋์ง๋ฅผ ์์์ผ ํ๋ค.
Seq2Seq ๋ ์ธ์ฝ๋์ ๋์ฝ๋๋ก ์ด๋ฃจ์ด์ง๋๋ฐ ์ธ์ฝ๋๋ ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด๋ค์ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅ๋ฐ์ ๋ค์ ํ๋์ ๋ฒกํฐ , ์๋ฏธ๋ฒกํฐ ( Context Vector ) ๋ก ๋ง๋ ๋ค. ์ปจํ ์คํธ ๋ฒกํฐ๋ก ์์ถ๋๋ฉด ๋์ฝ๋๋ก ๋ณด๋ด๋๋ฐ ๋์ฝ๋๋ ์ด ์ปจํ ์คํธ ๋ฒกํฐ๋ฅผ ๋์ฝ๋์ ํ์ต ๋ ๋ค๋ฅธ ์ธ์ด๋ก ์ถ๋ ฅํ๊ฒ ๋๋ค.
์ธ์ฝ๋ ๋ถ๋ถ๊ณผ ๋์ฝ๋ ๋ถ๋ถ์ ๋ด๋ถ๋ RNN ์ธ LSTM์ด๋ GRU ์ ๋ค๋ก ๊ตฌ์ฑ์ด ๋์ด์์ต๋๋ค. ๋์ฝ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก RNN Language Model ์ธ๋ฐ, ๋์ฝ๋์ ์ด๊ธฐ์ ๋ ฅ์ผ๋ก ๋ฌธ์ฅ์ ์์์ ์๋ฏธํ๋ ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๋ค.
๋์ฝ๋๋ ๊ฐ ์ ๋ ฅ๋๋ฉด, ๋ค์์ ๋ฑ์ฅํ ํ๋ฅ ์ด ๋์ ๋จ์ด๋ฅผ ์์ธกํ๋ค. ์ฒซ๋ฒ์งธ ์์ ์ ( time step ) ์ ๋์ฝ๋ RNN ์ ์ ๋ค์์ ๋ฑ์ฅํ ๋จ์ด๋ก je ๋ฅผ ์์ธกํ๋๋ฐ, ์ด๋ฅผ ๋๋ฒ์งธ RNN ์ ์ ์ ๋ ฅ์ผ๋ก ์ ๋ ฅํ๊ฒ ๋๋ค. ๊ทธ๋ผ ๋๋ฒ์งธ ์ ์ je ๋ก ๋ถํฐ suis ๋ฅผ ์์ธกํ๊ณ ์ด๊ฒ์ ๋ค์ ์ ๋ก ๋ณด๋ด๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๋ ๋ฌธ์ฅ์ ๋์ ์๋ฏธํ๋ ๊ฐ ๋ค์ ๋จ์ด๋ก ์์ธก์ด ๋ ๋๊น์ง ์ด๋ฅผ ๋ฐ๋ณตํ๋ค.
Embedding Layer
์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด์์ผ๋, ๋ ์์ธํ seq2seq์ ๊ตฌ์กฐ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ๋ค. ๋จ์ด๋ ์๋ฒ ๋ฉ ๋ ์ด์ด๋ฅผ ํตํด ํ ํฐํ์ดํ ๋ฒกํฐํ๊ฐ ๋๋ค. ํ ์คํธ๊ฐ ์๋๋ผ ํด๋น ๋จ์ด๋ฅผ ํํํ๋ ๋ฒกํฐ๋ก ๋ฐ๋๊ฒ ๋๋ ๊ฒ์ด๋ค.
4์ฐจ์์ผ๋ก ํ์๋์์ง๋ง, ์ค์ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ์๋ฐฑ๊ฐ์ ์ฐจ์์ ๊ฐ์ง ์ ์๋ค.
RNN CELL
Embedding Layer ๋ฅผ ํตํด ๋ฒกํฐํ ๋ ๋จ์ด๋ค์ด RNN ์ ์ ๋ค์ด๊ฐ๊ฒ ๋๋๋ฐ, ์ด RNN ์ ์ ์ดํด๋ณด๋๋ก ํ๊ฒ ๋ค.
RNN ์ ์ ๊ฐ๊ฐ์ ์์ ( time step ) ๋ง๋ค ๋๊ฐ์ ์ ๋ ฅ์ด ์กด์ฌํ๊ณ , ์ ๋ ฅ์ ํตํด ์๋ก์ด ์๋ ์ํ๋ฅผ ๋ง๋ ๋ค. ์ฆ ๋ค์๊ณผ ๊ฐ์ ์์๋ก ์๋ํ๊ฒ ๋๋ค.
- ํ์ฌ ์์ time-step t ๋ผ๊ณ ํ ๋, t-1 ์ ์๋ ์ํ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ๋๋ค.
- ํ์ฌ ์์ time-step t ๋ผ๊ณ ํ ๋, t ์์์ ์ ๋ ฅ๋ฒกํฐ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ๋๋ค.
- ํ์ฌ ์์ t ์ ์๋ ์ํ๋ฅผ ๋ง๋ค์ด ๋ธ๋ค.
- ์ด๋ t ์์์ ์๋์ํ๋ ๋ ๋ค๋ฅธ ์๋์ธต์ผ๋ก ๋ณด๋ด๊ฑฐ๋ ํ์ ์์ผ๋ฉด ๊ฐ์ ๋ฌด์ํ ์ ์๋ค.
- t ์๋์ํ๋ฅผ t+1 Cell ์ ์ ๋ ฅ์ผ๋ก ๋ณด๋ธ๋ค.
์ด๋ ๋ฏ ์ด์ ์ ์ ์๋์ํ ๊ฐ๋ค์ด ํ์ฌ ๊ฐ ์ฐ์ฐ์ ํฌํจ๋๊ธฐ ๋๋ฌธ์ ์ด์ ์ ๋ชจ๋ ์ ๋ค์ ์ ๋ณด๋ฅผ ์์ฝํด์ ๋ด๊ณ ์๋ค๊ณ ํ ์ ์๋ค.
Decoder Cell
๋์ฝ๋๋ ์ธ์ฝ๋์ ๋ง์ง๋ง RNN ์ ์ ์๋ ์ํ์ธ ์ปจํ ์คํธ ๋ฒกํฐ๋ฅผ ์ฒซ๋ฒ์งธ ์๋์ํ์ ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ค. ๋์ฝ๋์ ์ฒซ๋ฒ์งธ RNN ์ ์ ์ปจํ ์คํธ ๋ฒกํฐ์ ํ์ฌ์์ t ์์์ ์ ๋ ฅ๊ฐ์ธ ๋ก๋ถํฐ ๋ค์์ ๋ฑ์ฅํ ๋จ์ด๋ฅผ ์์ธกํ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ธก๋ ๋จ์ด๋ t+1 ์์ ์ ์ ์ ์๋์ํ๊ฐ์ ์ ๋ ฅ๊ฐ์ด ๋๋ค.
์ถ๋ ฅ๋จ์ด๋ก ๋์ฌ ์ ์๋ ๋จ์ด๋ค์ด ์ฌ๋ฌ๊ฐ ์๋๋ฐ, seq2seq ๋ชจ๋ธ์ ์ํํธ๋งฅ์ค ํจ์๋ฅผ ํตํด์ ์ถ๋ ฅ ์ํ์ค์ ๋จ์ด๋ณ ํ๋ฅ ๊ฐ์ ๋ฐํํ๊ณ , ๋์ฝ๋๊ฐ ์ถ๋ ฅ ๋จ์ด๋ฅผ ๊ฒฐ์ ํ๊ฒ ๋๋ค.