使⽤Flowforecast进⾏时间序列预测和分类的迁移学习介绍
ImageNet⾸次发表于2009年,在接下来的四年⾥,它成为了⼤多数计算机视觉模型的基础。到⽬前为⽌,
⽆论您是在训练⼀个模型来检测肺炎还是对汽车模型进⾏分类,您都可能从在ImageNet或其他⼤型(和⼀般图像)数据集上预先训练的模型开始。
最近的⼀些论⽂,如ELMO和BERT(2018)利⽤转移学习来有效地提⾼⼏个NLP任务的表现。这些模型创建了有效的与上下⽂相关的单词表⽰。然后,这些表⽰可以⽤于各种任务,如回答问题、命名实体识别等。
古诗墨梅
此外,在宏观层⾯上,转移学习为所有数据有限的领域的进展铺平了道路。通过帮助数据有限的研究⼩组和公司有效利⽤这种技术,它帮助了深度学习的⼤众化。因此,能够在时间序列领域(其中有许多有限时间历史的事件)中利⽤迁移学习是⾄关重要的。
时间序列
这些实验表明,迁移学习可以改善或降低模型预测,但是取决于⽤于迁移的数据集。西安到北海
由此我们了解到,对于时间序列,源数据集和⽬标数据集之间的相似性在许多⽅⾯⽐CV或NLP更为重要。然后,作者选择发展⼀种技术,形成时间序列表⽰,以寻找最相似的时间序列⽤于迁移。虽然这是⼀个有趣的初步探索,但它仍然有许多未解的问题。那么多变量时间序列的情况⼜如何呢?(作者只关注单⼀变量)⼀个不同的架构会帮助促进不同时间序列之间的转移吗?同样地,⼀些其他的⽂章探索
了有限的案例,在这些案例中迁移可以在时间序列领域有效,但是没有⼀个⽤于迁移学习的⼀般框架,特别是在多元情况下。
迁移学习在其他领域如何⼯作
和田玉辨别
在深⼊探讨关于时间序列预测的迁移学习的挑战之前,让我们先看看它在其他领域是如何⼯作的。在计算机视觉迁移学习中,⼀般采⽤分层模式进⾏模型学习;具体地说,模型中“早期”的层学习更多的⼀般模式(例如形状、轮廓、边缘),⽽后期的层学习更多的具体任务特征(猫的胡须或汽车前灯的形状)。在ImageNet上进⾏预先训练后,这种能⼒甚⾄成功地使⽤转移学习来帮助进⾏医学诊断和分期。
这在NLP中也普遍适⽤,但是,它需要⼀个不同的架构。具体来说,BERT和ELMO等模型为从序列到序列域的迁移学习铺平了道路。特别是transformer的架构在迁移学习⽅⾯发挥了良好的作⽤。同样的道理也适⽤于序列问题,⽐如时间序列。苹果还原网络设置>cpu温度多少是正常的
时间序列预测的具体挑战
时间序列预测有⼏个特定的核⼼挑战。最⼤的⼀个问题是,对于时间序列,很难找到⼀个有⽤的层次结构或⼀组可以泛化到不同问题的中间表⽰。我们确实有⼀些组成部分,⼈们传统上将时间序列分解
为季节性,趋势和余数。然⽽,开发⼀个有效学习中间解耦表⽰的模型仍然是难以捉摸的。“Reconstruction and Regression Loss for Time-Series Transfer Learning”的作者探索创建⼀个专门的损失函数,帮助促进正迁移通过解耦过程。他们建议在使⽤特定时间序列模型进⾏预测之前,先使⽤初始模型(与重建损失⼀起)提取⼀般特征。尽管本⽂仅限于单变量时间序列预测⽤例,但该技术似乎有助于提⾼性能。
第⼆个挑战是多元时间序列预测,许多问题的特征时间序列数量不同。例如,对于COVID-19,我们可能有流动性数据(3个特征),新感染(1个特征),天⽓(3个特征)共7个特征。然⽽,对于像流感预测这样的东西,我们可能只有新感染病例和总共四个特征的天⽓数据(例如,没有为流感收集移动数据)。在我们的实验中,我们通常发现使⽤⼀个模型特定的初始“embedding_layer”很有帮助,然后使⽤可转移的中间层。
如何使⽤Flow forecast进⾏迁移学习
invite为了⽅便时间序列预测的迁移学习,Flow forecast有⼏个特点,使预训练和利⽤预训练的时间序列模型变得容易。在模型参数部分,您可以使⽤⼀个名为excluded_layers的参数。这意味着,当您加载⼀个预先训练好的模型时,这些层的权重将不会被加载,⽽会被实例化为fresh(如果它们存在于新模型中)。
"excluded_layers":["embedding_layer.weight", "embedding_lay.bias", "den_shape.weight", "den_shape.bias"]
其次,通过Flow forecast,我们可以很容易地跟踪训练前的数据集。这意味着您可以轻松地跟踪您的模型所训练的其他时间序列数据的完整历史。这可以帮助找到最好的训练前数据集。恐龙化石资料
最后,Flow forecast正在努⼒增加额外的特性,例如使它容易使⽤不同的学习率和选择性冻结不同的层,以及设计⾃动编码器模块,以找到最相似的时间数据集。我们认为简单的迁移学习是我们框架中最优先考虑的⼀类特性。
在研究中发现了什么
到⽬前为⽌,我们发现⼴义转移学习对于像COVID-19预测这样的⼩数据集是有⽤的。我们还没有在
⼤数据集上对其进⾏⾜够⼴泛的测试,因此⽆法就此得出结论。我们还相信,在将元数据纳⼊预测时,迁移学习是⾮常有效的。例如,模型需要查看许多不同类型的元数据和时态数据,以学习如何有效地合并它们。我们还可以设计了⼀种转移学习协议,我们⾸先扫描以找到最佳的静态超参数。然后,在对⾮静态参数(如批⼤⼩、学习率等)进⾏最后的超参数扫描之前,我们使⽤这些参数对模型进⾏预训练(如预测长度、层数)。
蒸鱿鱼
总结
时间序列的迁移学习取得了⼀定的进展,但还没有得到⼴泛的应⽤。这可能是由于特征数量、中间表⽰的有⽤性和季节性差异(例如更多的负迁移)⽅⾯的问题造成的。但是像Flow forecast这种框架的出现,为我们提供更多易于使⽤的模块,以便在时域成功地利⽤转移学习变得简单。我们相信迁移学习将在时间序列中发挥更⼤的作⽤。
作者:Isaac Godfried
deephub翻译组译