[’23 ICLR] PatchTST : A TIME SERIES IS WORTH 64 WORDS: LONG-TERM FORECASTING WITH TRANSFORMERS

This entry is part 1 of 2 in the series Time Series Model

1. 들어가며

시계열 데이터는 금융, 기후 예측, 에너지 수요 예측 등 다양한 분야에서 중요한 역할을 합니다. 하지만 시계열 예측의 난이도는 데이터의 시간적 의존성, 장기적인 추세 학습의 어려움, 변수 간의 복잡한 관계 등 여러 요인으로 인해 높아집니다. 기존의 딥러닝 기반 시계열 예측 모델들은 주로 RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory), CNN(Convolutional Neural Network) 등의 구조를 사용해 왔으며, 최근에는 Transformer 모델이 도입되면서 장기 의존성 학습과 병렬 연산의 이점을 활용한 연구가 활발히 진행되고 있습니다.

Transformer 기반 모델들은 자연어 처리(NLP)에서 뛰어난 성능을 보이며 주목받았지만, 시계열 데이터에서는 몇 가지 한계를 보였습니다. 기존 Transformer 기반 시계열 모델들은 point-wise 연산 방식으로 인해 지역 정보를 충분히 활용하지 못하고, self-attention 연산의 계산 비용이 지나치게 크며, 변수 간의 관계를 명확하게 반영하지 못하는 문제를 가지고 있었습니다. 특히, 시계열 데이터는 연속적인 흐름을 가지고 있기 때문에 NLP와 달리 개별 토큰이 아닌, 연속된 패턴을 학습하는 것이 중요한데요. 기존 Transformer 모델들은 이러한 특성을 제대로 반영하지 못해 시계열 예측에서 최적의 성능을 보이지 못했습니다.

이러한 문제를 해결하기 위해 논문에서는 PatchTST를 제안하였습니다. PatchTST는 기존 Transformer 모델의 구조적 한계를 극복하고, 시계열 데이터를 더욱 효과적으로 학습하기 위해 patching 기법을 도입하였습니다. 기존 Transformer 모델이 개별 시점의 데이터를 독립적으로 처리하는 것과 달리, PatchTST는 시계열 데이터를 일정한 크기의 패치 단위로 변환하여 입력으로 사용하는 방식을 적용했습니다. 이를 통해 지역 정보를 유지하면서도, self-attention 연산의 계산 부담을 줄일 수 있습니다. 또한, PatchTST는 channel-independent self-attention 기법을 활용하여 다변량 시계열 데이터에서 각 변수의 독립성을 고려하고, self-supervised learning을 적용하여 데이터가 부족한 환경에서도 학습할 수 있도록 설계되었습니다.

이번 포스팅에서는 기존 Transformer 기반 시계열 예측 모델들의 한계를 살펴보고, PatchTST가 이를 어떻게 해결하는지 자세히 분석해보겠습니다. 또한, 실험을 통해 PatchTST가 실제로 기존 모델보다 얼마나 우수한 성능을 보이는지 평가하고, 마지막으로 모델의 강점과 한계를 정리하겠습니다. 먼저, 기존 방법들의 한계를 살펴보겠습니다.

2. 기존 방법의 문제점

기존 Transformer 기반의 시계열 예측 모델들은 장기 시계열 데이터(Long-term Time Series Forecasting)를 효과적으로 학습하는 데 여러 한계를 가지고 있었습니다. 대표적인 문제점으로는 point-wise 연산 방식으로 인해 지역(local) 정보를 유지하지 못하는 점, self-attention 연산의 계산 비용이 너무 크다는 점, 그리고 변수 간의 독립성을 고려하지 못하는 점이 있습니다. 이러한 문제들을 하나씩 살펴보겠습니다.

첫 번째 문제는 기존 Transformer 기반 모델들이 주로 point-wise 연산을 사용하기 때문에 시계열 데이터에서 중요한 지역 정보를 효과적으로 유지하지 못한다는 점입니다. 일반적인 Transformer 구조에서는 각 시점의 데이터가 독립적으로 처리되며, 이를 통해 전체 시계열의 장기 의존성을 학습하려고 합니다. 하지만 이러한 방식은 시계열 데이터가 가지는 연속적인 특성을 반영하는 데 한계가 있습니다. 예를 들어, 주식 가격 데이터나 기후 변화 데이터에서는 최근 몇 개의 데이터 포인트가 다음 값에 중요한 영향을 미칠 수 있습니다. 그러나 기존의 point-wise 처리 방식에서는 이러한 지역적인 패턴을 학습하는 것이 어렵고, 결과적으로 예측 성능이 저하될 가능성이 높습니다.

