Informer를 활용한 다변량 확률적 시계열 예측
Hugging Face는 Informer 모델을 Transformers 라이브러리에 통합하여 효율적인 다변량 확률적 시계열 예측을 가능하게 했습니다. Informer 모델은 시간 및 공간 복잡성을 모두 감소시켜 장기 시퀀스 시계열 예측(LSTF)을 처리할 때 기존 Transformer의 확장성 문제를 해결합니다.
장기 시퀀스에 대한 Transformer 확장성 해결
Vanilla Transformers는 길이 $T$인 시퀀스에 대해 $N$개의 레이어를 쌓을 때 계산 복잡도가 $O(T^2 D)$의 2차 형태이며 메모리 사용량이 $O(N T^2)$인 문제를 겪습니다. Informer는 이러한 병목 현상을 완화하기 위해 두 가지 주요 메커니즘을 도입합니다:
ProbSparse Attention
ProbSparse attention은 attention 메커니즘에 크게 기여하는 "활성" 쿼리를 식별하고 사소한 attention을 생성하는 "게으른" 쿼리를 무시함으로써 시간 및 공간 복잡도를 $O(T \log T)$로 감소시킵니다.
- Mechanism: 모델은 실제 쿼리 분포와 균등 분포 사이의 KL 발산을 기반으로 하는 Query Sparsity Measurement $M(q_i, K)$를 사용합니다.
- Implementation: 실제로 이 측정값은 쿼리가 무작위로 샘플링된 키 서브셋에 대해 최대 내적과 평균 내적의 차이로 계산됩니다. 상위 $u$개의 활성 쿼리($u = c \cdot \log L_Q$)만이 attention 가중치를 계산하는 데 사용됩니다.
Distilling Operation
레이어를 쌓을 때 메모리 병목을 줄이기 위해 Informer는 인코더 레이어 사이의 입력 크기를 절반으로 줄이는 distilling operation을 사용합니다. 이는 각 인코더 레이어 사이에 1D 컨볼루션 레이어와 최대 풀링을 적용함으로써 구현되며, 전체 메모리 사용량을 $O(N \cdot T \log T)$로 감소시킵니다.
다변량 확률적 예측
Informer는 다변량 확률적 예측을 지원합니다. 이는 단일 1D 분포가 아니라 미래 시계열 목표값 벡터의 분포를 예측하는 것을 의미합니다.
- Modeling Approach: 다변량 데이터에 대해 핵심 Transformer/Informer 구조는 변경되지 않으며, 수정은 출력(발산) 측면에서 이루어집니다.
- Distribution Handling: 고차원 결합 조건부 분포의 계산 비용을 관리하기 위해 구현에서는 독립(대각) 발산을 사용하며, 이는 Transformers 라이브러리에서 구현된 분포 패밀리로 지원됩니다.
실용적인 구현 및 학습
InformerForPrediction 모델을 사용하여 사용자는 Monash Time Series Forecasting 저장소의 traffic_hourly 데이터셋과 같은 다변량 데이터셋에 대해 학습할 수 있습니다. 주요 구현 세부 사항은 다음과 같습니다:
- Feature Engineering: 모델은 위치 인코딩과 컨텍스트 제공을 위해 "lags"(과거 조회 메커니즘)와 시간적 특성(예: 시간, 요일)을 활용합니다.
- Data Pipeline: GluonTS와의 통합을 통해
MultivariateGrouper를 사용하여 개별 시계열을 2D 행렬로 변환하고InstanceSplitter를 사용해 컨텍스트와 예측 윈도우를 샘플링할 수 있습니다. - Inference: 자동 회귀 생성은
generate()메서드로 처리되며, 이는 예측된 분포에서 값을 샘플링하여 예측을 생성합니다.
성능 및 벤치마크
Traffic Hourly 데이터셋에서 테스트한 결과, 다변량 Informer 구현은 평균 절대 스케일 오류(MASE) 1.191와 대칭 평균 절대 백분율 오류(sMAPE) 0.532를 달성했습니다.
Monash Time Series Repository의 다른 모델들과 비교했을 때, 저자들은 다변량 예측이 교차 시계열 상관관계를 추정하기 어려움과 허위 상관관계를 학습할 위험 때문에 때때로 단변량 예측보다 정확도가 낮을 수 있다고 언급합니다. Traffic Hourly 데이터셋의 경우, 기본 단변량 Transformer가 MASE 0.821로 가장 좋은 성능을 보였습니다.
다변량 모델은 충분한 데이터로 학습될 때 잘 작동하는 경향이 있습니다.
리소스
- Model Documentation: Informer docs
- Example Notebook: Multivariate Informer Notebook