4์ฃผ์ฐจ ํ์์ผ
- RNN
- LSTM
์ํ์ค ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ชจ๋ธ. ๊ฐ ํ์์คํ
๋ง๋ค ์ํ์ค ๋ฐ์ดํฐ x
์ ์ด์ ํ์์คํ
์์ RNN ๋ชจ๋์ด ๊ณ์ฐํ hidden state ๋ฒกํฐ h_(t-1)
๋ฅผ ์
๋ ฅ๋ฐ์ ํ์ฌ ํ์์คํ
์ ์ถ๋ ฅ์ผ๋ก hidden state ๋ฒกํฐ h_t
๋ฅผ ๋ด๋ณด๋ธ๋ค.
๋ฌธ์ฅ์ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ์๋ ๊ฐ ํ์์คํ
์ ์
๋ ฅ์ด ๋จ์ด๊ฐ ๋๋ค. hidden state ๋ฒกํฐ๋ ๊ณผ๊ฑฐ ํ์์คํ
์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ผ์ข
์ ๊ธฐ์ต ์ญํ ์ ํ๋๋ฐ, ํ์ฌ ํ์์คํ
์์ ์๋ก์ด ์
๋ ฅ x
๊ฐ ๋ค์ด์ค๋ฉด ๊ทธ๊ฒ์ ๋ฐ์ํด ๋ค์ ํ์์คํ
์ผ๋ก ๊ธฐ์ต์ ๋๊ฒจ์ค๋ค.
RNN ๋ชจ๋ธ์ ๋งค ํ์์คํ ๋ง๋ค ๋์ผํ ๊ตฌ์กฐ์ ๋์ผํ ํ๋ผ๋ฏธํฐ(๊ฐ์ค์น, ๋ฐ์ด์ด์ค)๋ฅผ ๊ฐ๋๋ฐ, ๊ฐ์ ๋ชจ๋ธ์ด ์ฌ๊ท์ ์ผ๋ก ํธ์ถ๋๋ฉฐ ๋ฐ๋ณตํด์ ์ฐ์ฐํ๋ค๋ ์๋ฏธ์์ RNN(Recurrent Neural Network)์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ถ๋ฅธ๋ค.
๊ธฐ๋ณธ์ ์ธ RNN ๊ตฌ์กฐ์์๋ ํ์์คํ ์ด ๋ง์ด ๋์ด๊ฐ๋ฉด ์์ ํ์์คํ ์ ์ ๋ณด๊ฐ ๋ง์ด ์ ์ค๋๋๋ฐ, ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋์จ ๊ตฌ์กฐ๊ฐ LSTM(Long-Short Term Memory)์ด๋ค.
๋ฐ๋๋ผ RNN์ ์ด์ ํ์์คํ
์ผ๋ก๋ถํฐ hidden state ๋ฒกํฐ ํ๋๋ฅผ ๋ฐ์ง๋ง, LSTM์ ์ด์ ํ์์คํ
์ผ๋ก๋ถํฐ cell state ๋ฒกํฐ c์ hidden state ๋ฒกํฐ h๋ฅผ ๋ฐ๋๋ค. ๊ทธ๋์ LSTM์ ํ ํ์์คํ
๋ด์์ ์
๋ ฅ ๋ฐ์ดํฐ x_t
์ ์ด์ ํ์์คํ
์ c_(t-1)
, ์ด์ ํ์์คํ
์ h_(t-1)
๋ฅผ ์
๋ ฅ๋ฐ์ c_t
์ h_t
๋ฅผ ๊ณ์ฐํ๋ค. LSTM์์ hidden state ๋ฒกํฐ๋ cell state ๋ฒกํฐ๋ฅผ ๊ฐ๊ณตํ ๊ฒ์ผ๋ก, ํด๋น ํ์์คํ
์์ ๋
ธ์ถํ ํ์๊ฐ ์๋ ์ ๋ณด๋ฅผ ๊ฐ์ง ํํฐ๋ง๋ ๋ฒกํฐ๋ค.
LSTM ๊ตฌ์กฐ์์๋ ์
๋ ฅ๋ ๋ฒกํฐ๋ฅผ Input gate
, Forget gate
, Output gate
, Gate gate
4๊ฐ์ gate๋ก ์ชผ๊ฐ์ ๊ฐ๊ฐ sigmoid, sigmoid, sigmoid, tanh ํจ์๋ฅผ ์ ์ฉํ ๋ค์ ๋ด๋ณด๋ธ๋ค. ์ด 4๊ฐ์ ๊ฒ์ดํธ๋ ํ ํ์์คํ
๋ด์์ cell state์ hidden state๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํ ์ค๊ฐ ๊ณผ์ ์ผ๋ก ์์ฉํ๋ค.
forget gate
sigmoid๋ฅผ ์ทจํ๊ธฐ ๋๋ฌธ์ forget gate๋ฅผ ํต๊ณผํ๋ฉด 0~1 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ค. ์์ด๋ฒ๋ฆฐ๋ค๋ ๊ฒ์ ์ ๋ณด ์ค ์ผ๋ถ๋ง ๋ฐ์ํ๋ ๊ฒ์ผ๋ก, forget gate์์๋ ์ cell์์ ๋์ด์จ ์ ๋ณด๋ฅผ ์ด๋ฒ cell์ ๋ฐ์ํ ๋น์จ์ ๊ฒฐ์ ํ๋ค.
gate gate
tanh๋ฅผ ์ทจํ๊ธฐ ๋๋ฌธ์ gate gate๋ฅผ ํต๊ณผํ๋ฉด -1~1 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ค. input gate๋ฅผ ํต๊ณผํด ์จ ๋ฒกํฐ์ ์์๋ณ ๊ณฑ์
์ ์คํํ๋ค. ์ด ๊ณฑ์
๊ฒฐ๊ณผ๊ฐ ์ด์ ํ์์คํ
์ cell state ๋ฒกํฐ์ ๋ํด์ ธ ํ์ฌ ํ์์คํ
์ cell state ๋ฒกํฐ๋ฅผ ๊ฒฐ์ ํ๋ค.
์ด์ ์ ์ด์ด ์ฐํด ๋ ๋ง๋ ๋ชจ๋ธ์ ์ข ๋ ์ดํด๋ดค๋ค. ํ์ ์ค ๋ชจ๋ธ ์ ํ๋๊ฐ ์ ๋์ค์ง ์๋๋ค๋ ๋ถ์ด ์์ด์ ํ๋ฉด์ ๊ณต์ ๋ก ์ฝ๋๋ฅผ ํจ๊ป ๋ดค๋ค.
conv ๋ ์ด์ด์ feature ์๋ flatten ์ดํ dense ๋ ์ด์ด์ ์ ๋ ฅ ๋ ธ๋ ์๊ฐ ๋ง์ง ์์์ ์ฝ๋๋ฅผ ์์ ํ๋๋ฐ, ์์ ํ์๋ loss๊ฐ ์ง๋์น๊ฒ ๋๊ฒ ๋์ค๋ ๋ฌธ์ ๊ฐ ์์๋ค. ์์ธ์ ํ์ ํ๊ธฐ ์ํด ๋ชจ๋ธ ์ผ๋ถ๋ฅผ ๋ด๊ฐ ๋ง๋ ์ฝ๋๋ก ๋์ฒดํด ๋ดค๋๋ฐ ๋ฐ์ดํฐ์ ์ ๋ถ๋ฌ์ฌ ๋ ๋ ์ด๋ธ์ ๊ฐ์ ธ์ค๋ ๊ณผ์ ์์ ๋ญ๊ฐ ๊ผฌ์ธ ๊ฒ ๊ฐ์๋ค. ์์ ํ๊ณ ๋ด์ผ ํผ์ด์ธ์ ์๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์๋ ค์ค๋ค๊ณ ํ๋ค. ๋ค๋ฅธ ๋ถ์ epoch๋ฅผ ์ ๊ฒ ์ค์ ํด์ ํ์ต์ด ์ถฉ๋ถํ ์ด๋ฃจ์ด์ง์ง ์์๋ค. epoch์ batch size๋ฅผ ์์ ํ๊ณ ํ๋ ๊น์ ๋ชจ๋ธ์ conv ๋ ์ด์ด๋ ์ฝ๊ฐ ์กฐ์ ํ์ฌ ํ์ต์ด ์ ๋๋ ๊ฒ์ ํ์ธํ๋ค.