순환 신경망(RNN)은 텍스트, 음성, 시계열 데이터와 같이 요소의 순서가 의미를 지니는 순차 데이터를 처리하도록 설계된 인공 신경망의 한 부류이다. 각 입력을 독립적으로 처리하는 피드포워드 신경망과 달리, RNN은 순환 연결을 통합한다. 즉, 한 시간 단계에서의 뉴런 출력이 다음 시간 단계의 입력으로 다시 피드백된다. 이러한 피드백 루프는 네트워크가 현재 입력과 이전 은닉 상태를 기반으로 각 단계에서 갱신되는 메모리의 한 형태인 은닉 상태를 유지할 수 있게 하여, 시퀀스 전반에 걸친 시간적 의존성과 패턴을 포착할 수 있게 한다.
RNN은 비분할 필기 인식, 음성 인식, 자연어 처리, 기계 번역을 포함한 다양한 작업에 적용되어 왔다. 시퀀스를 모델링하는 능력 덕분에 초기 딥러닝 응용의 초석이 되었지만, 2010년대 중반 이후로는 Transformer (architecture) 아키텍처가 많은 시퀀스 처리 작업에서 지배적인 위치를 차지하게 되었다. 그럼에도 불구하고 RNN은 계산 효율성, 실시간 처리가 요구되거나 데이터의 본질적으로 순차적인 특성이 중요한 응용 분야에서 여전히 유효하다.
역사적 배경
신경망에서의 순환 개념은 신경과학과 통계역학 양쪽에 뿌리를 두고 있다. 20세기 초, 해부학자들은 뇌에서 루프 형태의(순환) 구조를 관찰했다. 산티아고 라몬 이 카할은 1901년 소뇌 피질의 "순환 반원"을 기술했고, 라파엘 로렌테 데 노는 1933년 "순환적, 상호 연결"을 식별하여 흥분성 루프가 전정안구 반사에 기여한다고 제안했다. 1940년대에는 도널드 헤브와 같은 연구자들이 뇌의 "재발진 회로"가 단기 기억을 설명할 수 있다고 제안했으며, 워런 매컬러와 월터 피츠는 1943년 신경 모델에 관한 논문에서 순환을 포함하는 네트워크를 고려했다. 이러한 아이디어는 메이시 회의에서 널리 논의되었고 초기 신경 피드백 이론에 영향을 미쳤다.
1960년대에 프랭크 로젠블랫은 그의 퍼셉트론 연구를 헤비안 학습을 사용하는 "폐루프 교차 결합" 네트워크로 확장했으며, 이러한 네트워크가 무한히 깊은 피드포워드 네트워크와 동일하다는 점을 지적했다. 유사한 순환 설계는 이후 나카노 카오루(1971), 아마리 슌이치(1972), 윌리엄 A. 리틀(1974)에 의해 발표되었다. 병행하여, 통계역학은 1920년대 빌헬름 렌츠와 에른스트 이징이 개발한 이징 모델과 1975년 스핀 유리의 셰링턴-커크패트릭 모델을 기여했으며, 이는 피드백이 있는 네트워크를 위한 수학적 프레임워크를 제공했다. 존 홉필드는 1982년과 1984년의 영향력 있는 논문에서 이러한 아이디어를 적용하여 통계역학을 통해 신경 역학을 연구하는 표준 모델이 된 홉필드 네트워크를 도입했다.
현대적 발전
1980년대와 1990년대 신경망 연구의 부흥 동안, 더 실용적인 순환 아키텍처가 등장했다. 마이클 I. 조던은 1986년 조던 네트워크를 제안했고, 제프리 엘먼은 1990년 엘먼 네트워크를 도입했다. 둘 다 시퀀스 모델링의 기초가 되었다. 중요한 돌파구는 1997년 제프 호흐라이터와 위르겐 슈미트후버가 장단기 메모리(LSTM) 아키텍처를 도입하면서 이루어졌는데, 이는 이전 RNN을 괴롭히던 기울기 소실 문제를 완화하여 장거리 의존성 학습을 가능하게 했다. 같은 해에 마이크 슈스터와 쿨딥 K. 팔리왈은 순방향과 역방향 모두에서 시퀀스를 처리하는 양방향 순환 신경망(BRNN)을 제안했고, 양방향성과 LSTM의 결합(BiLSTM)은 매우 효과적임이 입증되었다. 2000년대 중반까지 BiLSTM 네트워크는 음성 인식에서 최첨단 결과를 달성했으며 구글의 음성 검색에 사용되었다.
순환 네트워크는 또한 언어 모델링을 발전시켰다. 2010년 토마시 미콜로프와 동료들은 RNN 기반 언어 모델이 전통적인 n-그램 모델보다 우수할 수 있음을 입증했다. 2014년 조경현과 동료들은 기계 번역을 위한 RNN 인코더-디코더를 제안했고, 또 다른 2014년 연구는 LSTM이 일반적인 시퀀스-투-시퀀스 학습을 수행할 수 있음을 보여주었다. 이러한 모델은 번역에서 최첨단이 되었으며 주의 메커니즘 개발과 궁극적인 트랜스포머의 부상에 중요한 역할을 했다.
구성 및 변형
RNN 기반 시스템은 구성과 아키텍처라는 두 부분으로 이해될 수 있다. 구성은 데이터 흐름에서 여러 RNN이 어떻게 배열되는지를 나타내며, 예를 들어 스택된 레이어나 양방향 처리가 포함된다. 반면 아키텍처는 각 개별 RNN 유닛의 내부 구조를 나타낸다. 일반적인 아키텍처로는 표준 순환 유닛, 게이팅 메커니즘이 있는 LSTM 유닛, 계산 효율적인 대안으로 도입된 게이트 순환 유닛(GRU)이 있다.
RNN은 다대일(분류용), 일대다(생성용), 다대다(시퀀스 라벨링용)와 같은 다양한 구성으로 조직될 수 있다. 양방향 구성은 과거와 미래 맥락을 포착하기 위해 양방향으로 데이터를 처리하며, 인코더-디코더 구성은 한 시퀀스를 다른 시퀀스로 매핑하여 번역과 같은 작업에 유용하다.
훈련 및 과제
RNN은 일반적으로 시간에 따른 역전파를 사용하여 훈련되는데, 이는 네트워크를 시간 단계에 걸쳐 펼치는 Backpropagation의 변형이다. 이 접근 방식은 특히 긴 시퀀스에서 기울기 소실 문제를 겪으며, 이는 장거리 의존성 학습 능력을 제한한다. 기울기는 역방향으로 전파되면서 지수적으로 작아지거나 커질 수 있다. LSTM과 GRU 아키텍처는 정보 흐름을 제어하는 게이팅 메커니즘을 통해 이를 해결하여 기울기가 여러 단계에 걸쳐 지속될 수 있게 한다. Gradient Clipping, Dropout, 신중한 Weight Initialization과 같은 다른 기법도 훈련 안정화에 도움이 된다.
RNN은 데이터를 순차적으로 처리하므로 트랜스포머보다 병렬화가 덜 가능하지만, 짧은 시퀀스의 추론에서는 종종 더 메모리 효율적이고 더 적은 계산 자원을 필요로 한다. 이는 실시간 시스템, 임베디드 장치 및 제약이 엄격한 기타 환경에서 매력적으로 만든다.
관련성 및 트랜스포머와의 비교
2017년 순환 대신 자기 주의에 의존하는 Transformer (architecture) 아키텍처가 도입된 이후, 트랜스포머는 장거리 의존성 처리의 우수성과 더 큰 병렬화 가능성 덕분에 생성 AI 및 LLM을 포함한 대부분의 자연어 처리 작업에서 지배적인 선택이 되었다. 그러나 RNN은 구식이 아니다. 계산 효율성, 실시간 처리 또는 데이터의 본질적인 순차적 특성이 중요한 응용 분야, 예를 들어 온디바이스 음성 인식, 실시간 언어 모델링, 특정 시계열 예측 작업에서 계속 사용되고 있다. 또한 RNN과 트랜스포머의 아이디어를 결합하여 효율성과 정확성의 균형을 추구하는 하이브리드 모델에 대한 연구도 계속되고 있다.
요약하면, RNN은 은닉 상태와 순환을 포함한 순차 데이터 처리를 위한 핵심 개념을 도입한 기본적인 모델 부류이다. 그 유산은 이를 계승한 아키텍처에서 볼 수 있으며, 더 넓은 딥러닝 환경에서 틈새를 유지하고 있다.