ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TimeGrad 논문 리뷰(Autoregressive Denoising Diffusion Models for Multivariate Probabilistic Time Series Forecasting)
    논문 리뷰/Generative Model 2024. 8. 21. 20:21

    Time Series Diffusion Model로 유명한 TimeGrad 논문을 리뷰해보고자 한다. 

    TimeGrad는 multivariate probabilistic time series forecasting problem을 해결하기 위해 autoregressive EBMs를 제안한다. 

    DDPM

    TimeGrad Method

    Structure

    multibariate time series : ${x^{0}}_{t} \in \mathbb{R}^D$ 

    context : window sized interval : $[1, t_0)$

    prediction : length sized interval : $[t_0, T]$

     

    TimeGrad과거covariate를 기반으로 multivariate time series의 미래 시간 단계의 조건부 분포(conditional distribution of the future time steps of a multivariate time series given its past and covariate)를 학습하고자 한다.

    여기서 말하는 covariate시계열 데이터를 예측할 때 모델이 추가적으로 참조하는 외부 정보나 변수들을 의미하며, covariate은 모든 시간 $t$에 대해 알려져 있으며 conditional denoising diffusion model을 통해 학습된다. 

     

    이 논문에서 RNN 구조를 활용해 시간적 요소를 반영하고자 하며, 다음 시점의 covariate $c_t$와 함께 hidden state $h_{t-1}$을 업데이트한다.

    여기서 RNN은 multi-layer LSTM or GRU이며, $h_0 = 0$이다. 따라서 (8)번 식은 다음과 같이 변경될 수 있다. 

    여기서 $\theta$는 RNN과 denoising diffusion model의 parameter를 모두 포함하고 있으며, 이 모델은 autoregressive한 성질을 가지고 있다. 

    Training

    훈련은 training time series data에서 contextprediction length size window를 무작위로 샘플링하여 수행되며, 모델의 negative log-likeligood를 최소화하는 parameter $\theta$를 최적화한다. 

    이 때 $h_{{t_0}-1}$은 선택된 context window에서 RNN을 실행해 얻은 hidden state로 한다. DDPM과 유사한 유도 과정을 통해 시간 $t$와 Noise level $n$에 대한 조건부 objective function이 아래와 같이 주어진다.

    이때 분산 ${\sigma}_{\theta}$는 (5)번 식에 따라 $\tilde{{\beta}_n}$으로 선택되며, ${\epsilon}_{\theta}$는 hidden state에서도 condition이 부여된다. Algorithm 1은 주어진 objective function을 사용하여 prediction windown의 각 시간 단계에서의 훈련 절차를 나타낸다. 

     

    Inference

    훈련이 끝난 후 훈련때와 마찬가지로 마지막 context length sized window에서 RNN을 실행하여 hidden state $h_T$를 얻는다. 그런 다음 Algorithm 2에 따라 $x^0_{T+1}$의 샘플을 얻고, 이를 covariate $c_{T+2}$와 함께 RNN에 autoregressive하게 전달하여 다음 hidden state $h_{T+1}$을 얻고, 원하는 예측 구간에 도달할 때까지 이 과정을 반복한다. 이처럼 "warm-up" state $h_T$에서 경로를 샘플링하는 과정을 여러번 반복적으로 수행하여 예측의 불확실성에 대한 경험적인 quantiles을 얻을 수 있다.

     

    * warm-up : 모델이 예측을 시작하기 전에 필요한 초기상태를 준비하는 과정으로 시계열 예측에서는 context window를 사용하여 RNN의 은닉상태를 초기하하고, 이 초기 상태를 기반으로 예측을 시작하는 것을 가리킨다. 

     

    Scaling

    서로 다른 time series entities는 크기가 다를 수 있기 떄문에 scale normalization을 위해 해당 entity의 context window mean으로 나눈다. Inference시에는 샘플을 동일한 mean으로 곱하여 원래의 스케일과 일치시킨다. 이 rescaling 방법은 성능을 향상시키는 것으로 알려져 있다. 

     

    Covariate

    이 논문에서 사용하는 covariatetime-dependent(day of week, hous of day)와 time-independent embedding으로 구성되며, 훈련 중인 데이터 세트의 시간 빈도에 따라 lag 특징을 포함한다.

    (ex - 일별 데이터에서는 하루 전, 이틀 전 데이터를 사용하는 것이 일반적이지만, 시간별 데이터에서는 한 시간 전, 두 시간 전 데이터를 사용할 수 있음)

    또한 예측하려는 기간에 대한 모든 covariate은 알려져 있다. 

     

    * lag features : 시계열 데이터를 다룰 때, 과거의 데이터를 현재 시점의 입력으로 사용하는 특징lag이라고 한다. 예를 들어 오늘의 주가를 예측하기 위해 어제와 그제의 주가를 사용하는 것이 lag feature의 한 예이다. 

     

    Experiment

    Evaluation Metric and Data Set

    TimeGrad를 평가하기 위해 CRPS(Continuous Ranked Probaiblity Score)를 사용한다. CRPS는 예측된 CDF $F$와 실제 관측값 $x$ 간의 차이를 측정하는 점수로, 낮을 수록 좋으며 최적의 경우 0을 갖는다.

    여기서 empirical CDF of $F$는 $ \hat{F}(z) = \frac{1}{S} \sum_{s=1}^{S} I\{x_{0,s} \leq z\} $로 구한다. ($S$개의 sample $x^{0, s} \sim F$)

     

    또한 CRPSsum은 전체 시계열 차원에 대한 CRPS 점수를 합산한 후, 예측 구간 동안 평균 내 계산한다.

    이 논문에서 CPRS를 사용하는 이유는 비교하는 다른 방법론들이 likelihood를 명확히 제공하지 않거나, likelihood 기반의 지표가 적절하지 않은 경우가 있기 때문이다. 

     

    Model Architecture

    * rolling window prediction : 테스트시 사용되는 예측 방법으로 마지막 context window에서 시작하여 예측을 수행하고, 예측된 값을 다시 입력으로 사용하여 다음 값을 예측하는 방식

     

    비교 모델

    : VAR, VAR-Lasso, GARCH, VES, KVAE, Vec-LSTM-ind-scaling, Vec-LSTM-lowrank-Copula, GP-scaling, GP-Copula, Transformer-MAF

     

    여기서 주목할 점은 Flow-based model과 VAEcontinuous connected distribution에서의 변환은 잘 하지만, disconnected mode에서는 잘 작동하지 않는다는 점이다. 반면 EBM은 연속적인 변환이 필요하지 않기 때문에 disconnected mode나 distribution을 더 잘 모델링할 수 있다. 

     

    ※ 이 글에서 EBM을 강조하는 이유 EBM이 Diffusion Model의 근간이 되는 모델이기 때문이다. Diffusion Model은 데이터의 분포를 학습할 때, 일종의 energy function을 최소화하는 방향으로 작동하며, EBM은 데이터의 확률 분포를 에너지 함수로 표현한다. 따라서 TimeGrad는 확성모델을 통해 EBM의 개념을 내포하고 있다고 볼 수 있다. 

     

    Ablation

    $N$forward process의 length라고 하자. $N$이 커질수록 reverse process가 Gaussian distribution에 가까워지기 때문에 $N$의 크기에 따라 모델의 성능이 달라진다. 이 논문에서는 Ablation study를 통해 다양한 $N$의 값에 대해 CRPSsum값을 기록했다. 결과는 아래 그림과 같이 $N$이 10이상 일 때, 성능의 소실이 거의 없음을 알 수 있다. 

    * Related work은 생략

    Conclusion and Future Work

    ✔️ TimeGrad는 multivariate probabilistic time series forecasting method로 여러 변수의 미래 값을 확률적으로 예측하는데 사용된다.

    ✔️ TimeGrad 훈련 ${\epsilon}_{\theta}$는 반복적으로 호출할 필요가 없는데, 이는 Normalizing Flow와 반대다. Normalizing Flow Model은 여러 개의 bijections를 쌓아야 하기 때문에 반복이 필요하다.

    ✔️ 다만 TimeGrad샘플링 과정에서  ${\epsilon}_{\theta}$를 N번 호출해야 하는데, 샘플링 시간을 개선하기 위한 방법은 (1) improved variance schedule과 (2) L1 loss를 결합하는 것이다. 이는 샘플링 단계를 줄일 수 있으나, 품질이 저하된다. 

    ✔️ Normalizing Flow는 이산 데이터 처리를 위해 dequantization이라는 과정을 거쳐야 한다. 이는 이산 값을 연속적인 값으로 변환하기 위해 데이터에 균일한 노이즈를 추가하는 방식이다. 이와 대조적으로 EBMdequantization이 필요하지 않다. 

    ✔️EBM은 다른 모델보다 OOD 데이터 탐지에 더 좋은 성능을 보인다.

    * OOD(Out of Distribution) 탐지 : 모델이 훈련되지 않은 분포 외 데이터에 대해 어떻게 반응하는지 평가하는 작업

    ✔️긴 시계열 데이터를 처리할 때, RNN 대신 Transformer를 사용하는 것이 EBM 출력 부분에 더 나은 조건을 제공할 수 있다. 

     

    댓글

Designed by Tistory.