Skip to Content

최신 시계열 분석 및 기술

Ⅳ. Transformer 계열 모델

Transformer 모델은 RNN 모델에서 그 발전이 시작되었다고 할 수 있다. 시계열 데이터 상에서 RNN 계열의 모델들은 입력 시퀀스 값을 학습하여 미래의 어떤 값을 예측하는데, 이러한 방식은 인코더-디코더 구조 및 context vector 개념 도입을 통해 입력 시퀀스 기반 출력 시퀀스를 예측하는 Seq2Seq 모델로 발전하였다[8]. 하지만 Seq2Seq 모델은 장기 의존성 문제(long-term dependency problem)에 의한 정보 손실이 있었고, 디코더에서 인코더의 입력 시퀀스를 다시 한 번 참고할 수 있도록 어텐션(attention) 개념을 도입하여 이를 개선한 것이 Transformer 모델이다[9]. <자료> Vaswani, Ashish, et al., “Attention is all you need,” Advances in neural information processing systems 30, 2017. [그림 6] Transformer 모델의 Encoder-Decoder 아키텍처

[그림 6]은 Transformer 모델의 인코더-디코더 아키텍처이다. 인코더에서는 입력 시퀀스에 대해 임베딩을 수행하고, 위치 정보를 추가(positional encoding)한다. 그리고 입력 시퀀스에서 특징을 추출하기 위해 multi-head 어텐션을 사용한다. 인코더를 통해 획득한 입력 시퀀스 정보는 디코더의 multi-head 어텐션에 입력되어 디코더의 학습을 지원한다. Transformer 모델은 주로 자연어 처리 분야에서 사용되었는데, 최근에는 시계열 데이터 예측 분야에서도 연구가 활발하게 진행되고 있다. Transformer 모델의 문제점은 지역성을 잘 표현하지 못한다는 점과 메모리 병목 현상을 유발한다는 점인데, 이를 개선한 것이 LogSparse Transformer 모델이다[10]. [그림 7]은 기존 Transformer 모델과 LogSparse Transformer의 셀프 어텐션을 보여준다. LogSparse Transformer 모델은 커널 크기를 k개까지 설정하여 [그림 7 (c)]와 같이 시계열 데이터의 지역성을 효과적으로 분석할 수 있다. <자료> Li, Shiyang, et al., “Enhancing the locality and breaking the memory bottleneck of transformer on time series forecasting,” Advances in neural information processing systems 32, 2019. [그림 7] LogSparse Transformer 모델에서의 셀프 어텐션

[그림 8 (a)]는 Transformer 모델의 셀프 어텐션 방식을 보여주는데, 어텐션 시 과거 모든 데이터를 참조함으로써 입력 값의 길이가 증가함에 따라 공간 복잡도가 급격히 증가한다. 하지만 [그림 8 (b)]와 같이 LogSparse 셀프 어텐션 메커니즘을 보면 참조하는 과거 데이터의 간격이 기하급수적으로 증가하는 형태로 공간 복잡도가 감소한다. [그림 8 (c)]와 [그림 8 (d)]도 LogSparse를 기반으로 참조하는 과거 데이터의 양을 기존 셀프 어텐션 방식 대비 전략적으로 감소시킨다. 해당 논문에서는 일부 데이터에 대한 실험을 통해 기존 방식보다 높은 성능을 보였다. <자료> Li, Shiyang, et al., “Enhancing the locality and breaking the memory bottleneck of transformer on time series forecasting,” Advances in neural information processing systems 32, 2019. [그림 8] LogSparse 기반 셀프 어텐션

Transformer 모델은 시계열 데이터 예측에서 상당한 잠재력을 갖고 있지만, 시간 복잡도와 메모리 사용량이 높고, 인코더-디코더 구조의 한계 등으로 장기 시계열 예측에 한계가 있다. Informer 모델은 이러한 문제들을 개선하기 위해 [그림 9]와 같이 ProbSparse 셀프 어텐션 메커니즘을 제시한다[11]. ProbSparse 셀프 어텐션은 각 키(key)들에 대해 의미있는 쿼리(query)들만 집중할 수 있도록 하여 연산량 및 메모리 사용량을 감소시킨다. <자료> Zhou, Haoyi, et al., “Informer: Beyond efficient transformer for long sequence time-series forecasting,” Proceedings of the AAAI Conference on Artificial Intelligence, Vol.35. No.12. 2021. [그림 9] Informer 모델의 Encoder-Decoder 아키텍처

