RNN

yst3147·2022년 1월 21일
0

공부 내용

  • 시퀀스 데이터
  • RNN
  • BPTT
  • 기울기 소실

시퀀스 데이터

  • 소리, 문자열, 주가 등 시간 순서를 가진 데이터를 시퀀스(sequence) 데이터로 분류
  • 시퀀스 데이터는 독립동등분포(i.i.d) 가정을 잘 위배하기 때문에 순서를 바꾸거나 과거 정보에 손실이 발생하면 데이터의 확률분포도 바뀜

시퀀스 데이터 다루는 법

  • 이전 시퀀스의 정보를 가지고 앞으로 발생할 데이터의 확률분포를 다루기 위해 조건부확률을 이용할 수 있음

    • 아래 식의 조건부확률은 과거의 모든 정보를 사용하지만 시퀀스 데이터를 분석할 때 모든 과거의 정보가 필요하진 않음

  • 시퀀스 데이터를 다루기 위해선 길이가 가변적인 데이터를 다룰 수 있는 모델이 필요

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

자기회귀모델(Autoregressive Model)

  • 고정된 길이만큼의 시퀀스만 사용하는 경우

잠재 AR 모델

  • 바로 이전 정보를 제외한 나머지 정보들을 HtH_t 라는 잠재변수로 인코딩해서 활용

RNN(Recurrent Neural Network)

  • 잠재변수 HtH_t를 신경망을 통해 반복해서 사용하여 시퀀스 데이터의 패턴을 학습하는 모델

  • 가장 기본적인 RNN 모형은 MLP와 유사한 모양

  • RNN은 이전 순서의 잠재변수와 현재의 입력을 활용하여 모델링

    • 잠재변수인 HtH_t를 복제해서 다음 순서의 잠재변수를 인코딩하는데 사용


BPTT(Backpropagation Through Time)

  • RNN의 역전파 방법
  • 잠재변수의 연결그래프에 따라 순차적으로 계산
  • BPTT를 통해 RNN의 가중치행렬의 미분을 계산해보면 미분의 곱으로 이루어진 항이 계산

기울기 소실

  • 시퀀스 길이가 길어지는 경우 BPTT를 통한 역전파 알고리즘의 계산이 불안정해짐

해결책

  • truncated BPTT
    • 역전파를 일정 길이로 끊음으로서 문제 해결

  • LSTM, GRU
    • RNN의 기울기 소실 문제를 해결하기 위해 등장한 네트워크

Ref

0개의 댓글

관련 채용 정보