一种基于语义选择的多变量时间序列分类方法与流程

文档序号:14735951发布日期:2018-06-19 20:29阅读:278来源:国知局
一种基于语义选择的多变量时间序列分类方法与流程

本发明涉及时间序列建模技术领域,具体涉及一种基于语义选择的多变量时间序列分类方法。



背景技术:

随着信息科技的发展,感知器变得更加廉价和普遍,越来越多的时间序列数据将被收集,如何挖掘时间序列中的模式特征已经成为研究热点。现如今,时间序列分类方法可以大致分成两类:基于动态系统和基于特征表示。第一种方法假设数据都产生于隐性的动态系统,例如:层次最大熵马尔可夫模型,隐马尔可夫模型(HMMs),条件随机场和长短期记忆神经网络。然而这些方法都没有考虑帧内特征。第二种方法是提取合适的特征或特征表示,例如:3D关节位置直方图(HOJ3D),相对几何特征等,或动态时间规整(DTW),黎曼流形方法等。基于特征的方法虽然有效,但是没有考虑时间依赖性,并且人工设计特征费时易错。因此如何结合上述两种方法并自动的提取帧内特征成为新的突破口,W.Zhu等“Cooccurrence feature learning for skeleton based action recognition using regularized deep lstm networks.”in AAAI,vol.2,2016,p.8.中提出的共同出现特征方法解决了上述问题,但是其对不同类样本提取的都是相同的空间组合特征,无法做到面向样本提取。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于语义选择的多变量时间序列分类方法,该方法提出一种稀疏卷积网络来自动学习时空域中的语义概念;并提出一种适应性选择和学习动作语义的注意力方法;模型SA-SLN结合CNNs和LSTMs实现语义概念的自动学习和选择,可用于各种多变量时间序列分类领域,例如:基于3D的骨骼节点序列,交通流序列,轨迹序列等;该方法在3个数据集上达到了当前目前最好的效果。

本发明的目的可以通过采取如下技术方案达到:

一种基于语义选择的多变量时间序列分类方法,所述的多变量时间序列分类方法包括下列步骤:

S1、收集时间序列数据集;

S2、对数据进行预处理操作,然后按照数据集定义的验证方法划分训练集,验证集和测试集;

S3、将一个样本的数据组织成矩阵形式,用稀疏的卷积核来提取语义特征;

S4、对卷积后的特征图谱在时间维度上进行局部最大池化,获取时间段特征;

S5、将步骤S4产生的特征按照时间段顺序输入LSTMs,每一时刻的隐含层状态输入维度等于滤波器个数的Softmax层,并产生下一时刻选择语义概念的注意力权重;

S6、取LSTMs最后时刻的隐含层状态输入维度等于类别个数的Softmax层进行概率归一化;

S7、修改交叉熵损失函数,加入卷积核稀疏项约束,最小化损失函数更新参数并自动学习语义概念;

S8、使用步骤S2中划分的验证集测试训练后的模型,选取在验证集上表现最好的超参数对步骤S2中划分的测试集进行测试,获得最终准确率。

进一步地,所述的步骤S2中对数据进行预处理操作包括去中心化、平滑滤波、归一化。

进一步地,所述的步骤S3过程如下:

将每个样本序列组织成矩阵形式,时间序列的属性全集表示为A={αi},i=1,2,…,|A|,所有属性在样本每一时刻的值构成矩阵X,X∈RT×|A|,其中T是帧的数量,|A|是属性的数量,其矩阵形式如下所示:

以稀疏的卷积核来提取时间序列的属性组合特征,每一种组合特征被称为该时间序列的一种语义,卷积核权重矩阵Wk∈Rt×|A|是宽为t的第k个卷积核的参数,当滑动步长为1时,矩阵X将被分成T-t+1个时间窗口:Z1:t,Z2:t+1,···,ZT-t+1:T,因此使用滤波器Wk作用于全部时间窗口的结果为:ck=(c1,k,c2,k,···,cT-t+1,k)T∈RT-t+1,其中cm,k,m=1,2,...,T-t+1为将第k个稀疏卷积核作用于第m个滑动窗口的结果,由于CNNs权重共享的特性,卷积核k在所有时间窗口上提取到相同的语义概念,定义cm,k=f(Wk*Zm:m+t-1+bk),其中f是激活函数,*代表点乘算子,bk代表第k个核的偏置;

