핵심 인사이트 (3줄 요약)

  1. 본질: RNN(Recurrent Neural Network)은 순환 구조(Recurrent Structure)로 시퀀스 데이터의 시간 의존성을 포착하지만, 역전파(Backpropagation Through Time)에서 기울기 소실(Vanishing Gradient) 문제가 발생한다.
  2. 가치: LSTM(Long Short-Term Memory)은 셀 상태(Cell State)라는 고속도로와 입력·망각·출력 게이트(Gate) 3개로 장기 의존성(Long-Term Dependency)을 선택적으로 기억·망각·출력하는 메커니즘을 구현한다.
  3. 판단 포인트: GRU(Gated Recurrent Unit)는 LSTM을 2개 게이트로 간소화해 파라미터를 줄이면서도 유사한 성능을 제공하며, Transformer 등장 이후 장기 의존성 처리의 주류는 어텐션 메커니즘으로 전환되었다.

Ⅰ. 개요 및 필요성

시퀀스 데이터(텍스트, 음성, 주가, 센서 신호)는 순서 정보가 핵심이다. CNN이나 MLP(Multi-Layer Perceptron)는 입력의 순서를 고려하지 않으므로 이런 데이터에 부적합하다.

RNN의 순환 구조

시간 단계별 펼침 (Unrolled Through Time)

     x_0        x_1        x_2        x_3
      │          │          │          │
      ↓          ↓          ↓          ↓
h_0→[RNN]→ h_1→[RNN]→ h_2→[RNN]→ h_3→[RNN]→ h_4
      │          │          │          │
      ↓          ↓          ↓          ↓
     y_0        y_1        y_2        y_3

h_t = tanh(W_h · h_{t-1} + W_x · x_t + b)
y_t = W_y · h_t
  • 은닉 상태(Hidden State) h_t: 이전 시간 정보를 누적
  • 가중치 공유: 모든 시간 단계에서 동일한 W 사용
특성설명
순환 연결이전 상태 h_{t-1}을 현재 입력에 결합
가변 길이 처리임의 길이의 시퀀스 처리 가능
파라미터 공유모든 시간 스텝 동일 가중치 → 효율적

📢 섹션 요약 비유: RNN은 일기를 매일 쓰는 것과 같다. 오늘 일기를 쓸 때 어제 일기를 참고하고, 어제는 그 전날을 참고한다. 하지만 너무 오래된 일기는 기억이 흐릿해지는 문제가 있다.


Ⅱ. 아키텍처 및 핵심 원리

기울기 소실/폭발 문제 (Vanishing/Exploding Gradient)

BPTT(Backpropagation Through Time) 과정에서 기울기는 시간 스텝을 거슬러 올라가며 반복 곱셈된다.

∂L/∂h_0 = ∂L/∂h_T · Π(t=1→T) ∂h_t/∂h_{t-1}

