3.3. Hierarchical Encoder-Decoder
서로 다른 scale에 대한 정보를 얻기 위해 MTS forecasting의 transformer에는 hierarchical structure가 주로 사용된다. 이 섹션에서 우리는 제안된 DSW embedding, TSA layer과 segment merging을 사용하여 Hierarchical Encoder-Decoder (HED)를 만들었다. Fig. 3에서 볼 수 있듯이, upper layer는 forecasting에 대해 주어진 정보의 대략적인 내용만을 사용한다. 다른 scale에서의 forecasting value는 최종결과의 output에 더해진다.
Encoder: 각 encoder의 layer에서, time domain의 두 인접한 vector는 경향성을 나타내기 위해 하나로 합쳐진다. 그 다음 이 scale에서 dependency를 포착하기 위해 TSA layer가 적용된다. 이 과정은 $\mathbf{Z}^{enc, l}=\text{Encoder}(\mathbf{Z}^{enc, l-1})$로 모델링된다.
이때 각 변수가 의미하는 것을 적으면 다음과 같다.
$\mathbf{H}$: DSW embedding을 통해 얻어진 2D array / $\mathbf{Z}^{enc, l}$: $l$-th encoder layer의 output
$\mathbf{M} \in \mathbb{R}^{d_{model} \times 2d_{model}}$: learnable matrix for segment merging / $[\cdot]$: concatenation operation
$L_{l-1}$: layer $l-1$에서 각 dimension의 segment 수 / $\hat{\mathbf{Z}}^{enc, l}$: $i$-th layer에서 segment merging을 한 이후의 array
encoder에 $N$개의 layer가 있다고 할 때, 우리는 $N+1$개의 output을 나타내기 위해 $\mathbf{Z}^{enc, 0}, \mathbf{Z}^{enc, 1}, \cdots, \mathbf{Z}^{enc, N}$을 사용한다. 각 encoder layer의 복잡도는 $O(D \frac{T^2}{L_{seg}^2})$이다.
Decoder: encoder의 output으로 $N+1$개의 feature array를 얻기 때문에 우리는 forecasting을 위해 $N+1$개의 layer를 decoder에 사용한다. Layer $l$은 $l$-th encoded array를 input으로 받고, output으로 decoded 2D array를 반환한다. 이 과정은 $\mathbf{Z}^{dec, l}=\text{Decoder}(\mathbf{Z}^{dec, l-1}, \mathbf{Z}^{enc, l})$로 요약할 수 있다.
이때 $\mathbf{E}^{(dec)} \in \mathbb{R}^{\frac{\tau}{L_{seg}} \times D \times d_{model}}$은 decoder의 learnable position embedding이다. $\widetilde{\mathbf{Z}}^{dec, l}$은 TSA의 output이고, MSA layer는 $\widetilde{\mathbf{Z}}_{:, d}^{dec, l}$를 query, $\mathbf{Z}_{:, d}^{enc, l}$을 key와 value로 하여 encoder와 decoder를 연결시킨다. MSA의 output은 $\bar{\mathbf{Z}}_{:, d}^{dec, l}$이고, $\hat{\mathbf{Z}}^{dec, l}$과 $\mathbf{Z}^{dec, l}$은 각각 skip connection과 MLP의 output을 나타낸다. 우리는 decoder output을 나타내기 위해 $\mathbf{Z}^{dec, 0}, \mathbf{Z}^{dec, 1}, \cdots, \mathbf{Z}^{dec, N}$을 사용한다. 각 decoder layer의 복잡도는 $O(D \frac{\tau (T+\tau)}{L_{seg}^2})$이다.
layer의 prediction을 얻기 위해 각 layer의 output에 linear projection이 적용된다. 최종 prediction을 만들기 위해 layer prediction은 다음과 같이 합해진다.
이때 $\mathbf{W}^l \in \mathbb{R}^{L_{seg} \times d_{model}}$은 vector를 time series segment에 project하는 데 사용되는 learnable matrix이다. $\mathbf{x}_{i, d}^{(s), l} \in \mathbb{R}^{L_{seg}}$는 dimension $d$ of prediction의 $i$-th segment이다. layer $l$의 모든 segment는 layer prediction $\mathbf{x}_{T+1:T+\tau}^{pred, l}$을 얻기 위해 재배열된다. 모든 layer의 prediction이 합쳐지면 최종 forecasting인 $\mathbf{x}_{T+1:T+\tau}^{pred}$를 얻을 수 있다.
4. Experiments
4.1. Protocols
Datasets: 다음의 6가지 real-world dataset을 사용했다. 1) ETTh1 (Electricity Transformer Temperature-hourly), 2) ETTm1 (Electricity Transformer Temperature-minutely), 3) WTH (Weather), 4) ECL (Electricity Consuming Load), 5) ILI (Influenza-Like Illness), 6) Traffic
Baselines: 다음의 MTS forecasting model을 baseline으로 사용했다. 1) LSTMa, 2) LSTnet, 3) MTGNN
또한 다음의 Transformer-based model을 사용했다. 4) Transformer, 5) Informer, 6) Autoformer, 7) Pyraformer, 8) FEDformer
Setup: evaluation metric으로 Mean Square Error (MSE)와 Mean Absolute Error (MAE)를 사용했다.
4.2. Main Results
Table 1에서 볼 수 있듯이, Crossformer는 다른 prediction length setting에 대해 성능을 평가했을 때 58가지 케이스 중 36가지에서 top-1, 51가지에서 top-2를 달성하는 좋은 성과를 보여줬다.
4.3. Ablation Study
본 모델에는 DSW embedding, TSA layer와 HED의 3가지 구성 요소가 있고, 우리는 ETTh1 dataset에 대해 ablation study를 진행했다. 1) DSW 2) DSW+TSA 3) DSW+HED의 ablation version으로 실험했는데, 그 결과를 분석하면 Table 2와 같다.
4.4. Effect of Hyper-parameters
우리는 ETTh1 dataset에 대해 Eq (1)의 segment length $L_{seg}$와 TSA의 Cross-Dimension Stage에서 router의 수인 $c$의 값을 바꾸며 실험해보았다.
Segment Length: Fig. 4(a)에서 볼 수 있듯이, short-term forecasting에서는 segment length가 작을수록 좋은 결과를 얻을 수 있었지만 long-term forecasting에서는 반대로 segment length가 클수록 MSE가 줄어드는 것을 확인할 수 있었다.
Number of Routers in TSA Layer: Fig. 4(b)를 보면 $c=10$일 때 prediction accuracy와 computation efficiency가 좋은 것을 확인할 수 있다.
4.5. Computational Efficiency Analysis
past series의 길이인 $T$에 대해 Transformer-based model의 각 layer에서의 이론적 복잡도를 나타내면 Table 3와 같다. Fig. 4(c)를 보면 crossformer가 다른 5가지 method와 비교했을 때 가장 좋은 효율을 보여주고 있음을 확인할 수 있다. 또한 dimension의 수 $D$에 대한 memory occupation을 그림으로 나타내면 Fig. 4(d)와 같다.
5. Conclusions and Future Work
우리는 MTS forecasting을 위해 cross-dimension dependency를 사용하는 transformer-based model인 Crossformer를 제안했다. Dimension-Segment-Wise (DSW) embedding은 입력 데이터를 2D vector array로 embedding하여 time과 dimension의 정보를 보존한다. Two-Stage-Attention (TSA) layer는 embedded array의 cross-time 및 cross-dimension dependency를 포착하기 위해 고안되었고, DSW embedding과 TSA layer를 사용하여 다양한 scale에서 정보를 활용하는 Hierarchical Encoder-Decoder (HED)가 고안되었다. 여섯 개의 real-world dataset에서 수행한 실험 결과는 기존의 state-of-the-art보다 효과적임을 보여준다.
총평: 우리 팀이 인공지능 경진대회에서 예선 1위를 할 수 있도록 도와준 든든한 모델이다. 기존의 cross-time dependency 뿐만 아니라 cross-dimension dependency까지 고려하여 성능을 높인다는 부분이 인상적이었다. 그리고 실제로 모델의 성능도 굉장히 좋았는데, 주어진 대회의 데이터셋으로 학습을 시키고 실제로 예측을 해본 결과 그 양상이 매우 비슷한 것을 확인할 수 있었다. 앞으로 있을 본선 발표를 위해 코드를 다시 한번 꼼꼼히 훑어봐야 할 것 같다.