[그림 9]에서 인코더를 보면 ProbSparse 셀프 어텐션들을 수행하며 지식 증류(knowledge distilling)를 통해 모델 크기를 감소시킨다. 이에 따라 메모리 사용량도 감소한다. 디코더에서는 인코더를 통해 생성한 특징 맵(feature map) 기반 가중치 어텐션을 구성하여 장기 시계열 입력 값에서 미래 값을 예측한다. 앞서 언급한 모델들은 Transformer 모델의 셀프 어텐션을 효율적으로 사용하는 방법을 제시하였다면, autoformer 모델은 fast fourier transform 기반 auto-correlation 메커니즘을 통해 sub-series 사이의 의존성을 찾아 Transformer 모델을 개선하였다[12]. [그림 10]은 autoformer 모델의 아키텍처이다. 인코더는 시계열 데이터를 입력받아 분해작업(series decomposition)을 수행한다. 이를 통해 시계열 데이터가 갖는 트렌드 성질을 제거하고, 계절성 패턴을 모델링 한다. 디코더는 잠재적인 트렌드 및 계절성을 생성하고, 인코더로부터 전달받은 시계열 데이터의 트렌드 정보를 활용하여 학습을 수행한다. <자료> Wu, Haixu, et al., “Autoformer: Decomposition transformers with auto-correlation for long-term series forecasting,” Advances in Neural Information Processing Systems 34, 2021, 22419-22430. [그림 10] Autoformer 모델의 Encoder-Decoder 아키텍처

[그림 11]은 앞서 언급했던 Transformer 모델의 어텐션, LogSparse 어텐션 그리고 auto-correlation의 특징을 보여준다. Transformer 모델의 어텐션은 시계열 데이터의 모든 포인트를 참조하고, LogSparse 어텐션은 시계열 데이터 상에서 과거로 갈수록 기하급수적으로 참조하는 데이터의 간격을 증가시킨다. 반면에 auto-correlation 기법은 과거 특정 구간들에서 탐지되는 sub-series 사이의 관계성을 참조한다. <자료> Wu, Haixu, et al., “Autoformer: Decomposition transformers with auto-correlation for long-term series forecasting,” Advances in Neural Information Processing Systems 34, 2021, 22419-22430. [그림 11] Transformer 계열 모델별 어텐션 기법

[표 1]은 Transformer 계열 시계열 데이터 예측 모델들의 시간 및 공간 복잡도를 보여준다. ProSparse 셀프 어텐션 메커니즘을 사용하는 informer 모델이 Transformer 및 LogSparse Transformer 대비 시간 및 공간 복잡도가 낮음을 알 수 있다. [표 1] Transformer 모델별 Time and Space Complexity

모델TrainingTesting
TimeMemorySteps
TransformerO(L2)O(L2)L
LogSparse TransformerO(LlogL)O(L2)1
InformerO(LlogL)O(LlogL)1

<자료> Wen, Qingsong, et al., “Transformers in time series: A survey,” arXiv preprint arXiv:2202.07125, 2022, 재구성 [표 2]은 각 모델을 EETm2 데이터로 학습 및 예측을 수행하였을 때 MSE(Mean Squared Error)를 보여준다[13]. EETm2 데이터에 대해 예측 길이(output length)가 가장 짧은 경우는 informer 모델이 가장 우수한 성능을 보였고, 예측 길이가 가장 긴 경우는 Transformer 모델이 가장 우수한 성능을 보였다. [표 2] Transformer 모델별 MSE(Mean Squared Error)

모델Output Length
96192336720
Transformer0.6041.0601.4132.672
LogSparse Transformer0.7680.9891.3343.048
Informer0.3650.5331.3633.379
Autoformer0.5810.4032.6323.058

<자료> Wen, Qingsong, et al., “Transformers in time series: A survey,” arXiv preprint arXiv:2202.07125, 2022. 재구성

Ⅴ. GCN 계열 모델

Spatio-Temporal Time-series Forecasting은 시계열 데이터 간 상호 관계, 시간의 흐름에서 획득할 수 있는 정보 등을 파악하여 해당 데이터가 미래 시점에 어떻게 변화할지 예측하는 연구 분야이다. 이러한 연구 분야에서 대표적으로 사용하는 모델이 GCN이다. GCN 모델은 CNN 모델을 일반화하여 그래프 형태의 데이터에 적용한 것으로 [그림 12]는 GCN 모델에서 다루는 데이터의 형태를 의미하는데, 그래프의 각 노드, 노드의 특징, 노드 사이의 관계, 관계의 특징 등을 대상으로 학습 및 예측을 수행한다. 본 장에서는 대표적인 GCN 기반 예측 모델들을 소개한다. <자료> 금융결제원 자체 작성 [그림 12] GCN 계열 모델의 입력 형식

DCRNN(Diffusion Convolutional Recurrent Neural Network) 모델은 인코더-디코더 형태의 아키텍처로 diffusion graph convolution layer를 GRU 방식으로 사용한다[14]. 인코더-디코더 구조를 기반으로 장기(long-term) 예측이 가능하며, diffusion graph convolution을 순환 반복적으로 사용함으로써 교통량의 변화를 확산(diffusion) 프로세스로 모델링하고, 시계열 데이터에서 spatial-temporal 의존성을 찾을 수 있다. [그림 13]은 DCRNN 모델의 아키텍처이다. <자료> Li, Yaguang, et al., “Diffusion convolutional recurrent neural network: Data-driven traffic forecasting,” arXiv preprint arXiv:1707.01926, 2017. [그림 13] DCRNN 모델의 아키텍처

