(07๊ฐ) Sequential Models - RNN
210812
Last updated
Was this helpful?
210812
Last updated
Was this helpful?
์ผ์ ์์ ์๋ ๋๋ถ๋ถ์ ๋ฐ์ดํฐ(๋์์ด๋ ๋ชจ์ , ์์, ์์ฑ)์ด Sequential์ด๋ค. ์ด๋ฐ ๋ฐ์ดํฐ์ ํน์ง์ ์ ๋ ฅ ํฌ๊ธฐ๋ฅผ ์ ์๊ฐ ์๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ์ด์ ์ ์ฌ์ฉํ FC๋ CNN์ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค.
์ด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ์์ธกํ๋ ๊ฒ
๊ทธ์ ๋ฐํด Auto. ๋ชจ๋ธ์ ์ด์ n๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ์์ธกํ๋ค. n๊ฐ๋ก ์ด์ ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ ๊ณ ์ ๋๋ฏ๋ก ๊ณ์ฐ์ด ์ฌ์์ง๋ค.
๋ฏธ๋๋ ๊ณผ๊ฑฐ n๊ฐ์๋ง independentํ๋ค๋ผ๋ ๊ฐ์
Markov Assumption์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ ์ด๋ฆ์ด ๋ถ์.
๊ฐํํ์ต์ ๊ณต๋ถํ ๋ ๋์ค๊ธฐ๋ ํ๋ค. Markov Decision Process, MDP
๋ง์ด ๋๋ ๋ ผ๋ฆฌ๋ ์๋๋ค. ์๋ฅผ ๋ค์ด ๋ด์ผ ์๋ฅ์ ์ค๋ ๊ณต๋ถํ ๊ฒ๋ง์ผ๋ก ๊ฒฐ์ ๋๋ค๋ ๋ ผ๋ฆฌ. ๊ทธ๋์ ์ด๋ฌํ markov ๋ชจ๋ธ์ ๋ง์ ์ ๋ณด๋ฅผ ๋ฒ๋ฆฌ๊ฒ ๋๋ค. ์ฅ์ ์ joint distribution์ ์ค๋ช ํ ๋ ๋๊ฒ ์ข์์ง๋ค.
์ด์ ๋ชจ๋ธ์ ๊ฐ์ฅ ํฐ ๋จ์ ์ ๊ณผ๊ฑฐ์ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๊ณ ๋ คํด์ผ ํ๋๋ฐ ๊ทธ๋ด ์ ์์๋ค. ์ด ๋ชจ๋ธ์ ๊ณผ๊ฑฐ์ ์ ๋ณด๋ฅผ hidden state๊ฐ ์์ฝํ๋ค๋ ๊ฒ. ๊ทธ๋ฆฌ๊ณ ๋ค์ time step์ ์ด hidden state ํ๋์๋ง ์์กดํ๋ค.
์์์ ๋ณด์๋ ๋ชจ๋ธ๋ค๊ณผ ๋ค ๋์ผํ์ง๋ง ํ ๊ฐ์ง์ ์ฐจ์ด์ ์ RNN์ ์๊ธฐ ์์ ์ผ๋ก ๋์์ค๋ ๊ตฌ์กฐ๊ฐ ์๋ค๋ ๊ฒ
RNN์ ์๊ฐ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํ๊ฒ๋๋ฉด ์ฌ์ค ์ ๋ ฅ์ด ๊ต์ฅํ ๋ง์ FC๋ก ๋ณผ ์ ์๋ค.
RNN์ ํฐ ๋ฌธ์ ๋ Short-term dependencies
๊ณผ๊ฑฐ์ ์ ๋ณด๋ค์ด ๊ณ์ ์ถํฉ๋๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์ง๋ ์๋ก ๊ณผ๊ฑฐ์ ์ ๋ณด๋ค์ด ํ์ฌ์ ์ํ(๊ทธ๋ฆผ์์ A)์ ์ ์ง๋๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ.
์๋ฅผ ๋ค์ด, ์์ฑ์ธ์์ ๊ฒฝ์ฐ 5์ด ๊น์ง๋ ์ ๊ธฐ์ตํ๋๋ฐ, 5์ด ์ด์ ์ ๋งํ๋ ์์ฑ๋ค์ ์ ๋๋ก ๋ฐ์์ด ์๋๋ ๋ฌธ์
h0๊ฐ h4๊น์ง ๊ฐ๊ธฐ ์ํด ์ฌ๋ฌ ์ฐ์ฐ์ ๊ฑฐ์ณ์ผ ํ๊ฒ ๋๋ค. ๋ง์ฝ activation ํจ์๊ฐ sigmoid๋ผ๋ฉด ์ด h0๊ฐ์ด squshing๋๊ฒ ๋๊ณ ์ด๋ฅผ ๋ฐ๋ณตํ๋ค ๋ณด๋ ๋จ์ ๊ฐ์ ์๋ฏธ๊ฐ ์์ด์ง๊ฒ ๋๋ค
squshing๋๋ค๋ผ๋ ๊ฒ์ ์ฐ๋ถ๋ฌ์ง๋ค ๋ผ๋ ์๋ฏธ์ธ๋ฐ, ์ ๋ ฅ ๊ฐ์ด ์๋ฌด๋ฆฌ ์ปค๋ sigmoid๋ฅผ ๊ฑฐ์น๋ฉด 0~1๋ก ์ค์ด๋ ๋ค๋ ๊ฒ์ ์๋ฏธ
๋ฐ๋๋ก, activation ํจ์๊ฐ ReLU๋ผ๋ฉด h0๊ฐ์ด h4๊น์ง ๊ฐ ๋๋ง๋ค ๋ฐ๋ณต์ ์ผ๋ก ๊ณฑํด์ง๊ณ ๊ฒฐ๊ตญ h4์ ๋๋ฌํ์ ๋ h0์ ๊ฐ์ด ๋งค์ฐ ํฌ๊ฒ ๋๋ค.
์ ๋ฆฌํ๋ฉด, sigmoid๋ vanishing gradient ๋ฌธ์ ๊ฐ, ReLU๋ exploding gradient ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
๊ทธ๋์ RNN์ ํ ๋ ReLU๋ฅผ ์ฐ์ง ์๋๋ค.
๊ทธ๋์ LSTM์ด๋ผ๋ ์๋ก์ด ๋ชจ๋ธ์ด ๋์ค๊ฒ ๋์๋ค.
๊ธฐ๋ณธ์ ์ธ RNN(Vanilla)์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค
LSTM์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค
X๋ ์ ๋ ฅ, H๋ ์ถ๋ ฅ์ด๋ค.
cell state๋ ์ ๋ด๋ถ๋ฅผ ๊ดํตํ๋ฉฐ ๋ฐ์ผ๋ก ํ๋ฅด์ง๋ ์๋๋ค.
previous cell state๋ t-1 ๊ฐ์ ์ ๋ณด๋ฅผ ์ทจํฉํด์ ์์ฝํด์ฃผ๋ ์ญํ
์ ๋ณด๋ฉด, output์ด ๋ฐ์ผ๋ก ๋๊ฐ๊ธฐ๋ ํ๊ณ next hidden state๋ก ๋น ์ง๊ธฐ๋ ํ๋ค. ์ด ๊ฒ์ด ์ ๋จ๊ณ์์ ์ค๋ฉด previous hidden state
๊ทธ๋ฆฌ์ค์ด๋ก ์๊ธด ๋ชจ์์ ๋ชจ๋ sigmoid ํจ์๋ฅผ ์๋ฏธํ๋ค.
LSTM์ ์ดํดํ ๋๋ gate ์์ฃผ๋ก ์ดํดํ๋ฉด ์ข๋ค. LSTM์ 3๊ฐ์ gate๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ forget gate, input gate, output gate ์ด๋ค.
LSTM์ ๊ฐ์ฅ ํฐ ์์ด๋์ด๋ ์ค๊ฐ์ ํ๋ฌ๊ฐ๋ Cell state์ด๋ค
Forget gate์์ ๊ตฌํ f์ Input gate์์ ๊ตฌํ i๋ฅผ ๊ฐ์ง๊ณ ํ์ฌ์ ์ cell state๋ฅผ ๊ฐฑ์ ํ๋ค.
๊ทธ๋๋ก Cell State๋ฅผ Output์ผ๋ก ๋ฝ์ ์๋ ์๋ค. ์ด๊ฒ์ GRU์์ ํ๋ค
Gated Recurrent Units, GRU๋ RNN ํ๋ ์์ํฌ์ ์ผ์ข ์ผ๋ก LSTM๋ณด๋ค ๋ ๊ฐ๋ธํ ๊ตฌ์กฐ์ด๋ค
LSTM์์๋ ์ด๊ฒ์ ํ๋ฒ๋ ๋ณํํ๋ค. ์ผ๋ง๋ ๋ฐ๊นฅ์ผ๋ก ๋นผ๋ผ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ถ๋ถ
์ผ๋ฐ์ ์ผ๋ก RNN์ ์ฐ๋ฉด Vanilla RNN, LSTM ๊ทธ๋ฆฌ๊ณ GRU๋ฅผ ์ด๋ค.
GRU๋ ๊ฒ์ดํธ๊ฐ 2๊ฐ์ด๋ค.
Reset Gate, Update Gate
ํ๋ ์คํ ์ดํธ๊ฐ ๊ณง ์์ํ์ด๊ณ ๋ฐ๋ก ๋ค์ ์คํ ์ดํธ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค.
RNN์ ์์ํ์ ๋ณํํ๋ค.
์ด๋ค ์ ๋ณด๋ฅผ ๋ฒ๋ฆด์ง(์์ด๋ฒ๋ฆด์ง) ๊ฒฐ์ ํ๋ค. ์ด์ ์ ์ ์ ๋ณด์ ํ์ฌ ์ ์ ์ ๋ ฅ์ด ๋ค์ด๊ฐ์ ๋ผ๋ ์ซ์๋ฅผ ์ป๋๋ค. ์ด f๋ sigmoid์ ๊ฐ์ด๋ฏ๋ก ํญ์ 0์์ 1์ฌ์ด์ ๊ฐ์ ๊ฐ๋๋ค
ํ์ฌ ์ ๋ ฅ์ ๋ฌด์์ cell state์ ์ฌ๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ ์ฌ๋ฆด ์ ๋ณด๋ฅผ ๊ฒฐ์ ํ๋ค. ์ ๋ ฅ๊ณผ ์ด์ ์ ์ ๋ณด๋ฅผ ์ด์ฉํด์ ๋ผ๋ ์ ๋ณด๋ฅผ ๋ง๋ค๊ฒ๋๋ค. ์ด์ ์ด i์์ ์ฌ๋ฆด ์ ๋ณด๋ฅผ ๊ฒฐ์ ํด์ผ ํ๋๋ฐ, ์ด๋ ๋ก ๊ฒฐ์ ํ๊ฒ ๋๋ค. (์ฝ๋ ๋ฒ์ C TILDE) ์ด C ์ญ์ ์ด์ ์ ์ ์ ๋ณด์ ํ์ฌ ์ ๋ ฅ๊ฐ์ ๊ฐ์ง๊ณ ๋ค๋ฅธ ํ์ต๋ NN์ ํตํด์ ์ป๋ ๊ฐ์ด๋ค. ์ด ๊ฐ์ hyperbolic tangent๋ฅผ ํต๊ณผํ๊ธฐ ๋๋ฌธ์ -1์์ 1์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ค.