通过多个稀疏卷积核获得多种语义概念,同时对相邻行的卷积获得时间序列的短时依赖性。

进一步地,所述的步骤S4过程如下:

进行局部最大池化,以p代表池化窗口的大小,s代表时间维度上的步长,cm,k代表第m行,第k列的激活值,将步骤S3得到的特征图谱作为池化层的输入,yj,k代表第k个滤波器的第j个池化窗口的输出,局部最大池化层按照下式计算:

式中c*=(1+(j-1)*s,2+(j-1)*s,···,p+(j-1)*s)T池化后得到矩阵O∈RL×K,K是滤波器数量,ceil(·)是向上取整函数。

进一步地,所述的步骤S5过程如下:

将每个时间步的隐含层状态输入维度等于滤波器个数的Softmax层,在每个时间步t,模型产生预测向量lt+1∈RK用于选取重要的语义概念,其中,预测向量为注意力权重,向量lt中的每个元素反映对应语义概念的重要程度,获得t时刻的注意力权重后,则下一时刻的输入可以被改写为:其中代表池化后的矩阵O的第t行,经过LSTMs递归迭代和注意力机制选取语义概念后,得到样本n的最终特征向量

进一步地,所述的步骤S7过程如下:

加入卷积核稀疏项约束项,因此修改交叉熵损失函数如下:

上式中第一项是最大似然损失函数,u代表训练数据,Cs是数据集中的第s个类,N代表训练集样本数量,δ(·)是Kronecker delta函数,r是样本un的真实标签,概率p(Cs|un)由步骤S6中产生的经过维度为C的Softmax层归一化后产生;上式中第二项是矩阵WT的范式,用反向传播算法和ADAM梯度优化算法最小化损失函数,更新参数直到收敛。

本发明相对于现有技术具有如下的优点及效果:

本发明提出的稀疏自适应语义学习网络(Sparse and Adaptive Semantics Learning Network,SA-SLN)采用稀疏卷积核同时提取多变量时间序列空间上的语义概念和时间上的短时依赖关系,并提出一种注意力转移方法用于选择语义概念,最后通过LSTMs对序列的长时间依赖关系进行建模。本发明采用稀疏规则约束卷积核实现完全自动地语义概念提取,并结合注意力机制实现面向样本的语义概念选择。本发明提出的基于稀疏自适应语义学习的网络SA-SLN基于帧内属性具有相关性的事实,实现了自动提取空间特征和时序依赖多步建模,解决了目前方法所存在的缺陷并在三个公开的数据集上达到了目前最好的结果。

附图说明

图1是本发明提出的一种基于语义选择的多变量时间序列分类方法的流程步骤图;

图2是本发明中多变量高维骨骼节点序列示意图;

图3是本发明中语义解释图;

图4是本发明中方法实施概要图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

时间序列分类作为机器学习热门的一个研究分支拥有广泛的应用前景,例如计算机视觉、金融分析、生物统计学等等。本发明提出的稀疏自适应语义学习网络(Sparse and Adaptive Semantics Learning Network,SA-SLN)采用稀疏卷积核同时提取多变量时间序列空间上的语义概念和时间上的短时依赖关系,并提出一种注意力转移方法用于选择语义概念,最后通过LSTMs对序列的长时间依赖关系进行建模。现有的时间序列分类方法需要依靠人工特征工程设计特征或半自动地提取空间特征,且对同一集合的不同样本采取相同的特征提取方法。本实施例采用稀疏规则约束卷积核实现完全自动地语义概念提取,并结合注意力机制实现面向样本的语义概念选择。SA-SLN解决了目前方法所存在的缺陷并在三个公开的数据集上达到了目前最好的结果。

如图1的模型流程图所示,本发明利用CNNs提取语义特征的同时也对短期时序依赖建模,由于卷积核的稀疏性,语义概念不需要人工特征工程设计就可以被自动学习,且通过设置不同大小的卷积窗口可以解决多时间尺度问题,最后结合LSTMs和语义注意力机制实现长期时序依赖关系建模和面向样本的语义选择。

