Machine Learning/RNN

[Machine Learning] RNN(Recurrent Neural Network)

데이터 세상 2021. 3. 2. 23:01
728x90
반응형

RNN(Recurrent Neural Network)

  • Deep Learning 알고리즘 중 순차적인 데이터를 학습하여 classifcation 또는 prediction을 수행
  • 시계열 데이터에서 과거에 입력된 데이터와 나중에 입력된 데이터 사이의 관계를 고려해야 한다
  • 여러 개의 데이터가 순서대로 입력되었을 때 앞서 입력 받은 데이터를 잠시 기억해 놓는 방법을 사용
  • 기억된 데이터가 얼마나 중요한지를 판단하여 별도의 가중치를 줘서 다음 데이터 사용
  • 모든 입력 값에 이 작업을 순서대로 실행하므로 다음 층으로 넘어가기 전에 같은 층을 맴도는 것처럼 보이기 때문에 순환 신경망이라고 부름

  • 각 셀의 결과는 뒤이어 들어오는 입력 값에 영향을 줌
    • DNN의 경우 각 layer마다 파라미터들이 독립적이었으나 RNN 은 이를 공유
    • 현재의 출력 결과는 이전 time step의 결과에 영향을 받으며 hidden layer는 일종의 메모리 역할

 

RNN Applicaton

  • 텍스트 생성
    • 이전 단어들을 보고 다음 단어가 나올 확률을 예측하는 언어 모델을 기반으로 텍스트를 생성하는 generative model을 만들 수 있음
  • 언어 번역
    • Word sequence를 입력으로 사용하여 번역할 언어의 word sequence로 출력
  • 음석인식
    • Acoustic signal을 입력으로 받아 phonetic segment의 sequence 또는 probability distribution을 추측

 

RNN Output

Unit의 개수와 입력 Dimention의 차원이 Parameter를 결정

Sequencial의 경우 출력을 낼 때 얼마만큼의 input을 받아서 출력을 내겠느냐 결정

 

Time Backpropagation

 

 

RNN 예제

 

RNN 문제

  • Vanishing Gradient
  • 시각적으로 멀리 있는 정보는 Vanishing Gradient 현상이 일어나 학습이 힘들다

 

시계열 데이터 처리 Deep Learning 모델

RNN LSTM GRU
  LSTM (Long Short Term Memory) GRU (Gated Recurrent Unit)

 

728x90
반응형