Learn

[LSTF] LogTrans : Enhancing the Locality and Breaking the MemoryBottleneck of Transformer on Time Series Forecasting

부루기 2024. 7. 7. 09:16
728x90


1. Introduction

시계열 예측은 자원 관리와 의사 결정을 돕기 위해 중요한 역할을 합니다. 전통적인 시계열 예측 모델인 상태 공간 모델(SSM)과 자기회귀(AR) 모델은 각 시계열을 독립적으로 적합시키도록 설계되었으며, 전문가의 수동 선택이 필요합니다. 이로 인해 대규모 시계열 예측 작업에 적용하기 어렵습니다.

이를 해결하기 위해 심층 신경망(DNN)이 대안 솔루션으로 제안되었습니다. 특히, 순환 신경망(RNN)은 시계열을 자기회귀 방식으로 모델링하는 데 사용됩니다. 그러나 RNN은 기울기 소실 및 폭발 문제로 인해 훈련하기가 어렵습니다. Transformer는 주의 메커니즘을 활용하여 시퀀스를 처리하는 새로운 아키텍처로, 장기 종속성을 포착하는 데 더 적합할 수 있습니다. 그러나 Transformer는 Locality-agnostic와 메모리 병목현상이라는 두 가지 문제를 가지고 있습니다. 본 논문에서는 이 문제들을 해결하기 위해 Convolution Self Attention와 LogSparse Transformer를 제안합니다.


2. Related Work

시계열 예측 문제를 해결하기 위해 다양한 방법이 제안되었습니다. ARIMA와 같은 통계 모델은 각 시계열을 개별적으로 적합시키기 때문에 대규모 예측 작업에는 적합하지 않습니다. 딥 러닝 모델은 관련 시계열 간의 공유 정보를 캡처하여 정확한 예측을 제공합니다. 그러나 RNN 기반 모델은 긴 시퀀스를 처리하는 데 어려움이 있습니다. Transformer는 시퀀스 모델링을 위해 제안되었으며, 여러 작업에서 큰 성공을 거두었습니다. 그러나 시퀀스가 매우 길어지면 공간 복잡도가 시퀀스 길이에 따라 제곱으로 증가하기 때문에 쉽게 확장하는 것이 힘들었습니다.


3. Background

Problem definition

N개의 관련된 단변량 시계열 {zi,1:t0}i=1N\{z_{i,1:t_0}\}_{i=1}^N이 있으며, 모든 시계열에 대해 다음 τ\tau 시간 단계를 예측하고자 합니다. 이를 위해 각 시계열의 관측치와 공변량을 결합하여 예측 모델을 학습합니다.

Transformer

Transformer는 Multi-head Self attention을 사용하여 시퀀스의 장기 및 단기 종속성을 캡처합니다. 이는 다른 주의 헤드가 다양한 시간 패턴에 집중하도록 학습됩니다. Self attention layer에서 Multi-head self attetnion 하위 레이어는 동시에 입력을 쿼리, 키, 값 행렬로 변환하고, Scaled dot producted attention + Maksed 를 사용하여 출력 벡터 시퀀스를 계산합니다.


4. Methodology

4.1 Transformer의 로컬리티 강화

시계열의 패턴은 시간에 따라 크게 변할 수 있으며, Transformer의 자기 주의 메커니즘은 점별 값에 기반하여 쿼리와 키의 유사성을 계산합니다. 이는 로컬 컨텍스트를 충분히 활용하지 못합니다. 이를 해결하기 위해 Convolution Self Attention를 도입합니다.

특정 시간 k에 대해서 convolution후 padding을 이용해 Query, Key의 Input으로 사용한다는 것이다. 이걸로 저자들을 Local 정보를 잘 학습할 수 있다고 주장하고 있다.

4.2 Transformer의 메모리 병목현상 해결

Transformer의 공간 복잡도는 시퀀스 길이에 따라 제곱으로 증가하여 긴 시퀀스를 처리하는 데 어려움이 있습니다. 이를 해결하기 위해 LogSparse Transformer를 제안합니다. LogSparse Transformer는 각 레이어에서 O(logL) dot product를 계산하고, O(logL) 레이어를 쌓아 모델이 각 셀의 정보를 접근할 수 있게 합니다. 그래서 총 계산값은 O(L(logL)^2)로 줄일 수 있다는 이야기이다. 

Log attention으로 인해 주변 정보를 잘 파악하지 못할 수도 있기 때문에 Local attention을 통해 기준 시점의 주변에 있는 시점은 전부 가져오는 것으로 하고 일정 이후의 시간을 log로만 사용하는 방법이 있다. 이는 Figure 3, (c)를 보면 이해하기 쉬울 것이다.