实验中的骨骼节点动作时间序列由深度感知设备Kinect提取,如图2所示,该图说明如何将骨骼序列看作一种多变量高维时间序列,其记录了人体关键节点随时间变化的三维坐标信息,每一个节点的每一维坐标可以看成一个单变量时间序列,因此多个节点的三维信息将被组合看作一种多变量时间序列。图3为语义解释图,可以明显看出每个动作由一个或者多个语义组成,例如右臂投掷动作执行过程是先抬起整只右手,然后右前臂投掷,最后整只右手放下,因此可以看成由整个右臂语义和右前臂语义组成。图4是本发明中方法实施概要图,从中可以看出稀疏卷积核如何提取动作语义以及注意力权重是如何面向样本选择这些语义概念。

本实施例公开的一种基于语义选择的多变量时间序列分类方法具体步骤如下:

S1、收集时间序列数据集;

S2、对数据进行去中心化、平滑滤波、归一化等预处理操作,然后按照数据集定义的验证方法划分训练集,验证集和测试集;

S3、将一个样本的数据组织成矩阵形式,用稀疏的卷积核来提取语义特征;

其中,所述的步骤S3中将每个样本序列组织成矩阵形式,时间序列的属性全集可以表示为A={αi},i=1,2,…,|A|,所有属性在样本每一时刻的值构成矩阵X,X∈RT×|A|,其中T是帧的数量,|A|是属性的数量,其矩阵形式如下所示:

以稀疏的卷积核来提取时间序列的属性组合特征,每一种组合特征可以被称为该时间序列的一种语义。卷积核权重矩阵Wk∈Rt×|A|是宽为t的第k个卷积核的参数,当滑动步长为1时,矩阵X将被分成T-t+1个时间窗口:Z1:t,Z2:t+1,···,ZT-t+1:T,因此使用滤波器Wk作用于全部时间窗口的结果为:ck=(c1,k,c2,k,···,cT-t+1,k)T∈RT-t+1,其中cm,k,m=1,2,...,T-t+1为将第k个稀疏卷积核作用于第m个滑动窗口的结果,由于CNNs权重共享的特性,卷积核k在所有时间窗口上提取到相同的语义概念,定义cm,k=f(Wk*Zm:m+t-1+bk),其中f是激活函数,*代表点乘算子,bk代表第k个核的偏置。通过多个稀疏卷积核可以获得多种语义概念,同时对相邻行的卷积获得时间序列的短时依赖性。如何获得稀疏卷积核将在步骤S7中描述。

S4、对卷积后的特征图谱在时间维度上进行局部最大池化,获取时间段特征;

其中,所述的步骤S4中进行局部最大池化,以p代表池化窗口的大小,s代表时间维度上的步长。cm,k代表第m行,第k列的激活值,将步骤S3得到的特征图谱作为池化层的输入。yj,k代表第k个滤波器的第j个池化窗口的输出。局部最大池化层按照下式计算:

式中c*=(1+(j-1)*s,2+(j-1)*s,···,p+(j-1)*s)T池化后得到矩阵O∈RL×K,K是滤波器数量,ceil(·)是向上取整函数。

S5、将步骤S4产生的特征按照时间段顺序输入LSTMs,每一时刻的隐含层状态输入维度等于滤波器个数的Softmax层,并产生下一时刻选择语义概念的注意力权重;

其中,所述的步骤S5中将每个时间步的隐含层状态输入维度等于滤波器个数的Softmax层,在每个时间步t,模型产生预测向量(注意力权重)lt+1∈RK用于选取重要的语义概念。向量lt中的每个元素反映了对应语义概念的重要程度,获得t时刻的注意力权重后,则下一时刻的输入可以被改写为:其中代表池化后的矩阵O的第t行。经过LSTMs递归迭代和注意力机制选取语义概念后,得到样本n的最终特征向量

S6、取LSTMs最后时刻的隐含层状态输入维度等于类别个数的Softmax层进行概率归一化;

S7、修改交叉熵损失函数,加入卷积核稀疏项约束,最小化损失函数更新参数并自动学习语义概念;

