RNN (Recurrent Neural Network)

Soogyung Gwon·2026년 5월 9일

구름을잡아라

목록 보기
56/60
  • RNN (순환 신경망) 은 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델.
  • 시퀀스들을 처리하기 위해 고안된 모델을 시퀀스 모델이라 함
  • 그 중 RNN은 가장 기본적인 인공 신경망 시퀀스 모델
  • LSTM, GRU 또한 근본적으로 RNN에 속함
  • 이전 단어들에 대한 이해를 바탕으로 다음 단어를 이해하는 방법을 사용하며 내부에 정보를 지속하는 루프로 구성된 신경망


Xt{X_t} 현재의 입력이 Cell을 거쳐 과거와 현재의 정보를 반영하여 yt{y_t} 가 됨

  • RNN은 입력의 길이만큼 신경망이 펼쳐짐
  • 피드 포워드 신경망에 시점(time step)이라는 개념을 도입한 것과 같음
  • RNN의 입력과 출력은 모두 기본적으로 벡터 단위를 가정
  • 각 시점의 입력은 주로 단어 벡터 혹은 형태소(한국어) 벡터

대표적인 유형

RNN의 기본 구조

  • 은닉층에 있는 RNN의 처리 단위는 셀(cell)
  • 셀의 출력을 은닉 상태(hidden state)라고 한다.
  • RNN은 시점에 따라서 입력을 받는데 현제 시점의 hidden state인 ht{h_t} 연산을 위해 직전 시험의 hidden state인 h(t1){h_(t-1)}를 입력 받아 과저의 정보를 기억한다.

행렬 연산(Matrix Calculation)

하이퍼볼릭탄젠트 함수

  • -1 ~ 1의 범위 값으로 값을 반환하는 함수
  • 반환값의 범위가 시그모이드 함수보다 크므로 일반적으로 은닉층에서 시그모이드 보다 더 잘 동작한다.

(음수, 0, 양수 모두 표현이 가능하고 출력 평균이 0 근처가 되기 쉬워서 가중치 업데이트가 한쪽 방향으로 치우치지 않음)

LSTM (Long-Term Dependency Problem)

  • 기존의 RNN은 시점이 길어지면서 앞에 있던 정보가 소실되는 '장기 의존성 문제'를 가지고 있음
  • 기존 RNN의 장기 의존성 문제를 개선하여 기억력을 높인 RNN이 LSTM

x(t1),xt,x(t+1){x_(t-1), x_t, x_(t+1)} - 각 시점의 입력값
h(t1),ht,x(h+1){h_(t-1), h_t, x_(h+1)} - 은닉 상태 (다음 시점으로 전달되는 출력)
σ - 활성화 함수 (시그모이드, 게이트)
tanh - 하이퍼볼릭탄젠트 함수 (새로운 후보 생성)
W - 가중치



GRU (Gated Recurrent Unit, GRU)

  • LSTM과 마찬가지로 장기 의존성 문제에 강함
  • 3개의 게이트가 있던 LSTM과 다르게 업데이트, 리셋 게이트로 2개

Deep Bidirectional Recurrent Neural Networks

  • RNN의 은닉층을 높이거나, 역방향으로 입력을 참고하는 RNN을 추가하여 양방향으로 만들 수있다.
  • 또는 양방향 RNN의 은닉층을 추가하여 깊은 양방향 RNN을 만들 수도 있다.

profile
오랜시간 망설였던 코딩을 다시 해보려고 노력하고 있는 사람

0개의 댓글