설명
PatchTST는 "A Time Series is Worth 64 Words: Long-term Forecasting with Transformers" 논문의 공식 구현입니다. 이 AI 모델은 Transformer 아키텍처의 강력한 기능을 활용하여 장기 시계열 예측을 위해 설계되었습니다. 핵심 혁신은 시계열을 하위 시계열 수준의 패치로 분할하여 Transformer의 입력 토큰으로 처리하는 "패치화" 메커니즘에 있습니다.
주요 설계 원칙에는 채널 독립성이 포함되며, 각 채널은 단일 단변량 시계열을 나타냅니다. 이러한 시계열은 모든 입력에서 동일한 임베딩 및 Transformer 가중치를 공유하여 효율적인 학습을 촉진합니다. 이 프로젝트는 PatchTST_supervised와 PatchTST_self_supervised의 두 가지 주요 폴더로 구성되어 다양한 학습 패러다임을 지원합니다.
지도 학습의 경우, 사용자는 요구 사항을 설치하고 Autoformer와 같은 소스에서 데이터셋을 다운로드한 후 제공된 스크립트를 사용하여 학습을 시작할 수 있습니다. 패치 길이, 과거 창, 예측 길이와 같은 하이퍼파라미터를 조정할 수 있습니다. 또한 이 리포지토리에는 비교 분석을 위한 기본 모델 코드가 포함되어 있습니다.
자기 지도 학습 영역에서 PatchTST는 사전 학습 및 미세 조정 기능을 제공합니다. 사전 학습 스크립트인 `patchtst_pretrain.py`는 지정된 마스크 비율을 사용하여 모델을 학습시킵니다. 결과로 얻은 사전 학습된 모델은 다운스트림 작업에 대해 저장됩니다. 그런 다음 `patchtst_finetune.py` 스크립트는 이러한 사전 학습된 모델에 대한 선형 프로빙 또는 전체 네트워크 미세 조정을 용이하게 합니다.
이 프로젝트는 LTSF-Linear, Informer2020, Autoformer, FEDformer, Pyraformer, RevIN, tsai를 포함한 여러 GitHub 리포지토리의 귀중한 기여를 인정하며, 이는 광범위한 시계열 연구 커뮤니티 내에서의 통합을 강조합니다. 이를 통해 PatchTST는 정확하고 확장 가능한 장기 시계열 예측에 중점을 둔 연구원 및 실무자를 위한 강력한 도구가 됩니다.
PatchTST 하이라이트
시계열 예측을 위한 Transformer 기반 아키텍처
시계열을 하위 시계열 수준의 패치로 분할
효율적인 가중치 공유를 위한 채널 독립성
PatchTST 논문의 공식 구현
지도 학습 지원
자기 지도 학습 지원 (사전 학습 및 미세 조정)
패치 길이, 과거 창, 예측 창에 대한 조정 가능한 하이퍼파라미터
비교를 위한 기본 모델 포함
GitHub에서 사용 가능한 코드베이스
다운스트림 작업을 위한 모델 가중치 저장
선형 프로빙 및 전체 네트워크 미세 조정 옵션
PatchTST 시작하기
통합: PatchTST 코드에 대한 GitHub 리포지토리에 액세스합니다.
환경 설정: `pip install -r requirements.txt`를 사용하여 필요한 Python 패키지를 설치합니다.
데이터 다운로드: 시계열 데이터셋을 다운로드하여 `./dataset` 폴더에 배치합니다.
지도 학습: `./scripts/PatchTST` 디렉토리에서 학습 스크립트를 실행합니다. 예: `sh ./scripts/PatchTST/weather.sh`.
자기 지도 학습 사전 학습: 데이터셋 및 마스크 비율 매개변수와 함께 `python patchtst_pretrain.py`를 실행합니다.
자기 지도 학습 미세 조정: 사전 학습된 모델 이름 및 데이터셋과 함께 `python patchtst_finetune.py`를 사용합니다.
PatchTST의 사용 사례
- 장기 예측
- 시계열 분석
- Transformer를 사용한 예측
- 자기 지도 학습
- 지도 학습
- 다변량 예측