각 항: ∂h_t/∂h_{t-1} = diag(tanh'(...)) · W_h

T가 크면:
  │W_h│ < 1 → 지수적 감소 → 기울기 소실 (장기 의존성 학습 불가)
  │W_h│ > 1 → 지수적 증가 → 기울기 폭발 (발산)

LSTM (Long Short-Term Memory) 구조

LSTM 셀 내부 구조
                     셀 상태 C_t (고속도로)
  C_{t-1} ─────────────────────────────────→ C_t
              │           │           │
             [×]         [+]         [×]
              │           │           │
          [망각 게이트]  [입력 게이트]  [출력 게이트]
              │           │           │
  h_{t-1} ──→┤←── x_t ──→┤←── x_t ──→┤
  x_t ───────┘           │           │
                     [후보값 C̃_t]     │
                                      ↓
                                   h_t (은닉 상태 출력)

3개 게이트 상세

게이트수식역할
망각 게이트 (Forget Gate)f_t = σ(W_f·[h_{t-1},x_t] + b_f)이전 셀 상태 중 버릴 것 결정
입력 게이트 (Input Gate)i_t = σ(W_i·[h_{t-1},x_t] + b_i)새 정보 중 저장할 것 결정
출력 게이트 (Output Gate)o_t = σ(W_o·[h_{t-1},x_t] + b_o)셀 상태 중 출력할 것 결정
후보 셀 상태C̃_t = tanh(W_c·[h_{t-1},x_t] + b_c)새로 추가될 후보 정보

셀 상태 갱신:

C_t = f_t ⊙ C_{t-1} + i_t ⊙ C̃_t
h_t = o_t ⊙ tanh(C_t)

⊙: 원소별 곱(Element-wise Product), σ: 시그모이드

핵심: 셀 상태 C_t는 덧셈(+)으로만 갱신 → 기울기가 1로 흐름 → 기울기 소실 극복

📢 섹션 요약 비유: LSTM은 세 개의 밸브가 달린 수도관과 같다. 망각 밸브는 오래된 물을 빼고, 입력 밸브는 새 물을 넣고, 출력 밸브는 지금 사용할 물을 조절한다. 관 자체(셀 상태)는 막힘없이 흘러 오래된 정보도 보존된다.


Ⅲ. 비교 및 연결

GRU (Gated Recurrent Unit) — LSTM 간소화

GRU 구조 (게이트 2개)
  h_{t-1} ──┬──→ [리셋 게이트 r_t] ──→ [후보 h̃_t]
             │                                  │
             └──→ [업데이트 게이트 z_t] ──→  h_t
                                         = (1-z_t)⊙h_{t-1} + z_t⊙h̃_t
구분LSTMGRU
게이트 수3개 (입력/망각/출력)2개 (리셋/업데이트)
상태 수2개 (C_t, h_t)1개 (h_t)
파라미터 수많음 (4W 행렬)적음 (3W 행렬)
성능일반적으로 우수유사 (소규모 데이터에서 유리)
훈련 속도느림빠름

RNN 변형 모델 비교

모델특징적합 태스크
Vanilla RNN단순, 기울기 소실매우 짧은 시퀀스
LSTM장기 의존성 해결언어 모델, 번역
GRU경량 LSTM빠른 학습 필요 시
Bidirectional LSTM양방향 문맥 파악NER, 감정 분석
Stacked LSTM다층 LSTM복잡한 시퀀스

📢 섹션 요약 비유: GRU는 LSTM의 리모델링 버전이다. 방 3개 짜리 집을 방 2개로 줄였는데 생활 편의는 거의 같다. 공간이 좁은 환경(적은 데이터·메모리)에서는 GRU가 더 효율적이다.


Ⅳ. 실무 적용 및 기술사 판단

시계열 예측 파이프라인

시계열 데이터 전처리
       ↓
[슬라이딩 윈도우 생성]
       ↓
[LSTM 입력: (batch, timesteps, features)]
       ↓
[LSTM Layer(s) + Dropout]
       ↓
[Dense Output Layer]
       ↓
[역정규화 후 예측값 출력]

적용 사례별 모델 선택

태스크추천 모델이유
주가 예측LSTM + Attention장기 패턴 중요
이상 탐지Bidirectional LSTM전후 문맥 필요
텍스트 분류GRU / Transformer빠른 학습
음성 인식LSTM + CTC가변 길이 입력
기계 번역Transformer (LSTM 대체)병렬 처리 가능

NLP 적용: 언어 모델

# LSTM 언어 모델 구조 예시
model = Sequential([
    Embedding(vocab_size, 128),         # 토큰 → 벡터
    LSTM(256, return_sequences=True),   # 첫 번째 LSTM 층
    Dropout(0.3),
    LSTM(128),                           # 두 번째 LSTM 층
    Dense(vocab_size, activation='softmax')  # 다음 단어 예측
])

📢 섹션 요약 비유: LSTM 언어 모델은 소설을 읽으면서 다음 단어를 예측하는 독자와 같다. 앞에서 읽은 내용(셀 상태)을 기억하면서, 지금 읽는 단어(입력)와 결합해 "아마 다음은 이 단어가 오겠지"라고 예측한다.


Ⅴ. 기대효과 및 결론

LSTM → Transformer 전환 배경

LSTM의 한계               Transformer의 해결
─────────────────         ──────────────────────
순차 처리 (병렬 불가)  →  전체 시퀀스 병렬 처리
거리 비례 정보 감쇠    →  어텐션으로 직접 연결
O(n²) 시간 복잡도      →  O(n²)이지만 병렬화됨
최대 길이 제한         →  상대적으로 긴 컨텍스트

현재: NLP는 Transformer가 주류
시계열: LSTM/GRU 여전히 실무 활용

기술사 시험 핵심 포인트

  1. RNN 기울기 소실 원인: BPTT에서 기울기 반복 곱셈 → 지수 감소
  2. LSTM 3개 게이트: 망각(f)·입력(i)·출력(o) 게이트 수식 기술
  3. 셀 상태 갱신: C_t = f_t⊙C_{t-1} + i_t⊙C̃_t (덧셈 = 기울기 보존)
  4. GRU vs LSTM 차이: 게이트 수, 상태 수, 성능 비교
  5. 시계열 vs NLP 적합 모델 선택 근거

📢 섹션 요약 비유: LSTM에서 Transformer로의 전환은 릴레이 전화(순차)에서 단체 화상 회의(병렬)로의 변화다. 릴레이는 맨 앞 사람 목소리가 맨 끝에 오면 작아지지만, 화상 회의는 모두가 동시에 직접 소통한다.


📌 관련 개념 맵

관계개념설명
기반 모델RNN (Recurrent Neural Network)순환 구조 시퀀스 처리
핵심 문제기울기 소실 (Vanishing Gradient)BPTT에서 장거리 학습 실패
핵심 해결LSTM셀 상태 + 3개 게이트
경량 대안GRU2개 게이트 간소화
발전 방향Transformer어텐션으로 병렬화
핵심 상태셀 상태 (Cell State)장기 기억 고속도로
핵심 메커니즘게이트 (Gate)정보 흐름 선택적 제어
응용 분야시계열 예측, NLPLSTM/GRU 주요 활용

👶 어린이를 위한 3줄 비유 설명

  1. RNN은 어제 일기를 오늘 일기에 참고하는 것처럼, 이전 내용을 기억하면서 새 내용을 처리하는 신경망이야.

📈 관련 키워드 및 발전 흐름도

MLP (순서 무시)
    │
    ▼
RNN: 순차 입력 처리 + 은닉 상태 전달
    │ 장기 의존성 문제 (기울기 소실)
    ▼
LSTM: Forget · Input · Output Gate → 장기 기억
    │
    ▼
GRU (간소화 LSTM) → Transformer (병렬화)
  1. LSTM의 세 개 게이트는 "무엇을 잊을까(망각)", "무엇을 새로 기억할까(입력)", "무엇을 지금 말할까(출력)"를 결정하는 세 명의 기억 관리자야.
  2. GRU는 LSTM보다 관리자가 한 명 적어서 더 빠르게 일하는데, 결과는 거의 비슷해서 바쁠 때 쓰기 좋아.