時間序列預測+NLP大模型新作:為時序預測自動生成隱式Prompt
今天給大家介紹一篇最新的大模型+時間序列預測工作,由康涅狄格大學發表,提出了一種將時間序列在隱空間和NLP大模型對齊,并利用隱空間prompt提升時間序列預測效果的方法。
論文標題:S2IP-LLM: Semantic Space Informed Prompt Learning with LLM for Time Series Forecasting
下載地址:https://arxiv.org/pdf/2403.05798v1.pdf
1.問題背景
大模型在時間序列上的應用越來越多,主要分為兩類:第一類使用各類時間序列數據訓練一個時間序列領域自己的大模型;第二類直接使用NLP領域訓練好的文本大模型應用到時間序列中。由于時間序列不同于圖像、文本,不同數據集的輸入格式不同、分布不同,且存在distribution shift等問題,導致使用所有時間序列數據訓練統一的模型比較困難。因此,越來越多的工作開始嘗試如何直接使用NLP大模型解決時間序列相關問題。
本文的聚焦點也在第二種方法,即使用NLP大模型解決時間序列問題?,F有的方法很多采用對時間序列的描述作為prompt,但是這種信息并不是所有時間序列數據集都有。并且現有的基于patch的時間序列數據處理方法,也無法完全保存時間序列數據本身的所有信息。
基于上述問題,這篇文章提出了一種新的建模方法,核心建模思路,一方面將時間序列通過tokenize處理后映射成embedding,另一方面將這些時間序列空間的表征對齊到大模型中的word embedding上。通過這種方式,讓時間序列的預測過程中,可以找到對齊的word embedding相關的信息作為prompt,提升預測效果。
2.實現方法
下面從數據處理、隱空間對齊、模型細節等3個方面介紹一下這篇工作的實現方法。
數據處理:由于時間序列的distribution shift等問題,本文對輸入序列做了一步趨勢項季節項分解。每個分解后的時間序列,都單獨做標準化,然后分割成有重疊的patch。每一組patch對應趨勢項patch、季節項patch、殘差patch,將這3組patch拼接到一起,輸入到MLP中,得到每組patch的基礎embedding表征。
隱空間對齊:這是本文中最核心的一步。Prompt的設計對大模型的效果影響很大,而時間序列的prompt又難以設計。因此本文提出,將時間序列的patch表征和大模型的word embedding在隱空間對齊,然后檢索出topK的word embedding,作為隱式的prompt。具體做法為,使用上一步生成的patch embedding,和語言模型中的word embedding計算余弦相似度,選擇topK的word embedding,再將這些word embedding作為prompt,拼接到時間序列patch embedding的前方。由于大模型word embedding大多,為了減少計算量,先對word embedding做了一步映射,映射到數量很少的聚類中心上。
模型細節:在模型細節上,使用GPT2作為語言模型部分,除了position embedding和layer normalization部分的參數外,其余的都凍結住。優化目標除了MSE外,還引入patch embedding和檢索出的topK cluster embedding的相似度作為約束,要求二者之間的距離越小越好。最終的預測結果,也是
3.實驗效果
文中對比了和一些時間序列大模型、iTransformer、PatchTST等SOTA模型的效果,在大部分數據集的不同時間窗口的預測中都取得了比較好的效果提升。
同時,文中也通過t-SNE可視化分析了embedding,從圖中可以看出,時間序列的embedding在對齊之前并沒有明顯的類簇現象,而通過prompt生成的embedding有明顯的類簇變化,說明本文提出的方法有效的利用文本和時間序列的空間對齊,以及相應的prompt,提升時間序列表征的質量。
圖片
? 本文轉載自 ??圓圓的算法筆記??,作者: Fareise
