본문 바로가기
Analysis/Time series

Lecture 18. 시계열 딥러닝 알고리즘

by 5ole 2021. 5. 2.

 

1. 시계열 회귀분석

 

  • 은닉층이 없고 입력값과 출력값의 관계가 다이렉트로 연결
  • 모델 개수는 1개의 회귀분석
  • 설명 가능

회귀분석

 

 

2. 딥러닝

 

  • 입력값과 출력값이 직접적으로 연결되지 못하고 복잡한 비선형성을 포함
  • 2개 이상(은닉층과 노드 갯수만큼)의 회귀분석
  • 설명 불가능
  • 사람이 설정해야하는 하이퍼파라미터가 많음

딥러닝

 

시계열 / 딥러닝

 

 

3. 시계열분석에서 딥러닝 적용 필요성

 

(1) 데이터에서 자동으로 feature 추출하고 학습 가능

(2) 여러 X와 여러 Y 가능

(3) 길이가 긴 sequence 패턴도 추출 가능

 

 

4. 시계열 딥러닝 알고리즘 (RNN, LSTM, GRU)

 

 

(1) CNN

 

  • 비시계열 딥러닝, MLP 기반
  • 이미지나 영상에서의 인식이나 분류 문제 등에서 뛰어난 결과
  • 입력된 이미지보다 더 큰 이미지로 손쉽게 확장될 수 있는 특징
  • YOLO, GAN 등의 모델들은 CNN을 기반
  • 은닉층 노드를 두번 이상 건드리지 않고 한번만 실행
  • 스냅샷 데이터 (이미지, 영상, 바둑 )

 

CNN

 

(2) RNN

 

  • 시계열 딥러닝, AR
  • 예측이 가장 큰 분석 목적
  • 비현실적으로 긴 시계열도 쉽게 확장 가능
  • 가변 길이의 시계열 데이터도 처리 가능
  • 은닉층 노드를 공통으로 사용하여 계속 갱신
  • 시퀀스 데이터 (기상, 주가, 언어, 음성)

 

RNN

1. 종류

 

  • One-to-One : Vanilla Neural Networks
  • One-to-Many : Image Captioning, Target Explanation 
  • Many-to-One : Classification, Time Series Analysis(어제, 오늘 -> 내일), Sentiment Analysis, Spam Detection
  • Many-to-Many : Time Series Analysis, Machine Translation (번역), Prediction of Next Word

 

 

2. 한계

 

  • 감소하는 Gradients는 학습하기 어려움
  • 데이터의 길이에 비례해 BPTT가 사용하는 컴퓨터 비용 증가
  • 은닉층 과거 정보가 끝까지 전달되지 못함
  • 멀리 전파될 때 전파량이 점차 작아지는 Vanishing Gradients 문제 발생 -> ReLU 사용                                                                        (RNN에서는 같은 레이어를 반복하기 때문에 미사용)

 

(3) LSTM

 

  • 원인과 결과의 관계를 장시간까지 반영 - RNN 개선
  • 일정한 오류를 유지함으로써 여러 네트워크가 장시간(1000개 이상 layer)에 걸쳐 학습 가능하도록 함
  • Cell 개념으로 열리고 닫히는 게이트로 어떤 데이터를 저장/읽기/쓰기/삭제 선택
  • 기존 RNN에 Cell State(C)를 추가하여 얼마나 과거의 데이터를 기억할지를 제안함 (더하기 사용)
  • RNN의 은닉층을 LSTM Block으로 대체, 각 Block은 기존 H에 C가 추가된 네트워크 구조
  • Forget Gate의 곱하기 노드가 잊어야 할건 기울기를 줄이고 그렇지 않은건 과거로 전해져 '기억셀' 기울기 소실 없음

 

 

(4) GRU

 

  • LSTM의 구조를 간결히 변경해 빠른 속도와 유사한 성능 보임
  • LSTM의 Ct와 Ht가 하나의 벡터 Ht로 통합
  • GRU가 LSTM보다 학습할 가중치가 적음
  • 주제별로 LSTM과 GRU의 성능 차이가 있음

 

 

 

 

 

+ 참고 자료 및 출처
 

김경원 < 파이썬을 활용한 시계열 데이터 분석 A-Z  강의 >  ( 패스트캠퍼스 강의 )

 

댓글