hojeomi blog

Day 14-1. RNN 본문

AI/Course

Day 14-1. RNN

호저미 2021. 2. 5. 01:34

1. Sequential model

  • 소리, 문자열, 주가 등의 데이터
  • 시퀀스 데이터는 독립동등분포(i.i.d.) 가정을 잘 위배하기 때문에 순서를 바꾸거나 과거 정보에 손실이 발생하면 데이터의 확률분포도 바뀌게 됨
  • 이전 시퀀스의 정보를 가지고 앞으로 발생할 데이터의 확률분포를 다루기 위해 조건부확률을 이용할 수 있음
  • 시퀀스 데이터를 다루기 위해서는 길이가 가변적인 데이터를 다룰 수 있는 모델이 필요함

조건부에 들어가는 데이터 길이는 가변적임

 

 

 

2. Recurrent Neural Network

  • 가장 기본적인 RNN 모형은 MLP와 유사함
  • RNN은 이전 순서의 잠재변수와 현재의 입력을 활용하여 모델링함
  • RNN의 역전파는 잠재변수의 연결그래프에 따라 순차적으로 계산함 → Backpropagation Through Time(BPTT)

  • RNN은 시간 순으로 품 → recurrence가 있는 것을 시간 순으로 풀면 fully connected한 각각의 네트워크가 공유하고 있는 입력값이 매우 큰 네트워크 한개가 됨

 

2-1) BPTT

  • BPTT를 통해 RNN의 가중치 행렬의 미분을 계산하면 아래와 같이 미분의 곱으로 이루어진 항이 계산됨
  • 시퀀스 길이가 길어지는 경우 BPTT를 통한 역전파 알고리즘의 계산이 불안정해지므로 길이를 끊는 것이 필요함 → truncated BPTT
    • 이러한 기울기 소실 문제와 더불어 상대적으로 오래된 과거의 중요한 정보를 반영하기 위해 LSTM과 GRU가 등장함

시퀀스 길이가 길어질수록 빨간 박스는 불안정해짐(미분한 기울기를 계속 곱하면서 불안정해짐. 이는 RNN에서 합성함수로 ReLU를 많이 쓰지 않는 것과 연결됨)

 

 

 

3. LSTM

 

 

 

 

 

4. GRU

  • only reset gate and update gate
  • no cell state, just hidden state

'AI > Course' 카테고리의 다른 글

Day 16-1. Intro to NLP, Bag-of-Words  (0) 2021.02.15
Day 14-2. Transfomer  (0) 2021.02.05
Day 13. CNN  (0) 2021.02.04
Day 12-2. CNN  (0) 2021.02.02
Day 12-1. 최적화  (0) 2021.02.02
Comments