RNN

오상윤·2023년 4월 11일
0

딥러닝

목록 보기
4/12

Time Series(시계열)

일정 시간 간격으로 배치된 데이터들의 수열

  • 과거의 데이터가 현재/미래까지 영향을 미침
  • 머신러닝에서 배운 회귀분석은 시점은 고려하지 않으나 Time Series(시계열) 분석은 시간을 고려함
  • 시계열 분석의 목적 : 시계열 데이터를 보고 앞으로 일어날 미래의 일을 예측
  • e.g.
    • 주가 예측
    • 날씨 예측
    • 자연어 처리
    • 비디오 다음 frame 예측
    • 음성 모델 등

sequence Model

모델의 입력이나 출력이 Sequence data인 상황을 다루는 모델

  • e.g.
    • Non sequential
    • One to Many
    • Many to Many
    • Many to One

Sequence data

  • 텍스트 스트림, 오디오 클립, 비디오 클립, 시계열 데이터 등

RNN(Recurrent Neural network)

시간에 의존적인 Time Series 분석을 하거나 순차적인(Sequential) 데이터 학습에 활용

  • 일반 Neural network : 이전의 입력값에 영향을 받지 않음
  • RNN : ht-1이라는 정보가 추가되어 이전의 입력값에 영향을 받게됨

BPTT(BackPropagation Through Time)

시간 방향으로 펼친 Neural Network의 역전파 수행

RNN의 단점

  1. 신경망이 깊어질 수록 Gradient vanishing(or exploding)문제가 일어날 수 있음
  • RNN은 가까이 있는 정보(입력)에 영향을 더 많이 받음
  • 몇몇 사례에서 초반부 데이터에 여향을 받는 경우가 많다
  • Gradient vanishing/Exploding이 일어나면 기울기가 중간에 소멸하여 정보가 남아있지 않게되며 학습이 안됨
  1. 장기적인 의존성을 확인하는데 효과적이지 않음

LSTM(LongShort Term Memory Network)

장기적인 의존성을 요구하는 학습을 할 수 있다.

  • RNN에 비해 부가적인 연산들이 추가된다.

Cell State

  • LSTM의 핵심 아이디어
  • 이전의 정보가 잘 흐를 수 있는 구조
  • Cell State에 어떠한 값을 곱하거나 더해줌으로써 정보를 적절히 다음 state로 전달
  • 곱하거나 더해지는 정도는 여러 gate에 의해 조정됨

Forget gate(f)

  • 과거의 정보를 얼마나 잊을 것인가
  • 이전 hidden state(ht-1)와 현재 input(xt)를 받아 sigmoid를 취함
  • 0에 가까울 수록 이전의 많은 정보를 잊고 1에 가까울수록 유지

input gate(i)

  • 현재 정보를 얼마나 기억할 것인가
  • 이전 hidden state(ht-1)와 현재 input(xt)를 받아 sigmoid를 취함으로써 it를 구함
  • tanh를 통해 새로운 백터를 만듦
  • it와 새로운 백터를 곱한 값을 cell state를 업데이트하기 위해 사용

output gate(o)

  • 다음 state로 보낼 output(hidden state)를 구함
  • 이전 hidden state(ht-1)와 현재 input(xt)를 받아 sigmoid를 취함으로써 ot를 구함
  • Cell state(ct)에 tanh를 취한것과 ot를 곱함으로써 output(hidden state)으로 보냄
profile
가보자가보자~

0개의 댓글

관련 채용 정보