RNN 순환 신경망, Recurrent Neural Network
RNN(순환 신경망)은 문장·음성처럼 순서가 있는 데이터를 하나씩 차례로 읽으면서, 앞에서 본 내용을 '기억'으로 넘겨 다음 판단에 쓰는 인공 신경망이다.
어떻게 작동하나
RNN은 입력을 한 번에 하나씩(예: 단어 하나씩) 받는다. 각 단계에서 지금 들어온 입력과 직전까지의 기억을 합쳐 새 기억을 만드는데, 이를 Hidden State(숨은 상태)라고 부른다. 이 기억이 다음 단계로 계속 전달되기 때문에 '순환'이라는 이름이 붙었다. 마지막 단계의 기억을 바탕으로 다음 단어를 예측하거나 문장의 감정을 분류하는 식으로 결과를 낸다.
왜 중요한가
일반적인 신경망은 입력 길이가 정해져 있고 순서를 따로 고려하지 않는다. RNN은 길이가 제각각인 문장이나 소리를 순서대로 처리할 수 있어, 한때 번역, 음성 인식, 문장 생성의 기본 도구였다. 기억이 빨리 흐려지는 문제를 줄이려고 LSTM, GRU 같은 개선형도 나와 널리 쓰였다. 순서 데이터를 신경망으로 다루는 방법의 출발점으로서 지금도 기초 개념으로 배운다.
알아 둘 점
RNN은 문장이 길어질수록 앞부분 정보가 잘 전달되지 않는 약점이 있다. 또 단어를 하나씩 차례로 처리해야 해서 GPU로 한꺼번에 병렬 계산하기 어렵고 학습이 느리다. 이런 한계 때문에 오늘날 LLM은 대부분 트랜스포머를 쓴다. 다만 최근 상태 공간 모델처럼 '기억을 이어 가며 순서대로 처리'하는 아이디어를 효율적으로 되살린 구조들이 다시 주목받고 있다.
예시
초기 스마트폰 키보드의 다음 단어 추천, 음성 비서의 음성 인식, 온라인 번역기 등에 RNN 계열 모델(특히 LSTM)이 널리 쓰였다. 지금은 상당수가 트랜스포머로 바뀌었지만, 센서 데이터나 주가처럼 시간 순서가 있는 데이터를 가볍게 분석하는 곳에서는 여전히 쓰인다.