논문리뷰

[논문리뷰] REVERSIBLE INSTANCE NORMALIZATION FORACCURATE TIME-SERIES FORECASTING AGAINSTDISTRIBUTION SHIFT

minyoung lee 2024. 3. 23. 23:53

REVERSIBLE INSTANCE NORMALIZATION FOR ACCURATE TIME-SERIES FORECASTING AGAINST DISTRIBUTION SHIFT

 

ICLR 2022에 accept된 논문으로, 저자는 Taesung Kim, Jinhee Kim, Yunwon Tae, Cheonbok Park, Jang-Ho Choi, Jaegul Choo 으로 카이스트에서 나온 논문이다.

 

이 논문은 Time-series Forecasting의 domain shift에 대해 다룬 논문이다.

 

Motivation

 

Time-series forecasting은 healthcare, economics 와 같이 일반적인 daily problem를 다루기 위해 중요한 분야이다.

지금까지의 연구는 long-term forecasting과 같은 challenges를 극복해내며 성능 향상을 이루었다.

그러나, unique characteristic in time-series data에서 성능 하락이 있었다. 즉, mean, variance와 같이 시간에 따라서 변하는 경우의 distribution shift problem이 존재한다.

 

이를 다루기 위해서 본 논문은 간단하지만 효과적인 normalization method인 reversible instance normalization (RevIN)을 제시한다. 이 방법은 learnable affine transformation이 포함된 Normalization-and-Denormalization method 방법이다.

 

Motivation of Normalization

저자들은 input sequcnes의 차이가 모델 성능을 떨어뜨린다고 가정하였고, 만약 mean, std와 같은 non-stationary information을 삭제한다면(normalization), data distribution의 차이는 줄어들 것이라고 생각하였다.

 

Motivation of Denormalization

그러나, 이러한 normalization을 도입하는 것은 future values를 예측하는데 중요한 역할을 하는 non-stationary 정보 또한 없애고, 모델이 original data distribution을 capture하는 것을 막는다는 문제점이 있다.

모델은 normalization input으로만 original distribution을 reconstruct해야하는데, 이는 inherent limiation으로 인해서 성능이 하락하게 된다. 

이를 해결하기 위한 denormalization을 제시하였다.

input normalization으로 인해서 제거된 정보를 model에게 explicit하게 반환하여, input data에 적용된 normalization을 output layer 단에서 reverse 하는 것을 제안하였다.

즉, model output을 normalization statistic을 이용해서 denormalization하는 것이다. 

 

결과적으로 RevIN은 

input sequence noramlization - model output sequence denormalization으로 이루어져 있다.

RevIN의 장점은 end-to-end trainable layer이며, arbitrary chosen layer에 쉽게 적용될 수 있다는 것이다.

 

 

Method

 

Reversible instance Normalization

 

 

Notation은 위와 같다.

 

time-series forecasting 부분에 익숙하지 않아서 알아보았는데,

input과 prediciton length는 들어가는 temporal dimension에 영향을 받으며, input과 prediction length는 다를 수 있다.

예를 들어 input은 30 days of product prices이고, prediction은 7 days of product prices일 수 있다. 이 때 input과 output length는 각각 30과 7이 되는 것 같다.

 

 

전반적인 architecture는 위 사진과 같다.

표기된 부분은 input에 대해 normalize하는 부분이고,

이후, non-stationary information을 넘겨주게 된다.

 

 

이후 denormalization하게 된다.

 

즉, 순서는 (b-1) --> (a-1) --> (b-2) 로 normalization이 진행되고, 

RevIN은 (a-1)로 normlization을 한 뒤에 (a-3)으로 stationary information을 전달하고,

(b-3) --> (a-2) --> (b-4)로 denoramlization이 진행되게 된다.

 

Normalization

 

우선 Normalization 부분을 살펴보면, 

각 instance마다 instance-specific mean, std를 이용해서 noramlization을 하게 된다. 

위와 같은 식으로 Mean, Variance를 구한다.

 

구한 mean, std를 이용해서 input sequence를 normalization하게 된다.

BN과 마찬가지로, $\gamma$ 와 $\beta$ 는 learnable parameter이다.

 

Denormalization

 

Normalize된 sequence는 non-stationary information이 줄어들게 된다.

그러나, 위에서 말한것과 같이 model은 normalize된 data만 보게 된다. 따라서 이를 해결하기 위해서 Denormalization을 도입하였다.

 

이 단계에서는 normalization할 때 사용한 mean, variance를 이용해서 denormalization을 한다.

 

Effect of RevIN on Distribution Shift

 

 

(a)는 original input으로, train과 test data의 distribution shift가 일어나있는 것을 알 수 있으며, multiple peaks를 가지고 있는 것을 알 수 있다.

(b)는 RevIN을 거친 다음에 train과 test가 overlap된 것을 알 수 있고, 이러한 normalized input이 들어갔기 때문에,

(c)의 model output에서도 train, test data가 비슷한 분포를 보이는 것을 알 수 있다.

(d)는 RevIN을 통해서 denormalize된 결과이다.

 

Experiment

 

Dataset

 

데이터셋은 크게 두 가지이다.

 

1) Electricity Transformer Temperature (ETT)

이는 ETTh1, ETTh2, ETTm1으로 나뉘게 된다.

ETTh1, ETTh2는 hourly data이고, ETTm1은 매 15분마다 얻어진 데이터이다.

 

2) Electricity Consuming Load (ECL)

 

Experimental details

 

평가 지표로는 Mean Squared Error (MSE) and mean absolute error (MAE)를 이용한다.

Model로는 3가지 SoTA forecasting models인 Informer, N-BEATS, SCINet를 이용한다. 

 

 

기존의 model들 보다 RevIN을 썼을 때 성능 향상이 있는 것을 보여준다.

 

 

ETTh2 dataset에 대해서 N-BEATS를 보면, sequence length가 24일 때 0.403인 반면, sequence length가 960일 때는 6.408이다.

반면 RevIN을 추가했을 때는 각각 0.192, 0.471로 비교적 stable한 것을 알 수 있다.

 

추가적으로 긴 sequence에 대해서 실험했을 때 RevIN이 더 robust하고 stable하다는 것을 보여주었다.

 

 

Forecasting error를 visualize해보았을 때도 error값이 RevIN을 추가했을 때 매우 작아진 것을 확인할 수 있었다.

 

Table3는 기존의 normalization method과 비교한 실험 결과이다. 

추가적으로 Batch Normalization보다 RevBN(RevIN은 Instance Norm기반으로 했기에 이를 BN에 대한 기반으로 바꾼 경우)을 적용했을 때 성능이 더 좋았던 것을 알 수 있다.

 

RevIN은 input과 output에 대해서 normalization-denormalization을 적용하기 때문에 이 방법이 feature에서도 잘 영향을 미치고 있는지 확인하기 위한 실험이다.

각 dataset에 대해서 RevIN을 추가했을 때 feature divergence가 낮게 측정된 것을 알 수 있다.

 

Conclusion

 

이 논문은 간단하지만 효과적인 normalization-denormalization method인 RevIN을 제시하였다.

RevIN은 효과적으로 Domain Shift 문제를 완화시켰으며, 이를 실험적으로도 보여주었다.