https://velog.io/@dauuuum/RNN
https://velog.io/@dscwinterstudy/%EB%B0%91%EB%B0%94%EB%8B%A5%EB%B6%80%ED%84%B0-%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94-%EB%94%A5%EB%9F%AC%EB%8B%9D2-6%EC%9E%A5
ํด๋น ๊ฒ์๊ธ์ ์์ ๋ง์ด ์ฐธ์กฐํ๋ค.
RNN์ ์ํ ์ ๊ฒฝ๋ง์ผ๋ก ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ํ์ค ๋จ์๋ก ์ฒ๋ฆฌํ๋ค.
Sequential(์ฐ์ํ) ๋ฐ์ดํฐ๋ฅผ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๊ณ ์๋ ์ ๊ฒฝ๋ง์ผ๋ก ์ฃผ๋ก ์์ฐ์ด ์ฒ๋ฆฌ์ ๊ฐ์, ์๋ฏธ๋ฅผ ์ฐพ์๋ด๋ ๋ถ์์์ ๊ฐ์ ์ ๊ฐ์ง๋ค.
์ํ์ค๋? ๋ฌธ์ฅ๊ฐ์ด ๋จ์ด๊ฐ ๋์ด๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ ๊ทธ๋ฆผ์์ A๋ cell
์ด๋ผ๊ณ ํ๋๋ฐ RNN์ ์๋์ธต์์ ํ์ฑํ ํจ์๋ฅผ ํตํด ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ณด๋ด๋ ์ญํ ์ ํ๋ ๋
ธ๋๋ก ์ด์ ์ ๊ฐ์ ๊ธฐ์ตํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ์
์ด๋ผ๊ณ ํ๋ค.
-> ์๋์ธต์ ๋ฉ๋ชจ๋ฆฌ ์
์์ ๋์จ ๊ฐ์ด ๋ค์ ์๋์ธต์ ๋ฉ๋ชจ๋ฆฌ ์
์ ์
๋ ฅ๋๋ค.
์๋์ธต :
์ถ๋ ฅ์ธต :
step 2๊ฐ step 1์ ์ถ๋ ฅ๊ฐ๊ณผ x1๋ก 2๊ฐ์ ์ ๋ ฅ์ ๊ฐ์ง๋ฏ์ด ์์๋ ๊ฐ ์ ์ ์ ๋ ฅ์ผ๋ก ๊ฐ์ง๋ค.
Input๊ณผ Output์ ๊ธธ์ด์ ์ ์ฝ๋ฐ์ง ์๊ณ ์ ์ฐํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ ์๋ค.
RNN์ ๋น๊ต์ ์งง์ ์ํ์ค(sequence)์ ๋ํด์๋ง ํจ๊ณผ๋ฅผ ๋ณด์ธ๋ค. time step๊ฐ ๊ธธ์ด์ง ์๋ก ์์ชฝ์ ์ ๋ณด๊ฐ ๋ค์ชฝ์ผ๋ก ์ถฉ๋ถํ ์ ๋ฌ๋์ง ๋ชปํ๋ ํ์์ด ๋ฐ์ํ๋ค.
์ ๊ทธ๋ฆผ์ ์ฒซ๋ฒ์งธ ์ ๋ ฅ๊ฐ์ธ ์ ์ ๋ณด๋์ ์ง์ ๋จ์์ผ๋ก ํํํ์ ๋, ์์ด ์ ์ฐจ ์์์ง๋ ๊ฒ์ผ๋ก ์์ ์ด ์ง๋ ์๋ก ์ ์ ๋ณด๋์ด ์์ค๋์ด๊ฐ๋ ๊ณผ์ ์ ํํํ๊ณ ์๋ค. ๋ค๋ก ๊ฐ์๋ก ์ ์ ๋ณด๋์ ์์ค๋๊ณ , ์์ ์ด ์ถฉ๋ถํ ๊ธด ์ํฉ์์๋ ์ ์ ์ฒด ์ ๋ณด์ ๋ํ ์ํฅ๋ ฅ์ ๊ฑฐ์ ์๋ฏธ๊ฐ ์์ ์๋ ์๋ค.
๋ฒกํฐ๊ฐ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅ๋๋๋ฐ, ์ด๋ sequential ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์์ธ์ด์ง๋ง, GPU ์ฐ์ฐ์ ์ฅ์ ์ธ ๋ณ๋ ฌํ๋ฅผ ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ RNN ๊ธฐ๋ฐ์ ๋ชจ๋ธ์ GPU ์ฐ์ฐ์ ํ์์ ๋ ์ด์ ์ด ๊ฑฐ์ ์๋ค.
์ธ์ด ๋ชจ๋ธ(LM)์ ์ฃผ์ด์ง ๋จ์ด๋ค์ ๊ธฐ์ด๋ก ๋ค์์ ๋์ฌ ๋จ์ด๋ฅผ ์์ธกํ๋ ์ผ์ ํ๋ค.
"Tom was watching TV in his room. Mary came into the room. Mary said hi to
?
"
?
์ ๋ค์ด๊ฐ ๋จ์ด๋ TOM
์ด๋ค.
RNNLM์ด ์ฌ๋ฐ๋ฅธ ๋ต์ ๋ด๋๊ธฐ ์ํด์๋ ํ์ฌ ๋งฅ๋ฝ์์ "Tom was watching TV in his room."
๊ณผ " Mary came into the room."
์ด๋ผ๋ ์ ๋ณด๋ฅผ ๊ธฐ์ตํด์ผ ํ๋ค.
-> ํด๋น ์ ๋ณด๋ฅผ RNN์ ์๋์ธต์์ ๋ณด๊ดํด์ผ ํ๋ค.
RNNLM์ ๊ด์ ์์ ๋ณด๋ฉด ์ ๋ต ๋ ์ด๋ธ์ด Tom
์์ ํ์ตํ ๋ ์ค์ํ ๊ฒ์ด ๋ฐ๋ก RNN ๊ณ์ธต์ ์กด์ฌ์ด๋ค. RNN ๊ณ์ธต์ด ๊ณผ๊ฑฐ ๋ฐฉํฅ์ผ๋ก '์๋ฏธ ์๋ ๊ธฐ์ธ๊ธฐ'๋ฅผ ์ ๋ฌํจ์ผ๋ก ์๊ฐ ๋ฐฉํฅ์ ์์กด ๊ด๊ณ๋ฅผ ํ์ตํ ์ ์๋ค.
๊ธฐ์ธ๊ธฐ์๋ ํ์ตํด์ผ ํ ์๋ฏธ์๋ ์ ๋ณด๊ฐ ๋ค์ด ์๊ณ , ์ด๋ฅผ ๊ณผ๊ฑฐ๋ก ์ ๋ฌํจ์ผ๋ก์จ ์ฅ๊ธฐ ์์กด ๊ด๊ณ๋ฅผ ํ์ตํ๋ค.
ํ์ง๋ง ์ค๊ฐ์ ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐ์ํ๋ฉด ๊ฐ์ค์น ๋งค๊ฐ๋ณ์๋ ์ ํ ๊ฐฑ์ ๋์ง ์๊ฒ ๋์ด ์ฅ๊ธฐ ์์กด ๊ด๊ณ๋ฅผ ํ์ตํ ์ ์๊ฒ ๋๋ค.
ํ์ฌ๋ RNN ๊ณ์ธต์์ ์๊ฐ์ ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ง๊ฑฐ๋ ์ปค์ ธ ์์ค ํน์ ํญ๋ฐ๋๋ ์ํฉ์ด๋ค.
์์ ๋ฌธ์ ์ ๋์
ํ๋ฉด T๋ฒ์งธ ์ ๋ต ๋ ์ด๋ธ์ด Tom
์ธ ๊ฒฝ์ฐ์ ํด๋นํ๋ค.
์ด๋ ์๊ฐ ๋ฐฉํฅ ๊ธฐ์ธ๊ธฐ์ ์ฃผ๋ชฉํ๋ฉด ์ญ์ ํ๋ก ์ ํด์ง๋ ๊ธฐ์ธ๊ธฐ๋ ์ฐจ๋ก๋ก tanh
,+
,MatMul(ํ๋ ฌ ๊ณฑ)
์ฐ์ฐ์ ํต๊ณผํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
+
์ ์ญ์ ํ๋ ์๋ฅ์์ ์ ํด์ง๋ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ทธ๋๋ก ํ๋ฅ๋ก ํ๋ฌ๋ณด๋ด ๊ธฐ์ธ๊ธฐ๋ ๋ณํ์ง ์๋๋ค.
tanh
์ ๊ฒฝ์ฐ์ ๋ฏธ๋ถ๋ ๊ฒฝ์ฐ๋ฅผ ๊ทธ๋ํ๋ก ๊ทธ๋ฆฌ๋ฉด ์๋์ ๊ฐ๋ค.
๊ทธ๋ฆผ์์ ์ ์ ์ด y=tanh(x)์ ๋ฏธ๋ถ์ด๊ณ ๊ฐ์ 1.0 ์ดํ์ด๋ฉฐ, x๊ฐ 0์ผ๋ก๋ถํฐ ๋ฉ์ด์ง์๋ก ์์์ง๋ค. ์ฆ, ์ญ์ ํ์์ ๊ธฐ์ธ๊ธฐ๊ฐ tanh
๋
ธ๋๋ฅผ ์ง๋ ๋๋ง๋ค ๊ฐ์ ๊ณ์ ์์์ง๋ค๋ ์๋ฏธ์ด๋ค. ๋ํ tanh ํจ์๋ฅผ T๋ฒ ํต๊ณผํ๋ฉด ๊ธฐ์ธ๊ธฐ๋ T๋ฒ ๋ฐ๋ณตํด์ ์์์ง๋ค.
MatMul(ํ๋ ฌ ๊ณฑ)
๋
ธ๋์ ๊ฒฝ์ฐ tanh
๋
ธ๋๋ฅผ ๋ฌด์ํ๊ธฐ๋ก ํ๋ค. ๊ทธ๋ฌ๋ฉด RNN ๊ณ์ธต์ ์ญ์ ํ ์ ๊ธฐ์ธ๊ธฐ๋ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด MatMul
์ฐ์ฐ์ ์ํด์๋ง ๋ณํํ๊ฒ ๋๋ค.
์๋ฅ๋ก๋ถํฐ dh
๋ผ๋ ๊ธฐ์ธ๊ธฐ๊ฐ ํ๋ฌ์จ๋ค๊ณ ๊ฐ์ ํ์.
์ด๋ MatMul
๋
ธ๋์์์ ์ญ์ ํ๋ dh(W_h^T)
๋ผ๋ ํ๋ ฌ ๊ณฑ์ผ๋ก ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ค. ๊ทธ ํ ๊ฐ์ ๊ณ์ฐ์ ์๊ณ์ด ๋ฐ์ดํฐ์ ์๊ฐ ํฌ๊ธฐ๋งํผ ๋ฐ๋ณตํ๋ค. ์ฃผ์ํ ์ ์ ํ๋ ฌ ๊ณฑ์
์์ ๋งค๋ฒ ๋๊ฐ์ Wh
๊ฐ์ค์น๋ฅผ ์ด๋ค๋ ๊ฒ์ด๋ค.
+
๋ ธ๋๋ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ทธ๋๋ก ๋ณด๋ด ๋ณํ์ง ์๊ณtanh
๋ ธ๋๋ฅผ ์ง๋ ๋๋ง๋ค ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ง์ง๋งMatMul
๋ ธ๋๋tanh
๋ ธ๋๋ฅผ ๋ฌด์ํ๋ ์ต์ข ์ ์ผ๋ก ๊ธฐ์ธ๊ธฐ๋MatMul
์ฐ์ฐ์ ์ํด์๋ง ๋ณํ
์ฆ, (์? dh๊ฐ ์๊ฐ์ ๋น๋กํ๋ ?) ํ๋ ฌ ๊ณฑ์ ๊ธฐ์ธ๊ธฐ๋ ์๊ฐ์ ๋น๋กํด ์ง์์ ์ผ๋ก ์ฆ๊ฐ/๊ฐ์ํจ ์ ์ ์ ์์ผ๋ฉฐ ์ฆ๊ฐํ ๊ฒฝ์ฐ ๊ธฐ์ธ๊ธฐ ํญ๋ฐ์ด๋ผ๊ณ ํ๋ค. ๊ธฐ์ธ๊ธฐ ํญ๋ฐ์ด ์ผ์ด๋๋ฉด ์ค๋ฒํ๋ก๋ฅผ ์ผ์ผ์ผ NaN ๊ฐ์ ๊ฐ์ ๋ฐ์์ํจ๋ค. ๋ฐ๋๋ก ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐ์ํ๋ฉด ๊ธฐ์ธ๊ธฐ ์์ค์ด ์ผ์ด๋๊ณ ์ด๋ ์ผ์ ์์ค ์ดํ๋ก ์์์ง๋ฉด ๊ฐ์ค์น ๋งค๊ฐ๋ณ์๊ฐ ๋ ์ด์ ๊ฐฑ์ ๋์ง ์์ผ๋ฏ๋ก ์ฅ๊ธฐ ์์กด ๊ด๊ณ๋ฅผ ํ์ตํ ์ ์๊ฒ ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ํด๊ฒฐ์ ์ํด LSTM์ด ๋ฑ์ฅํ์๋ค !!