두 번째 문제는 self-attention 연산의 계산량이 너무 크다는 점입니다. Transformer 모델의 self-attention은 입력 데이터의 길이에 따라 연산량이 제곱적으로 증가하기 때문에, 시계열 데이터와 같이 긴 시퀀스를 다루는 경우 연산 비용이 급격하게 증가하게 됩니다. 기존의 NLP 분야에서는 문장의 길이가 제한적이기 때문에 이러한 문제를 상대적으로 덜 겪었지만, 시계열 데이터에서는 몇 백 개 이상의 연속적인 시점 데이터를 다뤄야 하는 경우가 많아 계산 부담이 상당히 커집니다. 이러한 높은 연산 비용은 학습 속도를 저하시킬 뿐만 아니라, 대규모 데이터셋을 학습하는 데도 어려움을 초래할 수 있습니다.

세 번째 문제는 기존 Transformer 기반 시계열 예측 모델들이 변수 간의 독립성을 고려하지 못한다는 점입니다. 대부분의 시계열 데이터는 단일 변수가 아닌 다변량(multivariate) 형태로 구성됩니다. 예를 들어, 날씨 예측에서는 온도, 습도, 기압 등의 다양한 변수가 동시에 고려되어야 합니다. 하지만 기존 모델들은 이러한 변수를 독립적인 feature로 간주하고, 변수 간의 관계를 명확하게 반영하지 못하는 구조를 가지고 있습니다. 이는 예측 모델이 변수들 간의 상호작용을 충분히 학습하지 못하게 만들며, 결과적으로 예측 정확도가 저하될 수 있습니다.

이러한 문제점들로 인해 기존 Transformer 기반의 시계열 예측 모델들은 장기 예측 성능이 제한적이었으며, 연산 비용이 높고, 다변량 데이터에서의 관계를 효과적으로 학습하지 못하는 한계를 가지고 있었습니다. 이러한 한계를 극복하기 위해 논문에서는 PatchTST라는 새로운 접근법을 제안하였습니다. 다음 장에서는 PatchTST의 주요 개념과 이를 통해 기존의 문제점을 어떻게 해결했는지 살펴보겠습니다.

3. 제안 방법 : PatchTST

PatchTST는 기존 Transformer 기반 시계열 예측 모델들이 가진 한계를 해결하기 위해 설계된 모델입니다. 기존 모델들이 point-wise 연산으로 인해 지역 정보를 유지하지 못하고, self-attention 연산의 계산량이 너무 크며, 변수 간의 독립성을 고려하지 못한다는 문제를 해결하기 위해 PatchTST는 다음과 같은 핵심 기법을 제안합니다.

그림1. PatchTST Architecture
그림1. PatchTST Architecture

3.1. Patching 기법

PatchTST의 가장 큰 차별점은 기존 Transformer 모델들이 시계열 데이터를 개별 시점 단위로 처리하는 것과 달리, 패치(patch) 단위로 변환하여 입력으로 사용하는 방식을 도입한 것입니다. 기존 모델에서는 각 시점의 데이터를 독립적으로 처리하였기 때문에, 시계열 데이터에서 중요한 지역(local) 패턴을 유지하기 어려웠습니다.

PatchTST에서는 시계열 데이터를 일정한 크기의 패치 단위로 나누어 Transformer의 입력으로 사용합니다. 이는 자연어 처리에서 문장을 단어 단위가 아니라 문맥을 포함하는 토큰 단위로 처리하는 것과 유사한 개념입니다. 이를 통해 모델이 단기적인 패턴을 보다 효과적으로 학습할 수 있으며, 개별 시점이 아닌 일정 범위의 시계열을 하나의 단위로 학습함으로써 지역 정보를 보존할 수 있습니다.

3.2. Channel-independent Self Attention 기법

