이전 시퀀스의 정보를 가지고 앞으로 발생할 데이터의 확률 분포를 다루기 위해선 조건부확률을 이용할 수 있다.
- 초기시점인 에서부터 바로직전 과거의 정보인 까지의 정보를 사용하여 현재시점인 를 모델링하는 조건부확률
- ! 시퀀스 데이터를 분석할 때 항상 모든 과거 정보들이 필요한 것은 아님
위와 같이 시퀀스 데이터를 다루기 위해선 길이가 가변적인 데이터를 다룰 수 있는 모델이 필요함 -> 위에서 말한 바와 같이 시퀀스 데이터를 분석할 떄 항상 모든 과거 정보들이 필요한 것은 아니기 때문에 고정된 길이 만큼의 시퀀스만 사용하는 경우가 있을 수 있음( - Autoregressive Model)
그러나 타우를 하이퍼파라미터로 처리해주어야 하기 때문에 타우를 결정하는 것 자체에 여러가지 사전지식이 필요할 수 있음.
또 다른 방법으로는 바로 이전 정보를 제외한 나머지 정보들을 라는 잠재변수로 인코딩하여 활용하는 잠재 AR모델도 있음(바로 이전 정보와 잠재변수라는 두 데이터만 가지고 분석 -> 고정된 길이로 모델링 가능 !)
과거의 잠재변수를 어떻게 인코딩할지에 대한 문제에서 RNN이 나오게 됨.
RNN: 잠재변수 를 신경망을 통해 반복해서 사용하여 시퀀스 데이터의 패턴을 학습하는 모델
가장 기본적인 RNN 모형은 MLP와 유사한 모양임
이 모델은 과거의 정보를 다룰 수 없음
RNN은 이전 순서의 잠재변수와 현재의 입력을 활용하여 모델링을 함
- 그림: RNN의 순전파
- 특징: 3개의 가중치행렬(여기서 가중치행렬들은 t에 따라서 변하는 것이 아님.
- 이전 잠재변수로부터 온 가중치행렬
- 입력 데이터에 대한 가중치행렬
- 출력으로 만들어주는 가중치행렬
RNN의 역전파는 잠재변수의 연결그래프에 따라 순차적으로 계산을 함
RNN의 역전파 방법: Backpropagation Through Time(BPTT)
시퀀스 길이가 길어지면 값이 불안정해짐
- 기울기 소실: 그레디언트가 0으로 줄어드는 것(이전 정보를 유실할 수 있음)