다만 log로 input을 처리하면 long term의 데이터를 많이 가져오지 못하는 상황이 되면서 기존 Task를 풀지 못하기 되기 때문에 Restart attention이라는 게 들어간다. 이는 쉽게 말하면 log attetion을 어느 시점을 기준으로 다시 진행한다는 것이며 이는 Figure 3 (d)를 보면 이해하기 쉬울 것이다.

+ Q1 : 저자는 여기서 Canonical Transformer의 층에 따라 특정 데이터 셋의 attention score를 시각화한 표가 있는데 이는 대강 layer 2 일 때는, global pattern을 보는 것 같은데 층이 점점 많이 쌓일수록(layer 6, 10) weekend의 값에 attention이 쏠리더니 주중의 pattern을 무시한다는 설명을 하고 있다.

> 이 부분이 4.2와 다소 맞지 않는 내용이라고 생각이 들었는데, 제 생각을 이야기 해보자면 이 챕터에 나올 Log layer를 쓰면 전체적인 층이 줄어들면서 이런 질문이 나올 수 있다. '메모리를 줄이기 위해 주변의 층을 안보고 local를 찾는 게 되는가?' 이 질문에 답변을 미리 이야기 하는 것 같다. 왜냐하면 어차피 층이 늘어도 전체적인 pattern을 파악하지 못하는데, 그러면 log layer를 써도 되지 않냐라는 맥락으로 끼워넣은 것이 아닌가 생각한다.


5. Experiments

5.1 합성 데이터셋

합성 데이터셋을 사용한 실험에서 Transformer는 장기 종속성을 잘 포착하는 반면, LSTM 기반 모델인 DeepAR는 성능이 저하되었습니다. 이는 Transformer가 긴 시퀀스를 처리하는 데 더 적합함을 보여줍니다.

Figure 4

5.2 실제 데이터셋

electrcity-c와 traffic-c을 사용한 실험에서도 Transformer는 RNN 기반 모델(DeepAR, DeepState) 및 전통적인 통계 모델(ARIMA, ETS, TRMF)보다 우수한 성능을 보였습니다. 특히, Convolution Self attention를 사용한 Transformer는 더 낮은 훈련 오류와 더 빠른 수렴을 보였습니다.

> 여기서 추가로 의미있는 점은 kernel 사이즈가 증가함에 따라 loss가 더 줄어든다는 점이 의미가 있는 것 같습니다. 

Sparse attention

희소 주의(LogSparse Transformer)를 적용한 모델은 메모리 사용량을 줄이면서도 성능을 유지할 수 있음을 보여줍니다. 특히, 트래픽 데이터와 같은 강력한 장기 종속성을 가진 데이터셋에서 더 나은 성능을 보였습니다.

Convolution self attention

컨볼루션 자기 주의를 적용한 모델은 훈련 오류를 줄이고 수렴 속도를 높이는 데 효과적임을 확인했습니다. 특히, 도전적인 데이터셋에서 컨볼루션 자기 주의의 이점이 더욱 두드러졌습니다.


6. Conclusion

본 논문에서는 Transformer를 시계열 예측에 적용하고, 그 성능을 향상시키기 위해 컨볼루션 자기 주의와 LogSparse Transformer를 제안했습니다. 합성 데이터와 실제 데이터셋 모두에서 Transformer의 장기 종속성 포착 능력을 입증했으며, LSTM 기반 모델보다 우수한 성능을 확인했습니다. 또한, 제안된 방법은 메모리 사용량을 줄이면서도 예측 정확도를 높이는 데 효과적임을 보여주었습니다.


참고자료

1. 트랜스포머 학습 자료 : https://velog.io/@jhbale11/%EC%96%B4%ED%85%90%EC%85%98-%EB%A7%A4%EC%BB%A4%EB%8B%88%EC%A6%98Attention-Mechanism%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

 

트랜스포머(Transformer)와 어텐션 매커니즘(Attention Mechanism)이란 무엇인가?

1. 배경(Background) 2017년에 Attention is All You Need라는 논문이 나온 이후로 어텐션 구조는 최초에 제안되었던 NLP 분야는 물론 Computer Vision 분야와 Time Series 분야까지 다양한 분야에서 적용되고 있습니

velog.io

2. 논문 원본 : https://proceedings.neurips.cc/paper/2019/hash/6775a0635c302542da2c32aa19d86be0-Abstract.html

728x90