PatchTST는 channel-independent self-attention 기법을 도입하여 기존 Transformer 모델의 self-attention 연산이 가지는 높은 계산 비용 문제를 해결하였습니다.

기존 Transformer 모델의 self-attention 연산은 전체 변수(채널)들에 대해 공통적으로 적용되었기 때문에, 다변량 시계열 데이터에서 계산 비용이 급격히 증가하는 문제가 있었습니다. 특히, 모든 변수들을 하나의 attention mechanism으로 학습하게 되면, 연산량이 증가할 뿐만 아니라 변수 간 불필요한 관계가 형성될 가능성이 있습니다.

PatchTST에서는 각 변수(채널)별로 독립적인 self-attention을 적용하여, 변수를 개별적으로 학습하면서도 패치 단위로 변환된 데이터 내에서 국소적인 패턴을 효과적으로 학습할 수 있도록 하였습니다. 이를 통해 모델이 다변량 시계열 데이터에서 불필요한 변수 간 상호작용을 줄이고, 보다 정교한 예측이 가능하도록 하였습니다.

3.3. 쉽게 이해하기

여기까지 내용을 직관적으로 이해해보겠습니다. 기존 Transformer를 사용하는 Time Series 모델의 연산 방법은 아래 그림과 같이 표현할 수 있습니다.

그림2. 기존 Transformer 연산 방법
그림2. 기존 Transformer 연산 방법

우선 주목해야 할 부분은 Tokenizing 과정인데요. 크게 두가지 포인트가 있습니다. 첫 번째는 Point wise 방식으로 계산한다는 점입니다. 주가를 예로 들어 생각해보면, 위 데이터가 1분봉 데이터였다면 1분마다의 데이터를 개별적으로 연산하는 방식인거죠. 하지만 한번 더 생각해보면, 이렇게 1분 단위의 데이터를 모두 집중해서 보는게 효율적일까 라는 의문을 품을 수 있습니다. 숲을 보지 못하고 나무만 보는 문제가 생길 수 있는거죠. 두 번째는 Channel 간 정보를 통합하여 Token화 한다는 점입니다. 다시 주가 데이터로 생각해보면, 5분 이동평균값과 20분 이동평균값을 합쳐서 하나의 Token으로 만들고 있는 것이죠. 이 또한 각 채널별로 각자의 정보를 갖고 있으므로 독립적으로 연산해주는게 좋지 않을까 하는 의문을 품을 수 있습니다.

두 번째 포인트는 Self Attention 연산입니다. Self Attention 연산은 긴 길이의 순차 데이터의 상관관계를 효과적으로 학습하는 장점이 있습니다. 하지만 데이터가 길어질수록, 그 제곱에 비례하여 연산량이 커진다는 치명적인 단점이 있습니다.

그림3. PatchTST 연산 방법
그림3. PatchTST 연산 방법

그래서 저자들이 제안하는 방법이 PatchTST인데요. 핵심 아이디어는 아주 간단합니다. 크게 두가지 포인트가 있는데요. 첫 번째 포인트는 Point Wise 연산이 아닌, Patch 단위로 연산을 하자는겁니다. 위 그림의 왼쪽에서 표현하고 있는데요. 순차 데이터를 일정한 크기의 덩어리로 묶어서 하나의 데이터로 보자는것이죠. 예를 들어 1분 데이터 점들을 각각 연산하지말고, 5개 정도의 점을 하나의 덩어리로 퉁쳐서 보자는거죠. 이렇게 하면 나무에만 집중하지 않고 조금 더 숲을 보는 효과가 생기겠죠?

두 번째 포인트는 Self Attention 인데요. 채널별로 독립적인 Self Attention Layer를 적용해주는겁니다. 즉 다시 주가를 예로 들면, 5분 이동평균만 보는 Self Attention과 10분 이동평균만 보는 Self Attention 을 따로따로 구성해주는것이죠. 이러한 방법은 데이터 특성에 따라 장단점이 있을 수 있습니다. 데이터의 특성상 같은 Multivariate 데이터라 해도, 채널별 관계 분석이 중요한 경우라면, 오히려 역효과가 날 수 있겠죠. 또 재밌는건, Patch화 함으로 인해 Self Attention 연산량을 크게 줄일 수 있다는 것입니다. Self Attention 연산은 시간축으로 연산하기 때문에 Patch화를 통해 시간에 따른 데이터 개수를 크게 줄여 생기는 장점인 것이죠.

