RNN(Recurrent Neural Network)

๐Ÿ”น RNN(์ˆœํ™˜ ์‹ ๊ฒฝ๋ง, Recurrent Neural Network)์ด๋ž€?

RNN์€ ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ(์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋Š” ๋ฐ์ดํ„ฐ)๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ธ๊ณต ์‹ ๊ฒฝ๋ง์ž…๋‹ˆ๋‹ค.
โœ… ๊ธฐ์กด์˜ ์‹ ๊ฒฝ๋ง๊ณผ ๋‹ฌ๋ฆฌ, ์ด์ „ ๋‹จ๊ณ„์˜ ์ •๋ณด๋ฅผ ๊ธฐ์–ตํ•˜์—ฌ ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ(๋ฌธ์žฅ, ์Œ์„ฑ, ์ฃผ๊ฐ€ ๋“ฑ)์— ๊ฐ•ํ•จ
โœ… ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP), ์Œ์„ฑ ์ธ์‹, ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ ๋ถ„์„(์ฃผ์‹ ์˜ˆ์ธก) ๋“ฑ์— ํ™œ์šฉ

๐Ÿ”น RNN์˜ ํ•ต์‹ฌ ๊ฐœ๋…

๊ธฐ์กด์˜ **์ผ๋ฐ˜์ ์ธ ์‹ ๊ฒฝ๋ง(Fully Connected Network, CNN)**์€ ๋…๋ฆฝ์ ์ธ ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ RNN์€ “์ˆœํ™˜ ๊ตฌ์กฐ”๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ด์ „ ๋‹จ๊ณ„์˜ ์ถœ๋ ฅ์„ ๋‹ค์Œ ๋‹จ๊ณ„์˜ ์ž…๋ ฅ์œผ๋กœ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์˜ˆ์ œ: ๋ฌธ์žฅ ์˜ˆ์ธก
๐Ÿ’ฌ ์ž…๋ ฅ: "๋‚˜๋Š” ๋ฐฅ์„" โ†’ ์ถœ๋ ฅ: "๋จน๋Š”๋‹ค"
๐Ÿ’ฌ ์ž…๋ ฅ: "๋‚˜๋Š” ์˜ํ™”๋ฅผ" โ†’ ์ถœ๋ ฅ: "๋ณธ๋‹ค"

๐Ÿ‘‰ ์ผ๋ฐ˜ ์‹ ๊ฒฝ๋ง์€ "๋‚˜๋Š”"๊ณผ "๋ฐฅ์„"์„ ๋ณ„๊ฐœ์˜ ์ž…๋ ฅ์œผ๋กœ ๋‹ค๋ฃจ์ง€๋งŒ,
๐Ÿ‘‰ RNN์€ “๋‚˜๋Š””์ด๋ž€ ๋‹จ์–ด๋ฅผ ๊ธฐ์–ตํ•œ ์ฑ„ "๋ฐฅ์„"์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ “๋จน๋Š”๋‹ค”๋ฅผ ์˜ˆ์ธก!

๐Ÿ”น RNN์˜ ๊ตฌ์กฐ

RNN์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ˜๋ณต๋˜๋Š”(hidden state๋ฅผ ๊ณต์œ ํ•˜๋Š”) ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

โœ… RNN ๊ธฐ๋ณธ ๊ตฌ์กฐ

  • ์ž…๋ ฅ(Input): ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ (์˜ˆ: ๋‹จ์–ด, ์Œ์„ฑ ์‹ ํ˜ธ, ์ฃผ๊ฐ€ ๋“ฑ)
  • ์ˆจ์€ ์ƒํƒœ(Hidden State, h): ์ด์ „ ๋‹จ๊ณ„์˜ ์ •๋ณด๋ฅผ ๊ธฐ์–ต
  • ์ถœ๋ ฅ(Output): ์˜ˆ์ธก๋œ ๊ฐ’ (์˜ˆ: ๋‹ค์Œ ๋‹จ์–ด, ๊ฐ์ • ๋ถ„์„ ๊ฒฐ๊ณผ ๋“ฑ)

๐Ÿ“Œ RNN ์ˆ˜์‹ht=f(Whhtโˆ’1+Wxxt)h_t = f(W_h h_{t-1} + W_x x_t)htโ€‹=f(Whโ€‹htโˆ’1โ€‹+Wxโ€‹xtโ€‹)yt=Wyhty_t = W_y h_tytโ€‹=Wyโ€‹htโ€‹

