Skip to main content
이 문서는 GenAI 개념 섹션의 일부입니다.

RNN (Recurrent Neural Network)

등장 배경

Word2Vec은 단어 수준의 표현은 해결했지만, 문장이나 문서 전체 를 이해하려면 단어의 순서(sequence) 를 처리할 수 있는 모델이 필요했습니다.

핵심 원리

RNN은 이전 시간 단계의 출력을 다음 시간 단계의 입력에 연결 하는 순환 구조입니다:
핵심: 각 시간 단계의 은닉 상태 h_t는 이전 은닉 상태 h_{t-1}을 입력으로 받아, 순차적으로 정보를 전달합니다.
각 시간 단계에서:
이전 은닉 상태 h_{t-1}이 현재 계산에 참여하므로, 이론적으로는 과거의 모든 정보 를 기억할 수 있습니다.

치명적 문제 — 기울기 소실 (Vanishing Gradient)

실제로는 역전파(Backpropagation) 과정에서 기울기가 시간을 거슬러 올라갈수록 기하급수적으로 작아집니다:

LSTM (Long Short-Term Memory, Hochreiter & Schmidhuber, 1997)

RNN의 기울기 소실 문제를 해결하기 위해 고안된 아키텍처입니다. 실제로 널리 활용된 것은 2014년 이후입니다.

핵심 아이디어 — 게이트 메커니즘

LSTM은 세 개의 게이트 로 정보의 흐름을 정교하게 제어합니다:
성공 비유: RNN이 “메모장 한 장”에 모든 것을 적다 보니 앞 내용이 지워지는 것이라면, LSTM은 서류 캐비닛 입니다. 어떤 서류를 보관하고(Input Gate), 어떤 서류를 폐기하고(Forget Gate), 어떤 서류를 꺼낼지(Output Gate)를 판단합니다.

GRU (Gated Recurrent Unit, Cho et al., 2014)

LSTM의 경량화 버전 입니다. 세 개의 게이트를 두 개(Reset, Update) 로 줄여 더 빠른 학습을 가능하게 했습니다.

CNN 기반 NLP — TextCNN (Yoon Kim, 2014)

RNN/LSTM이 시퀀스 처리의 주류로 자리잡던 시기에, 합성곱 신경망(CNN) 으로도 텍스트를 효과적으로 처리할 수 있다는 연구가 등장합니다. 컴퓨터 비전에서 이미지 패턴을 포착하던 CNN을 NLP에 적용한 것입니다.

핵심 아이디어

TextCNN은 다양한 크기의 1D 합성곱 필터 를 텍스트 위로 슬라이딩하여, 로컬 N-gram 패턴 을 포착합니다.

RNN vs CNN for NLP

참고 TextCNN의 의의: RNN만이 텍스트를 처리할 수 있다는 고정관념을 깨고, 분류 태스크에서는 CNN이 더 빠르고 동등한 성능 을 보일 수 있음을 입증했습니다. 다만 CNN은 시퀀스 생성(번역, 요약) 에는 적합하지 않아, RNN이 생성 태스크에서는 주류를 유지했습니다. 이 “병렬 처리가 가능한 모델이 더 효율적”이라는 통찰은 이후 Transformer의 Self-Attention 으로 완성됩니다.

성과와 공통 한계

성과:
  • 기계 번역, 감성 분석, 음성 인식 등에서 획기적 성능 향상
  • Google 번역이 2016년 통계 기반에서 LSTM 기반 신경망 번역으로 전환
  • 가변 길이 시퀀스를 자연스럽게 처리
공통 한계: RNN, LSTM, GRU, TextCNN 모두가 공유하는 근본적 한계입니다. 이 세 가지 문제를 동시에 해결한 것이 바로 Transformer 입니다.