3.4. Self-supervised Learning 기법

PatchTST는 self-supervised learning을 적용하여 모델의 학습을 더욱 효과적으로 진행할 수 있도록 하였습니다.

일반적인 시계열 데이터는 지도 학습(supervised learning)을 통해 학습되는 경우가 많지만, 대부분의 데이터셋에서는 충분한 레이블이 존재하지 않는 경우가 많습니다. 따라서 기존 모델들은 데이터 부족 문제로 인해 성능이 저하될 가능성이 컸습니다.

PatchTST는 self-supervised pretraining을 수행하여 모델이 미리 시계열의 패턴을 학습하도록 하며, 이후 예측 작업을 위한 fine-tuning을 통해 최적의 성능을 낼 수 있도록 하였습니다. 이를 통해 데이터의 부족 문제를 해결하고, 모델이 보다 일반화된 시계열 패턴을 학습할 수 있도록 하였습니다.

3.5. PatchTST의 효과

PatchTST의 핵심 기법들을 통해 기존 Transformer 기반 모델들이 가지는 문제점들을 해결할 수 있습니다. 모델의 주요 효과는 크게 세 가지로 정리할 수 있습니다.

첫 번째 장점은 계산 복잡도의 감소입니다. patching 기법을 통해 self-attention이 개별 시점이 아닌 패치 단위에서 수행되기 때문에, 연산량이 줄어들고 학습 속도가 빨라집니다. 또한, channel-independent self-attention을 활용하여 다변량 시계열 데이터에서의 연산 비용을 추가적으로 절감할 수 있습니다.

두 번째 장점은 장기 의존성 학습 능력의 향상입니다. 기존 Transformer 모델은 point-wise 방식으로 데이터를 학습했기 때문에, 먼 시점 간의 관계를 학습하는 것이 쉽지 않았습니다. 하지만 PatchTST는 패치 단위로 데이터를 처리하기 때문에, 보다 긴 범위의 시계열 패턴을 학습할 수 있으며, 이를 통해 장기적인 시계열 예측에서 더 우수한 성능을 발휘할 수 있습니다.

세 번째 장점은 일반화 성능의 향상입니다. self-supervised learning을 적용함으로써, 모델이 다양한 시계열 패턴을 사전에 학습할 수 있도록 하고, 이후 fine-tuning을 통해 특정한 예측 작업에 맞춰 조정할 수 있습니다. 이는 데이터가 부족한 환경에서도 효과적으로 활용할 수 있으며, 기존의 fully-supervised 방식보다 더욱 강력한 일반화 성능을 제공합니다.

4. 실험 결과

PatchTST의 성능을 평가하기 위해 여러 실험이 진행되었습니다. 본 포스팅에서는 대표적인 세 가지 실험을 다루며, 각 실험에서 사용된 평가 방법과 결과를 소개합니다.

4.1 LONG-TERM TIME SERIES FORECASTING

PatchTST의 가장 중요한 실험 중 하나는 다양한 시계열 데이터셋에서 장기 예측 성능을 평가하는 것입니다. 실험에는 Weather, Traffic, Electricity, ETTh1, ETTh2, ETTm1, ETTm2 등의 데이터셋이 사용되었습니다.

그림4. Long Term Forecasting
그림4. Long Term Forecasting 실험 결과

평가는 기존의 Transformer 기반 모델(FEDformer, Autoformer, Informer)과 비Transformer 기반 모델(DLinear)과 비교하여 수행되었습니다. PatchTST가 모든 데이터셋에서 기존 모델보다 더 우수한 성능을 보였음을 확인할 수 있습니다.

4.2 REPRESENTATION LEARNING

PatchTST는 단순한 예측 모델이 아니라, 시계열 데이터를 효과적으로 표현하는 능력을 갖춘 모델이기도 합니다. 이를 확인하기 위해 Self-Supervised Learning(자기 지도 학습) 방식을 적용하여 Representation Learning 성능을 측정하는 실험이 진행되었습니다. 실험에서는 40%의 패치를 마스킹한 후, 모델이 이를 복원하도록 학습하는 방식을 적용했습니다. 이후 학습된 표현을 기반으로 Supervised Learning을 수행하여 성능을 비교했습니다.

