王晋东作者中国科学院计算技术研究所博士生学校迁移学习和机器学习研究方向

基于深度迁移学习进行时间序列分类

本文是法国上阿尔萨斯大学发表于 IEEE Big Data 2018 上的工作。迁移学习深度学习已经被广泛应用于计算机视觉自然语言处理领域。但是在时间序列分类方面,至今没有完整的有代表性的工作。

本文是第一篇系统探讨基于深度迁移学习进行时间序列分类的论文。在内容上与今年 CVPR 最佳论文 Taskonomy: Disentangling Task Transfer Learning [1] 相似,都是做了大量实验来验证一些迁移学习方面的结论。

论文动机

通常来说,用传统的机器学习方法(例如 KNN、DTW)进行时间序列分类能取得比较好的效果。但是,基于深度网络的时间序列分类往往在大数据集上能够打败传统方法。另一方面,深度网络必须依赖于大量的训练数据,否则精度也无法超过传统机器学习方法。在这种情况下,进行数据增强、收集更多的数据、实用集成学习模型,都是提高精度的方法。这其中,迁移学习也可以被用在数据标注不足的情况。

从深度网络本身来看,有研究者注意到了,针对时间序列数据,深度网络提取到的特征,与 CNN 一样,具有相似性和继承性。因此,作者的假设就是,这些特征不只是针对某一数据集具有特异性,也可以被用在别的相关数据集。这就保证了用深度网络进行时间序列迁移学习的有效性。

论文方法

本文基本方法与在图像上进行深度迁移一致:先在一个源领域上进行 pre-train,然后在目标领域上进行 fine-tune。 

然而,与图像领域有较多的经典网络结构可选择不同,时间序列并没有一个公认的经典网络架构。因此,作者为了保证迁移的效果不会太差,选择了之前研究者提出的一种全卷积网络(FCN,Fully Convolutional Neural Network)。这种网络已经在之前的研究中被证明具有较高的准确性和鲁棒性。 

网络的结构如下图所示。网络由 3 个卷积层、1 个全局池化层、和 1 个全连接层构成。使用全连接层的好处是,在进行不同输入长度序列的 fine-tune 时,不需要再额外设计池内化层。

与图像的区别就是,输入由图片换成了时间序列。注意到,图片往往具有一定的通道数(如常见的 R、G、B 三通道);时间序列也有通道:即不同维的时间序列数据。最简单的即是1维序列,可以认为是 1 个通道。多维时间序列则可以认为是多个通道。

网络迁移适配

Fine-tune 的基本方法就是,不改变除 softmax 层以外的层的结构,只改变 softmax 层的构造。例如,预训练好的网络可能是一个分 5 类的网络,而目标领域则是一个 10 类的分类问题。这时候,就需要改变预训练网络的 softmax 层,使之由原来的 5 层变为 10 层,以适应目标领域的分类。

因此,源领域和目标领域的网络相比,除最后一层外,其他都相同。当然,相同的部分,网络权重也相同。

作者对整个网络都在目标领域上进行了fine-tune,而不是只fine-tune最后一层。因为以往的研究标明,在整个网络上进行 fine-tune,往往会比只 fine-tune 某些层效果好。

选择合适的源领域:数据集间相似性

在进行迁移学习前,一个重要的问题就是:给定一个目标域,如何选择合适的源领域?如果选择的源域与目标域相似性过小,则很可能造成负迁移。 

度量时间序列相似性的另一个问题是,如何度量不同维度的时间序列的相似性。作者提出把多维时间序列规约成每类由一维序列构成,然后利用 DTW(Dynamic Time Warping)来度量两个时间序列的相似性。 

在进行规约时,作者利用了之间研究者提出的 DTW Barycenter Averaging (DBA) [2] 方法进行了时间序列的规约。经过规约后,两个数据集便可度量相似性。 

然而,这种方法具有很大的局限性。例如,它没有考虑到数据集内部不同维度之间的关联性。作者自己也承认这种方法不够好,但是由于他们的主要关注点是如何迁移,因此,并未在这个方面多做文章。 

经过相似度计算,可以针对 n 个数据集,得到一个 n×n 的相似性矩阵。此矩阵表示了不同数据集之间的相似度。相似度高的两个数据集,迁移效果最好。

实验

作者利用了 UCI 机器学习仓库中的 85 个时间序列分类数据集,构建了 7140 对迁移学习任务。为了进行如此大量的实验,他们用了来自英伟达的 60 个 GPU(只想说,有钱真好)。

实验非常充分,这里简要说一下部分结论:

1. 利用迁移往往效果比不迁移好,并且,几乎不会对原来的网络产生负面作用;

2. 同一个目标域,不同的源域,产生的迁移效果千差万别:总能找到一些领域,迁移效果比不迁移好;

3. 在选择正确的源域上,有时,随机选择的效果不一定会比经过作者的方法计算出来的要差。这说明,计算领域相似性的方法还有待加强。

总结

本文利用大量的时间序列进行了深度迁移学习分类的实验。用众多的实验结果证明了迁移学习对于时间序列分类的有效性。作者还提出了一种简单比较时间序列相似性从而选择源领域的方法。

作者也非常慷慨地开源了他们的实验代码:

https://github.com/hfawaz/bigdata18

参考文献

[1] A. Zamir, S. Sax*, W. Shen*, L. Guibas, J. Malik, S. Savarese. Taskonomy: Disentangling Task Transfer Learning. 2018 IEEE Conference on Computer Vision and Pattern Recognition.

[2] F. Petitjean and P. Ganc¸arski, “Summarizing a set of time series by averaging: From steiner sequence to compact multiple alignment,” Theoretical Computer Science, vol. 414, no. 1, pp. 76 – 91, 2012.

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论深度网络时间序列分类迁移学习
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

全卷积网络技术

全卷积网络最开始在论文 Fully Convolutional Networks for Semantic Segmentation(2015)中提出,它将传统卷积神经网络最后几个全连接层替换为卷积层。引入全卷积的意义在于它能实现密集型的预测,即在二维卷积下对图像实现像素级的分类,在一维卷积下对序列实现元素级的预测。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

集成学习技术

集成学习是指使用多种兼容的学习算法/模型来执行单个任务的技术,目的是为了得到更佳的预测表现。集成学习的主要方法可归类为三大类: 堆叠(Stacking)、提升(Boosting) 和 装袋(Bagging/bootstrapaggregating)。其中最流行的方法包括随机森林、梯度提升、AdaBoost、梯度提升决策树(GBDT)和XGBoost。

分类数据技术

一种特征,拥有一组离散的可能值。以某个名为 house style 的分类特征为例,该特征拥有一组离散的可能值(共三个),即 Tudor, ranch, colonial。通过将 house style 表示成分类数据,相应模型可以学习 Tudor、ranch 和 colonial 分别对房价的影响。 有时,离散集中的值是互斥的,只能将其中一个值应用于指定样本。例如,car maker 分类特征可能只允许一个样本有一个值 (Toyota)。在其他情况下,则可以应用多个值。一辆车可能会被喷涂多种不同的颜色,因此,car color 分类特征可能会允许单个样本具有多个值(例如 red 和 white)。

模式识别技术

模式识别(英语:Pattern recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。 我们把环境与客体统称为“模式”。 随着计算机技术的发展,人类有可能研究复杂的信息处理过程。 信息处理过程的一个重要形式是生命体对环境及客体的识别。其概念与数据挖掘、机器学习类似。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

推荐文章
暂无评论
暂无评论~