โœ… ํ˜„์žฌ ์ƒํƒœ hth_thtโ€‹ = ์ด์ „ ์ƒํƒœ htโˆ’1h_{t-1}htโˆ’1โ€‹ + ํ˜„์žฌ ์ž…๋ ฅ xtx_txtโ€‹
โœ… ์ด๋ ‡๊ฒŒ ์ด์ „ ์ •๋ณด๊ฐ€ ๋ฐ˜์˜๋˜๋ฉด์„œ “์ˆœํ™˜”๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง

๐Ÿ”น RNN์ด ๊ฐ•๋ ฅํ•œ ์ด์œ 

โœ… ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ โ†’ ํ…์ŠคํŠธ, ์Œ์„ฑ, ์ฃผ๊ฐ€ ๋“ฑ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Œ
โœ… ์ด์ „ ์ •๋ณด ๊ธฐ์–ต ๊ฐ€๋Šฅ โ†’ ๋ฌธ์žฅ์ด๋‚˜ ์‹œ๊ณ„์—ด ํŒจํ„ด์„ ์ธ์‹ํ•˜๋Š” ๋ฐ ์œ ์šฉ
โœ… ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ณต์œ  โ†’ CNN๋ณด๋‹ค ์—ฐ์‚ฐ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ์Œ

๐Ÿ”น RNN์˜ ํ•œ๊ณ„ (Vanishing Gradient Problem)

ํ•˜์ง€๋งŒ RNN์€ ๊ธด ์‹œํ€€์Šค๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ ๐Ÿ˜ข

  • ๊ธฐ์–ต์ด ๊ธˆ๋ฐฉ ์‚ฌ๋ผ์ง โ†’ “๋‚˜๋Š” ์–ด์ œ ๋ง›์žˆ๋Š” โ€ฆ ๐Ÿ”” (๋„ˆ๋ฌด ๊ธด ๋ฌธ์žฅ์—์„œ “๋‚˜๋Š””์„ ๊ธฐ์–ต ๋ชปํ•จ)
  • Vanishing Gradient (๊ธฐ์šธ๊ธฐ ์†Œ์‹ค ๋ฌธ์ œ) โ†’ ์—ญ์ „ํŒŒ ๊ณผ์ •์—์„œ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ์ •๋ณด๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š์Œ
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒซ ๋‹จ์–ด(“๋‚˜๋Š””)๊ฐ€ ๋งˆ์ง€๋ง‰ ๋‹จ์–ด(“๋จน์—ˆ๋‹ค”)์— ์˜ํ–ฅ์„ ์ฃผ๊ธฐ ์–ด๋ ค์›€

๐Ÿ”น RNN์˜ ๋ฐœ์ „๋œ ํ˜•ํƒœ

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋” ๋ฐœ์ „๋œ RNN ๋ชจ๋ธ์ด ๋“ฑ์žฅํ•จ!

โœ… 1. LSTM (Long Short-Term Memory)

LSTM์€ RNN์˜ ๊ธฐ์–ต๋ ฅ ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•œ ๋ชจ๋ธ ๐Ÿš€

  • ์…€ ์ƒํƒœ(Cell State)์™€ ๊ฒŒ์ดํŠธ(Gates) ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ์„ ํƒ์ ์œผ๋กœ ๊ธฐ์–ต
  • ์žฅ๊ธฐ ๊ธฐ์–ต(Long-term Dependency) ์œ ์ง€ ๊ฐ€๋Šฅ

๐Ÿ“Œ LSTM์˜ ํ•ต์‹ฌ ๊ตฌ์กฐ
1๏ธโƒฃ ์ž…๋ ฅ ๊ฒŒ์ดํŠธ(Input Gate) โ†’ ์ƒˆ ์ •๋ณด ์–ผ๋งˆ๋‚˜ ์ €์žฅํ• ์ง€ ๊ฒฐ์ •
2๏ธโƒฃ ๋ง๊ฐ ๊ฒŒ์ดํŠธ(Forget Gate) โ†’ ๋ถˆํ•„์š”ํ•œ ์ •๋ณด ์‚ญ์ œ
3๏ธโƒฃ ์ถœ๋ ฅ ๊ฒŒ์ดํŠธ(Output Gate) โ†’ ์ตœ์ข… ์ถœ๋ ฅ ๊ฒฐ์ •

