🧠 1. 시퀀스(Sequence) 데이터란?
딥러닝은 이미지뿐 아니라 시간의 흐름에 따라 변화하는 데이터, 즉 시퀀스 데이터(Sequence Data) 를 다룰 수도 있다.
예를 들어, 다음과 같은 데이터가 시퀀스 데이터의 대표적인 예다.
- 🎵 음성 데이터: 시간에 따라 변화하는 음파
- 📈 주가 데이터: 하루하루의 주가 변동
- 📱 텍스트 데이터: 단어 순서에 의미가 있는 문장
이러한 데이터를 학습하려면, “이전 정보가 현재에 영향을 미치는 구조”가 필요하다.
이때 사용되는 것이 바로 RNN(Recurrent Neural Network, 순환 신경망) 이다.

🔁 2. RNN의 기본 개념
RNN은 “기억하는 신경망”이다.
기존의 CNN이나 MLP는 입력을 한 번에 처리하지만,
RNN은 이전 단계의 출력(Output) 을 다음 단계의 입력(Input) 으로 다시 전달한다.
즉, 데이터가 시간 순서대로 들어올 때,
RNN은 과거 정보를 일정 부분 기억하면서 현재 입력을 처리한다.
📘 핵심 포인트:
- RNN은 시계열(time-series) 또는 문장(sequence) 처리에 강함
- 단어, 음성, 센서 데이터 등 순서가 중요한 입력에 적합
- 입력과 출력이 연결된 순환 구조를 가짐
🔹 3. RNN의 동작 원리
RNN은 각 시점 t에서 다음 수식을 따른다.
여기서,
- x_t: 현재 입력
- h_{t-1}: 이전 단계의 은닉 상태 (memory 역할)
- h_t: 현재 은닉 상태
- y_t: 출력
- W, U, V: 가중치 행렬
이 구조를 반복하면서 RNN은 과거의 기억을 이용해 미래를 예측한다.
⚠️ 4. RNN의 한계: 장기 의존성 문제
RNN은 짧은 시퀀스에서는 잘 작동하지만,
시간이 길어질수록 기억이 사라지는(gradient vanishing) 문제가 생긴다.
예를 들어, 문장 “나는 오늘 아침에 커피를 … 마셨다”를 생각해보자.
‘마셨다’를 올바르게 예측하려면 ‘커피’라는 단어의 기억이 유지되어야 하지만,
기본 RNN은 이런 긴 거리의 정보를 기억하기 어렵다.
이 문제를 해결하기 위해 등장한 모델이 바로 LSTM이다.
⏳ 5. LSTM(Long Short-Term Memory)의 구조
LSTM은 RNN의 한계를 극복하기 위해 기억을 저장하고 선택적으로 잊는 구조를 도입했다.
LSTM은 ‘기억 셀(Cell)’ 안에 게이트(Gate) 라는 장치를 둬, 정보를 효율적으로 관리한다.
📦 LSTM의 핵심 게이트 3가지:
1️⃣ 입력 게이트(Input Gate)
- 현재 정보를 얼마나 저장할지 결정
2️⃣ 망각 게이트(Forget Gate) - 과거의 정보를 얼마나 잊을지 결정
3️⃣ 출력 게이트(Output Gate) - 다음 단계로 얼마나 전달할지 결정
이 덕분에 LSTM은 긴 시퀀스에서도 필요한 정보만 남기고 불필요한 정보를 제거한다.
💡 쉽게 말하면:
LSTM은 “기억할 것은 기억하고, 잊을 것은 잊는” 똑똑한 RNN이다.
🔬 6. RNN vs LSTM 비교 요약
| 구분 | RNN | LSTM |
| 구조 | 단순한 순환 구조 | 게이트 구조로 정보 관리 |
| 장점 | 계산이 간단, 빠른 학습 | 장기 의존성 해결, 안정적 |
| 단점 | 기억 손실, 기울기 소실 | 계산 복잡, 파라미터 많음 |
| 적용 예시 | 짧은 문장, 짧은 센서 데이터 | 긴 문장, 음성·행동 예측 |
🚗 7. 자율주행에서의 활용 예시
RNN과 LSTM은 자율주행 시스템에서도 폭넓게 활용된다.
예를 들어,
- RNN은 차량의 속도, 방향, 센서 데이터를 기반으로 단기 주행 패턴을 분석
- LSTM은 보행자나 차량의 움직임을 기반으로 미래 행동(예: 이동 방향, 정지 여부) 을 예측
즉, CNN이 “현재를 보는 눈”이라면,
LSTM은 “미래를 예측하는 두뇌”라고 할 수 있다.
📘 8. RNN과 LSTM의 한 걸음 더 나아가기
최근에는 LSTM을 확장한 GRU(Gated Recurrent Unit) 이나
시퀀스를 병렬로 처리하는 Transformer 구조가 많이 사용된다.
하지만 LSTM은 여전히 시간적 패턴을 이해하는 기본 모델로 널리 활용된다.
따라서, RNN과 LSTM의 개념을 정확히 이해하는 것은 딥러닝의 기본을 다지는 핵심이다.
✨ 9. 정리하며
오늘은 RNN과 LSTM의 개념을 중심으로,
시간 흐름을 이해하는 인공지능의 기초를 배웠다.
이제 CNN이 “이미지를 보고 판단”했다면,
RNN과 LSTM은 “시간을 따라 변화하는 행동을 예측”하는 단계다.
📅 다음 글 예고:
👉 [Day 65: 보행자 행동 예측 모델 구현]
“LSTM을 활용해 보행자의 움직임을 예측하고, 자율주행차의 판단력을 강화하자!”
'자율주행' 카테고리의 다른 글
| Day 66: YOLO v3 구조 학습 (0) | 2025.11.01 |
|---|---|
| Day 65: 보행자 행동 예측 모델 구현 (0) | 2025.10.31 |
| Day 63: 차량/보행자 이미지 분류 CNN 구현 (0) | 2025.10.29 |
| Day 62: 합성곱, 풀링 연산 실습 (0) | 2025.10.28 |
| Day 61: CNN 기본 구조 이해 (0) | 2025.10.27 |