RNN์ด๋?
RNN(Recurrent Neural Network)์ ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๊ณ ์๋ ๋ชจ๋ธ๋ก ์๋ ๊ทธ๋ฆผ์์์ ๊ฐ์ด ์ด์ ์๊ฐ(๊ณ์ธต)์ ์ถ๋ ฅ ๊ฐ(์๋ ๊ฐ)์ด ๋ค์ ์๊ฐ(๊ณ์ธต)์ผ๋ก ์ ํ๋์ด ์ฆ, ๊ณผ๊ฑฐ ์ ๋ณด๋ฅผ ๊ณ์นํ์ฌ ์๊ณ์ด ๋ฐ์ดํฐ์ ๋์ํ๋ ์ ๊ฒฝ๋ง์.
์๋์ธต์์ ๋์จ ๊ฒฐ๊ณผ๊ฐ์ด ๋ค์ ์๋์ธต์ผ๋ก ๋์๊ฐ ์๋ก์ด ์ ๋ ฅ ๊ฐ๊ณผ ์ฐ์ฐ์ ์ํํ๋ ์ํ ๊ตฌ์กฐ์.
์์ ์ฐ๊ฒฐ์ธต(Fully Connected Layer), CNN(Convolutional Neural Network)์ ์๋์ธต์์ ๋์จ ๊ฒฐ๊ณผ๊ฐ์ด ์ถ๋ ฅ์ธต ๋ฐฉํฅ์ผ๋ก ์ด๋ํ์ง๋ง, RNN์ ์๋์ธต์ผ๋ก ๋๋์๊ฐ ์ํํ๋ค๋ ์ ์์ ํฐ ์ฐจ์ด๊ฐ ์์.
์๋ ๊ทธ๋ฆผ์ ์๋์ธต์์ ๊ฒฐ๊ณผ ๊ฐ์ด ๋์ ๋ค์ ์๋์ธต์ผ๋ก ๋๋์๊ฐ๋ ์ํ ๊ตฌ์กฐ๋ฅผ ํ์ฑํ๋ ๊ฒ์ ๋ณผ ์ ์์
์ ๊ทธ๋ฆผ์์ RNN ์ํ ๊ตฌ์กฐ๋ฅผ ํผ์น ํํ๋ก ์ ๋ ฅ๊ฐ {x0, x1,...,xt}๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅํ์ ๋ ๊ฐ ์ ๋ ฅ์ ๋์ํ๋ {h0,...,ht}๊ฐ ์ถ๋ ฅ๋จ. ์ด๋ RNN ๊ณ์ธต์ ๋ชจ๋ ๊ฐ์ ๊ณ์ธต์ด๊ณ ์ถ๋ ฅ {h0,...,hk,...,ht}๋ฅผ ๊ฐ๊ฐ k์์ ์์์ ์๋ ์ํ๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋์ ์์ ์์ ๋ณด๋ฉด ht-1(t-1์ ์๋์ํ)์ ๋ํ weight ๊ฐ(Wh)๊ณผ xt(t์์ ์์ ์๋์ธต์ ๋ค์ด๊ฐ ์ ๋ ฅ๊ฐ)์ ๋ํ weight ๊ฐ(Wx)๋ฅผ ์ฐ์ฐํ ๊ฒ์ ๋ณผ ์ ์์
(+b๋ ์ ๋์ค๋ฉฐ, tanh๋ก ๊ณ์ฐํ๋ ์ด์ ๋ ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ -> ์ฐพ์๋ณด์
)
์ด๋ฌํ RNN์ ๊ตฌ์กฐ๋ ์๊ณ์ด ๋ฐ์ดํฐ, ํ ์คํธ ๋ฐ์ดํฐ์ ์ ํฉํฉ๋๋ค.
๊ฐ๋ น "You say goodbye and I say hello"์์ ๊ฐ ๋จ์ด์ ๋ค์์ ๋์ฌ ๋จ์ด๋ฅผ ์์ธกํ๊ณ ์ ํ ๋, ๋ฌธ์ฅ์์ ์๋ฒ ๋ฉ ๋ ๋จ์ด๋ฅผ ์์ฐจ์ ์ผ๋ก RNN์ ์ ๋ ฅํจ.
(์๋ฒ ๋ฉ์ด๋ ์์ฐ์ด ์ฒ๋ฆฌ์์ ์ฌ์ฉ๋๋ ๊ธฐ์ ๋ก, ์ปดํจํฐ๊ฐ ๋จ์ด๋ฅผ ์ซ์๋ก ํํํ์ฌ ์ปดํจํฐ๊ฐ ์์
ํ ์ ์๋๋ก ํ๋ ๊ธฐ์ ์ ์๋ฏธํจ/ ์ฌ๋์ด ์ฐ๋ ์์ฐ์ด๋ฅผ ๊ธฐ๊ณ๊ฐ ์ดํดํ ์ ์๋๋ก ์ซ์ํํ์ธ vector๋ก ๋ฐ๊พธ๋ ๊ณผ์ ํน์ ์ผ๋ จ์ ์ ์ฒด ๊ณผ์ ์ ์๋ฏธํจ - ์๋ฒ ๋ฉ ๊ด๋ จํด์ ์์ฃผ ๊ฐ๋ตํ๊ฒ ์ ์๋ง ์ ๋ฆฌํ ๊ฒ์. ๊ด๋ จ ๋ด์ฉ ๋ ์ฐพ์์ ๊ฐ๋
์์งํด๋๊ธฐ // ์ผ๋จ ๋ด๊ฐ ์ฐธ๊ณ ํ ์๋ฃ https://velog.io/@glad415/%EC%9E%84%EB%B2%A0%EB%94%A9Embedding%EC%9D%B4%EB%9E%80)
์ดํ ๊ฐ ์ ๋ ฅ์ ๋์ํ๋ ์๋์ํ๋ก ๋ค์์ ๋์ฌ ๋จ์ด๋ฅผ ์์ธกํจ.
์ฌ๊ธฐ์ ์๋์ํ๋ ํด๋น ์์ ๊น์ง์ ๋จ์ด ์ ๋ณด๋ฅผ ๋ํ๋.
์์ ํ์ ์ญ์ ํ๋ฅผ ๋ฐ๋ณตํ๋ฉฐ ๋ชจํ์ ํ์ต์์ผ ์ต์ข ์ ์ผ๋ก ๊ฐ ๋จ์ด ๋ค์์ ๋์ฌ ๋จ์ด๋ฅผ ์๋ฒฝํ๊ฒ ์์ธกํ๋ ์๋์ํ๋ฅผ ๊ฐ๋ ๊ฒ์ด RNN์ ๋ชฉ์ ์ค ํ๋์.
์ ๊ทธ๋ฆผ์์ You๋ผ๋ ๋จ์ด๊ฐ Embedding ๊ณ์ธต์ ๊ฑฐ์น ํ RNN์ ์ ๋ ฅ๋๋ฉด, You์ ์๋์ํ hyou๋ฅผ ์ถ๋ ฅํ๊ณ ๋ค์์ ์ฌ ๋จ์ด say๋ฅผ ์์ธกํฉ๋๋ค.
์๋์ํ hyou๋ ๋ค์ RNN ๊ณ์ธต์ผ๋ก ๋ค์ด๊ฐ say๋ผ๋ ๋จ์ด๊ฐ ์๋ฒ ๋ฉ๋ ํํ์ ์ฐ์ฐํฉ๋๋ค. ์ฌ๊ธฐ์ hyou๋ ๊ณผ๊ฑฐ์ ์ ๋ณด you๋ฅผ ์์งํ ์๋ ์ํ์.
๋ค์ RNN ๊ณ์ธต์์ ๋์จ say์ ์๋์ํ hsay๋ ๊ณผ์ ์ ๋ณด 'You say'๋ฅผ ์์งํ ์๋ ์ํ์ ๋๋ค.
์ดํ hsay๋ฅผ ์ด์ฉํด ๋ค์์ ์ฌ ๋จ์ด goodbye๋ฅผ ์์ธกํฉ๋๋ค.
์ด ๊ณผ์ ์ด RNN ํ์ต, ์์ ํ ๊ณผ์ ์ ๋๋ค.
์ดํ ์ญ์ ํ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ ์์ธก ๋จ์ด์ ์ค์ ๋จ์ด๋ฅผ ๋น๊ตํ๋ฉด์ ๊ฐ์ค์น์ ์๋์ํ๋ฅผ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ์ดํด๋ณด์
1. ์์ ํ
์ ๊ทธ๋ฆผ์ RNN์ ์์ ํ ๊ณผ์ ์.
'You say goodbye and I say hello'์์ ๋ค์์ ๋์ฌ ๋จ์ด๋ฅผ ์์ธกํ๋ฉฐ RNN ๊ณ์ธต์ ํ์ตํ๋ ๊ณผ์ ์
1) say์ ์๋์ํ์ธ hsay์ hello๊ฐ ์๋ฒ ๋ฉ๋ ๋ฒกํฐ xhello๊ฐ
RNN ๊ณ์ธต์ ๋ค์ด๊ฐ ํ ์ผ๋ จ์ ๊ณผ์ ์ ํตํด hello์ ์๋์ํ์ธ hhello์ yhello๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
2) ์ถ๋ ฅ๋ ์๋์ํ๋ ๋ค์ RNN ๊ณ์ธต์ ์ ๋ ฅ์ผ๋ก ์ด๋ํฉ๋๋ค
3) hhello๋ hello๋ฅผ ๋น๋กฏํด say, I์ ๊ฐ์ด ๊ทธ๋์ ์ด๋ํด์จ ๋จ์ด๋ค์ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค
4) yhello๋ hhello๊ฐ ๋ณํ๋ ํํ๋ก, hello์ ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ ๊ฒฐ๊ณผ์ ๋๋ค.
์ฌ๊ธฐ์ ์ผ๋ จ์ ๊ณผ์ ์ ์๋์ ์์ผ๋ก, ๋ชจํ์ผ๋ก ๋ํ๋ด๋ฉด ์์ ๊ทธ๋ฆผ์ผ๋ก ํํ๋ฉ๋๋ค.
1) ๊ฐ์ค์น์ ํธํฅ์ธ Wh, Wx
b๋ RNN ๊ณ์ธต๋ณ๋ก ๋์ผํจ
2) hhello๋ฅผ ๊ตฌํ๊ธฐ ์ํด hsay์ Wh๋ฅผ ๊ณฑํ๊ณ hello๋ฅผ ์๋ฒ ๋ฉํ ๋จ์ด๋ฒกํฐ(xhello)์ Wx๋ฅผ ๊ณฑํ ํ ํธํฅ(b)๋ฅผ ๋ํจ.
3) ์ดํ ํ์ดํผ๋ณผ๋ฆญํ์ ํธ ํจ์(tanh)๋ฅผ ์์ (why..?? ์ด ํจ์์ธ์ง ์ฐพ์๋ณด๊ธฐ)
2. ์ญ์ ํ
1) RNN์์ ์ค์ฐจ์ญ์ ํ๋ RNN ๊ณ์ธต์์ ์ถ๋ ฅ๋ ๊ฒฐ๊ณผ์ Y๊ฐ์ ์ฐจ์ด๋ฅผ ๋ฐ์ํด ๊ฐ์ค์น์ ์๋์ํ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ณผ์
2) ์๋ฅผ ๋ค๋ฉด ์ ๊ทธ๋ฆผ์์ Softmax ์ดํ ๋์ค๋ ๋จ์ด๋ค์ ์์ธก ํ๋ฅ ๊ณผ ์ค์ ๊ฐ์ ์ค์ฐจ๋ฅผ Cross Entropy๋ก ๊ตฌํจ
3) ์ดํ ์ค์ฐจ๋ฅผ ๋ฏธ๋ถํด ๊ธฐ์ธ๊ธฐ {dh_hello, dh_row, dh_day, dw_x, dx_hello, dw_h}๋ฅผ ๊ตฌํ๊ณ
๊ฐ ๊ฐ์ค์น์ ๋ฐ์ํด ์
๊ทธ๋ ์ด๋ํ๋ ์์ผ๋ก ์ค์ฐจ์ญ์ ํ๊ฐ ์งํ๋ฉ๋๋ค. (์ดํด ์๋ผ)
4) ์ค์ฐจ๋ฅผ ๋ฏธ๋ถํ๋ ๊ณผ์ ์์ y์ ๋ํด ๋ฏธ๋ถํ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค
5) y์ ๋ํด ๋ฏธ๋ถํ๋ ์์ ๋ํ๋ด๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
3. ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์
1) RNN์์ ์ญ์ ํ๊ฐ ์งํ๋๋ฉด์ ๊ธฐ์ธ๊ธฐ๊ฐ ์์ค๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ.
2) ์ฐ์ ์ค์ฐจ์ญ์ ํ๋ฅผ ํตํด ์๋์ํ, ๊ฐ์ค์น, ํธํฅ{h, W, b}์ ๊ธฐ์ธ๊ธฐ/๋ฏธ๋ถ๊ฐ์ด ๋ฐ์๋๋ฉฐ ์ ๊ทธ๋ ์ด๋ ๋ฉ๋๋ค
3) RNN์ ๊ธฐ์ธ๊ธฐ/๋ฏธ๋ถ๊ฐ์ ๊ตฌํ๋ ๊ณผ์ ์ด ์๋ ๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ณต์กํฉ๋๋ค
4) ๋ง์ฝ RNN ๊ณ์ธต์ด ๋ง๋ค๋ฉด, ์ค์ฐจ์ญ์ ํ๊ฐ ์งํ๋ ์๋ก ๊ธฐ์ธ๊ธฐ๊ฐ ์์ค๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค
์์์ผ๋ก ์ฆ๋ช ํ๋ฉด์ ๊ธฐ์ธ๊ธฐ๊ฐ ์ด๋ป๊ฒ ์์๋๋์ง ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
1) ์ ๊ทธ๋ฆผ์์ hrow๋ฅผ wh๋ก ๋ฏธ๋ถํ๋ ๊ณผ์ ์ ๋๋ค.
2) Say์ ์๋์ํ์ธ hsay๋ ์ด์ ๋จ๊ณ์ RNN ๊ณ์ธต์ธ you, say, goodbye, and, I์ ์ํฅ์ ๋ฐ์ต๋๋ค.
3) ๋ฐ๋ผ์ hrow๋ฅผ wh๋ก ๋ฏธ๋ถํ๋ ค๋ฉด hyou, hsay, hgoodbye, hand, hI๋ฅผ ๋ชจ๋ ๋ฐ์ํด์ผ ํฉ๋๋ค
4) ์ ๊ทธ๋ฆผ์ ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
1) ์ ๊ทธ๋ฆผ์์ hrow๋ฅผ wh๋ก ๋ฏธ๋ถํ๋ฉด ๊ฐ์ค์น, ์๋์ํ๋ฅผ ๊ณ์ ๊ณฑํ๊ณ ๋ํ๋ ํจํด์ด ๋ณด์ด๋ ๊ฒ์ ์ ์ ์์ต๋๋ค
2) ๋ง์ฝ RNN ๊ณ์ธต์ด ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด, ์ค์ฐจ์ญ์ ํ ๊ณผ์ ์ด ์งํ๋๋ฉฐ ๊ธฐ์ธ๊ธฐ๊ฐ ๊ณฑํ๊ณ ๋ํ๋ ๊ณผ์ ์ด ๋ฐ๋ณต๋ ๊ฒ์ ๋๋ค.
3) ์ฌ๊ธฐ์์ ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐ์ํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค
4) ๊ทธ๋ ๊ฒ ๋๋ฉด ์ค์ฐจ์ญ์ ํ ๊ณผ์ ์ด ๊ฝค ์งํ๋์์ ๋ ์ ๋ฐ์ดํธํ ๊ธฐ์ธ๊ธฐ๊ฐ ์์ฃผ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ๊ธฐ์ธ๊ธฐ ์์ค์ด๋ผ๊ณ ํ๋ฉฐ, ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด LSTM์ ์ด์ฉํฉ๋๋ค.
๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๊ฐ gradient vanishing ๋งํ๋ ๊ฒ์
https://byumm315.tistory.com/entry/RNN%EC%9D%84-%EC%95%8C%EC%95%84%EB%B4%85%EC%8B%9C%EB%8B%A4
์ ๋ธ๋ก๊ทธ ๊ทธ๋๋ก ์ฐธ๊ณ ํจ^^
๊ทธ๋ฅ ์ญ์ญ ์ฝ๊ณ ํ๊ธฐ? ํ๋ฉด์ ์ดํด๋ ฅ ๊ธธ๋ฌ๋ณด๋ คํจ
https://ratsgo.github.io/natural%20language%20processing/2017/03/09/rnnlstm/
์์ LSTM ๋ฟ๋ง ์๋๋ผ ์ค์ฐจ ์ญ์ ํ, CNN์ ์ญ์ ํ ๋ฑ ๊ธ๋ค์ด ์์ฃผ ์ข์! ์ฐธ๊ณ ํ์
์ด์จ๋ RNN์ด ๋๋ต์ ์ผ๋ก ์ด๋ค ๊ตฌ์กฐ๋ก ๋์๊ฐ๋์ง ์ดํด๋ดค๋ค
๋ฌผ๋ก ๊ฑด๋๋ด ๋ถ๋ถ๋ ์์ด์ ์.. ์ด๊ฑด ๋ด์ผ ๋ ์์ ํ๋ฒ ๋ณด์ถฉํด๋ณด๊ฒ ๋ค
RNN์ ๋ฌธ์ ์
์ด๊ฑธ ๊ทธ๋์ ํ๊ณ ์ถ์๋๊ฑด๋ฐใ ใ ใ ์ด์ ์กฐ๊ธ ๊ตฌ์กฐ๋ฅผ ์์์ผ๋ ๋ด๋ณธ๋ค
RNN์ ์ด์ ๋งฅ๋ฝ์ ์ ๋ณด๋ฅผ ๊ธฐ์ตํ๋ ์ผ๋ช
์ํ ๋ฉ์ปค๋์ฆ์ ํตํด ๋ฐ์ดํฐ๊ฐ ํ ๋ฐฉํฅ์ผ๋ก๋ง ํ๋ฅด๋ "Feed Forward" ๋ฐฉ์์ ์ ๊ฒฝ๋ง๋ณด๋ค ์๊ณ์ด ๋ฐ์ดํฐ ํ์ต์ ๋ํ ์ฑ๋ฅ์ด ํฅ์ ๋์๋ค. (์ญ์ ํ ๋๋ฌธ์ ํ ๋ฐฉํฅ์ผ๋ก ํ๋ฅด๋ ๊ฒ์ด ์๋๋ฏ? ๋ง๋..ใ
)
ํ์ง๋ง RNN์ ์๊ณ์ด ๋ฐ์ดํฐ์ ์ฅ๊ธฐ ์์กด ๊ด๊ณ๋ฅผ ํ์ตํ๊ธฐ์๋ ์ด๋ ค์ด ๋ฌธ์ ๊ฐ ์์.
์ฆ ์ฅ๊ธฐ ๊ธฐ์ต์๋ ์ทจ์ฝํ๋ค๋ ๋จ์ ์ด ์กด์ฌํจ.
RNN ๋ชจ๋ธ์ด ์ด ์์ ์์์ ์ ๋ต์ ๋ง์ถ๊ธฐ ์ํด์๋ "to"๊ฐ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์๊ฐ (๊ณ์ธต)๊น์ง ์ด์ ์ ๋งฅ๋ฝ๋ค์ ๊ธฐ์ตํ๊ณ ์์ด์ผ ํจ. ์ฆ, ์ด์ ์ ๋ชจ๋ ๋งฅ๋ฝ ์ ๋ณด๋ฅผ Output๊ฐ (h)์ ๋ณด๊ดํด๋ฌ์ผํจ
ํ์ง๋ง ์ด๋ฌํ ์ํฉ์์ ์ RNN์ด ์ฅ๊ธฐ ๊ธฐ์ต์ ์ทจ์ฝํ์ง ์์๋ณด๊ธฐ ์ํด
์ ๋ต ๋ ์ด๋ธ๋ก "TOM"์ด๋ผ๋ ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋, ํ์ต์ ๊ด์ ์์ ์๊ฐํด๋ด
์๋ค.
์๋ ๊ทธ๋ฆผ์ ์ ๋ต ๋ ์ด๋ธ์ด ์ฃผ์ด์ก์ ๋ ๊ธฐ์ธ๊ธฐ๊ฐ ์ญ์ ํ๋๋ ๊ณผ์ ์ ๋ํ๋ธ ๊ฒ์ด๋ฉฐ, ๋นจ๊ฐ์ ์ด ๊ธฐ์ธ๊ธฐ์ ์ ํ ๊ณผ์ ์ ๋๋ค.
์์ ๊ทธ๋ฆผ์ฒ๋ผ ๊ธฐ์ธ๊ธฐ๋ RNN ๊ณ์ธต์ ๊ณผ๊ฑฐ ๋ฐฉํฅ์ผ๋ก ์ ๋ฌ๋๊ณ ,
์ด ๋ "์๋ฏธ ์๋ ๊ธฐ์ธ๊ธฐ"๊ฐ ์ ๋ฌ๋์ด์ผ ์๊ฐ ๋ฐฉํฅ์ ์์กด ๊ด๊ณ๋ฅผ ์ ๋๋ก ํ์ตํ ์ ์์
์ฆ, ๊ณผ๊ฑฐ๋ก ์ ํ๋๋ ์๋๊ฐ(Hidden state)์ ๋ํ ๊ธฐ์ธ๊ธฐ์ ํ์ตํด์ผ ํ ์๋ฏธ ์๋ ์ ๋ณด๊ฐ ๋ค์ด ์๊ณ , ๊ทธ๊ฒ์ด ๊ณผ๊ฑฐ๋ก ์ ์ ๋ฌ๋์ด์ผ ์ฅ๊ธฐ ์์กด ๊ด๊ณ๋ฅผ ํ์ตํ ์ ์๋ค๋ ๋ง๊ณผ ๋์ผํจ.
๋ง์ฝ ์ด ๊ธฐ์ธ๊ธฐ๊ฐ ์ค๊ฐ์ ์์ค๋๊ฑฐ๋ ๊ณผ๋ํ๊ฒ ์ปค์ง๋ค๋ฉด ๋ชจ๋ธ์ ์ฅ๊ธฐ์์กด ๊ด๊ณ๋ฅผ ํ์ตํ ์ ์์ (๊ธฐ์ธ๊ธฐ์ ๋ฌด์จ ์ ๋ณด๊ฐ ๋ด๊ฒจ ์๋ ๊ฑฐ์..?? -> ํ์ตํด์ผํ ์๋ฏธ ์๋ ์ ๋ณด๊ฐ ๋ค์ด ์์. ๊ทธ๋ฌ๋๊น ์ ๋ณด๊ฐ ์ซ์๋ก ํํ๋์ด ์๊ณ ์ด๋ฌํ ๊ท์น์ด ๋ฐ์์ด ๋ ๊ฒ์ด ๊ธฐ์ธ๊ธฐ๋ผ๋ ๊ฒ์ด ๋ง๋๊ฑด๊ฐ..???)
๊ทธ๋ฆฌ๊ณ ๋จ์ํ RNN ๊ณ์ธต์์๋ ์๊ฐ์ ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ์๋ก ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ง๊ฑฐ๋(๊ธฐ์ธ๊ธฐ ์์ค) ํน์ ์ปค์ง๋ ๋ฌธ์ (๊ธฐ์ธ๊ธฐ ํญ์ฃผ)๊ฐ ๋ฐ์ํจ.
RNN์ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ (Gradient Vanishing)
์๋๋ RNN์์ ์๋ ๊ฐ(Hidden state)์ ๊ณ์ฐ ๊ทธ๋ํ์ด๊ณ
๋นจ๊ฐ ์ ์ Back propagation (๊ธฐ์ธ๊ธฐ ์ ํ) ๊ณผ์ ์ ๋ํ๋ธ ๊ฒ์ด๋ค.
๊ธฐ์ธ๊ธฐ ์ ํ์ tanh์ฐ์ฐ๊ณผ MatMul(ํ๋ ฌ๊ณฑ) ์ฐ์ฐ์ ํต๊ณผํ๋ ๊ฒ์ ํ์ธํ ์ ์๋๋ฐ
์ฌ๊ธฐ์ tanh ํจ์์ ์ฃผ๋ชฉํด๋ณด์
tanh ํจ์์ ๋ฏธ๋ถ์ ๋ค์๊ณผ ๊ฐ๊ณ ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋ํ๋ก ๊ทธ๋ ค๋ณด๋ฉด ์๋์ ๊ทธ๋ํ๊ฐ ๋์จ๋ค
์ ๊ทธ๋ํ์์ ์ดํด๋ณด๋ฉด dy/dx์ ๊ทธ๋ํ๋ ๊ฐ์ด 0~1์ด๊ณ , x๊ฐ 0์ผ๋ก๋ถํฐ ๋ฉ์ด์ง์๋ก ์์์ง๋ค
์ฆ, ์ญ์ ํ์์๋ ๊ธฐ์ธ๊ธฐ๊ฐ tanh ๋ ธ๋๋ฅผ ์ง๋ ๋๋ง๋ค ๊ฐ์ ๊ณ์ํด์ ์์์ง๋ค๋ ์๋ฏธ์
๋ฐ๋ผ์ ๊ณ์ธต์ด ๋ง์์๋ก tanhํจ์๋ฅผ ๋ง์ด ํต๊ณผํ๊ธฐ ๋๋ฌธ์
๊ธฐ์ธ๊ธฐ๋ ๊ณ์ํด์ ์์์ง๊ฒ ๋๊ณ ์์ค๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ
RNN์ ๊ธฐ์ธ๊ธฐ ํญ์ฃผ ๋ฌธ์ (Gradient Exploding)
๊ธฐ์ธ๊ธฐ ํญ์ฃผ ๋ฌธ์ ๋ MatMul(ํ๋ ฌ๊ณฑ) ์ฐ์ฐ์ ์ํด ๋ฐ์ํ๋ค
๊ธฐ์ธ๊ธฐ ํญ์ฃผ ๋ฌธ์ ๋ฅผ ์ดํด๋ณด๊ธฐ ์ํด ํ๋ ฌ ๊ณฑ ์ฐ์ฐ์๋ง ์ฃผ๋ชฉํ์ฌ ์ญ์ ํ ์ ๊ธฐ์ธ๊ธฐ ๋ณํ๋ฅผ ์ดํด๋ณด์
์๋ฅ๋ก๋ถํฐ dh๋ผ๋ ๊ธฐ์ธ๊ธฐ๊ฐ ํ๋ฌ์จ๋ค๊ณ ๊ฐ์ ํ์ ๋,
Matmul ๋
ธ๋์์์ ๊ธฐ์ธ๊ธฐ, ์ญ์ ํ๋ dhWh_t๋ผ๋ ํ๋ ฌ ๊ณฒ์ผ๋ก ๊ณ์ฐ๋จ.
๊ทธ๋ฆฌ๊ณ ํด๋น ๊ณ์ฐ์ ์๊ณ์ด ๋ฐ์ดํฐ์ ์๊ฐ ํฌ๊ธฐ(๊ณ์ธต ํฌ๊ธฐ) ๋งํผ ๋ฐ๋ณตํจ
์ฌ๊ธฐ์ ์ฃผ๋ชฉํ ์ ์ ์ด ํ๋ ฌ ๊ณฑ์
์์๋
๋งค๋ฒ ๋๊ฐ์ ๊ฐ์ค์น๊ฐ ์ฌ์ฉ๋๋ค๋ ๊ฒ
ํด๋น ๊ฐ์ค์น์ ๊ฐ์ ๋ฐ๋ผ ๊ธฐ์ธ๊ธฐ๊ฐ ์ง์์ ์ผ๋ก ์ฆ๊ฐํ ์๋ ๊ฐ์ํ ์๋ ์์ (๋จผ์)
์ด์ ๋ํ ๋์ฑ
- ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ํด๊ฒฐ
: ๊ธฐ์กด์ RNN์์ ๋ฐ์ํ๋ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ ๊ฒ์ด
'๊ฒ์ดํธ๊ฐ ์ถ๊ฐ๋ RNN'์ด๋ฉฐ ๋ํ์ ์ผ๋ก LSTM๊ณผ GRU๊ฐ ์๋ค
- ๊ธฐ์ธ๊ธฐ ํญ์ฃผ ๋ฌธ์ ์ ๋์ฑ
: ๊ธฐ์ธ๊ธฐ ํญ์ฃผ์ ์ ํต์ ์ธ ๊ธฐ๋ฒ์ผ๋ก๋ ๊ธฐ์ธ๊ธฐ ํด๋ฆฌํ (Gradient Clipping)์ด๋ผ๋ ๊ธฐ๋ฒ์ด ์์
๋ง ๊ทธ๋๋ก ๊ธฐ์ธ๊ธฐ ๊ฐ์ ์๋ฅด๋ ๊ฒ์ ์๋ฏธํจ
๊ธฐ์ธ๊ธฐ ํญ์ฃผ๋ฅผ ๋ง๊ธฐ ์ํด ๋จ์ํ ํน์ ์๊ณ๊ฐ์ ๋๋ ๊ธฐ์ธ๊ธฐ ๊ฐ์ ์๋ผ๋ด๊ฑฐ๋ ํน์ ๋น์จ๋งํผ ๊ณฑํ์ฌ ๊ธฐ์ธ๊ธฐ ๊ฐ์ ๊ฐ์์ํค๋ ๋ฐฉ๋ฒ์
(์ ํํ ๋ฌด์จ ๋ฐฉ๋ฒ์ธ์ง ๋ค์ ๊ณต๋ถํด๋ณด๊ณ , ๋ํ ์ ํต์ ์ธ ๊ธฐ๋ฒ์ด๋ผ๋ ๊ฒ ๋ณด๋๊น ๋ค๋ฅธ ๊ธฐ๋ฒ ํน์ ๊ธฐ์ธ๊ธฐ ํญ์ฃผ ๋ฌธ์ ์ ๊ดํ ํด๊ฒฐ๋ฐฉ๋ฒ๋ค์ด ๋์จ ๊ฒ ๊ฐ์๋ฐ ๊ทธ๊ฒ ๋ฌด์์ธ์ง ์์๋ณด๊ธฐ)
https://chonchony.tistory.com/47
์ฐธ๊ณ ๋ผ๊ณ ๋งํ๊ณ ๊ทธ๋ฅ ๋ค ๋ฒ ๊ปด๋ฒ๋ฆฌ๊ธฐ..ใ
๊ทธ๋๋ ์กฐ๊ธ์ ์ดํด๊ฐ ๋ ๊ฒ ๊ฐ์ผ๋.. ์ผ๋จ ์ค๋์ ์ฌ๊ธฐ๊น์ง ํ๊ณ
๋ด์ผ ๋ค์ ๋ณต์ต ๋ฐ ๋ฐ์ค ์น ๋ถ๋ถ๋ค ๋ ์ฐพ์๋ณด๊ฒ ์