그림5. Representation Learning
그림5. Representation Learning 실험 결과

우선 다른 모델들과 성능을 비교해보겠습니다. PatchTST는 기존 다른 방법들보다 전반적으로 성능이 좋은 모습입니다. 또한 PatchTST만의 성능을 놓고 봤을때, Supervised Learning 방법보다 Fine Tuning 방식의 성능이 모두 좋은 모습을 볼 수 있습니다.

4.3 ABLATION STUDY

PatchTST의 핵심 기법인 Patching과 Channel-Independent Self Attention이 각각 모델의 성능 향상에 어떻게 기여하는지 검증하기 위해 Ablation Study가 진행되었습니다. Patching과 Channel-Independent 구조를 함께 적용했을 때 가장 좋은 성능을 보였음을 확인할 수 있습니다.

그림6. Patching, Channel Independence Ablation 실험 결과
그림6. Patching, Channel Independence Ablation 실험 결과

또한, PatchTST는 Look-back Window의 길이에 따라 성능이 어떻게 변화하는지를 테스트하는 실험도 진행하였습니다. 기존 Transformer 모델들은 Look-back Window를 길게 설정해도 예측 성능이 개선되지 않는 경우가 많았으나, PatchTST는 Look-back Window를 늘릴수록 성능이 향상되는 경향을 보였습니다.

그림7. Window Size Ablation 실험 결과
그림7. Window Size Ablation 실험 결과

5. 마치며

이번 포스팅에서는 PatchTST의 핵심 개념과 기존 Transformer 기반 시계열 예측 모델들이 가진 한계를 극복하는 방법을 살펴보았습니다. 기존 모델들은 point-wise 연산 방식으로 인해 지역 정보를 충분히 활용하지 못하고, self-attention 연산의 계산량이 너무 크며, 변수 간의 독립성을 고려하지 못한다는 문제가 있었습니다. 이를 해결하기 위해 PatchTST는 patching 기법, channel-independent self-attention, self-supervised learning을 적용하여 보다 효과적인 장기 시계열 예측을 가능하게 만들었습니다.

실험 결과를 통해 PatchTST는 기존의 Transformer 기반 모델뿐만 아니라, 비Transformer 모델(DLinear)보다도 뛰어난 성능을 보였음을 확인할 수 있었습니다. 특히, 다양한 시계열 데이터셋에서 장기 예측 성능이 우수했으며, Self-Supervised Learning을 적용한 Representation Learning 실험에서도 강력한 표현 학습 능력을 보여주었습니다. 또한, Ablation Study를 통해 patching과 channel-independent 구조가 모델 성능 향상에 실질적으로 기여함을 확인할 수 있었습니다.

PatchTST의 가장 큰 장점은 Transformer 모델의 구조를 유지하면서도 계산 복잡도를 낮추고, 장기 의존성을 효과적으로 학습할 수 있도록 개선했다는 점입니다. 이를 통해 시계열 데이터의 특성을 보다 잘 반영할 수 있으며, 실무 환경에서 더욱 활용하기 좋은 모델이 될 가능성이 높습니다. 특히, self-supervised learning 기법을 활용함으로써 데이터가 부족한 환경에서도 안정적으로 학습할 수 있다는 점은 실용적인 측면에서도 매우 큰 장점으로 작용합니다.

하지만 PatchTST에도 해결해야 할 과제들이 남아 있습니다. 예를 들어, patching 기법이 특정한 데이터셋에서는 성능을 향상시키지만, 패치 크기를 최적화하는 것이 중요할 수 있으며, 다양한 도메인에서의 일반화 성능을 더욱 정밀하게 평가할 필요가 있습니다. 또한, self-supervised learning을 더욱 발전시켜 사전 학습된 모델을 다양한 시계열 예측 문제에 활용할 수 있도록 연구를 지속해야 합니다.

6. 참고자료

Series Navigation[’24 ICLR] ITRANSFORMER: INVERTED TRANSFORMERS ARE EFFECTIVE FOR TIME SERIES FORECASTING >>
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top