Artificial Intelligence/Deep Learning
[딥러닝] RNN (Recurrent Neural Network) - 순환신경망 구조
EunjiBest
2022. 2. 24. 03:19
[딥러닝] RNN (Recurrent Neural Network) - 순환신경망 구조
RNN은 자연어 처리를 한다던지, 주가 예측을 한다던지
시간의 흐름이 매우 중요한 시계열 데이터에 적합한 모델이다.
기본적인 RNN 구조도이다.
하나씩 뜯어보면
인풋값이 X0으로 들어가서 -> A에서 어떤 가중치(w)에 대한 계산이 되고, -> 결과값이 h0이된다.
-> 첫번째 A 가중치(w)가 두번째 A로 전달이 되면서 인풋값 X1과 합쳐져고 -> 결과값 h1이 된다.
-> 두번째 A 가중치가 세번째 A로 전달이 되고 인풋값 X2와 합쳐지고...
이런식으로 계속 전달 전달 전달...이 되는 구조인 것을 확인할 수 있다.
위에 기본적인 구조를
Vanilla RNN이라고 한다. 가장 초기 버전이다.
이 Vanilla RNN은 좋은 성능을 내지 못했는데,
Vanishing / Exploding Gradient 문제 때문이다.
무슨말이냐 하면,,.!
X0에서 X1, X2, ... Xt까지 수많은 레이어를 거치면서
X0의 의미나 중요성이 Xt까지 전달되지 못하고
그라디언트 소실 문제가 발생이 된다는 말이다.
이 문제를 해결할 수 있는
LSTM 레이어에 대해서는 다음에 포스팅 해보도록 하겠다.!

반응형