오늘 끝나면

LSTM & GRU

  • LSTM & GRU의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 LSTM이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

1997 호크라이터 — 기억을 여닫는 게이트 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

AI · Day 8 / 지도학습 · 생성 DL

기억하는
게이트

RNN은 문장 앞부분을 금방 잊음. 같은 가중치를 수십 번 곱하니 신호가 0으로 꺼지거나 무한히 터짐. LSTM과 GRU는 곱셈 게이트 하나로 이걸 뚫음.

P.01AI · Day 8

왜 RNN은 잊어버릴까

RNN은 같은 셀을 시간축으로 반복해 펼친 구조임. 이 반복이 함정임.

역전파는 시간을 거슬러 가며(BPTT) 같은 가중치 W를 계속 곱함. W가 1보다 작으면 신호가 0으로 꺼짐(vanishing). 1보다 크면 무한히 터짐(exploding). 50 스텝 전 단어의 영향력은 사실상 0이 됨.

그래서 1990년대 RNN은 "나는 프랑스에서 자랐다 ... 그래서 나는 ___를 유창하게 한다" 빈칸을 못 채움. 정답 프랑스어의 단서가 너무 멀리 있었음.

GRADIENT × 깊이
‖gradient‖시간 거슬러 ←출력

과거로 갈수록 기울기가 0에 수렴 — 먼 입력은 학습 안 됨

P.02AI · Day 8

컨베이어 벨트와 세 개의 게이트

1997년, Hochreiter와 Schmidhuber가 낸 답. 기억 전용 고속도로를 하나 깔자는 것.

LSTM엔 셀 상태 cₜ라는 컨베이어 벨트가 흐름. 정보는 이 벨트 위에서 거의 변형 없이 멀리 감. 무엇을 올리고 내릴지는 세 게이트가 정함.

  • 망각 게이트 fₜ — 벨트에서 무엇을 지울지
  • 입력 게이트 iₜ — 새 정보를 얼마나 올릴지
  • 출력 게이트 oₜ — 벨트에서 무엇을 꺼낼지

각 게이트는 sigmoid라 출력이 0~1임. 0이면 닫힘, 1이면 열림. 이 곱셈 하나가 기억을 살리고 죽임.

LSTM CELL
cₜ₋₁ → cₜ (셀 상태 / 컨베이어 벨트)σfₜ망각σiₜ입력σoₜ출력xₜ, hₜ₋₁hₜ

세 게이트(σ)가 파란 고속도로 위 정보를 올리고 내림

P.03AI · Day 8

덧셈이 기울기를 살린다

LSTM의 핵심은 게이트가 아님. 셀 상태를 곱하지 않고 더한다는 점임.

업데이트 식은 cₜ = fₜ · cₜ₋₁ + iₜ · c̃ₜ. 망각 게이트가 1에 가까우면 이전 기억이 거의 그대로 다음으로 흐름. 역전파할 때 이 경로의 기울기는 곱셈이 아니라 덧셈으로 누적됨. 그래서 멀리까지 안 죽고 전달됨.

파이썬 코드 보기
# LSTM 한 스텝 (numpy 직관)
f = sigmoid(x @ Wf + h @ Uf)   # 망각
i = sigmoid(x @ Wi + h @ Ui)   # 입력
o = sigmoid(x @ Wo + h @ Uo)   # 출력
g = tanh(x @ Wg + h @ Ug)      # 후보 기억

c = f * c_prev + i * g         # 덧셈! 기울기 고속도로
h = o * tanh(c)                # 다음 hidden

이 한 줄 c = f * c_prev + i * g가 vanishing gradient 문제의 우회로임.

CELL STATE 업데이트
망각 게이트 실험실 · 기억이 시간축을 건너는지 보라
단서 직후 cₜ
1.00
마지막 cₜ
0.49
기억 보존율
49%
절반쯤 살아남음 — 게이트가 조금 새는 중
cₜ = fₜ · cₜ₋₁ + iₜ · c̃ₜ — f를 1에 붙이면 이전 기억이 거의 그대로 더해지며 멀리 간다
P.04AI · Day 8

GRU — 게이트를 둘로 줄이다

2014년, Cho 연구팀이 물음. 게이트가 정말 셋이나 필요함?

GRU는 셀 상태와 hidden을 하나로 합침. 게이트도 둘로 줄임. 리셋 게이트는 과거를 얼마나 무시할지 정함. 업데이트 게이트는 새 정보와 옛 정보를 얼마나 섞을지 정함.

파라미터가 약 25% 적어 더 빠름. 데이터가 적을 때 과적합도 덜함. 성능은 작업 따라 LSTM과 엎치락뒤치락함. 그래서 실무 규칙은 간단함. 일단 GRU로 시작, 모자라면 LSTM.

LSTM vs GRU
항목LSTMGRU
게이트3 (f,i,o)2 (r,z)
상태c + hh 하나
파라미터많음약 25% ↓
속도보통빠름
등장19972014

GRU = 더 가벼운 LSTM. 일단 GRU로 시작, 모자라면 LSTM

P.05AI · Day 8

게이트가 남긴 유산

2014~2017년, 거의 모든 번역기·음성인식·챗봇의 심장은 LSTM이었음. 구글 번역도 2016년에 LSTM으로 갈아탐.

LSTM의 교훈은 분명함. 긴 맥락이 가치를 만드는 곳—고객 상담 히스토리, 시계열 수요 예측, 장비 로그 이상 탐지—에서 "방금 본 것"만 보는 모델은 돈을 놓침. 기억의 길이가 곧 정확도였음.

하지만 LSTM도 한 번에 한 스텝씩만 처리함. 순차 처리라 느림. 아주 긴 맥락은 여전히 버거움. 이 한계가 다음 챕터 Attention을 부름.

Q. 망각 게이트가 항상 1을 출력하면 LSTM은 어떻게 동작함?이전 셀 상태가 손실 없이 그대로 누적됨(cₜ = cₜ₋₁ + iₜ·c̃ₜ). 기억을 절대 안 지우니 장기 정보는 잘 보존됨. 단, 무관한 옛 정보까지 쌓여 포화됨. 그래서 "무엇을 잊을지" 학습하는 것 자체가 핵심임.
기억의 흐름
셀 상태(장기 기억)멀어도 연결됨나는프랑스에서···유창한프랑스어단서 '프랑스' → 정답 '프랑스어'

멀리 떨어진 단서를 기억해 빈칸을 채움 — RNN이 못 하던 일

3줄 요약

  1. 11997 호크라이터 — 기억을 여닫는 게이트
  2. 2LSTM & GRU은 준비운동 → 지도학습 → 시퀀스 → 생성모델 → 실무 적용 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

LSTM

1997 호크라이터 — 기억을 여닫는 게이트

모델

입력을 받아 예측이나 출력을 만드는 계산 규칙

손실

예측이 정답에서 얼마나 빗나갔는지 재는 숫자