[U] Week 1 - RNN 첫걸음

JaeJun Lee ·2022년 9월 23일
0

부스트캠프 AI Tech

목록 보기
9/30

RNN(Recurrent Neural Network)

독립적으로 들어오는 데이터가 아닌 시계열과 같이 시퀀스 형태의 데이터를 다루기 위한 네트워크.

  • 순차적으로 구성된 시계열(time-series), 소리, 문자열, 주가 등의 데이터를 시퀀스(sequence) 데이터로 분류한다.
  • 시퀀스 데이터는 독립동등분포(i.i.d.) 가정을 잘 위배하기 때문에 순서를 바꾸거나 과거 정보에 손실이 발생하면 데이터의 확률분포도 바뀌게 된다.
    • 과거 정보 또는 앞뒤 맥락 없이 미래를 예측하거나 문장을 완성하는 건 불가능하다.
  • 이전 시퀀스의 정보를 가지고 앞으로 발생할 데이터의 확률분포를 다루기 위해 조건부확률을 이용할 수 있다.
    • 조건부확률을 다룰 때 과거의 모든 정보를 활용할 수 있지만 경우에 따라 모든 정보가 필요한 것은 아니다.
  • 시퀀스 데이터를 다루기 위해서는 길이가 가변적인 데이터를 다룰 수 있는 모델이 필요하다.
    • 고정된 길이 tt만큼의 시퀀스만 사용하는 경우 AP(Autoregressive Model) 자기회귀모델이라고 부른다.
    • 잠재자기회귀모델은 바로 이전 정보를 제외한 나머지 정보들을 H(t)H(t)라는 잠재변수로 인코딩해서 활용하기 때문에 과거 모든 정보를 활용해서 정보를 예측할 수 있고 가변적인 데이터 문제를 고정된 길이의 문제로 변경할 수 있다는 장점이 있다.

가장 기본적인 RNN 모형은 MLP와 유사한 모형이다.
RNN은 이전 순서의 잠재변수와 현재의 입력을 활용하여 모델링한다.

  • tt에 따라 변하는 것은 잠재변수와 입력 데이터이고 가중치행렬은 변하지 않는다.

RNN의 역전파(Backpropagation Through Time, BPTT)는 잠재변수의 연결그래프에 따라 순차적으로 계산한다.

  • BPTT를 통해 RNN의 가중치행렬의 미분을 계산하면 미분의 곱으로 이루어진 항이 계산된다.
  • 일반적인 BPTT를 모든 tt에 대해 적용하면 RNN의 학습이 불안정해지기 쉽다.
    • 기울기 소실 문제를 보완하기 위해 시퀀스 길이가 길어지는 경우 BPTT를 통한 역전파 알고리즘의 계산이 불안정해지므로 길이른 끊는 것(truncated BPTT)이 필요하다.

Reference

0개의 댓글