您好,登錄后才能下訂單哦!
本篇內容介紹了“如何使用Flow forecast進行時間序列預測和分類的遷移”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
ImageNet首次發表于2009年,在接下來的四年里,它成為了大多數計算機視覺模型的基礎。到目前為止,無論您是在訓練一個模型來檢測肺炎還是對汽車模型進行分類,您都可能從在ImageNet或其他大型(和一般圖像)數據集上預先訓練的模型開始。
最近的一些論文,如ELMO和BERT(2018)利用轉移學習來有效地提高幾個NLP任務的表現。這些模型創建了有效的與上下文相關的單詞表示。然后,這些表示可以用于各種任務,如回答問題、命名實體識別等。
此外,在宏觀層面上,轉移學習為所有數據有限的領域的進展鋪平了道路。通過幫助數據有限的研究小組和公司有效利用這種技術,它幫助了深度學習的大眾化。因此,能夠在時間序列領域(其中有許多有限時間歷史的事件)中利用遷移學習是至關重要的。
目前,時間序列的遷移學習還沒有模式,也沒有可去的地方。而且,對這一課題的研究相對較少。Fawaz el的一篇論文(https://arxiv.org/pdf/1811.01533.pdf)。他討論了時間序列分類的遷移學習。他們的結論是:
這些實驗表明,遷移學習可以改善或降低模型預測,但是取決于用于遷移的數據集。
由此我們了解到,對于時間序列,源數據集和目標數據集之間的相似性在許多方面比CV或NLP更為重要。然后,作者選擇發展一種技術,形成時間序列表示,以尋找最相似的時間序列用于遷移。雖然這是一個有趣的初步探索,但它仍然有許多未解的問題。那么多變量時間序列的情況又如何呢?(作者只關注單一變量)一個不同的架構會幫助促進不同時間序列之間的轉移嗎?同樣地,一些其他的文章探索了有限的案例,在這些案例中遷移可以在時間序列領域有效,但是沒有一個用于遷移學習的一般框架,特別是在多元情況下。
在深入探討關于時間序列預測的遷移學習的挑戰之前,讓我們先看看它在其他領域是如何工作的。在計算機視覺遷移學習中,一般采用分層模式進行模型學習;具體地說,模型中“早期”的層學習更多的一般模式(例如形狀、輪廓、邊緣),而后期的層學習更多的具體任務特征(貓的胡須或汽車前燈的形狀)。在ImageNet上進行預先訓練后,這種能力甚至成功地使用轉移學習來幫助進行醫學診斷和分期。
這在NLP中也普遍適用,但是,它需要一個不同的架構。具體來說,BERT和ELMO等模型為從序列到序列域的遷移學習鋪平了道路。特別是transformer的架構在遷移學習方面發揮了良好的作用。同樣的道理也適用于序列問題,比如時間序列。
時間序列預測有幾個特定的核心挑戰。最大的一個問題是,對于時間序列,很難找到一個有用的層次結構或一組可以泛化到不同問題的中間表示。我們確實有一些組成部分,人們傳統上將時間序列分解為季節性,趨勢和余數。然而,開發一個有效學習中間解耦表示的模型仍然是難以捉摸的。“Reconstruction and Regression Loss for Time-Series Transfer Learning”的作者探索創建一個專門的損失函數,幫助促進正遷移通過解耦過程。他們建議在使用特定時間序列模型進行預測之前,先使用初始模型(與重建損失一起)提取一般特征。盡管本文僅限于單變量時間序列預測用例,但該技術似乎有助于提高性能。
第二個挑戰是多元時間序列預測,許多問題的特征時間序列數量不同。例如,對于COVID-19,我們可能有流動性數據(3個特征),新感染(1個特征),天氣(3個特征)共7個特征。然而,對于像流感預測這樣的東西,我們可能只有新感染病例和總共四個特征的天氣數據(例如,沒有為流感收集移動數據)。在我們的實驗中,我們通常發現使用一個模型特定的初始“embedding_layer”很有幫助,然后使用可轉移的中間層。
Flow forecast是一個開源的系列深度學習框架(https://github.com/AIStream-Peelout/flow-forecast)
為了方便時間序列預測的遷移學習,Flow forecast有幾個特點,使預訓練和利用預訓練的時間序列模型變得容易。在模型參數部分,您可以使用一個名為excluded_layers的參數。這意味著,當您加載一個預先訓練好的模型時,這些層的權重將不會被加載,而會被實例化為fresh(如果它們存在于新模型中)。
"excluded_layers":["embedding_layer.weight", "embedding_lay.bias", "dense_shape.weight", "dense_shape.bias"]
這使得在多個層可能不存在或與形狀不匹配的情況下,可以很容易地利用模型的權重。看看這個筆記本的例子(https://colab.research.google.com/drive/169NO9B_il-E34Kdos1hxunuDFuD6rjuW#scrollTo=dx-tmLRain2Z)。
其次,通過Flow forecast,我們可以很容易地跟蹤訓練前的數據集。這意味著您可以輕松地跟蹤您的模型所訓練的其他時間序列數據的完整歷史。這可以幫助找到最好的訓練前數據集。
最后,Flow forecast正在努力增加額外的特性,例如使它容易使用不同的學習率和選擇性凍結不同的層,以及設計自動編碼器模塊,以找到最相似的時間數據集。我們認為簡單的遷移學習是我們框架中最優先考慮的一類特性。
到目前為止,我們發現廣義轉移學習對于像COVID-19預測這樣的小數據集是有用的。我們還沒有在大數據集上對其進行足夠廣泛的測試,因此無法就此得出結論。我們還相信,在將元數據納入預測時,遷移學習是非常有效的。例如,模型需要查看許多不同類型的元數據和時態數據,以學習如何有效地合并它們。我們還可以設計了一種轉移學習協議,我們首先掃描以找到最佳的靜態超參數。然后,在對非靜態參數(如批大小、學習率等)進行最后的超參數掃描之前,我們使用這些參數對模型進行預訓練(如預測長度、層數)。
時間序列的遷移學習取得了一定的進展,但還沒有得到廣泛的應用。這可能是由于特征數量、中間表示的有用性和季節性差異(例如更多的負遷移)方面的問題造成的。但是像Flow forecast這種框架的出現,為我們提供更多易于使用的模塊,以便在時域成功地利用轉移學習變得簡單。我們相信遷移學習將在時間序列中發揮更大的作用。
“如何使用Flow forecast進行時間序列預測和分類的遷移”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。