簡介
解決時間序列預測任務時,訓練數據太少怎么辦?在機器學習場景中, 是一種解決數據稀疏的常用方法。關于 我們曾經進行過非常詳細的梳理,感興趣同學可以后臺回復【DA】獲取相關資料。其核心思路是利用數據充足的 樣本進行充分學習,再將這些知識遷移泛化到 上,兩個的數據分布往往具有比較大的差異,一般是不同場景的數據。
但是以往的 更多的應用在分類問題,例如圖像分類、文本分類、ctr預估等。在時間序列預測中應用 的方法相對較少。今天就給大家介紹一篇使用 解決小樣本場景下時間序列預測問題的最新論文,是加利福尼亞大學&亞馬遜 AI Lab在ICML 2022中的一篇工作: for Time via 。
1
核心思路
先概括一下本文的核心思路,如何將 技術應用到時間序列預測領域呢? 成功應用的一個前提是,兩個的數據雖然分布差異很大,但是卻有某些內在規律信息是一致的。比如圖像分類能夠應用 技術,是因為不論圖像來自哪個領域,圖像的一些特性,如平移不變性等是不變的。那么不同的時間序列數據,有哪些內在聯系呢?
本文的一個核心假設是:在基于的時間序列預測模型中(如),不同域的時間序列數據在預測當前值時,計算歷史序列的key和query是可遷移的。這個假設的確非常合理,比如兩個域的數據周期性不同,但是計算 score時都是去尋找局部信息和歷史序列的哪些最相似,這個規律在不同域是可遷移的,也正是本文所利用的核心點。因此,本文后續就圍繞著在基于的時序預估模型中,如何對齊 和 的query和key展開。
作者在文中用模擬數據舉了個例子,對比了兩種模型,AttF是普通的基于的時間序列預測模型時間序列預測法的步驟,DAF是文中提出得到基于 模型。左圖上面是兩個的時間序列,下面是不同方法計算出的在 的 score分布。使用本文提出方法進行 與 的query和key對齊后,能夠將在 學到的對齊知識遷移到 ,進而幫助模型在 數據集上學到更合理的 score,從而提升小樣本上的預測效果。
2
實現方法
理解了上述核心思路,基本就掌握了本文的精髓。下面我們具體看一下模型的實現方式。
整體模型架構如下圖,兩個的數據一起訓練,使用獨立的和,以及兩個共享的模塊。對輸入序列進行編碼,然后利用+預測未來,是典型的基于的時間序列預測架構。同時也會重構歷史序列,來增強表示的學習。最后在兩個的表示中會增加一個對抗學習模塊,實現 和 中key與query的對齊時間序列預測法的步驟,進而達成知識遷移的目標。
模型的損失函數如下,由兩部分組成,采用了 中比較常用的min-max對抗學習方法。前兩個損失函數是兩個時間序列的預測損失(對未來的預測損失,外加對歷史序列重構的損失);最后一項是利用對抗學習的方法,判斷模塊生成query和key是否來自兩個。我們希望模型能夠得到讓區分不出來的query和key的表示,以此達到兩個中query和key對齊的目標。
接下來,在具體的模型結構實現上如下圖。主要是在處會生成兩個表示,V是原始時間序列過MLP得到value表示,這部分不同不同,并不是我們希望遷移的信息。另外,通過不同尺寸的卷積提取不同的,融合到一起得到表示P。這個表示P會進一步映射成query和key,這正是我們希望遷移的信息。
最終,通過上述模型結構的設計,實現了利用value進行個性化,并利用生成的query和key,結合對抗學習方法,實現不同的知識遷移。
3
實驗效果
下表為一些真實數據集上的效果對比,本文提出的方法在各個數據集上都取得最優的效果。
此外,本文也進一步進行了消融實驗,并通過可視化的方式驗證了DAF學習到的 map其實是更加合理的,證明了DAF確實能通過 海量數據學習到的對齊關系,并遷移到 。
4
總結
這篇文章很巧妙的將 技術應用到了時間序列預測上,其取得成功的核心原因是對問題深入的理解,能夠準確捕捉到時間序列中哪些因素在不同是不變的,并通過模型上的設計達成既定的目標。