RNN Basic
시퀀스 데이터
먼저 시퀀스 데이터란 소리, 문자열, 주가 등의 데이터처럼 나열된 데이터를 말한다.
- 이벤트의 순서가 중요하다는 특징이 있다.
- 독립동등분포가정을 잘 위배하기 때문에 순서를 바꾸거나 과거정보에 손실이 발생하면 데이터의 확률분포도 바뀐다.
조건부 확률을 이용해 앞으로 발생할 데이터의 확률분포 다룬다.
P(Xi,⋯,Xt)=P(Xt∣Xi,⋯,Xt−1)P(Xi,⋯,Xt−1)=∏s=1tP(Xs∣Xs−1,⋯,X1)
*** 과거의 모든 정보를 가지고 예측할 필요 없다.
AR(τ) : 고정된 길이만큼의 시퀀스만 사용하는 경우를 표시한다.
W(2),WX(1),WH(1)은 시간 t에 따라 변하지 않는다.
t에 따라 변하는 것은 잠재변수, 입력, 데이터이다.
BPTT
RNN의 역전파 방법이다.
잠재변수의 연결 그래프에 따라 순차적으로 계산한다. ( 현재에서 과거까지 )
∏부분은 시퀀스 길이가 길어질수록 불안정해지기 쉽다. 값이 엄청 커지거나 작아질 수 있다.
Gradient Vanishing 해결책
위 처럼 역전파 알고리즘의 계산이 불안정해지면 기울기 소실 문제가 나온다.
이 경우 길이를 끊으면서 해결할 수 있다.
이것이 truncated BPTT이다.
추가로 LSTM, GPU같은 새로우 RNN 네트워크도 나왔다.