Autoformer – Transformers는 시계열 예측에 효과적이다
Introduction
Hugging Face가 Autoformer 모델이 이제 🤗 Transformers 라이브러리에서 사용 가능하다고 발표했습니다. 이 글은 Transformer 기반 모델이 시계열 예측에 효과적임을 보여주며, DLinear와 같은 간단한 선형 모델이 우수하다는 주장을 반박합니다.
Benchmarking - Transformers vs. DLinear
Traffic, Exchange‑Rate, Electricity 데이터셋에서 Autoformer 모델은 DLinear 모델보다 낮은 MASE를 달성합니다. 구체적으로, Autoformer의 MASE 값은 Traffic에서 0.910, Exchange‑Rate에서 1.087, Electricity에서 0.751이며, DLinear의 MASE 값은 각각 0.965, 1.690, 0.831입니다. 이는 Autoformer가 세 데이터셋 모두에서 DLinear보다 우수함을 보여줍니다.
Autoformer - Under The Hood
Autoformer은 Decomposition Layer와 Autocorrelation Mechanism을 통합하여 시계열 예측 성능을 향상시킵니다.
Decomposition Layer
Decomposition Layer는 이동 평균 풀링을 사용하여 입력 시계열을 추세 구성 요소와 계절 구성 요소로 나눕니다. 입력 $\mathcal{X} \in \mathbb{R}^{L \times d}$에 대해 추세는 $\mathcal{X}{\text{trend}} = \text{AvgPool}(\text{Padding}(\mathcal{X}))$이고 계절 부분은 $\mathcal{X}{\text{seasonal}} = \mathcal{X} - \mathcal{X}_{\text{trend}}$입니다. PyTorch 구현은 시계열에 패딩을 적용하고 평균 풀링을 적용한 후 두 구성 요소를 반환합니다.
Attention (Autocorrelation) Mechanism
Autoformer은 표준 self‑attention을 주파수 도메인에서 작동하는 autocorrelation 메커니즘으로 대체합니다. 쿼리와 키의 autocorrelation은 FFT를 통해 계산되어 $O(L \log L)$ 복잡도를 제공합니다. 결과 가중치는 시간 지연별로 집계됩니다: 상위 k개의 지연이 선택되고, softmax‑정규화되어 롤된 값 상태에 가중치를 적용하는 데 사용됩니다. 이 메커니즘은 주기 기반 의존성을 포착합니다.
DLinear - Under The Hood
DLinear은 Autoformer와 동일한 Decomposition Layer를 적용한 간단한 피드‑포워드 네트워크로, 그 후 계절 및 추세 부분을 별도의 선형 레이어를 통과시켜 출력을 합칩니다. 확률적 설정에서 선형 레이어는 prediction-length * hidden 차원으로 투영된 후 확률적 헤드가 분포 매개변수로 매핑됩니다.
Example: Traffic Dataset
Traffic 데이터셋은 2015‑2016년 샌프란시스코 고속도로 점유율(범위 [0,1])의 862개 hourly 시계열을 포함합니다. 실험에서는 prediction length를 24, context length를 48, batch size를 128로 설정하고, 작은 transformer 구성(encoder_layers=2, decoder_layers=2, d_model=16)으로 50 에포크 동안 모델을 훈련합니다. Autoformer 및 기타 모델의 사전 훈련된 체크포인트는 Hugging Face Hub에서 사용할 수 있습니다.
Load Dataset
데이터셋은 `gluonts.dataset.repository.datasets.get_dataset(