티스토리 뷰
[Day 14] RNN
1. 강의 복습 내용
1) Recurrent Neural Networks (RNN)
Recurrent Neural Networks (RNN)
1. Sequential Model
- 입력의 차원을 알 수 없는 데이터(Sequential Data), 몇개의 입력들이 들어오던 상관없이 모델은 동작해야 한다.
- 이전 데이터들이 들어왔을 때, 다음을 예측해보자
1) Autoregressive model

2) Markov model (first-order autoregressive model)

이 두 모델들의 단점은, 사실 과거의 많은 정보를 고려해야하는데 이 고려를 할 수가 없다는 한계가 있다.
3) Latent autoregressiv model

2. Recurrent Neural Network (RNN)
- 앞에서 봤던 모델들의 컨셉들을, 가장 잘 표현한 모델

한계) 한참 멀리 있는 과거의 정보가 미래에 까지 영향을 주기 어렵다. -> 결국 학습이 어렵다.

- 활성함수가 Sigmoid -> Vanishing gradient (0으로 수렴)
- 활성함수가 ReLU -> Exploding gradient (무한대로 수렴 -> 터져버림)
3. Long Short Term Memory (LSTM)
- RNN의 Long Term dependencies 문제를 극복한 모델

1) Previous cell state
LSTM은 이 cell state를 보호하고 컨트롤하기 위해 3개의 게이트(Forget, input, Output)을 통해 vanishing gradient를 방지하고 gradient가 효과적으로 흐를 수 있게 한다.
2) Gate
- forget gate : 과거 정보를 잊기 위한 게이트. (sigmoid의 결과 0 -> 정보 버림, 1 -> 정보 기억)
- input gate : 현재 정보를 기억하기 위한 게이트. (sigmoid와 tanh 결과로 인해 값이 음수가 될 수 있음)
- output gate : 최종 결과 h_{t}를 위한 게이트.
4. Gated Recurrent Unit (GRU)

- Reset Gate, update Gate
- LSTM의 cell state를 없애고, hidden state로 역할을 다 수행함
- LSTM보다 GRU가 Parameters 수가 적기 때문에, 성능을 더 좋게 내기도 함
2) Transformer (*)
Transformer
1. RNN의 한계

- RNN에서 중간에 경로가 빠진 데이터나 Permuted 같이 순서가 뒤바뀐 데이터가 들어오게 된다면 모델링하기 굉장히 어렵게 된다.
2. Transformer (*)
- RNN의 재귀적 구조가 아닌, 새로운 개념 Attention을 사용하였다.
1) 어텐션 메커니즘
https://wikidocs.net/22893
2) Transformer Model
https://wikidocs.net/31379
3) 한계
- O(N^2) 계산과 메모리
2. 피어 세션
1. 강의 내용에 대한 토의
1) RNN, LSTM, GRU 의 Parameters 수
-> 한 층에서는 time에 관계 없이 Parameters수는 고정이다.
2) LSTM에 CNN에서 적용된 중요한 개념이 접목된 부분
-> ResNet의 (+) 부분인것 같다.
3) RNN 에서 활성함수로 Tanh를 사용하는 이유
-> Sigmoid(=Vanishing Gradient), ReLU(=Exploding Gradient), Tanh(?)
-> Vanishing Gradient를 최대한 잡아주기 위해 사용된것으로 보임
-> Sigmoid 미분값은 최대 0.25~0.3 수준, Tanh는 최대 1
https://brightwon.tistory.com/10
2. 다음주 휴강 기간 동안 진행할 팀 활동
- 과일 이미지 분류 하기 (Label 6)
두리안, 사과, 귤, 바나나, 딸기, 참외
- 각 Label별 100장의 이미지 데이터로 시작
- 일정 : 데이터구축 (~2월7일) / 모델링 및 테스팅 (~2월10일)
3. Conclusion
1. 집중해서 더 학습할 내용
- Transformer, 앞서 Attention 집중 학습 ( 모델 구동 원리가 직관적으로 이해가 잘 안됨 )
2. 실습
- 구축한 학습용 PC Server로 Notmnist Data로 MLP, CNN 모델 구현해보고 테스트해보기
'부스트캠프 AI Tech > 학습정리' 카테고리의 다른 글
[Day 16] NLP (자연어 처리) - 1 (0) | 2021.02.15 |
---|---|
[Day 15] Generative Models (0) | 2021.02.05 |
[Day 13] CNN (0) | 2021.02.03 |
[Day 12] 최적화 (0) | 2021.02.02 |
[Day 11] 딥러닝 기초 (0) | 2021.02.01 |
- Total
- Today
- Yesterday
- DeepLearning
- dfs
- cnn
- Data Handling
- 데이터핸들링
- 브루트포스
- pandas
- Unet
- 네트워킹데이
- C++
- 프로그래머스
- 코딩테스트
- 부스트캠프 AI Tech
- 공공데이터
- Vision AI 경진대회
- P-Stage
- 동적계획법
- DACON
- 그리디
- 백트래킹
- ResNet
- 이분탐색
- 다이나믹프로그래밍
- 백준
- NLP 구현
- AI 프로젝트
- 알고리즘
- 데이터연습
- python
- Unet 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |