49

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

 5 years ago
source link: https://www.jiqizhixin.com/articles/2018-11-15-17?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

eaYrQnU.png!web

论文动机

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

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

论文方法

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

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

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

6BbemqM.png!web

与图像的区别就是,输入由图片换成了时间序列。注意到,图片往往具有一定的通道数(如常见的 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)来度量两个时间序列的相似性。

BrmyErZ.png!web

在进行规约时,作者利用了之间研究者提出的 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 onComputer VisionandPattern 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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK