๐Ÿง  RNN (Recurrent Neural Network

๐Ÿคซ RNN, ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง์ด๋ž€?
RNN์€ ํŠน์ •์‹œ์  ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ sequence data(์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๊ฐ’์ด ๋‹ฌ๋ผ์ง€๋Š” ๋ฐ์ดํ„ฐ)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
๋˜ํ•œ ์ง€๊ธˆ๊นŒ์ง€ ๋‹ค๋ฃฌ ์‹ ๊ฒฝ๋ง์€ feed forward ์‹ ๊ฒฝ๋ง ์ฆ‰, ํ•œ๋ฒˆ ์ถœ๋ ฅ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์ง€๋งŒ
RNN์˜ ๊ฒฝ์šฐ, ์ถœ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์Œ์‹œ์ ๊นŒ์ง€ ๊ธฐ์–ตํ–ˆ๋‹ค๊ฐ€ ๋‹ค์Œ ์‹œ์ ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ AI๋”ฅ ๋Ÿฌ๋‹์„ ์‚ฌ์šฉํ•œ ์‹œ๊ณ„์—ด ์ž‘์—…์— ๋Œ€ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง(RNN)์ธ๋ฐ, RNN์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์‹œ๊ฐ„์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์˜ ์ผ๋ฐ˜ํ™”์— ์žˆ๋‹ค. ์‹œํ€€์Šค๋Š” (๋Œ€๋ถ€๋ถ„) ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— MLP ๊ฐ™์€ ๊ณ ์ „์ ์ธ ๋”ฅ๋Ÿฌ๋‹ ๊ตฌ์กฐ๋Š” ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ ๋Š” ์ ์šฉํ•  ์ˆ˜ ์—†๊ณ  MLP์˜ ๊ฐ€์ค‘์น˜ ์ˆ˜๋Š” absolutely hugeํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ „์ฒด ๊ตฌ์กฐ์—์„œ ๊ฐ€์ค‘์น˜๊ฐ€ ๊ณต์œ ๋˜๋Š” RNN์„ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. (in sequential data)



activation function์ด tanh์ผ ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์€ ๊ณผ์ •์œผ๋กœ ์ˆ˜์‹์ด ์ง„ํ–‰๋œ๋‹ค.
๋‹ค๋งŒ ์€๋‹‰์ธต์—์„œ ํŽธํ–ฅ ๋ฒกํ„ฐ(bias vector)๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด์ „์ฒ˜๋Ÿผ ๋”ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.


๐Ÿคซ RNN์˜ ์ข…๋ฅ˜



๐Ÿคซ ์‹œ๊ฐ„์„ ํ†ตํ•œ Backpropagation

single time step์ผ ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์€ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰๋œ๋‹ค.
input์ด hidden layer๋ฅผ ๊ฑฐ์ณ output์— ๋„์ฐฉํ•˜๋Š”๋ฐ, ์ด๋•Œ ์‹ค์ œ์™€ ์˜ˆ์ธก์˜ ์ฐจ์ด๊ณ„์‚ฐ์„ ์œ„ํ•ด Lossํ•จ์ˆ˜๊ฐ€ ๊ณ„์‚ฐ๋œ๋‹ค.
์ „์ฒด Loss๊ฐ€ ๊ณ„์‚ฐ๋˜๋ฉด forward propagation์ด ์™„๋ฃŒ๋˜๋ฉฐ ๊ทธ ๋‹ค์Œ๋ถ€ํ„ฐ ๋„ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์—ญ์ „ํŒŒ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

 

๐Ÿง  LSTM (Long Short Term Memory

๐Ÿคซ LSTM ์˜ ๋“ฑ์žฅ๋ฐฐ๊ฒฝ: RNN์˜ Gradient ์†Œ์‹ค, ํญ์ฃผ ๋ฌธ์ œ
RNN์€ ์€๋‹‰์ธต์„ ๊ฑฐ์นœ ๊ฒฐ๊ณผ๊ฐ’์„ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ์— ๊ทธ๋กœ ์ธํ•ด gradient ์†Œ์‹ค ๋ฐ ํญ์ฃผ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“Œ Exploding Gradient Problem 
- ๊ตฌ๊ฐ„์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ๋ฌดํ•œ๋Œ€๋กœ ์ด๋™ํ•˜๊ณ  ๋ถˆ์•ˆ์ •ํ•œ ํ”„๋กœ์„ธ์Šค๋กœ ํ•ด๋‹น๊ฐ’์ด NaN์ด ๋œ๋‹ค.

๐Ÿ“Œ Vanishing Gradient Problem 
- ๊ตฌ๊ฐ„์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ 0์ด ๋˜์–ด ์žฅ๊ธฐ๊ฐ„ ํ•™์Šต์ด ์–ด๋ ค์›Œ ์ง„๋‹ค.
- ์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์˜ ์ ‘๊ทผ์ด ์‹œ๋„๋˜์—ˆ๋Š”๋ฐ, ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
 โˆ™ ReLU ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ์‚ฌ์šฉ
 โˆ™ Forget Gate๋ฅผ ์ด์šฉํ•œ LSTM ๊ตฌ์กฐ
 โˆ™ weight matrix W๋ฅผ orthogonal matrix๋กœ ์ดˆ๊ธฐํ™”, ์ „์ฒด training์— ์‚ฌ์šฉ (orthogonal์€ explode๋˜๊ฑฐ๋‚˜ vanish๋˜์ง€ ์•Š์Œ)





๐Ÿคซ LSTM์ด๋ž€? 

์•„๋ž˜๊ตฌ์กฐ์ฒ˜๋Ÿผ ์ž…๋ ฅ ๊ฒŒ์ดํŠธ(input gate), ์‚ญ์ œ ๊ฒŒ์ดํŠธ(forget gate), cell state, hidden unit์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.




 

 

๐Ÿง  GRU (Gated  Recurrent  Unit

๐Ÿคซ GRU
GRU๋Š” LSTM๊ณผ ๋น„์Šทํ•œ ์›๋ฆฌ๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ ์กฐ๊ธˆ ๋” ๊ฐ„์†Œํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ๊ณ„์‚ฐ์ด ๊ฐ„ํŽธํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ LSTM๋ณด๋‹ค ํ•™์Šต๋Šฅ๋ ฅ์ด ๋‹ค์†Œ ๋‚ฎ์€๋ฉด์„ ๋ณด์ธ๋‹ค.

LSTM๊ณผ ๋‹ค๋ฅด๊ฒŒ GRU๋Š” ์ด์ „ ์‹œ์ ์—์„œ ๋ฐ›๋Š” ๋ฒกํ„ฐ๊ฐ€ hํ•˜๋‚˜์ด๋‹ค.
๋˜ํ•œ ๋ฒกํ„ฐ z๊ฐ€ ์ž…๋ ฅ๊ณผ ์‚ญ์ œ๊ฒŒ์ดํŠธ๋ฅผ ๋ชจ๋‘ ์ œ์–ดํ•œ๋‹ค.
GRU์—๋Š” ์ถœ๋ ฅ๊ฒŒ์ดํŠธ๊ฐ€ ์—†๋Š”๋ฐ, ์ฆ‰ ์ „์ฒด ์ƒํƒœ ๋ฒกํ„ฐ๊ฐ€ ๋งค ์‹œ์  ์ถœ๋ ฅ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค.



 

 

+ Recent posts