[AI Math] 10강 RNN 첫걸음

지구인 ㅣ 2022. 1. 23. 21:07

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})$$ 

 

  1. 아래 식은 과거 모든 정보를 사용했지만 시퀀스 데이터 분식 시 모든 과거 정보가 필요한 것은 아님
  2. 조건부에 들어가는 데이터 길이는 가변적 -> 시퀀스 데이터를 다루기 위해선 가변적 데이터를 다룰 수 있는 모델 필요

 

①$AR(\tau)$(Autogressive Model)자기회귀모델

: 고정된 길이 $\tau$만큼의 시퀀스만 사용하는 경우

빨강 박스 구간이 고정 길이 t

②잠재 AR 모델

: 바로 이전 정보를 제외한 나머지 정보들을 $H_{t}$라는 잠재변수로 인코딩해서 활용하는 경우

③RNN

: 잠재변수 $H_{t}$를 신경망을 통해 반복 사용, 시퀀스 데이터의 패턴을 학습하는 경우

 

 

2. RNN(Recurrent Neural Network)

- $W^{(1)}, W^{(2)}$ : 시퀀스와 상관없이 불변

RNN

  • 가장 기본적인 RNN 모형. MLP와 유사. 이 모델은 과거 정보 다룰 수 X.

가장 기본적인 RNN 모형

 

  • 일반적인 RNN 모형

RNN

  1. 이전 순서의 잠재 변수와 현재의 입력을 확용해 모델링 : 잠재변수인 $H_{t}$를 복제, 다음 순서의 잠재변수를 인코딩하는 데 사용
  2. BPTT(Backpropagation Through Time) : RNN의 역전파 방법으로, 잠재변수의 연결 그래프에 따라 순차적으로 계산

 

3. BPTT

BPTT를 통한 RNN의 가중치행렬의 미분 계산

  1. BPTT를 통해 RNN의 가중치행렬의 미분 계산 -> 위와 같이 미분의 곱으로 이뤄진 항 도출됨
  2. 시퀀스가 길어질수록 -> 위의 빨강 박스 부분의 항은 불안정해질 수 있음

 

4. 기울기 소실의 해결책

  1. 시퀀스 길이가 길어질 겨우, BPTT를 통한 역전파 알고리즘 계산이 불안정해짐 -> 길이를 끊어줄 필요가 있음( => 이를 truncated BPTT라 함)
  2. 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