[딥러닝] 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 레이어에 대해서는 다음에 포스팅 해보도록 하겠다.!

반응형
'Artificial Intelligence > Deep Learning' 카테고리의 다른 글
Hands-On Machine Learning(핸즈온 머신러닝) - 10장 연습문제 (5) | 2022.07.19 |
---|---|
[딥러닝] LSTM(Long Short Term Memory) (8) | 2022.02.25 |
[딥러닝] Embeding Layer / 차원의 저주 (curse of dimensionality) /자연어 처리 / 단어 백터화 (13) | 2022.02.23 |
[딥러닝] Windowed Dataset 구성 옵션 ( Tensorflow 시계열 데이터 분석) / 딥러닝 미래 예측하기 (2) | 2022.02.22 |
[딥러닝] Activation Function 활성함수 한번에 이해하기(Sigmoid, Softmax, Relu) (6) | 2022.02.18 |
댓글