其中,所述的步骤S7需要加入卷积核稀疏项约束项,因此修改交叉熵损失函数如下:

第一项是最大似然损失函数,u代表训练数据,Cs是数据集中的第s个类,N代表训练集样本数量,δ(·)是Kronecker delta函数,r是样本un的真实标签,概率p(Cs|un)由(所述的步骤S6产生)经过维度为C的Softmax层归一化后产生;第二项是矩阵WT的范式。用反向传播算法和ADAM梯度优化算法最小化损失函数,更新参数直到收敛。

S8、使用步骤S2中划分的验证集测试训练后的模型,选取在验证集上表现最好的超参数对步骤S2中划分的测试集进行测试,获得最终准确率。

实施例二

图1是本实施例的流程图,如图1所示,本实施例公开一种基于语义选择的多变量时间序列分类方法,该方法具体包括以下步骤:

S1、收集UTD-MHAD动作序列数据集;

S2、因为是骨骼节点动作序列数据集,所以以左右臀部和中心节点坐标的平均值为原点进行去中心化操作,并以0补齐到121帧和平滑滤波去除噪声。最后遵守文献中定义的验证方法,进行跨主题验证方式,将全集861个样本划分为431个样本的训练集和430个样本的测试集;

S3、如图2所示,动作序列可以被看作一种高维多变量时间序列,将该序列组织成矩阵形式,用稀疏的卷积核来提取语义特征。每一种变量(属性)的组合特征可以被称为该时间序列的一种语义,所有属性在样本每一时刻的值构成一个样本矩阵X。如图4所示,以矩阵X作为动作序列节点矩阵,对其进行稀疏卷积操作。设滤波器权重矩阵Wk时间维度为t,属性维度为60(骨骼节点数20,坐标3维),滑动步长设为1,滤波器个数为K,矩阵X将被映射成(121-t+1)×K的特征图谱。

S4、对卷积后的特征图谱在时间维度上进行局部最大池化,获取时间段特征,以p代表池化窗口的大小,s代表时间维度上的步长。cm,k代表第m行,第k列的激活值,将步骤S3得到的特征图谱作为池化层的输入。yj,k代表第k个滤波器的第j个池化窗口的输出。局部最大池化层按照下式计算:

其中c*=(1+(j-1)*s,2+(j-1)*s,···,p+(j-1)*s)T池化后得到矩阵O∈RL×K,ceil(·)是向上取整函数。

S5、如图4所示将步骤S4产生的时间段特征逐时间段输入LSTMs,每一时刻得到的隐含层状态输入维度为K的softmax层,并产生下一时刻选择语义概念的注意力权重。在LSTMs的每个时间步t,模型产生预测向量(注意力权重)lt+1∈RK用于选取重要的语义概念。除最后时刻外,每个时刻的隐藏层状态都通过softmax层进行归一化,归一化过程如下所示:其中是映射到第k个标量的权重,k∈(1,2,...,K),向量lt中的每个元素反映了对应语义概念的重要程度,获得t时刻的注意力权重后,则下一时刻的输入可以被改写为:其中代表池化后的矩阵O的第t行。经过LSTMs递归迭代和注意力机制选取语义概念后,得到样本n的最终特征向量

S6、取LSTMs最后时刻的隐含层状态输入维度为27(类别个数)的softmax层进行归一化。

S7、修改交叉熵损失函数,加入卷积核稀疏项约束,修改交叉熵损失函数如下:

第一项是最大似然损失函数,u代表训练数据,Cs是数据集中的第s个类,N等于431,δ(·)是Kronecker delta函数,γ是样本un的真实标签,第二项是矩阵WT的范式,定义为其中W定义为:W=(W1,W2,···,WK)T,因此Wk,k∈(1,2,...,K)的每一行都是稀疏的。用反向传播算法和ADAM梯度优化算法最小化损失函数,更新参数直到收敛。

S8、当模型在步骤S2中划分的训练集上收敛后,保存下参数对步骤S2中划分的测试集进行测试,最终在UTD-MHAD数据集上5次实验的平均准确率为95.11%,在UCF数据集上的平均准确率为99.45%,在UTKA数据集上达到了100%的准确率,都刷新了相应数据集的最好结果。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1