입력값을 독립적으로 처리 → 과거 입력값과의 연관성이 없음.
정적 데이터(이미지, 텍스트 등) 처리 → 순서와 관계없이 개별 데이터로 분석.
시간적 순서 고려 불가능 → 같은 입력이라도 앞뒤 관계를 이해하지 못함.
이전 입력값을 기억하여 다음 값을 예측 → 순차적인 데이터에서 패턴을 학습.
연속적인 데이터 처리 가능 → 문장, 음성, 주식 데이터 등 시계열 데이터에 강함.
시간적 순서 고려 가능 → 앞의 정보가 뒤의 예측에 영향을 줌.
음성 인식 (Speech Recognition)
기계 번역 (Machine Translation)
챗봇
음악 작곡, 시, 대본 작성
자동완성 (예: "동해물과 백두산이 마르고" → "닳도록")
RNN은 이전 상태를 기억하지만, 오래된 정보는 점점 약해짐.
h 값(은닉 상태)이 계속 누적되면서 정보가 손실될 가능성이 큼.
중요한 정보가 뒤에 있을 경우, 앞의 정보가 잊혀질 수 있음.
이전의 상태를 기억을 하는데, 이전의 상태 h값에는
h_1 동해물과
h_2 동해물과 백두산이
h_3 동해물과 백두산이 마르고
h_4 ......
역전파를 할 때, 시간이 길어질수록 기울기가 작아져서 학습이 어려워짐.
즉, 먼 과거의 정보가 현재의 예측에 반영되기 어려움.
→ 이 문제를 해결하기 위해 등장한 모델: LSTM, GRU
✅ DNN은 독립적인 데이터를 처리하는 반면, RNN은 순차적인 데이터를 다룸.
✅ RNN은 과거 상태를 기억하지만, 시간이 길어질수록 정보 손실과 기울기 소실 문제가 발생.
✅ 이를 해결하기 위해 LSTM, GRU 같은 개선된 모델이 등장.
✅ RNN 자체는 잘 쓰이지 않지만, 딥러닝을 이해하는 데 중요한 개념.
✅ AI 면접에서도 RNN과 관련된 개념을 자주 물어봄.