RNN
순서가 있는 데이터에서 이전 상태를 다음 계산에 반영하는 순환 구조 신경망.
— 딥러닝 기반 자연어 처리와 시계열 모델링의 고전 아키텍처
앞 문장을 기억한다고 했지만, 문장이 조금만 길어지면 처음에 무슨 말을 했는지 까먹는 인간적인 신경망. 나보다 기억력이 좋을 줄 알았는데 같이 까먹고 있었다
1. 개요
RNN(Recurrent Neural Network, 순환 신경망)은 순서가 있는 데이터를 처리하기 위해 만들어진 딥러닝 모델이다. 문장, 음성, 주가, 센서 로그처럼 앞뒤 순서가 의미를 갖는 데이터에서 이전 시점의 정보를 현재 계산에 반영한다. 기본 RNN은 입력을 하나씩 읽으면서 은닉 상태(hidden state)를 갱신하고, 이 상태를 다음 시점으로 넘긴다. 덕분에 이론상 과거 정보를 기억하며 예측할 수 있다. 하지만 긴 문맥을 안정적으로 기억하기 어렵고 학습이 까다로워, 자연어 처리의 중심 자리는 점차 트랜스포머와 LLM 계열에 넘어갔다.
2. 순환 구조와 은닉 상태
RNN의 핵심은 같은 셀이 시간축을 따라 반복된다는 점이다. 첫 번째 단어를 읽고 은닉 상태를 만들고, 두 번째 단어를 읽을 때 이전 은닉 상태를 함께 사용한다. 이 구조는 “나는 밥을” 다음에 “먹었다”가 자연스럽다는 식의 순서 정보를 반영할 수 있게 해준다. 문제는 이 기억이 완벽하지 않다는 점이다. 시퀀스가 길어지면 초반 정보가 희미해지고, 역전파 과정에서 기울기가 너무 작아지거나 커지는 문제가 생긴다. 이를 완화하기 위해 LSTM과 GRU 같은 변형이 등장했다.
3. Transformer 이전의 왕좌
RNN은 기계 번역, 음성 인식, 텍스트 생성, 시계열 예측에서 오랫동안 표준 모델처럼 쓰였다. 특히 LSTM은 긴 의존성을 어느 정도 다룰 수 있어 실무와 연구에서 널리 사용됐다. 그러나 RNN은 순차적으로 계산해야 해서 병렬화가 어렵고, 긴 문맥을 완전히 안정적으로 다루기 힘들다. 트랜스포머는 어텐션으로 문장 전체를 한 번에 바라보며 병렬 처리가 가능했기 때문에 대규모 학습에서 훨씬 유리했다. 그래서 오늘날 LLM의 주류는 RNN이 아니라 Transformer다.
4. 관련 밈 및 드립
4.1. 장기 기억 상실 신경망
RNN이 과거 정보를 기억한다고 설명하지만, 긴 문장을 넣으면 앞부분 정보를 잊어버리는 현상을 놀리는 말이다. 개발자는 모델이 문맥을 이해한다고 믿었지만, 모델은 방금 본 단어 몇 개만 붙잡고 있었다.
4.2. LSTM이라는 응급처치
기본 RNN의 기억력 문제를 해결하려고 등장한 LSTM은 성능은 좋아졌지만 구조가 복잡해졌다. 게이트가 여러 개 붙은 그림을 처음 본 입문자는 신경망보다 회로도를 공부하는 기분을 느낀다.
5. 여담
- LSTM과 GRU: LSTM은 입력, 삭제, 출력 게이트를 사용해 기억을 조절하고, GRU는 이를 조금 단순화한 구조다.
- 완전히 사라진 기술은 아니다: 초저지연 스트리밍, 작은 모델, 일부 시계열 문제에서는 RNN 계열이 여전히 실용적일 수 있다.
- 언어 모델의 조상: 오늘날 LLM은 Transformer 기반이지만, 텍스트를 순서대로 읽고 다음 토큰을 예측한다는 문제의식은 RNN 언어 모델 시대부터 이어졌다.