亞馬遜最新時序大模型:將時間序列完全轉(zhuǎn)換成文本
亞馬遜發(fā)布了新版的時間序列大模型Chronos,用來進行時間序列概率預測的統(tǒng)一框架。這個模型的核心點是通過細致的數(shù)據(jù)處理,完全將時間序列數(shù)據(jù)轉(zhuǎn)換成token,再結合NLP中的T5等模型結構,以交叉熵為目標,訓練時間序列模型,在多個數(shù)據(jù)集上取得了SOTA效果。下面給大家詳細介紹Chronos的實現(xiàn)原理。
論文標題:Chronos: Learning the Language of Time Series
下載地址:??https://arxiv.org/pdf/2403.07815v1.pdf??
1.時間序列Tokenize
這一步需要將時間序列轉(zhuǎn)換成離散化的token,方便后續(xù)類似于語言模型的建模。主要分為Scaling和Quantization兩個步驟。
Scaling:對時間序列值進行縮放,本文使用的方法是用歷史窗口的時間序列均值作為分母,標準化整個時間序列,這種做法也是亞馬遜的時間序列相關論文中常用的一種處理方法;
Quantization:將scaling后的時間序列數(shù)據(jù)離散化,做法也很簡單,定義一些分桶邊界值,落入各個分桶的就被離散化成相應的桶號。
此外,文中還引入了兩種特殊符號,<PAD>用來進行時間序列的填充,<EOS>用來加到整個序列末尾,標識時間序列的結束。
2.優(yōu)化目標
Chronos的優(yōu)化目標也和傳統(tǒng)的時間序列預測模型不同,傳統(tǒng)的時間序列模型一般采用MSE這種回歸loss進行優(yōu)化,而Chronos直接使用和語言模型相同的優(yōu)化目標交叉熵進行優(yōu)化,將回歸問題轉(zhuǎn)換成了分類問題,預測目標也變成了根據(jù)前序的token,預測下一個token為各個結果的概率。
最終的預測結果,根據(jù)預測的桶號ID,反離散化成對應的值,再進行反scale,得到最終預測結果。
3.數(shù)據(jù)增強
數(shù)據(jù)增強是Chronos中的核心一環(huán),用來提升模型效果。主要采用了TSMix和KernelSynth兩種數(shù)據(jù)增強方法。
TSMix:借鑒了CV中的Mixup方法,對多個時間序列按權重做差值,生成新的時間序列;
KernelSynth:使用高斯過程直接生成人造時間序列。
4.實驗效果
下圖為Chronos和其他SOTA時間序列預測方法的效果對比,從圖中可以看出,使用T5作為base,且模型尺寸為Large的模型取得了最優(yōu)的效果。從圖中可以看出,模型的尺寸對于最終效果的影響比較大,越大的Chronos效果越好。
本文轉(zhuǎn)載自 ??圓圓的算法筆記??,作者: Fareise
