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) ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋ณดํ†ต์€ ์ด ์–‘ ๊ทน๋‹จ๋ณด๋‹ค๋Š” ์ค‘๊ฐ„์˜ ์ข‹์€ ์ง€์ ์„ ์ฐพ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค