๐ง 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์๋ ์ถ๋ ฅ๊ฒ์ดํธ๊ฐ ์๋๋ฐ, ์ฆ ์ ์ฒด ์ํ ๋ฒกํฐ๊ฐ ๋งค ์์ ์ถ๋ ฅ๋๋ค๋ ๋ป์ด๋ค.
'A.I > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
self.DL.(05). Auto-Encoder. &. GAN (Generative Adversarial Networks) (0) | 2023.01.19 |
---|---|
self.DL.(04-1). RNN (์ํ ์ ๊ฒฝ๋ง)์ค์ต_IMDB (0) | 2023.01.19 |
self.DL.(03-1). CNN (ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง)์ค์ต_MNIST (0) | 2023.01.18 |
self.DL.(03). CNN (Convolution Neural Network) (0) | 2023.01.18 |
self.DL.(02-3). regression (ํ๊ท์ ๊ฒฝ๋ง)์ค์ต (0) | 2023.01.18 |