[Seq2Seq with Attention for Natural Language Understanding and Generation] Part 4 - 1
๐ง๐ป๐ป์ฉ์ด ์ ๋ฆฌ
Seq2Seq
Recurrent Neural Networks (RNNs)
Unrolled Illustration
Recurrent Neural Networks (RNNs)
- CNN ๊ณผ ๋๋ถ์ด ํน์ ํ ํํ์ Neural Network ์ ๋๋ค.
- Sequence data์ ํนํ๋ ํํ๋ฅผ ๋๊ฒ ๋ฉ๋๋ค.
- ๋์ผํ function์ ๋ฐ๋ณต์ ์ผ๋ก ํธ์ถํ๋ค๋ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ์ด๋ ๊ฒ ๋ณํํ๋ ์ ๋ ฅ์ด ์์ฐจ์ ์ผ๋ก ๋ค์ด์จ๋ค๊ณ ํ๋ฉด, ํน์ time step t์์์ ์ ๋ ฅ ์ ํธ๋ฅผ Xt๋ผ๊ณ ํ๋ฉด, RNN function ํน์ nerual network layer๋ ํ์ฌ time step์์์ ์ ๋ ฅ ์ ํธ์ ๊ทธ ์ด์ ์ time step์์์ ๋์ผํ RNN function์ด ๊ณ์ฐํ๋ Hidden state vector์ธ h t - 1์ ์ ๋ ฅ์ผ๋ก ๋ฐ์์, ํ์ฌ time step์ RNN module์ ์ ๋ ฅ์ผ๋ก ๋ฐ์์ output์ธ htํน์ current hidden state vector๋ฅผ ๋ง๋ค์ด์ฃผ๊ฒ ๋ฉ๋๋ค.
- ๋งค time step ๋ง๋ค, ๋์ผํ function, ์ฆ, ๋์ผํ parameter set์ ๊ฐ์ง๋ Layer๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ์ํ๋ฉ๋๋ค.
- ๋, prediction์ด ํ์ํ time step์ ๊ฒฝ์ฐ์๋ RNN์ ht๋ฅผ ๋ค์ ์ ๋ ฅ์ผ๋ก output layer์ ์ ๋ฌํด ์ค์ผ๋ก์จ ์ต์ข ์์ธก ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด์ฃผ๊ฒ ๋ฉ๋๋ค.
- RNN์ Unrolled Illustration ๊ณผ์ ์ ์ดํด๋ด ์๋ค.
- ์ฌ๋ฌ time step์ ๊ฑธ์ณ์ ํผ์ณ๋์ ์ด๋ฐ Unrolled ๋ฒ์ ์ ๊ทธ๋ฆผ์ด ์๋์ ๊ฐ์ด ์กด์ฌํฉ๋๋ค.
- ์์์ t์ ๋ํด์ N์ฐจ์ vector๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ fully-connected layer๋ฅผ ํต๊ณผํ์ฌ output vector๋ฅผ ๋ด๋ถ์ ์ธ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฌผ๋ก์จ ๋ง๋ค์ด์ค๋๋ค.
- RNN์ ๋ ๋ค๋ฅธ ์ ๋ ฅ์ธ Hidden state vector ์๋ h2๋ฅผ ๋ ์ ๋ ฅ์ผ๋ก ๋ฐ์์ h2์ ์ ๋ ฅ Vector์ dimension์ด ๊ฐ๋ น 2์ฐจ์์ด๋ผ๊ณ ํ๋ค๋ฉด, ์ด 2์ฐจ์ ์ ๋ ฅ vector๋ฅผ ๋ fully-connected layer๋ฅผ ํต๊ณผ์์ผ ํน์ vector๋ก ๋ง๋ค์ด์ฃผ๊ณ ๋ ๊ฐ์ vector๋ฅผ ์ด๋ ๊ฒ ํฉ์ฐํด์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฌผ์ ๊ณ์ฐํด์ฃผ๊ฒ ๋ฉ๋๋ค.
- ๊ทธ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฌผ์ RNN์์ ๊ฐ์ฅ ์ ์ ํ ํ์ฑ ํจ์์ธ tan h๋ฅผ ์จ์ ์ต์ข ์ ์ผ๋ก ํ์ฌ time step์ ๊ฒฐ๊ณผ vector๋ฅผ ๋ง๋ค์ด์ฃผ๊ฒ ๋๊ณ , ๊ณผ์ ์์ previous time step์ Hidden state vector์ ์ฐจ์๊ณผ current time step์ Hidden state vector ์ฐจ์์ด ๊ฐ์์ผ ๊ทธ ๋ค์ time step์ ์ด์ time step hidden state vector ์๋ฆฌ์ ๋ค์ด๊ฐ ๊ฒ์ ๋๋ค.
- ์์ธก์ด ํ์ํ ๊ฒฝ์ฐ์๋, RNN์ ์ต์ข Output์ ์ ๋ ฅ Vector๋ก, ๋ ๋ค๋ฅธ ์ ํ ๋ณํ์ ํตํด ์ต์ข output vector๋ฅผ ๋ง๋ค์ด์ฃผ๊ฒ๋ฉ๋๋ค.
- ์ด๋ค Multi-class classification์ Output์ธ ๊ฒฝ์ฐ์๋ ์ต์ข Output vector์ softmax layer๋ฅผ ๊ฑฐ๋ ํํ๋ก Output vector๋ฅผ ํ๋ฅ ๋ถํฌ์ ํด๋นํ๋ vector๋ก ๋ณํํ๊ฒ ๋ฉ๋๋ค.
- ์ด๊ฒ regression task์ธ ๊ฒฝ์ฐ์๋ ์ต์ข ์ค์ ๊ฐ์ ์ต์ข ์์ธก output์ผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ ํํ๋ฅผ ๋๊ฒ ๋ฉ๋๋ค.
- one-to-one
time step์ ๊ฐ๋ ์ด ์ ํ ์์๋, ํ ๋ฒ์, ํ๋์ Data item์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ทธ๋๊ทธ๋ ๋ฐ์์ ์์ธก ๊ฒฐ๊ณผ๋ฅผ ๋ด์ด์ฃผ๋, time step์ด 1์ผ ๋๋ง ์ ๋ ฅ์ด ์ฃผ์ด์ง๊ณ , ๋ฐ๋ก ์ถ๋ ฅ์ด ๋์ค๋ ํํ๋ฅผ ์๊ฐํด๋ณผ ์ ์์ต๋๋ค. ์ด ํํ๋ฅผ One-to-one ํํ๋ก ๋ถ๋ฆ ๋๋ค.
-> Vanilla Neural Networks
- one-to-many
์ ๋ ฅ์ sequence data๊ฐ ์๋๋ผ time step์ด 1์ผ ๋๋ง ์ ๋ ฅ์ด ์ฃผ์ด์ง๊ณ , ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฌผ์ ์ฌ๋ฌ time step์ ๊ฑธ์ณ์ ์์ฐจ์ ์ธ ์์ธก ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๊ฒ ๋๋ ์ด๋ฐ ์ ๋ ฅ์ด ํ๋๊ณ , ์ถ๋ ฅ์ ์ฌ๋ฌ ๊ฐ๋ก ์ด๋ฃจ์ด์ง sequence data๋ฅผ ์์ฑํด ์ฃผ๋ ๊ทธ๋ฐ Task๋ฅผ one-to-many ์ ํํ๋ก ๋ถ๋ฆ ๋๋ค.
-> Image Captioning (image -> sequence of words)
- RNN module์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฌผ๋ก์ ์ด๋ฏธ์ง๋ฅผ ์ค๋ช ํ๋ ๊ฐ๊ฐ์ ์๋๋ค์ ํน์ Sequence๋ก ์์ธกํด ์ฃผ๋ ํํ๋ฅผ ๋๊ฒ ๋ฉ๋๋ค.
์ด RNN task์์ ๋ค์ time step์ ์ ๋ ฅ์ผ๋ก๋ 0์ผ๋ก ์ฑ์์ง vector๋ฅผ ์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ time step์์ ์ด๋ค ์๋๋ค์ Sequence ๋ก์์ ๋ฌธ์ฅ์ ์์ฑํด์ค ์ ์์ต๋๋ค.
- many-to-one
์ฌ๋ฌ ์ ๋ ฅ์ ๋ํด, ์ฌ๋ฌ time step์ ๋ํด ํ๋์ time step์ ๋ํ ์ถ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
-> Sentiment Classification (Sequence of words -> sentiment)
๋ฌธ์ฅ์ ์ฝ๊ณ ๊ฐ์ด "positive" or "negative"์ธ์ง๋ฅผ ํ๋ณํด์ค.
- many-to-many
์ฌ๋ฌ ์ ๋ ฅ์ ๋ํด ์ฌ๋ฌ ์ถ๋ ฅ์ ๊ฒฐ๊ณผ๊ฐ ๋์ ์ฌ๋ฌ time step์ ํ์๋ก ํจ.
-> Machine Translation (Sequence of words -> sequence of words)
์์ด -> ํ๊ธ ๋ฒ์ญ
- many-to-many
์์ ๋ณ์ข ์ผ๋ก ๋ฐ๋ก๋ฐ๋ก ์์ธก ๊ฒฐ๊ณผ๋ฅผ ์์ฑํด์ผํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ.
-> Video Classification on Frame Level
delay๋ฅผ ํ์ฉํ์ง ์๊ณ , ๋งค time step ๋ง๋ค ์คํ๋ฉ๋๋ค.
'Artificial Intelligence' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Transformer] Part 5 (1) | 2023.01.25 |
---|---|
[Seq2Seq with Attention for Natural Language Understanding and Generation] Part 4 - 2 (0) | 2023.01.25 |
[Ensemble Learning] part 6 - 2 (0) | 2023.01.20 |
[Ensemble Learning] part 6 - 1 (0) | 2023.01.20 |
[Advanced Classification] part 5 - 3 (0) | 2023.01.19 |