20260502 인공지능기초실습 9주차
강의 핵심 요약 — RNN, LSTM, GRU
이번 강의는 자연어 처리(NLP)와 시계열 데이터 처리에서 중요한 순환 신경망 계열 모델들을 다룸.
흐름은 다음과 같음.
- RNN
- LSTM
- GRU
- 실제 NLP 적용 예시
핵심은:
“기억을 어떻게 유지할 것인가?” 였음.
1. RNN(Recurrent Neural Network)
RNN 개념
기존 신경망:
입력 → 출력
한 번 계산하고 끝.
근데 RNN은:
이전 정보 → 다음 계산에 사용
즉:
“기억하면서 처리하는 신경망”
왜 필요한가
문장은 순서가 중요함.
예:
나는 오늘 학교에서 수학 시험을 봤다.
문제는 어려웠다.
마지막 문제에서 실수했다.
그래서 시험 점수가 낮게 나올 것 같다.
여기서:
시험 점수
가 무슨 시험인지 이해하려면
맨 앞의:
수학 시험
정보를 기억해야 함.
2. RNN 구조
RNN은 자기 자신 출력을 다시 입력으로 넘김.
즉:
현재 상태 = 이전 기억 + 현재 입력
형태임.
슬라이드에서:
h0 → h1 → h2 → ...
형태로 표현됨.
3. RNN의 치명적 한계
핵심 문제:
문장이 길어질수록 앞 내용을 잊어버림.
교수 비유:
유럽 여행 갔다 온 기억이
시간 지나면서 희미해지는 느낌.
강렬한 몇 장면만 남고
세부 정보는 사라짐.
4. 왜 RNN이 잊어버리는가
RNN은:
이전 기억 → 다음으로 전달
만 반복함.
근데 전달할 때마다:
- 정보 손실
- 중요도 희석
- gradient vanishing
문제가 발생함.
그래서 긴 문장 처리에 약함.
5. LSTM(Long Short-Term Memory)
RNN 문제 해결 모델.
핵심 아이디어:
“기억을 따로 관리하자”
6. LSTM 핵심 철학
인간 뇌처럼:
- 단기 기억(STM)
- 장기 기억(LTM)
구분해서 관리함.
교수 설명 핵심:
중요한 건 오래 기억
덜 중요한 건 빨리 잊기
7. 단기 기억(STM)
짧은 시간 유지 정보.
예:
- 방금 읽은 단어
- 현재 문맥
- 최근 정보
8. 장기 기억(LTM)
오랫동안 유지할 정보.
예:
- 이야기 핵심 주제
- 중요한 개념
- 장기 문맥
9. LSTM 핵심 구조 — Cell State
LSTM 핵심 중 핵심.
Cell State:
기억 저장 통로
교수는:
“컨베이어 벨트”
같다고 설명함.
역할
정보를 계속 전달하면서:
- 필요한 건 유지
- 필요 없는 건 삭제
- 새 정보 추가
함.
10. Gate 개념
LSTM 핵심 제어 장치.
Gate는:
무엇을 기억할지
무엇을 버릴지
무엇을 출력할지
결정함.
11. Sigmoid 함수 역할
Sigmoid:
0 ~ 1 사이 값 출력.
\sigma(x)=\frac{1}{1+e^{-x}}
의미:
- 0에 가까움 → 버려라
- 1에 가까움 → 유지해라
즉:
정보 흐름 조절기.
12. tanh 함수 역할
tanh:
-1 ~ 1 출력.
\tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}
의미:
- 음수 → 감소/제거 방향
- 양수 → 추가 방향
13. LSTM의 3개 Gate
1) Forget Gate
무엇을 잊을지 결정.
쓸모없는 기억 제거
2) Input Gate
새로운 정보 저장 결정.
무엇을 새로 기억할까?
3) Output Gate
최종 출력 결정.
현재 어떤 정보를 보여줄까?
14. LSTM 정보 처리 흐름
전체 흐름:
Step 1
Forget Gate
버릴 정보 선택
Step 2
Input Gate
새 정보 추가
Step 3
Cell State 업데이트
C_t=f_tC_{t-1}+i_t\tilde{C}_t
이전 기억 유지 + 새 기억 추가.
Step 4
Output Gate
최종 출력 생성
h_t=o_t*\tanh(C_t)
15. 교수 비유 — 꼼꼼한 기록장
교수 핵심 비유.
LSTM:
여행 기록을 아주 상세하게 남기는 사람
처럼 동작.
- 뭐 먹었는지
- 어디 갔는지
- 어떤 기차 탔는지
전부 기록함.
16. LSTM 장점
장기 기억 가능
긴 문장 이해 가능.
시계열 데이터 강함
예:
- 센서 데이터
- 주가
- 기상 데이터
- 화재 감지
17. LSTM 단점
계산량 큼
Gate 많음.
연산 복잡함.
느림
기억 관리가 세밀해서 무거움.
교수 표현:
꼼꼼한 필기왕
18. GRU(Gated Recurrent Unit)
LSTM 경량화 버전.
핵심:
단순하게 만들자
19. GRU 핵심 특징
LSTM보다:
- 빠름
- 단순함
- 계산 적음
구조 변화
LSTM
- Forget Gate
- Input Gate
- Output Gate
GRU
- Update Gate
- Reset Gate
로 단순화됨.
20. Update Gate
Forget + Input 합친 개념.
얼마나 업데이트할까?
결정.
21. Reset Gate
과거 기억 얼마나 사용할지 결정.
과거 기억 버릴까?
유지할까?
결정함.
22. 교수 비유 — 요약왕
GRU:
중요한 것만 요약해서 기록
하는 스타일.
LSTM보다 덜 꼼꼼하지만 빠름.
23. LSTM vs GRU 비교
| 항목 | LSTM | GRU |
|---|---|---|
| 구조 | 복잡 | 단순 |
| 속도 | 느림 | 빠름 |
| 메모리 | 큼 | 작음 |
| 기억력 | 강함 | 상대적으로 단순 |
| 계산량 | 많음 | 적음 |
24. GRU 한계
RNN 계열 한계 완전 해결 못함.
특히:
새로운 문장 생성
같은 생성 작업엔 부족함.
25. 실제 코드 예시
강의 마지막에 감성 분석 데이터셋 사용.
import pandas as pd
import urllib.request
네이버 영화 리뷰 데이터 다운로드 후:
- 결측치 제거
- 데이터 전처리
- LSTM/GRU 학습
진행함.
전체 흐름 한 줄 요약
RNN
기억은 하지만 잘 까먹음
LSTM
장기 기억 관리 가능
GRU
LSTM 간소화 버전
시험 관점 핵심
진짜 중요한 부분:
RNN
- 순차 데이터 처리
- 이전 상태 전달
- 긴 문장 약함
LSTM
- Cell State
- Forget/Input/Output Gate
- 장기 기억 유지
GRU
- Update Gate
- Reset Gate
- LSTM 경량화
특히 교수 계속 강조한 거:
LSTM 핵심 = Cell State
이거 거의 메인 포인트 수준이었음.