해당 논문에서는 도로 네트워크에서 교통량 예측을 중심으로 실험을 진행하였지만 동 모델은 다양한 spatial-temporal 모델링에 적용이 가능하다[14]. STGCN(Spatio-Temporal Graph Convolutional Networks) 모델은 교통량 예측 문제뿐만 아니라 일반적인 spatial-temporal 예측을 위한 모델링에서도 사용될 수 있다[15]. STGCN 모델은 일반적으로 convolution layer를 반복된(recurrent) 구조가 아닌, graph convolution과 gated temporal convolution을 결합한 형태로 모델링 한다. 이를 통해 더 적은 파라미터 수로 더 빠르게 spatial-temporal 데이터를 학습 및 예측할 수 있다. [그림 14]는 STGCN 모델의 아키텍처이다. STGCN 모델은 두 개의 ST-Conv(Spatio-Temporal Convolutional) block과 output layer(fully connected)로 구성되어 있다. 각각의 ST-Conv block은 temporal 및 spatial graph-conv(convolutional) layer로 구성되어 있는데, 이를 기반으로 spatial-temporal 의존성을 찾을 수 있다. <자료> Yu, Bing, Haoteng Yin and Zhanxing Zhu, “Spatio-temporal graph convolutional networks: A deep learning framework for traffic forecasting,” arXiv preprint arXiv:1709.04875, 2017. [그림 14] STGCN 모델의 아키텍처

AGCRN(Adaptive Graph Convolutional Recurrent Network) 모델은 앞서 설명한 GCN 모델들과 다르게 사전 정의된 그래프 구조 없이 시계열 데이터에서 spatial-temporal 의존성을 파악할 수 있다[16]. AGCRN 모델은 그래프 내 노드의 패턴을 찾는 NAPL(Node Adaptive Parameter Learning) 모듈과 서로 다른 트래픽 사이의 의존성을 추론하는 DAGG(Data Adaptive Graph Generation) 모듈로 구성되어 있다. NAPL 모듈은 대규모 파라미터를 직접 학습하지 않고, matrix factorization을 수행하여 작은 규모의 파라미터 matrix 두 개로 분할한 후 학습한다. DAGG 모듈은 그래프의 구조를 학습 가능하도록 하여 사전 정의된 그래프가 갖는 단점(불충분한 의존성 정보, 관련 연구 도메인에 대한 사전지식 등)을 보완한다. [표 3]은 각 모델을 PeMSD4 및 PeMSD8 데이터로 학습 및 예측을 수행하였을 때 MSE, RMSE(Root Mean Square Error), MAPE(Mean Absolute Percentage Error)를 보여준다[16]. PeMSD4 데이터에 대해서는 STGCN이 MAE 및 MAPE 지표 기준으로 가장 우수한 성능을 보였고, PeMSD8 데이터에 대해서는 DCRNN이 가장 우수한 성능을 보였다. [표 3] GCN 모델별 MSE/RMSE/MAPE

모델PeMSD4PeMSD8
MSERMSEMAPEMSERMSEMAPE
DCRNN21.2233.4414.17%16.8226.3610.92%
STGCN21.1634.8913.83%17.5027.0911.29%
AGCRN19.8332.2612.97%15.9525.2210.09%

<자료> Bai, Lei, et al., “Adaptive graph convolutional recurrent network for traffic forecasting,” Advances in neural information processing systems 33, 2020, 17804-17815. 재구성

Ⅵ. 결론

본 고에서는 RNN, Neural ODE/CDE, Transformer, GCN 등 다양한 딥러닝 모델 기반의 시계열 데이터 예측 모델들의 특징을 살펴보았다. 전통적인 RNN 계열 모델들은 은닉 계층 값을 순환 반복적으로 활용하여 예측 시 사용하였고, ODE/CDE 기반 모델들은 시계열 데이터를 연속적으로 모델링할 수 있다. 또한, Transformer 계열 모델들은 어텐션 메커니즘을 통해 과거 시계열 데이터 상에서 중요한 정보들을 찾고, GCN 계열 모델들은 temporal 정보에 spatial 정보까지 추가하여 시계열 예측에 활용한다. 본 고에서 살펴본 모델의 대부분은 개발 프레임워크 패키지(pytorch 등)를 통해 사용할 수 있거나, 각 논문의 저자가 GitHub 상에 구현된 모델의 소스코드를 공유하였다. 따라서 시계열 데이터 분석 및 예측을 원한다면 각 모델들을 쉽게 활용하여 실험해볼 수 있다.

ETSformer

https://www.youtube.com/watch?v=nIkX1vHcsug