AI Basic

RNN

yudam 2021. 12. 29. 21:26

Sequential Model

sequential data의 특성 상, 언제 그 데이터가 끝날지모른다. 몇개의 데이터가 들어올지에 상관없이 동작해야한다. 이것이 어려운 점으로 작용한다. 과거의 정보들을 고려해야하는 점이 첫 번째 어려움.

  • Autoregressive model : 고려할 과거 정보를 특정 개수로 정해둠

  • Markov model (first-order autoregressice model) : 가정하기에, 내 현재는 과거에만 의존하며, 이 때 과거는 바로 전에 국한. 근데 이게 말이 안됨. 내일의 수능 공부는 전날 공부에만 의존한다 라는 뜻이기 때문. 많은 정보를 손실하게 됨.

  • Latent autoregressive model : 히든 스테이트가 과거의 정보를 요약해 담고 있고, 이것에 의존해 예측하는 것.


Recurrent Neural Network

  • 학습이 어려운 이유?

이래서 relu를 안쓰기도..


LSTM

각각의 컴포넌트는 어떻게 동작하나? 그리고 long term dependency를 어떻게 잡나?

x는 단어로 볼 수 있다. ht는 output, hiddenstate. 다음번에 적용됨.

previous cell state : 요약정보(아웃풋되지 않음). 컨베이어벨트 같은 것. 어떤 데이터를 어떻게 조작할지 판단해서 gate로 보냄

  • forget gate 이전까지 들어온 정보를 현재입력을 바탕으로 지울지 결정 - sigmoid를 활용하므로 실수값.
  • input gate 이전까지 들어온 정보를 현재입력을 바탕으로 cell state로 올릴지 판단
  • update gate 위 두 정보를 취합하고 Ct 를 활용해 업데이트 후 Cell state로 보냄
  • output gate 결과값 보냄

 


GRU

LSTM과 다르게 Gate 가 두개.

reset and update. lstm은 cell state가 흘러가고 그것을 한 번 더 조작해서 hidden state와 output이 나옴.

GRU는 hidden state가 곧 output.

즉 cell state가 없고 바로 hidden이 있음 + output gate가 필요없어졌음.

두개의 게이트만으로 lstm과 비슷한 역할을 할 수 있게 해 줌.

 

 

LSTM 보다 GRU가 Parameter가 적으므로,

Generalization performance가 일반적으로 올라가므로 성능이 좋아지는 경향이 있어 잘 사용함.

 

 

요약

RNN의 단점이 Long term dependence의 처리 문제 → LSTM. 근데 게이트가 3개라 파라미터가 많음.

→ GRU. 게이트를 2개로 줄여 성능이 향상됨.

 

 

 

* 본 포스팅은 네이버 부스트캠프 AI Tech 3기 Pre-Course 강의를 정리한 내용입니다. https://www.boostcourse.org/onlyboostcampaitech3/joinLectures/329

'AI Basic' 카테고리의 다른 글

Module and Package  (0) 2021.12.29
Python Object Oriented Programming  (1) 2021.12.29
CNN  (0) 2021.12.29
Optimization  (0) 2021.12.29
Neural Network & Multi-Layer Perceptron  (0) 2021.12.29