순환 신경망 (RNN)
Illustrated Guide to LSTM’s and GRU’s: A step by step explanation
[Lecture 10 | Recurrent Neural Networks](https://www.youtube.com/watch?v=6niqTuYFZLQ&t=3759s) |
RNN
-
시퀀스 길이에 관계없이 인풋, 아웃풋을 받아드릴 수 있는 네트워크 구조여서 매우 유연함
RNN 그림
- 가중치 매개변수 행렬은 위 그림에서 확인할 수 있듯 3개
- $W_{hh}$, $W_{xh}$, $W_{hy}$
- Hidden state라는게 왜 있는걸까?
- 내 생각: $W_{xh}x_t$에 대해 일단 비선형성을 주긴 할 것임 → tanh를 비선형 함수로 사용 → $tanh(W_{xh}x_t)$인데 recurrent 함을 주기 위해 과거와 연관되는 값을 하나 추가시켜 줄 것임. 그것이 $h_{t-1}$
- 하이퍼볼릭탄젠트 함수 사용하는 이유
- 하이퍼볼릭탄젠트란?
-
쌍곡선 함수라고도 불리며 식은 다음과 같다
$sinhx = {e^x - e^{-x} \over 2}
coshx = {e^x + e{-x} \over 2}
tanhx = {sinhx \over coshx} = {e^x - e^{-x} \over e^x + e^{-x}}$
-
- 하이퍼볼릭탄젠트란?
Gradient 그림
- W가 스칼라 값이라고 가정했을 때 W가 1보다 작으면 빨간색 화살표가 뒤로 갈수록 계속 값이 줄어듬(W값은 항상 똑같은 값이기 때문에 계속 똑같은 값이 곱해짐). Vanishing gradients
- W 값이 1보다 크면 Exploding gradients
- W는 사실 스칼라가 아니라 매트릭스기 때문에 Largest singular value > 1이면 Exploding, Largest singular value < 1 이면 Vanishing
- Exploding은 gradient clipping 으로 해결 가능. Vanishing은 RNN 구조 자체를 바꿔야함
RNN 오차 역전파법 그림
- 가중치 매개변수 행렬은 위 그림에서 확인할 수 있듯 3개
LSTM
-
RNN의 Vanishing gradient problem 해결을 위한 모델
RNN, LSTM 그림
LSTM 수식
- $f_t$는 과거 정보 살릴지 여부
- 시그모이드 함수의 범위(0~1)을 통해 과거 정보를 살릴지(1) 없앨지(0) 결정
- 참고사이트
이해를 위한 그림 (매우 중 요)
아주 핵심적인 그림이당
선우형이 추천해준 순환신경망 개념 블로그
ANN CNN RNN 비교 영상
[Recurrent Neural Networks | RNN LSTM Tutorial | Why use RNN | On Whiteboard | Compare ANN, CNN, RNN](https://www.youtube.com/watch?v=KBftoy0DPxI&ab_channel=BinodSumanAcademy) |
발전과정
PREVIOUS경제