순환 신경망 (RNN) 이란? [4편]

2024. 8. 18. 17:45·딥러닝 (Deep Learning)/[05] - 논문 리뷰
728x90
반응형

Recurrent Neural Network (RNN) 

Recurrent Neural Network (RNN)은 시계열 데이터와

같이 순차적으로 이루어진 데이터를 처리하는 데 적합한 신경망입니다.

RNN의 기본 아이디어는 이전 시점의 정보를 기억하고 이를 현재 시점의 입력과 함께 사용하여 출력을 생성하는 것입니다.

RNN의 기본 개념

RNN은 다음과 같은 수식으로 표현됩니다:

\( h_{t} = \text{tanh}(W_{hh} h_{t-1} + W_{xh} x_{t}) \)

 

여기서:

  • \( h_{t} \) 는 현재 시점 t의 은닉 상태입니다.
  • \( h_{t-1} \) 는 이전 시점의 은닉 상태입니다.
  • \( W_{hh} \) 는 은닉 상태에서 은닉 상태로의 가중치입니다.
  • \( W_{xh} \) ​는 입력에서 은닉 상태로의 가중치입니다.
  • \( x_{t} \) 는 현재 시점의 입력입니다.

RNN은 시간이 흐름에 따라 은닉 상태를 업데이트하며, 이를 통해 시계열 데이터를 처리할 수 있습니다.


RNN의 문제점: Vanishing Gradient와 Exploding Gradient

RNN의 역전파(backpropagation) 과정에서 두 가지 주요 문제가 발생할 수 있습니다.

기울기 소실(Vanishing Gradient)과 기울기 폭발(Exploding Gradient)입니다.

Vanishing Gradient 문제

역전파 과정에서 다음과 같은 미분이 계산됩니다:

\( \frac{\partial h_t}{\partial h_{t-1}} = \text{tanh}'(W_{hh} h_{t-1} + W_{xh} x_{t}) W_{hh} \)

여기서 tanh′\text{tanh}'tanh′ 함수의 값은 일반적으로 0과 1 사이입니다.

이 값이 반복적으로 곱해지면, 기울기 값이 점점 작아져 0에 가까워지는 기울기 소실 문제가 발생할 수 있습니다.

Exploding Gradient 문제

반대로, 가중치 \( W_{hh} \) 가 큰 경우 동일한 행렬이 반복적으로 곱해지면

기울기가 기하급수적으로 증가하여 기울기 폭발 문제가 발생할 수 있습니다.

이는 학습 과정에서 매우 큰 값으로 인해 모델이 불안정해지고 학습이 실패하게 됩니다.

문제 해결 방법: Gradient Clipping

기울기 폭발 문제를 해결하기 위한 한 가지 방법은 Gradient Clipping입니다.

Gradient Clipping은 역전파 과정에서 기울기가 특정 임계값(threshold)을 초과할 경우

이를 잘라내어 최대값으로 설정하는 방법입니다.


결론

RNN은 시계열 데이터를 처리하는 데 유용하지만, 역전파 과정에서 기울기 소실과 기울기 폭발 문제를 겪을 수 있습니다. 이를 해결하기 위해 Gradient Clipping 기법을 사용하여 기울기의 크기를 제한할 수 있습니다.

하지만, 이 방법만으로는 충분하지 않을 수 있으며, LSTM이나 GRU와 같은 고급 구조를 사용 된다.

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'딥러닝 (Deep Learning) > [05] - 논문 리뷰' 카테고리의 다른 글

R-CNN 논문 리뷰  (3) 2024.09.03
AlexNet 논문 리뷰  (1) 2024.08.23
순환 신경망 (RNN) 이란? - BPTT [3편]  (1) 2022.03.13
LSTM 이란? [2-1편]  (0) 2022.03.11
순환 신경망 (RNN) 이란? [1편]  (1) 2022.03.11
'딥러닝 (Deep Learning)/[05] - 논문 리뷰' 카테고리의 다른 글
  • R-CNN 논문 리뷰
  • AlexNet 논문 리뷰
  • 순환 신경망 (RNN) 이란? - BPTT [3편]
  • LSTM 이란? [2-1편]
AI-BT
AI-BT
인공지능 (AI)과 블록체인에 관심있는 블로그
  • AI-BT
    AI-BLACK-TIGER
    AI-BT
  • 전체
    오늘
    어제
    • 분류 전체보기 (133)
      • 딥러닝 (Deep Learning) (81)
        • [01] - 딥러닝 이란? (5)
        • [02] - 데이터 (4)
        • [03] - 모델 (17)
        • [04] - 학습 및 최적화 (14)
        • [05] - 논문 리뷰 (17)
        • [06] - 평가 및 결과 분석 (4)
        • [07] - Serving (6)
        • [08] - 프로젝트 (14)
      • 머신러닝 & 딥러닝 개념 (0)
        • 머신러닝 (0)
        • 딥러닝 (0)
      • Quant 투자 (12)
        • 경제 (9)
        • 퀀트 알고리즘 & 전략 개요 (3)
      • 딥러닝 Math (4)
      • AI Naver boost camp (22)
        • 회고 (19)
        • CV 프로젝트 가이드 (3)
      • Python (1)
      • 개발 및 IT 용어 (6)
        • IT 용어 (2)
        • VS Code (1)
      • 코인 정보 (7)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
AI-BT
순환 신경망 (RNN) 이란? [4편]
상단으로

티스토리툴바