๐Ÿ‘‰ ์˜ˆ์ œ: ๋ฌธ์žฅ ์ฒ˜๋ฆฌ
๐Ÿ’ฌ "๋‚˜๋Š” ์–ด์ œ ์•„์ฃผ ๋ง›์žˆ๋Š” ํ–„๋ฒ„๊ฑฐ๋ฅผ" โ†’ "๋จน์—ˆ๋‹ค"
โœ” LSTM์€ “๋‚˜๋Š””์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์˜ค๋žซ๋™์•ˆ ๊ธฐ์–ตํ•˜์—ฌ ์˜ฌ๋ฐ”๋ฅธ ์ถœ๋ ฅ์„ ์ƒ์„ฑ ๊ฐ€๋Šฅ!

โœ… 2. GRU (Gated Recurrent Unit)

GRU๋Š” LSTM๋ณด๋‹ค ๋” ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ๋กœ ๋น„์Šทํ•œ ํšจ๊ณผ๋ฅผ ๋ƒ„

  • ๊ณ„์‚ฐ๋Ÿ‰์ด ์ ๊ณ  ๋น ๋ฆ„
  • LSTM๋ณด๋‹ค ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์€ ๊ฑฐ์˜ ๋น„์Šท
  • NLP์—์„œ LSTM๊ณผ GRU ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•จ

๐Ÿ”น RNN vs CNN ๋น„๊ต

๋ชจ๋ธ์ฃผ์š” ํŠน์ง•์‚ฌ์šฉ ์˜ˆ์‹œ
CNN์ด๋ฏธ์ง€, ๊ณต๊ฐ„์  ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜, ๊ฐ์ฒด ํƒ์ง€
RNN์‹œํ€€์Šค ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ, ์Œ์„ฑ ์ธ์‹, ์ฃผ๊ฐ€ ์˜ˆ์ธก
LSTM์žฅ๊ธฐ ๊ธฐ์–ต ๊ฐ€๋Šฅ๋ฌธ์žฅ ์ƒ์„ฑ, ๋ฒˆ์—ญ, ์Œ์„ฑ ์ธ์‹
GRULSTM๋ณด๋‹ค ๊ฐ€๋ณ๊ณ  ๋น ๋ฆ„์ฑ—๋ด‡, ์‹ค์‹œ๊ฐ„ ๋ฒˆ์—ญ

๐Ÿ”น RNN ์ ์šฉ ์‚ฌ๋ก€

๐Ÿ“Œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP) โ†’ ๋ฒˆ์—ญ, ๊ฐ์„ฑ ๋ถ„์„, ์ฑ—๋ด‡
๐Ÿ“Œ ์Œ์„ฑ ์ธ์‹ โ†’ Siri, Google Assistant
๐Ÿ“Œ ์‹œ๊ณ„์—ด ์˜ˆ์ธก โ†’ ์ฃผ๊ฐ€ ์˜ˆ์ธก, ๋‚ ์”จ ์˜ˆ์ธก
๐Ÿ“Œ ์ž์œจ์ฃผํ–‰ โ†’ ์ฐจ๋Ÿ‰ ์„ผ์„œ ๋ฐ์ดํ„ฐ ๋ถ„์„

๐Ÿ”น ๊ฒฐ๋ก 

โœ… RNN์€ ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ(ํ…์ŠคํŠธ, ์Œ์„ฑ, ์ฃผ๊ฐ€ ๋“ฑ)๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฐ•๋ ฅํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜
โœ… ํ•˜์ง€๋งŒ ๊ธฐ์–ต ์œ ์ง€ ๋ฌธ์ œ(๊ธฐ์šธ๊ธฐ ์†Œ์‹ค)๊ฐ€ ์กด์žฌ โ†’ LSTM, GRU๊ฐ€ ํ•ด๊ฒฐ์ฑ…
โœ… ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ, ์Œ์„ฑ ์ธ์‹, ์‹œ๊ณ„์—ด ๋ถ„์„์—์„œ ํ•„์ˆ˜์ ์ธ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ ๐Ÿš€

โœ” ์ด๋ฏธ์ง€๋ฅผ ๋‹ค๋ฃฌ๋‹ค๋ฉด CNN, ์‹œํ€€์Šค๋ฅผ ๋‹ค๋ฃฌ๋‹ค๋ฉด RNN!
โœ” ๋” ๊ธด ๊ธฐ์–ต์ด ํ•„์š”ํ•˜๋ฉด LSTM์ด๋‚˜ GRU ์‚ฌ์šฉ!

Leave a Comment