[부스트캠프 Pre-Cource] 9. RNN

김상윤·2022년 7월 30일
0

Sequential Model

sequential data

  • 길이가 언제 끝날지 모른다.
    -> input data의 차원을 알 수 없다.
    -> conv layer 등 사용 불가

Naive sequence model

  • 고려해야 하는 과거의 정보량이 계속 늘어난다.

Autoregressive model

  • 고려해야 하는 과거의 정보량을 fix

Markov model (first-order autoregressive model)

  • 바로 직전 과거의 정보만 예측결과에 영향을 미친다고 가정
  • 많은 정보가 버려질 수 밖에 없다.

Latent autoregressive model

  • Latent state (Hidden state) 추가
    : 직전보다 이전의 정보들을 (요약)포함한다.

Recurrent Neural Network (RNN)

  • 현재 입력이 들어가고, 이전의 입력이 Recurrent되어 돌아온다
  • timestamp T에 : T-1에서 들어온 정보
  • T : T-1에서의 정보와 x(t)의 정보 합쳐져서 h(t) 나온다.
  • 시간순으로 푼다.
  • Timestamp를 고정하고 시간순으로 풀면
    -> 각각의 network parameter를 쉐어하는 굉장히 큰 하나의 Fully-Connected 네트워크라고 할 수 있다.

Short-term dependencies

  • 한참 전의 정보는 현재에서 고려하기 힘들다.
  • Vanishing/Exploding gradient
    • 매 단계의 W가 중첩되어 곱해진다.
    • activation func: sigmoid
      : 정보가 죽어버린다.
    • Relu (activation func)
      : 정보가 너무 커져버린다.
  • 가장 기본적인 (vanilla) RNN
    : 하이퍼블릭 tan 이용

LSTM : Long Short Term Memory

cell state

  • 컨베이어 벨트 역할
  • 이전까지 들어온 정보들을 요약
  • 들어오는 정보를 요약하기 위한 조작 방법 (중요도 따져서)
    : gate

gate

  • Forget Gate
    : 어떤 정보를 버릴지 선택
  • Input Gate
    : 어떤 정보를 올릴지(cell state에)
  • Update cell
    : 정보를 cell에 올린다 (앞의 두 Gate 취합)
  • Output Gate
    : Output 결정

GRU : Gated Recurrent Unit

0개의 댓글