반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Transformer
- time series
- recommendation system
- Machine Learning
- ML
- regex
- YouTube
- RecSys
- crossformer
- 정규표현식
- Ai
- Python
Archives
- Today
- Total
mayreel 님의 블로그
CROSSFORMER: Transformer Utilizing Cross-dimension Dependency for Multivariate Time Series Forecasting(1/2) 본문
Paper
CROSSFORMER: Transformer Utilizing Cross-dimension Dependency for Multivariate Time Series Forecasting(1/2)
mayreel 2024. 6. 18. 21:50반응형
ABSTRACT
- 다변량 시계열(MTS)을 예측하는 Transformer 기반 모델들은 long-term dependency에 뛰어난 성능을 가지지만, temporal dependency에 초점을 두고 있어서 여러 차원(변수) 간의 의존성을 무시하는 경향이 있음
- 이러한 문제점을 해결하기 위해서 차원 간 의존성을 활용하는 Transformer 기반 모델인 Crossformer를 제안
- 해당 모델에서는 Dimension-Segment-Wise(DSW) embedding을 통해 입력된 MTS를 2D Vector array에 embedding하여 시간과 차원(변수) 사이의 정보를 보존
- 이후, 시간과 차원 간의 dependency를 효율적으로 가저오기 위해 Two-Stage Attention(TSA) layer를 사용
- 해당 모델을 실험한 결과, 기존의 Transformer 기반 모델보다 효율적이고 성능이 좋았음
1. INTRODUCTION
- 다변량 시계열(MTS): 여러 차원을 가지는 시계열로 각 차원은 특정 단변량 시계열(예: 날씨의 기후 특성)을 나타냄
- 과거의 데이터를 기반으로 미래를 예측하는 것이 목적인 MTS는 날씨, 에너지, 금융 등 다양한 분야에서 활용
- 그 중에서 Transformer 기반 모델이 long-term temporal dependency에 뛰어난 성능을 보여주고 가장 많이 활용
- Transformer와 비교했을 때, 가장 큰 차이는 시간에 대한 dependency 이외에도 차원과 차원 간의 정보가 예측에 활용되는 것이 Crossformer의 특징
- 예시: 기온을 예측할 때, 과거의 기온 데이터 이외에도 풍속도 예측에 활용
- (a)에서 attention score map은 여러 개의 segment를 구성하고 data point간의 거리가 가까울 수록 비슷한 attention weight를 가짐
- (b)처럼 Transformer 기반 모델은 모든 차원을 동시에 임베딩하여 시간 간의 dependency에서는 강점을 가지지만 차원 간의 dependency에서는 효율적이지 못함
- 하지만, Crossformer(c)는 DSW 차원(변수) 간의 관계를 고려한 embedding 방법을 적용하여 시간과 차원 각각의 dependency에 효율적인 예측 가능
- DSW embedding에서 각 차원(변수)의 시계열을 segment로 분할한 뒤, 다음 feature vector에 embedding하여 2D Vector array를 생성
- 이후, 2D Vector array 간의 시간 및 차원 간의 dependency를 효율적으로 학습하기 위해 Two-Stage-Attention(TSA) layer를 활용
- DSW embedding, TSA layer를 사용하여 예측을 위한 Hierarchical Encoder-Decoder(HED)를 설계
- Encoder의 상위 layer는 하위 layer의 output을 병합
- Decoder layer는 서로 다른 scale에서 예측값을 도출
- 6개의 벤치마크로 실험한 결과, 다른 9개의 모델보다 Crossformer의 성능이 더 좋았음
2. RELATED WORKS
Multivariate Time Series Forecasting
- time dependency를 잘 학습하지만, long-term dependency에 취약함
- 다변량 시계열 예측 모델은 통계 기반 모델과 딥러닝 모델 2가지로 나뉨
- 통계 모델
- Vector Auto-Regressive(VAR) Model, Vector Auto-Regressive Moving Average(VARMA)
- 딥러닝 모델
- 데이터를 벡터의 시퀀스로 사용, CNN/RNN 등을 사용하여 temporal dependency 학습
- TCN, DeepAR, CNN, RNN, MTGNN
- 딥러닝이 발전하면서 일반적으로 통계 모델보다 딥러닝 모델의 성능이 우수함
Transformers for MTS Forecasting
- time dependency의 복잡도를 줄일 수 있지만, 차원(변수) 간의 dependency를 무시하는 경향이 있음
- LogTrans
- 기존 트랜스포머보다 적은 메모리 사용하여 병목현상을 없앰
- Transformer의 계산 복잡도를 $O(L^2)$에서 $O(L(log(L))^2)$로 줄여주는 LogSparse Transformer
- Informer
- 계단식 레이어 인풋을 절반으로 줄여 Self-Attention이 지배적인 Attention을 집중시키고, 효과적으로 매우 긴 인풋 시퀀스를 다룸
- KL divergence를 사용하여 유사도를 측정하고, 시간 복잡도와 공간 복잡도가 $O(L(log(L)))$인 ProbSparse self-attention를 사용
- Pyraformer
- 피라미드 구조(pyramid structure)를 활용하여 시간 복잡도를 $O(L)$로 낮추고, 입력 시퀀스의 길이에 따라 유연하게 처리할 수 있는 Transformer 기반의 모델
- 입력 시퀀스를 여러 다양한 해상도로 다운샘플링하고, 각 해상도에서의 정보를 합성하여 전체 시퀀스에 대한 표현을 생성
- FEDformer
- 복잡도: $O(L)$
- 주파수 어텐션 블록과 분해 방식을 사용
Vision Transformers
- 자연어 처리(NLP)에서 많이 사용되는 Transformer를 Vision Task에 적용
- ViT
- 기존의 제한적인 Attetion 메커니즘에서 벗어나, CNN구조 대부분을 Transformer로 대체
- 이미지를 Patch로 분할 후 Sequence로 재배열하여 input으로 사용해 효율적인 계산 가능
3. METHODOLOGY
- 다변량 시계열 예측의 목적
- 과거의 정보 $x_{1:T} ∈ R^{T×D}$가 주어졌을 때, 시계열 $x_{T+1:T+τ} ∈ R^{τ×D}$의 값을 예측하는 것
- $τ$: 미래 time step , $T$: 과거 time step, $D$: 차원의 개수
- 차원 간의 dependency를 얻기 위해 Dimension-Segment-Wise(DSW) embedding을 사용하여 MTS를 embedding
- embedded segment 간의 dependency를 얻기 위해 Two-Stage Attention(TSA) layer를 제안
- 이후, 예측을 위한 정보를 종합하기 위해 DSW embedding과 TSA layer를 사용하여 hierarchical encoder-decoder(HED)를 설계
- 과거의 정보 $x_{1:T} ∈ R^{T×D}$가 주어졌을 때, 시계열 $x_{T+1:T+τ} ∈ R^{τ×D}$의 값을 예측하는 것
3-1 DIMENSION-SEGMENT-WISE EMBEDDING
- 해당 논문의 접근 방법을 설명하기 위해서 MTS forecasting에 사용된 기존의 Transformer 기반 Model의 embedding method를 분석한 결과 이전의 Transformer 기반 Model은 주로 시간 간 dependency를 학습하지만, embedding 과정에서 차원 간 dependency는 고려되지 않기 때문에 예측이 제한적
- Transformer 기반 MTS 예측 모델의 Self-attention score를 시각화한 Fig 1.(a)에서 서로 가까운 data point에서 Self-attention score가 비슷함
- 위의 두 가지 근거로 embedded vector가 Fig. 1(b)와 같이 single step의 all dimension의 값을 나타내기보다 Fig. 1(c)와 같이 단일 차원의 series segment를 나타내야 함
- 따라서 각 차원을 길이($L_{seg}$)의 segment로 나눈 뒤, embedding하는 Dimension-Segment-Wise (DSW) embedding을 제안
- 단, $x_{i, d}^{(s)} \in R^{L_{seg}}$는 차원($d$)에서 $L_{seg}$의 길이를 가지는 $i$번째 segment이고, $T, τ$는 $L_{seg}$로 나눌 수 있다고 가정
- 이후, 각 segment들은 Position mbedding이 추가된 linear projection을 통해 vector로 embedding
- 이때 $E ∈ R^{d_{model}×L_{seg}}$는 learnable projection matrix, $E_{i,d}^{(pos)}∈R^{d_{model}}$은 $(i, d)$번째 learnable position embedding
- 임베딩된 이후, 2D vector array($H = {h_{i, d}|1≤i≤{T\over L_{seg}}, 1≤d≤D}$)를 얻을 수 있음
- $h_{i, d}$: 단변량 시계열 Segment
- 하지만 segmentation은 다른 MTS 예측 Transformer Model과 마찬가지로 차원 간 dependency를 얻지 못하기 때문에 Two-Stage Attention(TSA) layer를 추가적으로 설계
3-2 TWO-STAGE ATTENTION LAYER
- DSW를 과정을 통해서 얻은 2D vector array $H$는 ViT처럼 1D Sequence로 flatten해줘야 하지만 2가지를 고려해야 함
- 이미지의 height와 width가 이미지의 길이라는 같은 의미를 가지지만 다변량 시계열의 time, dimension은 서로 다른 의미를 가지기 때문에 이미지와 동일한 방식으로 처리하면 안된다.
- 2D array의 self-attention을 바로 적용할 경우, $O(D^2 {T^2 \over L_{seg}^2})$ 만큼의 복잡도가 발생하기 때문에 차원($D$)이 클 경우에는 좋지 못한 방법이다.
- 따라서 해당 논문에서는 1D Sequence로 flatten하는 방법을 사용하지 않고 시간 간의 dependency와 차원 간의 dependency를 2D array에서 얻기 위해 Two-Stage Attention(TSA) Layer(Fig.2(a))를 설계