순환 신경망 (Recurrent Neural Network)

컴퓨터과학·AI
한 줄 정의: 이전 시점의 정보를 은닉 상태로 기억하며 순서가 있는 데이터를 순차적으로 처리하는 신경망입니다.

쉽게 풀면

소설을 읽을 때 우리는 지금 이 문장만 보는 게 아니라, 앞서 읽은 내용을 계속 머릿속에 기억하면서 이해합니다. RNN(순환 신경망)도 이와 비슷하게 작동합니다. 문장이나 시계열 데이터처럼 순서가 중요한 데이터를 한 시점씩 읽어 나가면서, 그때까지 처리한 내용을 "은닉 상태"라는 요약 메모 형태로 계속 들고 다닙니다. 다음 단어(혹은 다음 시점 값)를 처리할 때는 이 메모와 새 입력을 함께 참고해서 판단합니다. 그래서 문장의 앞부분과 뒷부분이 서로 연결된 의미를 가질 때 특히 유용합니다.

왜 중요한가

RNN은 순서가 의미를 가지는 데이터, 즉 시계열이나 문장, 음성 신호 등을 다루는 연구에서 오랫동안 표준적인 도구로 쓰여 왔습니다. 이전 시점의 정보를 요약해 다음 시점 처리에 반영한다는 아이디어 자체가 이후 등장한 어텐션 메커니즘, 트랜스포머 같은 시퀀스 모델링 기법들의 개념적 출발점이 되었기 때문에, 최신 논문에서도 비교 대상이나 배경 설명으로 자주 언급됩니다.

논문에서는 이렇게 쓰입니다

"본 연구에서는 순차적으로 수집된 센서 데이터를 처리하기 위해 RNN 기반 모델을 사용하였다."

이 문장은 "데이터가 시간 순서를 가지고 있어서, 이전 시점의 정보를 기억하며 처리하는 RNN 구조를 모델로 채택했다"는 뜻입니다.

"환자의 시계열 생체 신호를 입력으로 받는 RNN 모델을 학습하여, 다음 시점의 이상 징후 발생 가능성을 예측하였다."

의료 데이터 분석에서는 혈압이나 심박수처럼 시간에 따라 변하는 생체 신호를 RNN으로 처리해, 과거 흐름을 반영한 예측을 시도하는 경우가 많습니다.

"기존 통계 기반 언어모델과 비교하기 위해 RNN 기반 언어모델을 베이스라인으로 함께 평가하였다."

자연어처리 논문에서는 트랜스포머 계열 모델의 성능을 강조하기 위한 비교 기준(베이스라인)으로 RNN 계열 모델을 함께 제시하는 경우가 흔합니다.

조금 더 깊게 보면

기본 RNN은 시퀀스가 길어질수록 앞부분의 정보가 점점 옅어지는 문제를 겪는데, 이를 완화하기 위해 LSTM(장단기 메모리)이나 GRU 같은 변형 구조가 게이트라는 메커니즘을 도입해 기억할 정보와 잊을 정보를 선택적으로 조절합니다. 또한 RNN은 학습 과정에서 시간 축을 따라 오차를 역전파하는 BPTT(시간 역전파) 방식을 사용하는데, 이 과정에서 기울기가 지나치게 작아지거나 커지는 현상이 장기 의존성 문제의 근본 원인 중 하나로 꼽힙니다.

주의할 점

RNN은 문장이 길어질수록 앞부분의 정보가 점점 흐려져서 잊혀지는 "장기 의존성" 문제를 겪습니다. 이 한계를 극복하기 위해 등장한 것이 어텐션 메커니즘이며, 이를 전면적으로 활용한 트랜스포머 구조는 오늘날 대부분의 언어 모델에서 RNN을 대체하고 있습니다.

관련 용어