본문 바로가기

부스트캠프 AI Tech/[Week2] Deep Learning basic

[Week2] DL Basic - RNN [Day4]

*Sequential Model

  • 일상에서 대부분 데이터는 sequential data
  • sequential data는 레이블이 딱 정해지지 않고, 길이가 언제나 달라질 수 있음(과거 정보량이 늘어남)
  • Naive sequence model
  • Autoregressive model
    • 고정된 길이의 과거만 고려
  • Markov model (first-order autoregressive model)
    • 바로 전 과거에만 의존함
    • 반례) 수능날의 시험점수는 전날 공부한것에서만 나온다? -> X
  •  Latent autoregressive model
    • hidden state가 과거의 정보를 요약하고 있음


 

*Recurrent Neural Network

  • Long-term dependencies
    • 과거의 정보를 활용하고 싶은데 시간이 오래지나면 과거의 정보는 사라짐
  • short-term dependencies
    • 시간이 얼마 지나지 않은 과거의 정보는 활용할 수 있음


  • Vanishing & Exploding gradient
    • ex1) W가 작고, activation function이 sigmoid라고 가정하면 시간이 길어질수록 gradient는 매우 작아지고 학습이 멈춰짐 => vanishing
    • ex2) W가 1보다 크고, activation function이 ReLU라고 가정하면 시간이 길어질수록 gradient는 매우 커져버림 => exploding

 

*LSTM (Long Short Term Memory)

LSTM 구조

  • cell 구조
    cell 구조
    • Cell state : Core idea! => time step  t까지 들어온 정보를 요약하는 state
    • Forget Gate : 어떤 정보를 잊어버릴지 결정
      Forget Gate


    • Input Gate : 어떤 정보를 cell state에 기억할지 결정
      Input Gate


    • Update cell : Ct는 Ct-1과 ft를 곱함으로써 어떤 정보를 버릴지 정하고, it와 Ct를 곱함으로써 어떤 정보를 기억할지 정함.  두 항을 더하면 최종적인 Ct가 됨
      Update cell


    • Output Gate : Ct를 tanh를 통과시키고 xt,ht-1를 sigmoid를 통과시킨 두 항을 element-wise한것이 output 
      Output Gate


 

 

*GRU (Gated Recurrent Unit)

GRU 구조

 

  • Two gates : reset gate, update gate
  • No cell state, just hidden state
  • LSTM보다 성능이 좋은경우가 많다 - gate가 적고, 파라미터가 적어 generalization performance 증가 
  • Transformer가 나오면서 RNN구조에서 transformer를 활용하는 경우가 많음