基于深度学习的时间序列分类方法综述
2022-09-09苏耘
苏耘
(内蒙古工业大学信息工程学院 内蒙古自治区呼和浩特市 010021)
1 引言
时间序列数据广泛存在于各类任务中,例如电子健康记录、人类动作识别、声学场景分类以及网络安全等,时间序列分类(TSC)是数据挖掘中最具挑战性的问题之一。
为了对时间序列数据进行准确分类,已经提出了数百种TSC算法。最流行和传统的TSC方法之一是使用最近邻(NN)分类器和距离函数进行分类,特别是与神经网络分类器一起使用的动态时间扭曲(DTW)距离取得了较好的效果。Lines等证明对具有不同的距离度量的神经网络分类器进行融合,其的性能优于所有的单个组件。这一思想推动了名为COTE的分类器集合的开发,COTE里包括35个独立的分类器。Lines等过利用具有概率投票的新分级结构,对COTE进行了进一步拓展,新集合称之为HIVE-COTE,其独立分类器个数达到了37个。HIVE-COTE目前被认为是时间序列分类的最先进算法,但HIVE-COTE运算时间长,计算复杂,很难在真实场景的大型数据集上使用,同时其37个分类器的决策也难以被领域专家理解和解释。
深度神经网络在计算机视觉和自然语言处理、语音识别等领域取得了巨大成功,在一些任务中已经达到甚至超越人类的水平。自然语言处理和语音识别任务的数据都具有时序性,而这也是时间序列数据的主要特征之一,这种相似性激发了人们将深度学习应用于时间序列的研究热情。
2 时间序列分类的定义
在介绍不同类型的深度学习网络结构之前,我们先对TSC进行一些形式化定义。
数 据 集D={(X,Y),(X,Y),…,(X,Y)}是 对(X,Y)的集合,其中X可以是一个单变量或多变量时间序列,Y作为其对应的独热标签向量。对于包含K个类的数据集,一个独热标签向量Y是长度为K的向量,其中每个元素j∈[1, K],如果X的类别是j,则等于1,否则等于0。TSC的任务就是在数据集D上训练分类器,从输入空间映射得到输出标签的概率分布。
3 深度学习神经网络
深度神经网络是由称为层的L个参数函数组成,其中每一层都被视为输入域的表示。神经网络层由若干个神经元组成,神经元是计算层输出的一个元素的最小单位。神经网络层将其前一层的输出作为输入,并且应用非线性激活函数来计算其自身的输出。这些非线性变换的行为由每层的一组参数控制,将前一层的输入链接到当前层的输出。在深度学习领域中,这些参数通常被称为权重。
在训练期间,需要向网络提供足够数量的已知输入和输出样例。训练开始前,首先对权重进行随机初始化,而后进行正向传递的计算,得到输出向量。输出向量的维度同类别个数相同,向量中每一个元素是属于对应类别的估计概率。最后使用损失函数计算模型的预测损失,并使用梯度下降法,在反向过程中更新权重以传播误差。因此,通过迭代地进行前向传递,然后进行反向传播,以最小化训练数据损失的方式更新模型参数。另一种行之有效并被广泛使用的方法是迁移学习,即在相似的大型数据集上预先训练模型,将模型参数迁移到目标任务的模型中,并在目标数据集上进行微调。
如图1所示,在测试期间,概率分类器在未知标签的数据上进行测试,这一阶段也被称为推理阶段:在未知标签的输入数据上进行前向传递,然后进行类别预测,概率最大的类别判定为最终的预测类别。与非概率分类器相比,深度神经网络的优势之一就是网络是做出基于概率的决策,因此可以评测模型给出的某个预测结果的置信度。
图1:时间序列分类问题的深度学习统一框架
4 生成式模型和判别式模型
时间序列分类中的深度学习模型可以分为生成式和判别式两个类别,如图2所示。
图2:基于深度学习的时间序列分类方法分类
生成式模型认为时间序列数据有其内在的规律,首先通过无监督学习的方式让模型学习数据的潜在表示,可选择的模型包括自回归模型、马尔可夫模型或核模型等。而后接一个分类器,如SVM或随机森林,对输入数据对类别进行预测。生成式模型的关键在于是否能够较好的学习得到时间序列数据的内在规律,这种类型的网络在TSC社区中被称为基于模型的分类器。
判别式深度学习模型则本身就是一种分类器,它直接使用时间序列的原始数据或加工后的特征做为输入,输出为标签类别的概率分布。判别式模型通过对分类器结构改进和训练过程的优化来提升分类效果。根据是否对原始时间序列进行特征加工,判别式模型可以分为两类:
(1)具有手工特征的深度学习模型;
(2)端到端深度学习模型。
端到端的深度学习模型旨在结合特征学习过程,同时微调判别分类器。这种类型的深度学习方法是领域无关的,并且不包括任何特定于领域的预处理步骤。
5 深度学习模型
我们选择具有代表性的模型和最新的模型,介绍如下。
5.1 多层感知器(MLP)
MLP是DNN的最传统形式,由Wang等中提出,作为TSC的基线架构。该网络总共包含4层,其中每一层都完全连接到其前一层的输出。最后一层是softmax分类器,它完全连接到前一层的输出,包含的神经元数量等于数据集中的类数量。所有三个隐藏的FC层都由500个神经元组成,以ReLU作为激活函数。第一层、第二层、第三层和第四层的速率分别为0.1、0.2、0.1和0.3。MLP没有任何一层的参数数量在不同长度的时间序列中是不变的,这意味着网络具有一定可转移性,网络的参数数量直接取决于输入时间序列的长度。
5.2 全卷积神经网络(FCN)
Wang等首次提出了全卷积神经网络(FCN),用于对单变量时间序列进行分类。该体系结构的主要特征之一是用全局平均池(GAP)层代替传统的最终FC层,这一改变在减少参数数量的同时也获得了更好的效果。该架构首先由结构相似的三个卷积块组成,其中每个卷积块均包含三个部分:卷积、批量归一化,以及ReLU激活函数。第三卷积块的结果在对应于GAP层的整个时间维度上平均。最后,GAP层的结果传给softmax层产生预测标签的类别概率输出。所有卷积的步长均等于1,并以零做为填充,以保持卷积后时间序列的精确长度。第一次卷积包含128个滤波器,滤波器长度等于8,然后是256个滤波器的第二次卷积,滤波器长度为5,然后被馈送到第三个也是最后一个卷积层,该层由128个滤波器组成,每个滤波器的长度等于3。FCN既不包含任何池化,也不包含正则化操作。此外,FCNs的优点之一是跨不同长度时间序列的4层的参数数量不变性。这种不变性允许使用转移学习方法,可以在特定源数据集上训练模型,然后在目标数据集上对其进行微调。
5.3 残差网络(ResNet)
Wang等提出的第三个也是最后一个架构是相对较深的残差网络(ResNet)。对于TSC,这是最深的体系结构,有11层,其中前9层是卷积的,然后是间隙层,用于在时间维度上对时间序列进行平均。RESNET的主要特征是连续卷积层之间的快捷剩余连接。实际上,与常规卷积(如FCN)的不同之处在于,添加了一条线性捷径,将残差块的输出与其输入连接起来,从而使梯度直接通过这些连接流动,这通过减少消失梯度效应,使DNN的训练更容易。该网络由三个剩余块组成,后接Gap层和最终的softmax分类器,其神经元数量等于数据集中的类数。每个残差块首先由三个卷积组成,其输出与残差块的输入相加,然后馈送到下一层。所有卷积的滤波器数量固定为64,ReLU激活函数之前有一个批标准化操作。在每个残差块中,对于第一、第二和第三卷积,滤波器的长度分别设置为8、5和3。与FCN模型类似,ResNet体系结构中的层在不同的数据集上具有不变数量的参数。这就是说,可以轻松地在源数据集上预训练模型,然后在目标数据集上传输和微调模型,而无需修改网络的隐藏层。
5.4 多尺度卷积神经网络(MCNN)
多尺度卷积神经网络(MCNN)最初由Cui等提出,是验证UCR档案上端到端深度学习架构的最早方法。MCNN的架构非常类似于传统的CNN模型:两个卷积,然后是FC层和最后的softmax层。另一方面,这种方法非常复杂,需要大量的数据预处理步骤。在任何训练之前,子序列将经历三种转换:
(1)身份映射;
(2)下采样和;
(3)平滑。
因此,将一元输入时间序列转换为多元输入时间序列。对于第一变换,输入子序列保持不变,原始子序列将用作独立第一卷积的输入。下采样技术将导致具有不同长度的较短子序列,该子序列随后将经历与第一卷积并行的另一个独立卷积。至于平滑技术,结果是长度等于输入原始子序列的平滑子序列,该子序列也将被馈送到与第一和第二卷积并行的独立卷积。第一卷积级中每个卷积的输出被级联以形成后续卷积层的输入。在第二层之后,使用sigmoid激活函数部署了一个FC层,其中包含256个神经元。最后,使用通常的softmax分类器,神经元数量等于数据集中的类数量。两个体系结构超参数交叉验证,使用网格搜索来自训练集的一个看不见的分割:过滤器长度和确定最大池操作的池大小的池因子。该网络中的总层数为4,其中只有前两个卷积层是不变的。最后,由于WS方法也在测试时使用,输入时间序列的类别由提取的子序列的预测标签上的多数投票决定。
5.5 多通道卷积(MCDCNN)
Yi等提出了多通道深度卷积神经网络(MCDCNN),并在两个多变量时间序列数据集上进行了验证。所提出的架构主要是传统的深度CNN,对MTS数据进行了一次修改:卷积并行应用于输入MTS的每个维度。输入MTS每个维度将经历两个卷积阶段,具有8个长度为5的滤波器,ReLU作为激活函数。每个卷积之后是最大池化运算,长度为2。所有维度的第二个卷积级的输出在通道轴上串联,然后馈送到具有732个神经元的FC层,以ReLU作为激活函数。最后,使用softmax分类器,神经元数量等于数据集中的类数量。通过在softmax分类器之前使用FC层,该网络的可传输性仅限于第一和第二卷积层。
5.6 时间扭曲不变回声状态网络(TWIESN)
时间扭曲不变回声状态网络采用非卷积递归架构。回声网络最初是为时间序列预测而提出的,Tanisaro等将其修改后直接使用原始输入时间序列并应用于分类问题。事实上,对于输入时间序列中的每个元素,存储空间用于将该元素投影到更高维空间。因此,对于单变量时间序列,元素被投影到一个空间中,该空间的尺寸由储层的大小推断。然后,针对每个元素,训练岭回归分类器,以预测每个时间序列元素的类别。在测试时,对于输入测试时间序列的每个元素,已训练的岭回归分类器将输出数据集中类的概率分布。然后在所有时间序列元素上对每个类的后验概率进行平均,从而为每个输入测试时间序列分配平均概率最大的标签。
5.7 基于LSTM的集成模型(Integration model based on LSTM)
同传统机器学习类似,针对深度学习的网络进行集成也可以取得优异的效果。Fazle 等人将长短期递归神经网络LSTM和FCN的输出结果进行拼接,提出了LSTM-FCN模型,在大多数UCR基准数据集上取得了最佳结果。
在LSTM-FCN模型的基础上,Fazle等人进一步提出了多变量MLSTM-FCN和多变量注意力MALSTM-FCCN模型,将各单变量模型转换为了多变量变量模型。新结构将挤压和激发块扩展到一维序列模型的情况,并扩展LSTM-FCN和ALSTM-FCN模型的全卷积块以提高分类精度。由于数据集现在由多变量时间序列组成,可以将时间序列数据集定义为形状张量(N,Q,M),其中N是数据集中的样本数,Q是所有变量中的最大时间步数,M是每个时间步处理的变量数。因此,单变量时间序列数据集是上述定义的特例,其中M为1。新模型对LSTM-FCN和ALSTM-FCN模型的输入进行修改,以每个时间步接受M个输入,而不是每个时间步接收单个输入。与LSTM-FCN和ALSTM-FCN类似,拓展后的模型包括一个完全卷积块和一个LSTM块。全卷积块包含三个时间卷积块,用作特征提取器。卷积块包含一个卷积层,具有多个滤波器(128、256和128),内核大小分别为8、5和3。每个卷积层之后是批量归一化,动量设置为0.99。批量归一化层之后是ReLU激活函数。此外,前两个卷积块结束。通过挤压和激励块,将多元时间序列模型模型与单变量时间序列模型LSTM-FCN和ALSTM-FCN区分开来。对于所有压缩和激励块,将缩减比设置为16。最后的时间卷积块后面是一个全局平均池层。
张可等提出将PCA和LSTM综合应用于多时间序列分类,利用PCA提取索引维度特征,利用LSTM遗忘门学习时间维度特征,从而建立了基于PCA-LSTM的多元时间序列分类算法。该方法在获得了高精度的实验结果的同时,还降低了计算复杂度。
5.8 时间序列自监督变换器(STraTS)
时间序列自监督变换器(STraTS)是针对医疗数据提出的。在重症监护环境中,很多人体观测指标都是以多变量时间序列的形式存在,这些数据往往带有信息缺失和时间间隔不规则的问题,给使用带来困难。传统的应对方法是聚类法或插值法,虽然会缓解问题,但会引入噪声,干扰对细粒度有效信息的使用。STraTS从模型角度提出了解决稀疏和非规则间隔问题的思路。
与大多数以时间序列矩阵为输入的现有方法不同,STraTS将其输入定义为一组观测三元组。使用初始三元组嵌入模块嵌入输入中的每个观察三元组。然后,初始三元组嵌入通过上下文三元组嵌入式模块,该模块利用Transformer架构对每个三元组的上下文进行编码。然后,融合自关注模块通过自关注机制组合这些上下文嵌入,以生成输入时间序列的嵌入,并通过前馈网络进行最终预测。它采用了一种新的连续值嵌入技术来编码连续时间和可变值,而不需要离散化。它由具有多个头部注意层的变压器组件组成,使其能够学习上下文三元组嵌入,同时避免递归架构中出现的递归和消失梯度问题。此外,为了解决标记数据可用性有限的问题,STraTS通过利用未标记数据进行自我监控,通过使用时间序列预测作为辅助代理任务来学习更好的表示。在真实世界多变量临床时间序列基准数据集上的实验表明,在标记数据有限的情况下,STraTS在死亡率预测方面取得了最优的预测性能。
5.9 基于Transformer的双塔式模型(Gated Transformer Networks)
Liu等将Transformer模型引入时间序列分类,并构建了双塔结构对时间特征和通道特征分别进行编码,该模型可以对模型学习的特征可视化,具有一定的可解释性。多变量时间序列具有多个通道,其中每个通道是单变量时间序列。捕捉时间分步和空间通道信息是多变量时间序列研究的关键。与其他利用原始Transformer进行时间序列分类和预测的工作不同,GTN设计了双塔框架的简单扩展,其中每个塔中的编码器通过注意和掩蔽、分步编码器显式捕获分步和信道相关。为了对时间特征进行编码,GTN通过计算所有时间步长中的成对注意力权重,使用带掩码的自注意力来关注穿过所有通道的每个点。在多头自注意力中,缩放点积注意在所有时间步长上形成权重矩阵。同其他原始Transformer架构一样,位置方向全连接前馈层堆叠在每个多头注意力层上,用于增强特征提取。围绕两个子层中的每一个子层的剩余连接也被保持以引导信息和梯度流,随后是层归一化。逐通道编码器同时间特征编码保持一致,也计算所有不同通道之间的注意力权重。在所有通道上进行掩蔽的注意力层可以在所有时间步长上显式捕捉通道之间的相关性。
6 结论
在本文中,我们描述了时间序列分类任务,解释了DNN如何被分为两大类:生成模型和区分模型,并介绍以MLP、CNN、RNN、Transformer为基础的一系列深度学习方法。与计算机视觉和自然语言处理任务不同,时间序列分类的深度学习仍然缺乏对数据增强和转移学习的深入研究。同时多数研究仍集中在单变量时间序列的研究,多变量时间序列研究仍相对较少。