KR20220059287A - 시계열 예측을 위한 어텐션 기반 스태킹 방법 - Google Patents

시계열 예측을 위한 어텐션 기반 스태킹 방법 Download PDF

Info

Publication number
KR20220059287A
KR20220059287A KR1020200144690A KR20200144690A KR20220059287A KR 20220059287 A KR20220059287 A KR 20220059287A KR 1020200144690 A KR1020200144690 A KR 1020200144690A KR 20200144690 A KR20200144690 A KR 20200144690A KR 20220059287 A KR20220059287 A KR 20220059287A
Authority
KR
South Korea
Prior art keywords
time series
data
prediction
runner
learning model
Prior art date
Application number
KR1020200144690A
Other languages
English (en)
Other versions
KR102533460B1 (ko
Inventor
조인휘
최성민
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020200144690A priority Critical patent/KR102533460B1/ko
Publication of KR20220059287A publication Critical patent/KR20220059287A/ko
Application granted granted Critical
Publication of KR102533460B1 publication Critical patent/KR102533460B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

일 실시예에 따른 시계열 예측 시스템에 의해 수행되는 시계열 예측 방법은, 시계열 예측을 위하여 구성된 앙상블 학습 기반의 학습 모델을 데이터 세트를 이용하여 트레이닝하는 단계; 및 상기 트레이닝된 학습 모델에 시계열 데이터를 입력함에 따라 상기 트레이닝된 학습 모델로부터 시계열 데이터에 대한 예측 결과 데이터를 획득하는 단계를 포함하고, 상기 학습 모델은 기본 러너 및 슈퍼 러너를 포함하고, 상기 학습 모델에 구성된 슈퍼 러너는, 어텐션(attention) 기반의 모델을 사용하고, 현재 시간을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 통해 시계열 데이터에 대한 예측을 수행할 수 있다.

Description

시계열 예측을 위한 어텐션 기반 스태킹 방법{ATTENTION-BASED STACKING METHOD FOR TIME SERIES FORECASTING}
아래의 설명은 시계열 데이터 예측 기술에 관한 것이다.
시계열 예측(Time Series Forecasting)은 기계 학습의 중요한 영역이다. 예측에는 과거 데이터에 맞는 모델을 취하고 이를 사용하여 미래의 관찰을 예측하는 것이 포함된다. 시계열은 시간을 통해 순차적으로 측정된 일련의 관측 값이다. 이러한 측정은 시간을 통해 지속적으로 이루어 지거나 개별 시점 집합에서 수행될 수 있다. 다변량 시계열 예측은 금융 시장 예측 일기 예보, 복잡한 동적 시스템 분석, 유용한 실시간 정보를 수집하기 위해 여러 센서가 배치 된 사물 인터넷 데이터 분석과 같은 많은 분야에서 널리 적용되었다. Vector autoregression(VAR), autoregressive moving average(ARMA) 모델, autoregressive integrated moving average(ARIMA) 모델, support vector regression(SVR) 와 같은 회귀 기반 방법이 제안되었다. 신경망, 특히 Recurrent Neural Network(RNN) 기반 모델은 최근 다른 관련 영역에서의 성공으로 인해 시계열 예측을 위한 제안되었다.
앙상블(Ensemble)에는 일반적으로 기본 학습자라고 하는 여러 학습자가 포함된다. 앙상블의 일반화 능력은 일반적으로 기본 학습자의 능력보다 훨씬 강하다. 실제로 앙상블 학습은 무작위 추측보다 약간 더 나은 약한 학습자를 매우 정확한 예측을 할 수 있는 강한 학습자에게 부양할 수 있다는 점에서 매력적이다. 따라서 "기본 학습자"는 "약한 학습자"라고도 한다. 그러나 대부분의 이론적 분석이 약한 학습자에 대해 작동하지만 실제로 사용되는 기본 학습자가 반드시 약한 것은 아니다. 그다지 약하지 않은 기본 학습자를 사용하면 종종 더 나은 성과를 가져 오기 때문이다. 약한 학습자를 결합하는 것을 목표로 하는 세 가지 주요 앙상블 방법(bagging, boosting 및 stacking)이 있다. 배깅(Bagging)은 주로 샘플 트레이닝 세트의 샘플링을 무작위화 하고 반복 샘플링을 통해 새로운 모델을 학습하며 최종적으로 이러한 모델을 기준으로 평균을 취한다. 부스팅(Boosting)은 일반적으로 사용되는 효과적인 통계 학습 방법으로, 약한 학습자를 지속적으로 사용하여 이전 약한 학습자의 "결함"을 보완하여 더 강력한 학습을 연속적으로 구성한다. 이 강한 학습자는 목적 함수 값을 충분히 작게 만들 수 있다. 스태킹(Stacking)은 다중 분류 모델 또는 회귀 모델을 슈퍼 분류기 또는 슈퍼 회귀를 통해 통합하는 앙상블 학습 기술이다. 기본 러너는 트레이닝 세트를 사용하고 슈퍼 러너는 기본 모델의 예측 결과를 트레이닝 세트로 사용한다.
배깅(Bagging)은 구성 요소보다 분산이 적은 앙상블 모델을 얻는 데 주로 초점을 맞추는 반면 부스팅(Boosting) 및 스태킹(Stacking)은 분산도 줄일 수 있음에도 불구하고 주로 해당 구성 요소보다 덜 편향된 강력한 모델을 생성하려고 한다. 그러나 이러한 방법 중 어느 것도 시계열 데이터의 시간 종속성을 고려하지 않다.
시계열 예측 문제를 해결하기 위하여 스태킹(Stacking) 방법에 기반한 새로운 학습 모델을 이용하여 시계열 데이터에 대한 예측 결과를 획득하는 방법 및 시스템을 제공할 수 있다. 스태킹 방법은 회귀에 대한 방편과 편차를 줄여주지만 일반적으로 간단한 선형회귀를 슈퍼 러너로 활용하기 때문에 시계열 데이터의 시간적 의존성은 고려하지 않는다. 이에, 어텐션(attention) 메커니즘을 갖춘 GRU 모델을 슈퍼 러너로 설계하여 시계열 예측 문제를 해결하고자 한다.
시계열 예측 시스템에 의해 수행되는 시계열 예측 방법은, 시계열 예측을 위하여 구성된 앙상블 학습 기반의 학습 모델을 데이터 세트를 이용하여 트레이닝하는 단계; 및 상기 트레이닝된 학습 모델에 시계열 데이터를 입력함에 따라 상기 트레이닝된 학습 모델로부터 시계열 데이터에 대한 예측 결과 데이터를 획득하는 단계를 포함하고, 상기 학습 모델은 기본 러너 및 슈퍼 러너를 포함하고, 상기 학습 모델에 구성된 슈퍼 러너는, 어텐션(attention) 기반의 모델을 사용하고, 현재 시간을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 통해 시계열 데이터에 대한 예측을 수행할 수 있다.
상기 학습 모델은, 복수 개의 기본 러너 및 슈퍼 러너로 구성되어 앙상블 학습 기반의 스태킹 방법(stacking)을 이용하는 것을 포함하고, 상기 트레이닝하는 단계는, 상기 구성된 학습 모델을 데이터 세트(set)를 트레이닝 세트, 벨리데이션 세트, 테스트 세트로 구분하고, 상기 구분된 트레이닝 세트를 복수 개의 하위 데이터 세트로 분류하고, 상기 분류된 복수 개의 하위 데이터 세트를 이용하여 K-fold Cross Validation 방식으로 상기 구성된 복수 개의 기본 러너를 트레이닝하는 단계를 포함할 수 있다.
상기 트레이닝하는 단계는, 상기 데이터 세트를 이용하여 트레이닝된 복수 개의 기본 러너로부터 예측된 각각의 예측 데이터를 획득하고, 상기 획득된 각각의 예측 데이터를 결합한 결합 데이터를 슈퍼 러너에 입력하여 슈퍼 러너를 트레이닝하는 단계를 포함할 수 있다.
상기 슈퍼 러너는, 어텐션(attention) 기반의 GRU 모델을 사용하고, 상기 사용된 GRU 모델의 GRU 셀에 업데이트 게이트 및 리셋 게이트가 포함되고, 상기 트레이닝하는 단계는, 현재 시간을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 스코어로 계산하는 단계를 포함할 수 있다.
상기 트레이닝하는 단계는, 상기 계산된 스코어를 이용하여 상기 이전의 히든 스테이트 또는 현재의 히든 스테이트를 포함하는 각 히든 스테이트에 대한 가중치를 계산하는 단계를 포함할 수 있다.
상기 트레이닝하는 단계는, 각 시점에서 계산된 가중치 및 이전의 히든 스테이트를 사용하여 컨텍스트 벡터를 계산하고, 현재의 히든 스테이트의 값과 상기 계산된 컨텍스트 벡터의 연결(Concat) 연산을 수행한 후, 선형 함수를 사용함으로써 추정값을 계산하는 단계를 포함할 수 있다.
상기 획득하는 단계는, 상기 트레이닝된 학습 모델에 시계열 데이터를 입력함에 따라 상기 트레이닝된 학습 모델에 구성된 복수 개의 기본 러너를 이용하여 획득된 각각의 예측 데이터에 대한 평균 값을 계산하고, 상기 계산된 평균 값을 결합하여 상기 트레이닝된 학습 모델에 구성된 슈퍼 러너의 입력 데이터로 사용함으로써 상기 슈퍼 러너로부터 최종 예측 데이터를 획득하는 단계를 포함할 수 있다.
시계열 예측 시스템은, 시계열 예측을 위하여 구성된 앙상블 학습 기반의 학습 모델을 데이터 세트를 이용하여 트레이닝하는 학습부; 및 상기 트레이닝된 학습 모델에 시계열 데이터를 입력함에 따라 상기 트레이닝된 학습 모델로부터 시계열 데이터에 대한 예측 데이터를 획득하는 예측부를 포함하고, 상기 학습 모델은 기본 러너 및 슈퍼 러너를 포함하고, 상기 학습 모델에 구성된 슈퍼 러너는, 어텐션(attention) 기반의 모델을 사용하고, 현재 시간을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 통해 시계열 데이터에 대한 예측을 수행할 수 있다.
시계열 데이터를 처리할 때 기본 러너를 사용하여 예측하고, 기본 러너로부터 획득된 예측 데이터를 결합한 결합 데이터를 슈퍼 러너에 입력하여 최종 예측 결과를 획득함으로써 시계열 데이터를 예측 정확도를 향상시킬 수 있다.
슈퍼 러너에서 현재 시점을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 통해 예측을 수행함으로써 시계열 데이터의 예측 정확도를 향상시킬 수 있다.
도 1은 일 실시예에 따른 시계열 예측 시스템에서 시계열 예측 동작을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 시계열 예측 시스템에서 기본 러너의 학습 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 시계열 예측 시스템에서 슈퍼 러너의 구조를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 시계열 예측 시스템의 구성을 설명하기 위한 블록도이다.
도 5는 일 실시예에 따른 시계열 예측 시스템에서 시계열 예측 방법을 설명하기 위한 흐름도이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따른 시계열 예측 시스템에서 시계열 예측 동작을 설명하기 위한 도면이다.
실시예에서는 시계열 예측 문제를 해결하기 위한 스태킹(Stacking) 방법에 기반하고, 새로운 슈퍼 러너 모델을 제안한다. 스태킹 방법은 회귀에 대한 방편과 편차를 줄여주지만 일반적으로 간단한 선형회귀를 슈퍼 러너(super learner)로 활용하기 때문에 시계열 데이터의 시간적 의존성은 고려하지 않는다. 이에, 실시예에서는 어텐션(attention) 메커니즘을 갖춘 GRU 모델을 슈퍼 러너로 설계할 수 있다.
데이터 세트(data set)가 주어지면 데이터의 공간 구조와 데이터 간의 관계는 매우 복잡해진다. 서로 다른 각도에서 데이터 세트를 관찰하기 위하여 복수 개의 서로 다른 모델을 사용하는 것이 매우 중요하다.
시계열 예측 시스템은 스태킹 방법 기반의 학습 동작 및 예측 동작을 수행할 수 있다.
우선, 스태킹 방법 기반의 학습 과정을 설명하기로 한다.
시계열 예측 시스템은 시계열 데이터(101)를 예측하기 위한 학습 모델을 구성할 수 있다. 이러한 학습 모델은 복수 개의 기본 러너(102) 및 하나의 슈퍼 러너(103)를 포함하는 형태로 구성될 수 있다. 이때, 기본 러너(102) 및 슈퍼 러너(103) 역시 학습 모델일 수 있다.
제1 단계 단계에서 시계열 예측 시스템은 기본 러너(102)를 선택할 수 있다. 예를 들면, XGBoost, LightGBM, Random Forest Regression, Linear Regression, Polynomial Regression, Support Vector Regression, Gaussian Process Regression, Artificial Neural Network 등 모델을 기본 러너(base learner)(102)로 사용될 수 있다.
제2 단계에서 시계열 예측 시스템은 데이터 세트(data set)를 트레이닝 세트, 벨리데이션(Validation) 세트, 테스트 세트로 분류할 수 있다. 이때, 데이터 세트는 시계열 데이터일 수 있다. 예를 들면, 트레이닝 세트는 트레이닝하기 위한 데이터, 벨리데이션 세트는 검증하기 위한 데이터, 테스트 세트는 테스트 하기 위한 데이터를 의미할 수 있다. 그리고, 시계열 예측 시스템은 데이터 세트를 이용하여 기본 러너(102)를 트레이닝할 수 있다. 이때, 시계열 예측 시스템은 과적합(overfitting)의 문제를 피하기 위해 각각의 기본 러너(102)를 K-fold cross validation 방식으로 학습시킬 수 있다. 도 2를 참고하면, 기본 러너(102)의 학습 과정을 설명하기 위한 도면이다. 예를 들면, 트레이닝 세트를 복수 개의 분리된 하위 데이터 세트로 나누고, train 1부터 train N(N은 자연수)까지 표시할 수 있다. 실시예에서는 트레이닝 세트를 5개의 하위 데이터 세트로 나눈 바, train1부터 train5까지 표시할 수 있다.
제3 단계에서 시계열 예측 시스템은 train2부터 train5까지 기본 러너(102)를 트레이닝할 수 있다. 다시 말해서, 시계열 예측 시스템은 하나의 하위 데이터 세트를 제외한 나머지 하위 데이터 세트를 이용하여 기본 러너(102)를 트레이닝할 수 있다. 구체적으로, 시계열 예측 시스템은 train1를 이용하여 제1 기본 러너(Base Learner 1)를 트레이닝함에 따라 예측 데이터를 획득할 수 있고, 획득된 예측 데이터를 저장할 수 있다. 시계열 예측 시스템은 train2를 예측 세트 데이터로 사용할 수 있다. 시계열 예측 시스템은 상기 예측 세트 데이터를 이용하여 제1 기본 러너를 트레이닝 하여 train2의 예측 데이터를 저장한다. 이러한 방법으로 train1부터 train5까지 다 예측될 때까지 계속 진행할 수 있다.
제4 단계에서 시계열 예측 시스템은 train1부터 train5까지의 순서에 따라 예측한 예측 데이터를 채우고 Pi (i는 자연수)로 표시할 수 있다. 이때, i는 1부터 N까지의 자연수일 수 있다. 이때, 각 기본 러너별로 예측된 예측 데이터에 대한 평균 값이 계산될 수 있다.
제5 단계에서 시계열 예측 시스템은 제2 기본 러너(Base Learner 2)를 선택하고, 제2 단계 내지 제4단계의 작업을 반복함으로써 제2 기본 러너를 통하여 획득된 예측 데이터를 저장할 수 있다. 또한, 마찬가지의 방식을 통해 시계열 예측 시스템에 구성된 모든 기본 러너를 트레이닝할 수 있다. 예를 들면, N개의 기본 러너가 구성되어 있을 경우, N개의 기본 러너를 트레이닝할 수 있다.
제6 단계에서 시계열 예측 시스템은 각각의 기본 러너가 예측한 예측 데이터를 슈퍼 러너의 입력 데이터로 입력할 수 있다. 구체적으로, 시계열 예측 시스템은 각각의 기본 러너로부터 획득된 예측 데이터를 슈퍼 러너에 입력하기 위한 입력 데이터로 생성할 수 있다. 이때, 각각의 기본 러너로부터 획득된 예측 데이터를 슈퍼 러너에 입력하기 위한 입력 데이터로 생성하는 다양한 방법이 존재할 수 있다. 예를 들면, 시계열 예측 시스템은 각각의 기본 러너로부터 획득된 예측 데이터를 통합하여 입력 데이터로 생성할 수 있다. 또는, 시계열 예측 시스템은 각각의 기본 러너로부터 획득된 예측 데이터를 합산한 후, 평균을 도출한 결과를 입력 데이터로 생성할 수 있다. 시계열 예측 시스템은 생성된 입력 데이터를 이용하여 슈퍼 러너를 트레이닝할 수 있다.
여기서, 어텐션(attention) 기반 GRU 모델을 슈퍼 러너로 사용할 수 있다. 도 3을 참고하면, 슈퍼 러너의 구조를 설명하기 위한 도면이다.
여기서 GRU 는 RNN 의 변형이다. GRU 셀에는 업데이트 게이트 및 리셋 게이트로 구성되어 있다. 업데이트 게이트와 리셋 게이트는 이전 정보의 일부를 무시하기로 결정할 수 있지만, 업데이트 게이트는 얼마나 많은 정보를 잊어 버릴지를 결정하는 기능뿐만 아니라 새로운 정보를 얼마나 많이 추가할 수 있는지를 결정하는 기능을 가지고 있다. 방정식은 다음과 같다.
Figure pat00001
여기서, ut, rt는 각각 업데이트 게이트 및 리셋 게이트를 나타낸다. Wu, Wr, W는 트레이닝 될 매개변수를 나타낸다.
Figure pat00002
및 tanh는 각각 시그모이드(sigmoid) 함수 및 tanh 함수를 의미한다.
현재 시간 단계(step)를 예측하기 위하여 가장 중요한 정보는 현재 시간 단계(시점)의 히든 스테이트이다. 이에 따라 효과적인 추정을 위하여 어텐션 메커니즘을 사용하여 이전의 히든 스테이트(hidden state)가 현재의 히든 스테이트와 밀접한 관련이 있는지 판단해야 한다.
이를 위하여, 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계(관련성)를 판단하기 위한 스코어 함수(점수 도출 식)에 대하여 설명하기로 한다.
Figure pat00003
여기서, Ws는 트레이닝 가능한 변수이고, ht는 현재의 히든 스테이트, hi는 이전의 히든 스테이트이다.
스코어(점수)가 계산됨에 따라, 계산된 스코어를 이용하여 각 히든 스테이트에 대한 가중치가 계산될 수 있다. 이러한 스코어는 확률값으로 도출될 수 있다. 이때, 계산된 스코어에 가중치를 할당하여 현재의 히든 스테이트와의 상관 관계를 나타낼 수 있다. 히든 스테이트의 가중치는 다음과 같이 계산될 수 있다.
Figure pat00004
여기서, k는 시간 단계의 길이이다.
그런 다음, 각 시점에서 계산된 가중치 및 히든 스테이트를 사용하여 다음과 같이 컨텍스트 벡터를 계산할 수 있다.
Figure pat00005
마지막으로, 현재 히든 스테이트 값과 계산된 컨텍스트 벡터의 연결 (concatenate) 연산을 수행한 후, 선형 함수를 사용하여 추정값이 계산될 수 있다.
Figure pat00006
다음은, 스태킹 방법 기반의 예측 동작을 설명하기로 한다.
제1 단계에서, 시계열 예측 시스템은 트레이닝된 각 기본 러너가 k개 저장된 학습 모델을 이용하여 예측 데이터를 예측할 수 있다. 시계열 예측 시스템은 각 기본 러너별로 예측된 예측 데이터에 대한 평균 값을 계산할 수 있다.
제2 단계에서 시계열 예측 시스템은 모든 기본 러너가 예측한 각각의 예측 데이터의 평균 결과를 결합하여 슈퍼 러너의 입력 데이터로 사용할 수 있다.
제3 단계에서 시계열 예측 시스템은 트레이닝된 슈퍼 러너를 사용하여 시계열 데이터에 대한 예측 결과를 획득할 수 있다.
일 실시예에 따른 시계열 예측 시스템은 어텐션 메커니즘을 갖춘 GRU 모델을 슈퍼 러너로 설계하여 시간 종속성을 고려할 수 있다. 시계열 예측 시스템은 스태킹 방법에 기반하여 새로운 슈퍼 러너를 제안함으로써 예측 정확도를 높일 수 있다.
예를 들면, 시계열 예측 시스템은 매일 주식의 종가를 예측할 수 있고, 상점에서 판매를 예측할 수 있다. 더 나아가, 매년 한 지역의 출생률, 한 지역의 실업률, 서버의 활용 수요 및 한 지역의 휘발유의 평균 가격 등 다양한 시계열 데이터를 이용하여 결과를 예측할 수 있다. 이외에도 다양한 분야에 적용될 수 있다.
도 4는 일 실시예에 따른 시계열 예측 시스템의 구성을 설명하기 위한 블록도이고, 도 5는 일 실시예에 따른 시계열 예측 시스템에서 시계열 예측 방법을 설명하기 위한 흐름도이다.
시계열 예측 시스템(100)의 프로세서는 학습부(410) 및 예측부(420)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 시계열 예측 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 5의 시계열 예측 방법이 포함하는 단계들(510 내지 520)을 수행하도록 시계열 예측 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서는 시계열 예측 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 시계열 예측 시스템에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 시계열 예측 시스템을 제어할 수 있다. 이때, 학습부(410) 및 예측부(420)를 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(510 내지 520)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.
단계(510)에서 학습부(410)는 시계열 예측을 위하여 구성된 앙상블 학습 기반의 학습 모델을 데이터 세트를 이용하여 트레이닝할 수 있다. 이때, 학습 모델은 복수 개의 기본 러너 및 슈퍼 러너로 구성되어 앙상블 학습 기반의 스태킹 방법(stacking)을 이용하는 것을 포함할 수 있다. 학습 모델에 구성된 슈퍼 러너는, 어텐션(attention) 기반의 모델을 사용하고, 현재 시간을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 통해 시계열 데이터에 대한 예측을 수행할 수 있다. 학습부(410)는 구성된 학습 모델을 데이터 세트(set)를 트레이닝 세트, 벨리데이션 세트, 테스트 세트로 구분하고, 구분된 트레이닝 세트를 복수 개의 하위 데이터 세트로 분류하고, 분류된 복수 개의 하위 데이터 세트를 이용하여 K-fold Cross Validation 방식으로 구성된 복수 개의 기본 러너를 트레이닝할 수 있다. 학습부(410)는 데이터 세트를 이용하여 트레이닝된 복수 개의 기본 러너로부터 예측된 각각의 예측 데이터를 획득하고, 획득된 각각의 예측 데이터를 결합한 결합 데이터를 슈퍼 러너에 입력하여 슈퍼 러너를 트레이닝할 수 있다. 이때, 슈퍼 러너는 어텐션(attention) 기반의 GRU 모델을 사용하고, 사용된 GRU 모델의 GRU 셀에 업데이트 게이트 및 리셋 게이트가 포함될 수 있다. 학습부(410)는 현재 시간을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 스코어로 계산할 수 있다. 학습부(410)는 계산된 스코어를 이용하여 이전의 히든 스테이트 또는 현재의 히든 스테이트를 포함하는 각 히든 스테이트에 대한 가중치를 계산할 수 있다. 학습부(410)는 시점에서 계산된 가중치 및 이전의 히든 스테이트를 사용하여 컨텍스트 벡터를 계산하고, 현재의 히든 스테이트의 값과 계산된 컨텍스트 벡터의 연결(Concat) 연산을 수행한 후, 선형 함수를 사용함으로써 추정값을 계산할 수 있다.
단계(520)에서 예측부(420)는 트레이닝된 학습 모델에 시계열 데이터를 입력함에 따라 트레이닝된 학습 모델로부터 시계열 데이터에 대한 예측 결과 데이터를 획득할 수 있다. 예측부(420)는 트레이닝된 학습 모델에 시계열 데이터를 입력함에 따라 트레이닝된 학습 모델에 구성된 복수 개의 기본 러너를 이용하여 획득된 각각의 예측 데이터에 대한 평균 값을 계산하고, 계산된 평균 값을 결합하여 트레이닝된 학습 모델에 구성된 슈퍼 러너의 입력 데이터로 사용함으로써 슈퍼 러너로부터 최종 예측 데이터를 획득할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (8)

  1. 시계열 예측 시스템에 의해 수행되는 시계열 예측 방법에 있어서,
    시계열 예측을 위하여 구성된 앙상블 학습 기반의 학습 모델을 데이터 세트를 이용하여 트레이닝하는 단계; 및
    상기 트레이닝된 학습 모델에 시계열 데이터를 입력함에 따라 상기 트레이닝된 학습 모델로부터 시계열 데이터에 대한 예측 데이터를 획득하는 단계
    를 포함하고,
    상기 학습 모델은 기본 러너 및 슈퍼 러너를 포함하고,
    상기 학습 모델에 구성된 슈퍼 러너는, 어텐션(attention) 기반의 모델을 사용하고, 현재 시간을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 통해 시계열 데이터에 대한 예측을 수행하는
    것을 특징으로 하는 시계열 예측 방법.
  2. 제1항에 있어서,
    상기 학습 모델은,
    복수 개의 기본 러너 및 슈퍼 러너로 구성되어 앙상블 학습 기반의 스태킹 방법(stacking)을 이용하는 것을 포함하고,
    상기 트레이닝하는 단계는,
    상기 구성된 학습 모델을 데이터 세트(set)를 트레이닝 세트, 벨리데이션 세트, 테스트 세트로 구분하고, 상기 구분된 트레이닝 세트를 복수 개의 하위 데이터 세트로 분류하고, 상기 분류된 복수 개의 하위 데이터 세트를 이용하여 K-fold Cross Validation 방식으로 상기 구성된 복수 개의 기본 러너를 트레이닝하는 단계
    를 포함하는 시계열 예측 방법.
  3. 제2항에 있어서,
    상기 트레이닝하는 단계는,
    상기 데이터 세트를 이용하여 트레이닝된 복수 개의 기본 러너로부터 예측된 각각의 예측 데이터를 획득하고, 상기 획득된 각각의 예측 데이터를 결합한 결합 데이터를 슈퍼 러너에 입력하여 슈퍼 러너를 트레이닝하는 단계
    를 포함하는 시계열 예측 방법.
  4. 제3항에 있어서,
    상기 슈퍼 러너는, 어텐션(attention) 기반의 GRU 모델을 사용하고, 상기 사용된 GRU 모델의 GRU 셀에 업데이트 게이트 및 리셋 게이트가 포함되고,
    상기 트레이닝하는 단계는,
    현재 시간을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 스코어로 계산하는 단계
    를 포함하는 시계열 예측 방법.
  5. 제4항에 있어서,
    상기 트레이닝하는 단계는,
    상기 계산된 스코어를 이용하여 상기 이전의 히든 스테이트 또는 현재의 히든 스테이트를 포함하는 각 히든 스테이트에 대한 가중치를 계산하는 단계
    를 포함하는 시계열 예측 방법.
  6. 제5항에 있어서,
    상기 트레이닝하는 단계는,
    각 시점에서 계산된 가중치 및 이전의 히든 스테이트를 사용하여 컨텍스트 벡터를 계산하고, 현재의 히든 스테이트의 값과 상기 계산된 컨텍스트 벡터의 연결(Concat) 연산을 수행한 후, 선형 함수를 사용함으로써 추정값을 계산하는 단계
    를 포함하는 시계열 예측 방법.
  7. 제1항에 있어서,
    상기 획득하는 단계는,
    상기 트레이닝된 학습 모델에 시계열 데이터를 입력함에 따라 상기 트레이닝된 학습 모델에 구성된 복수 개의 기본 러너를 이용하여 획득된 각각의 예측 데이터에 대한 평균 값을 계산하고, 상기 계산된 평균 값을 결합하여 상기 트레이닝된 학습 모델에 구성된 슈퍼 러너의 입력 데이터로 사용함으로써 상기 슈퍼 러너로부터 최종 예측 데이터를 획득하는 단계
    를 포함하는 시계열 예측 방법.
  8. 시계열 예측 시스템에 있어서,
    시계열 예측을 위하여 구성된 앙상블 학습 기반의 학습 모델을 데이터 세트를 이용하여 트레이닝하는 트레이닝부; 및
    상기 트레이닝된 학습 모델에 시계열 데이터를 입력함에 따라 상기 트레이닝된 학습 모델로부터 시계열 데이터에 대한 예측 데이터를 획득하는 예측부
    를 포함하고,
    상기 학습 모델은 기본 러너 및 슈퍼 러너를 포함하고,
    상기 학습 모델에 구성된 슈퍼 러너는, 어텐션(attention) 기반의 모델을 사용하고, 현재 시간을 기준으로 이전의 히든 스테이트와 현재의 히든 스테이트와의 상관 관계를 통해 시계열 데이터에 대한 예측을 수행하는
    것을 특징으로 하는 시계열 예측 시스템.
KR1020200144690A 2020-11-02 2020-11-02 시계열 예측을 위한 어텐션 기반 스태킹 방법 KR102533460B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200144690A KR102533460B1 (ko) 2020-11-02 2020-11-02 시계열 예측을 위한 어텐션 기반 스태킹 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200144690A KR102533460B1 (ko) 2020-11-02 2020-11-02 시계열 예측을 위한 어텐션 기반 스태킹 방법

Publications (2)

Publication Number Publication Date
KR20220059287A true KR20220059287A (ko) 2022-05-10
KR102533460B1 KR102533460B1 (ko) 2023-05-17

Family

ID=81592202

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200144690A KR102533460B1 (ko) 2020-11-02 2020-11-02 시계열 예측을 위한 어텐션 기반 스태킹 방법

Country Status (1)

Country Link
KR (1) KR102533460B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102478684B1 (ko) * 2022-05-11 2022-12-19 경북대학교 산학협력단 앙상블 학습을 이용한 에너지 소비 예측 방법 및 상기 방법을 수행하는 컴퓨팅 장치
CN116050665A (zh) * 2023-03-14 2023-05-02 淄博热力有限公司 供热设备故障预测方法
CN117725489A (zh) * 2024-02-07 2024-03-19 北京智芯微电子科技有限公司 边缘计算的业务流感知方法、装置和电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"[Machine learning] 스태킹 알고리즘 (Stacking algorithm) - 앙상블, 배깅, 부스팅 정리", https://huidea.tistory.com/35, 2020.07.* *
"AttnSense: Multi level Attention Mechanism For Multimodal Human Activity Recognition", IJCAI-19, 2019. *
"다중 스태킹을 가진 새로운 앙상블 학습 기법", 한국전자거래학회지 제25권 제3호(pp. 1-13), 2020.08.* *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102478684B1 (ko) * 2022-05-11 2022-12-19 경북대학교 산학협력단 앙상블 학습을 이용한 에너지 소비 예측 방법 및 상기 방법을 수행하는 컴퓨팅 장치
CN116050665A (zh) * 2023-03-14 2023-05-02 淄博热力有限公司 供热设备故障预测方法
CN116050665B (zh) * 2023-03-14 2024-04-02 淄博热力有限公司 供热设备故障预测方法
CN117725489A (zh) * 2024-02-07 2024-03-19 北京智芯微电子科技有限公司 边缘计算的业务流感知方法、装置和电子设备

Also Published As

Publication number Publication date
KR102533460B1 (ko) 2023-05-17

Similar Documents

Publication Publication Date Title
KR102533460B1 (ko) 시계열 예측을 위한 어텐션 기반 스태킹 방법
Cui et al. Efficient human motion prediction using temporal convolutional generative adversarial network
Ke et al. Empirical analysis of optimal hidden neurons in neural network modeling for stock prediction
JP4678943B2 (ja) 新製品の初期投入量予測方法、新製品の初期投入量予測装置及び記録媒体
Singh et al. Pi-lstm: Physics-infused long short-term memory network
KR20200131549A (ko) 인공지능 모델을 이용한 상품 판매량 예측 방법, 장치 및 시스템
US10902311B2 (en) Regularization of neural networks
Xing et al. Identifying data streams anomalies by evolving spiking restricted Boltzmann machines
US11531878B2 (en) Behavior prediction with dynamic adaptation to environmental conditions
CN110472802B (zh) 一种数据特征评估方法、装置及设备
Jabbari et al. Discovery of causal models that contain latent variables through Bayesian scoring of independence constraints
CN111494964B (zh) 虚拟物品的推荐方法、模型的训练方法、装置及存储介质
Piou et al. Proposing an information criterion for individual-based models developed in a pattern-oriented modelling framework
Patel et al. MAG-D: A multivariate attention network based approach for cloud workload forecasting
Dave et al. Comparison of regression model, feed-forward neural network and radial basis neural network for software development effort estimation
Madhavi et al. Multivariate deep causal network for time series forecasting in interdependent networks
Lo Predicting software reliability with support vector machines
Prabowo et al. Continually learning out-of-distribution spatiotemporal data for robust energy forecasting
KR102289396B1 (ko) 군장비 수리부속 품목 수요예측의 고도화를 위한 강화학습 적용
Azzeh et al. An application of classification and class decomposition to use case point estimation method
KR20200057835A (ko) 군장비 수리부속 품목 수요예측을 위한 수요패턴 별 클러스터링 시스템 및 방법
Marapelli et al. Software effort estimation with use case points using ensemble machine learning models
Selvakumar et al. Divination of stock market exploration using long short-term memory (LSTM)
Christodoulou et al. Improving the performance of classification models with fuzzy cognitive maps
Wong et al. Hybrid data regression model based on the generalized adaptive resonance theory neural network

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right