LSTM - clover3/Roland GitHub Wiki
LSTM ๋คํธ์ํฌ
LSTM ์ Hidden state s_t ๋ ๋ค์๊ณผ ๊ฐ์ ์์์ ํตํด์ ๊ณ์ฐ๋๋ค.

-
i, f, o ๋ ๊ฐ๊ฐ ์ ๋ ฅ, ๊น๋จน์, ์ถ๋ ฅ ๊ฒ์ดํธ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ๊ฐ ๊ฒ์ดํธ์ ์์์ ๋์ผํ ํํ๋ฅผ ๋๊ณ ์๊ณ , ํ๋ผ๋ฏธํฐ ํ๋ ฌ๋ง ๋ค๋ฅธ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
-
์ ๋ ฅ ๊ฒ์ดํธ๋ ์ hidden state ๊ฐ์ ๊ณ์ฐํ๋๋ฐ ์์ด์ ์ ๋ ฅ ๋ฒกํฐ๊ฐ์ ์ผ๋งํผ ์ฌ์ฉํ ์ง๋ฅผ ์ ํด์ค๋๋ค.
-
๊น๋จน์ ๊ฒ์ดํธ๋ ์ด์ state ๊ฐ์ ์ผ๋งํผ ๊ธฐ์ตํ๊ณ ์์์ง๋ฅผ ์ ํด์ฃผ๊ณ ,
-
์ถ๋ ฅ ๊ฒ์ดํธ๋ ํ์ฌ์ ๋ด๋ถ state ๊ฐ์ ์ผ๋งํผ์ LSTM ๋ชจ๋์ ๋ฐ๊นฅ์ชฝ์์ (๋ ๊น์ ๋ ์ด์ด๋ ์ดํ ์๊ฐ ์คํ ์์) ๋ณผ ์ ์์์ง๋ฅผ ์ ํด์ค๋๋ค.
-
์ด๋ค์ด ๊ฒ์ดํธ๋ผ๊ณ ๋ถ๋ฅด๋ ์ด์ ๋, sigmoid ํจ์๊ฐ ์ด ๋ฒกํฐ๋ค์ ๊ฐ์ 0์์ 1 ์ฌ์ด๋ก ์ ํ์ํค๊ณ ์ด๋ฅผ ๋ค๋ฅธ ๋ฒกํฐ์ elementwise ๊ณฑ์ ์ทจํ๋ค๋ฉด ๊ทธ ๋ค๋ฅธ ๋ฒกํฐ๊ฐ์ ์ผ๋ง๋งํผ์ ํต๊ณผ์ํฌ์ง๋ฅผ ์ ํด์ฃผ๋ ๊ฒ๊ณผ ๊ฐ๊ธฐ ๋๋ฌธ์ ๋๋ค.
-
๋ชจ๋ ๊ฒ์ดํธ๋ค์ $d_s$๋ก hidden state์ ๊ฐ์ ์ฐจ์์ ๊ฐ๊ฒ ๋ฉ๋๋ค.
-
g๋ ํ์ฌ ์ ๋ ฅ๊ณผ ์ด์ hidden state์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐ๋ ํ์ฌ hidden state ๊ฐ์ "ํ๋ณด"๋ผ๊ณ ํ ์ ์์ต๋๋ค. RNN ๊ธฐ๋ณธํ ๋ชจ๋ธ์์ ๋ณธ ๊ฒ๊ณผ ๋์ผํ ์์์ผ๋ก ๊ณ์ฐ๋๋๋ฐ, ํ๋ผ๋ฏธํฐ ํ๋ ฌ์ ์ด๋ฆ๋ง U์ W๊ฐ U_g์ W_g๋ก ๋ฐ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ์ฒ๋ผ g๋ฅผ ๋ฐ๋ก ์ hidden state๋ก ์ ํ๋ ๋์ , ์ฌ๊ธฐ์๋ ์ ๋ ฅ ๊ฒ์ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ถ๋ง ์ฌ์ฉํฉ๋๋ค.
-
c_t๋ LSTM ์ ๋(๋ชจ๋)์ ๋ด๋ถ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ค. ์ด๊ฒ์ ์ด์ ์ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ์ธ c_tโ1๊ณผ ๊น๋จน์ ๊ฒ์ดํธ์ ๊ณฑ, ๊ทธ๋ฆฌ๊ณ ์๋ก ๊ณ์ฐ๋ hidden state g์ ์ ๋ ฅ ๊ฒ์ดํธ์ ๊ณฑ์ ํฉ์น ํํ๋ก ๊ณ์ฐ๋ฉ๋๋ค. ๋ฐ๋ผ์, ๊ฐ๋จํ ๋งํ๋ฉด ์ด์ ๋ฉ๋ชจ๋ฆฌ์ ํ์ฌ์ ์ ์ ๋ ฅ์ ์ด๋ป๊ฒ ํฉ์น ๊น์ ๋ํ ๋ถ๋ถ์ ๋๋ค. ์ด์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๋ถ ๋ฌด์ํ๋๋ก (๊น๋จน์ ๊ฒ์ดํธ ๊ฐ์ด ์ ๋ถ 0) ์ ํ๊ฑฐ๋ ์๋ก์ด ์ ๋ ฅ๊ฐ์ ํต์งธ๋ก ๋ฌด์ํ๋๋ก (์ ๋ ฅ ๊ฒ์ดํธ ๊ฐ์ด ์ ๋ถ 0) ํ ์๋ ์์ง๋ง, ๋ณดํต์ ์ด ์ ๊ทน๋จ๋ณด๋ค๋ ์ค๊ฐ์ ์ข์ ์ง์ ์ ์ฐพ๋๋ก ํฉ๋๋ค