한 줄 정의

텍스트, 음성, 시계열 데이터와 같이 순서가 중요한 시퀀스(Sequence) 데이터를 처리하기 위해, 이전 단계의 연산 결과(은닉 상태)를 메모리처럼 축적하여 다음 단계 연산에 반영하는 순환 연결 구조의 인공 신경망이다.

핵심 요지

  • 순차적 데이터 처리: 입력 데이터를 한꺼번에 처리하는 심층 신경망(DNN)과 달리, 데이터를 시간 단계(Timestep)별로 쪼개어 하나씩 순차적으로 처리한다.
  • 은닉 상태(Hidden State) 전송: 과거의 입력 정보를 가공하고 누적한 은닉 상태를 다음 시점으로 계속 전달하여 네트워크에 기억력을 부여한다.
  • 가중치 공유(Weight Sharing): 매 타임스텝마다 새로운 가중치를 학습하지 않고, 동일한 가중치()와 편향()을 재사용함으로써 연산 매개변수를 절약한다.
  • 병렬 연산 불가능성: 이전 단계의 은닉 상태() 연산이 끝나야 현재 단계() 연산을 시작할 수 있는 의존성 구조 때문에, 하드웨어(GPU)의 병렬 연산(Parallel Processing) 이점을 누리지 못하고 속도가 느리다.
  • 기울기 소실(Vanishing Gradient) 및 폭주(Exploding Gradient): 역전파(Backpropagation) 과정에서 공유 가중치()가 시퀀스 길이에 비례해 누적되어 곱해지면서 기울기가 완전히 사라지거나(소실) 기하급수적으로 비대해져(폭주) 장기 의존성(Long-term dependency) 학습에 실패한다.

상세

심층 신경망(DNN)과의 차이점

전통적인 단방향 심층 신경망(Feedforward DNN)은 데이터를 한꺼번에 유입구로 동시에 받아들여 일방통행으로 연산한다. 중간 노드가 이전 연산 결과를 되돌아볼 수 있는 통로가 존재하지 않으므로, 선후 관계가 중요한 문맥 분석이나 시계열 분석을 수행하려면 인간이 직접 가공한 특성(Feature)을 주입해야 한다.

반면, RNN은 내부의 순환 연결(Recursive connection) 구조를 통해 스스로 데이터의 흐름과 시간의 변화를 모델링한다.

수학적 작동 원리

단일 RNN 셀 내부에서는 다음과 같은 공식으로 은닉 상태와 예측값을 매 타임스텝마다 연산한다.

  • : 현재 시점 의 입력 변수 (예: 오늘의 주가, 현재 단어 토큰)
  • : 이전 시점 의 은닉 상태 (가공된 과거의 기억)
  • : 현재 시점에서 갱신된 은닉 상태로, 다음 시점 의 셀로 전송됨
  • : 모든 시점에서 일정하게 유지(공유)되는 가중치 파라미터
  • : 출력 값을 -1에서 1 사이로 압축하는 활성화 함수

고질적인 한계와 수학적 원인

  1. 느린 학습 속도: 순차 의존적 계산 구조로 인해 CPU나 GPU의 멀티코어를 활용한 병렬 분산 학습이 불가능하며, 시퀀스의 길이가 50단계면 1단계부터 50단계까지 차례대로 루프를 돌아야 한다.
  2. 기울기 소실(Vanishing Gradient): 역전파 오차를 통해 최적의 를 찾기 위해 연쇄 법칙(Chain Rule)을 적용할 때, 가 시퀀스 길이만큼 거듭제곱된다. 만약 가 1보다 작은 값(예: 0.5)일 때 시퀀스 길이가 50이라면, 오차 변화량에 가 곱해져 사실상 업데이트가 멈추는 동결 상태가 된다.
  3. 기울기 폭주(Exploding Gradient): 반대로 가 1보다 큰 값(예: 1.5)이라면, 과 같이 거대한 숫자가 곱해지며 기울기가 폭발적으로 늘어나 손실 함수 공간을 수렴하지 못하고 무작위로 발산하게 만든다.

이와 같은 한계를 극복하기 위해 기억의 수문을 능동적으로 개폐하는 게이트 메커니즘을 이식한 장단기 메모리(LSTM, Long Short-Term Memory) 아키텍처가 등장하게 되었다.

예시

어제와 오늘의 주가가 모두 0으로 유지된 상황에서 내일의 주가 예측 시나리오:

  • 모델 변수 가정: ,
  • 초기 상태 , 입력 데이터
  1. 시점 (어제):
  2. 시점 (오늘): (최종 내일의 예측 주가는 0달러)

이때 역전파 과정에서 기울기는 각 타임스텝의 의 곱에 비례하므로 시퀀스가 50일 때 이면 기울기 소실이 발생하고, 이면 기울기 폭주가 일어나 학습에 실패하게 된다.

관련 노트