728x90
1. 시퀀스 데이터
- 소리, 문자열, 주가 등
- 독립동등분포(i.i.d) 가정을 곧잘 위배 -> 순서를 바꾸거나 과거 정보의 손실 발생 시 데이터의 확률분포도 바뀜
- 시퀀스 데이터에 대해 조건부확률 이용할 수 있음(베이즈 법칙 활용)
- 조건부확률
$$P(X_{1},...,X_{t}) = P(X_{t}|X_{1},...,X_{t-1})P(X_{1},...,X_{t-1})$$
$$= P(X_{t}|X_{1},...,X_{t-1})P(X_{t-1}|X_{1},...,X_{t-2})\times ... \times P(X_{2}|X_{1})P(X_{1}) = \prod_{s=1}^{t}P(X_{s}|X_{s-1},...,X_{1})$$
- t 시점의 조건부확률
$$X_{t} \sim P(X_{t}|X_{t-1},...,X_{1})$$
- 아래 식은 과거 모든 정보를 사용했지만 시퀀스 데이터 분식 시 모든 과거 정보가 필요한 것은 아님
- 조건부에 들어가는 데이터 길이는 가변적 -> 시퀀스 데이터를 다루기 위해선 가변적 데이터를 다룰 수 있는 모델 필요
①$AR(\tau)$(Autogressive Model)자기회귀모델
: 고정된 길이 $\tau$만큼의 시퀀스만 사용하는 경우
②잠재 AR 모델
: 바로 이전 정보를 제외한 나머지 정보들을 $H_{t}$라는 잠재변수로 인코딩해서 활용하는 경우
③RNN
: 잠재변수 $H_{t}$를 신경망을 통해 반복 사용, 시퀀스 데이터의 패턴을 학습하는 경우
2. RNN(Recurrent Neural Network)
- $W^{(1)}, W^{(2)}$ : 시퀀스와 상관없이 불변
- 가장 기본적인 RNN 모형. MLP와 유사. 이 모델은 과거 정보 다룰 수 X.
- 일반적인 RNN 모형
- 이전 순서의 잠재 변수와 현재의 입력을 확용해 모델링 : 잠재변수인 $H_{t}$를 복제, 다음 순서의 잠재변수를 인코딩하는 데 사용
- BPTT(Backpropagation Through Time) : RNN의 역전파 방법으로, 잠재변수의 연결 그래프에 따라 순차적으로 계산
3. BPTT
- BPTT를 통해 RNN의 가중치행렬의 미분 계산 -> 위와 같이 미분의 곱으로 이뤄진 항 도출됨
- 시퀀스가 길어질수록 -> 위의 빨강 박스 부분의 항은 불안정해질 수 있음
4. 기울기 소실의 해결책
- 시퀀스 길이가 길어질 겨우, BPTT를 통한 역전파 알고리즘 계산이 불안정해짐 -> 길이를 끊어줄 필요가 있음( => 이를 truncated BPTT라 함)
- 1번과 같은 문제들 탓에 Vanilla RNN은 길이가 긴 시퀀스 처리에 문제가 있음( => 이에 대한 해결책으로 등장한 RNN네트워크가 LSTM, GRU)
추가 학습
1. 독립동등분포
728x90
'AI > AITech 3기' 카테고리의 다른 글
[PyTorch] 2강 PyTorch Basics (0) | 2022.01.24 |
---|---|
[PyTorch] 1강 Introduction to PyTorch (2) | 2022.01.24 |
[AI Math] 9강 CNN 첫걸음 (0) | 2022.01.23 |
[AI Math] 8강 베이즈 통계학 맛보기 (0) | 2022.01.23 |
[AI Math] 7강 통계학 맛보기 (0) | 2022.01.22 |