[Week 4-2] ๐Ÿ’ฌRNN, LSTM, GRU

Jadeยท2021๋…„ 2์›” 16์ผ
0

๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech

๋ชฉ๋ก ๋ณด๊ธฐ
17/54

4์ฃผ์ฐจ ํ™”์š”์ผ

  • RNN
  • LSTM

๐Ÿ“[RNN]

์‹œํ€€์Šค ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ชจ๋ธ. ๊ฐ ํƒ€์ž„์Šคํ…๋งˆ๋‹ค ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ x์™€ ์ด์ „ ํƒ€์ž„์Šคํ…์—์„œ RNN ๋ชจ๋“ˆ์ด ๊ณ„์‚ฐํ•œ hidden state ๋ฒกํ„ฐ h_(t-1)๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ํ˜„์žฌ ํƒ€์ž„์Šคํ…์˜ ์ถœ๋ ฅ์œผ๋กœ hidden state ๋ฒกํ„ฐ h_t๋ฅผ ๋‚ด๋ณด๋‚ธ๋‹ค.

๋ฌธ์žฅ์„ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ฐ ํƒ€์ž„์Šคํ…์˜ ์ž…๋ ฅ์ด ๋‹จ์–ด๊ฐ€ ๋œ๋‹ค. hidden state ๋ฒกํ„ฐ๋Š” ๊ณผ๊ฑฐ ํƒ€์ž„์Šคํ…์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ผ์ข…์˜ ๊ธฐ์–ต ์—ญํ• ์„ ํ•˜๋Š”๋ฐ, ํ˜„์žฌ ํƒ€์ž„์Šคํ…์—์„œ ์ƒˆ๋กœ์šด ์ž…๋ ฅ x๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ๊ทธ๊ฒƒ์„ ๋ฐ˜์˜ํ•ด ๋‹ค์Œ ํƒ€์ž„์Šคํ…์œผ๋กœ ๊ธฐ์–ต์„ ๋„˜๊ฒจ์ค€๋‹ค.

RNN ๋ชจ๋ธ์€ ๋งค ํƒ€์ž„์Šคํ…๋งˆ๋‹ค ๋™์ผํ•œ ๊ตฌ์กฐ์™€ ๋™์ผํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ(๊ฐ€์ค‘์น˜, ๋ฐ”์ด์–ด์Šค)๋ฅผ ๊ฐ–๋Š”๋ฐ, ๊ฐ™์€ ๋ชจ๋ธ์ด ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๋ฉฐ ๋ฐ˜๋ณตํ•ด์„œ ์—ฐ์‚ฐํ•œ๋‹ค๋Š” ์˜๋ฏธ์—์„œ RNN(Recurrent Neural Network)์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ถ€๋ฅธ๋‹ค.


๐Ÿ“[LSTM]

๊ธฐ๋ณธ์ ์ธ 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 ๋ ˆ์ด์–ด๋„ ์•ฝ๊ฐ„ ์กฐ์ •ํ•˜์—ฌ ํ•™์Šต์ด ์ž˜ ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.

profile
๋ฐ˜๊ฐ€์›Œ์šฉ

0๊ฐœ์˜ ๋Œ“๊ธ€