用于人类活动辨识的多通道时间序列上的深度卷积神经网络
http://www.ijcai.org/Proceedings/15/Papers/561.pdf
摘要
这篇论文重点关注人类活动辨识(HAR)问题,输入是多通道的时间序列信号,来自一系列穿在身上的惯性传感器,输出是预定义好的人类活动。在这个问题上,提取有效的特征去认证活动是一个艰难有挑战的任务。大多数现存的工作依赖试探性的人工标记特征设计,以及浅层的特征学习结构,不能发现那些显著地特征从而精确地分类不同的活动。在这篇论文中,我们提出一个系统的特征学习方法用于人类活动辨识(HAR)问题。这个方法采用了深度卷积神经网络(CNN)去自动用原始输入进行系统的特征学习。通过这个深度结构,学习到的特征被认为是低等原始时间序列信号的更高的抽象表示。通过监督学习影响标记信息,学习到的特征被赋予更多有判别力的力量。统一到一个模型中,特征学习和分类相互加强。所有CNN的独特优势使得这个模型更优于其他HAR算法,就像在机会活动辨识挑战(OARC)以及其他基准数据集等实验中证明的。
1 介绍
自动的辨识人类的物理活动(也就是人类活动认知或者HAR)对于无所不在的计算、人机互动以及人类行为分析,已经变成了一个关键问题。在这个问题上,人类活动是从多重穿戴式(或身体嵌入)惯性传感器获取的信号被辨识的。对于人类活动辨识(HAR),从身上的传感器获取的信号可论证的认为好于从摄像镜头获取的信号,有以下原因:1)穿戴传感器减少了摄像镜头经常遇到的环境限制和平稳设置;2)多重穿戴传感器允许更精确和更有效的信号获取部署;3)穿戴传感器有信息免干扰的优点,由于它们获取的信号是有特定目标的,然而摄像镜头会获取到一些不是目标主题的信息。在最近的几年,基于人类活动辨识(HAR)的可穿戴设备有了很有前景的应用,例如,游戏控制,个人健身训练,药物摄取以及健康控制。对于这个课题的一个优秀的调查可查看【Bulling】。
对于HAR系统成功的关键因素是找到一个从穿戴式传感器获取的时间序列信息的有效描述。尽管在这个问题上已经做了许多的努力研究,但是收益递减。传统的,HAR的问题经常被作为一个特定的时间序列分析的一个应用。HAR中广泛应用的特征包括基础变形编码(小波浪变换和傅里叶变换的信号),原始信号的统计(时间序列的平均数和方差)以及象征表示。尽管这些特征被广泛的应用于许多时间序列问题中,但它们都是试探性的以及对任务没有依赖性。值得注意的是HAR任务有它自己的挑战,比如物理活动的同类可变性,同类相似性,无效类别主导,复杂性,多样性。所有的这些挑战使得发展一个系统的特征描述方法去有效的描述信号的本质是值得期待的,相对于活动辨别任务。
最近,深度学习,一个学习模型家族出现了,致力于对数据的高度抽象的建模。在深度学习中,建立一个包含多个层的深度结构是为了自动化特征设计。特别的,深度结构每一层对上一层的输出进行了一个非线性的转换,所以通过深度学习模型,数据被呈现为从低等到高等的特征阶层。众所周知的深度学习模型包括卷积神经网络,深度信念网络,自编码。依据使用的标签信息,深度学习模型可以分别使用监督和非监督方式。尽管深度学习模型在计算机视觉,自然语言处理,声音识别获得非凡的结果,还没有在HAR领域进行足够的探索。
在这篇论文中,我们通过采用深度学习模型中的卷积神经网络(CNN)处理HAR问题。CNN关键的特性是交替的进行不同的神经元处理(卷积、池化、sigmoid/双曲正切变换、激活函数、正则化)。一系列处理神经元可以产生对信号特点有效的描述。深度结构允许多层处理神经元叠加,所以这个深度学习模型可以在不同的规模上对信号特点进行描述。因此,通过CNN提取的特征依赖于任务,以及非人工的。更多的,这些特征还具有更多的判别力,由于CNN可以在监督输出标签下学习。所有这些CNN的优势将在以下的部分精细阐述。
就如以下部分写的细节,在HAR上的应用,CNN的卷积和池化过滤和时间维度一起应用对于每个传感器,而且对于每个不同的传感器的特征图统一化一个常规的输入,用于神经网络分类器。因此,这篇论文产生了一个新的CNN结构。在这个实验中,我们进行了大范围的研究在基准数据集上对比提出的方法和之前杰出的方法。
2 动机和相关工作
渴望发展一个系统的任务相关的用于HAR的特征抽取方法。尽管从穿戴传感器上收集的信号是时间序列,它们和口语信号和金融信号的时间序列是不同的。特别的,在HAR中,只有一小部门的连续信号流对目标概念(人类活动)是相关的,而主要的大部分不相关的部分相当于无效活动。更多的,考虑到人类活动在现实中是如何进行的,我们学习到每个活动是一系列基础连续运动的组合。典型的,一个人类活动可以持续数秒,而在一秒内就包括一系列的基础运动。从传感器信号的视角,基础连续运动更相当于平滑信号,而不同的基础连续运动之间的转换可能在信号值上引起重大的改变。在HAR中的这些信号特性需要特征抽取方法足够有效的取到基础连续运动的本质特性以及基础运动组合的显著特性。
如上所说,我们的目标是建立一个深度结构对一系列信号处理神经元去抽取特征。这个深度结构包括多个浅层结构,每个浅层结构由一系列局部平稳信号的线性、非线性处理神经元组成。当所有浅层结构叠加,不同规模的显著信号可以被捕获。这个深度结构不只分解大的复杂的问题变为一系列小问题,更重要的是获得特别的特别的方差信号在不同的规模。这里,方差信号反映了信号的显著模式。就如【】所讲述的,对于学习算法的归纳重要的是我们希望获得的学习后方差信号的数量。
相比之下,传统的特征抽取方法比如基础转换编码(小波浪转换信号和傅里叶转换信号)【】,原始信号的统计(时间序列的平均数和协方差)以及象征表示被认为在深度神经网络的一层的一个或多个神经元中转换数据扮演相当的角色。另一个深度学习模型的类型,深度信任网络DBN同样被发明为了HAR。然而这个特征学习方法不能用于有效的信号处理神经元,以及忽略了特征抽取中有用的标记信息。主要的CNN用途在于2D图像,3D视频以及音频辨识。然而,在这个论文中,我们试图简历一个新的CNN结构解决HAR中独特的挑战。最相关的工作是【】,在当中浅层CNN被使用,HAR问题限制于加速计数据。
3 HAR中的卷积神经网络
卷积神经网络有很大的潜力辨识不同的HAR信号的显著特征。特别是的低层的处理神经元获得信号的局部显著特征(去描述每个人类活动的基础运动的本质)。高层的处理神经元获得信号的显著特征描述(去描述一系列基础运动的组合的显著特征)。注意每层可能有一系列卷积或池化运算(有不同的参数规定)如下列所说,所以多个显著模式从不同的角度学习到被CNN共同的考虑到。当这些带着相同参数的运算应用到不同部分的局部信号(或者它们的映射)上,获得了一种平移不变性。所以,重要的只有信号的显著模式而不是它们的位置和规模。然而,在HAR中面对多个通道的时间序列信号,传统的CNN不能直接使用。我们的实验中的挑战包括:1)CNN的处理神经元需要应用时间维度,2)在多个传感器中分享或统一CNN的神经元。接着,我们会定义卷积和池化运算沿着时间维度,呈现整个的CNN结构用于HAR。
图像1:展示CNN结构用于多传感器人类活动辨识问题。我们使用在第四部分呈现的机会活动辨识OAR数据集作为展示示例。这些符号’c‘’s‘’u‘’o‘在每层标记的圆括号中分别表示卷积,二次抽样,统一,输出运算。在@之前和之后的数字表示这一层的特征映射的数量以及特征映射的维度。注意到,池化、relu和正则化层没有展示出来因为空间限制。我们使用CNN的标记开始。使用滑动窗口策略分割时间序列信号变为一组短信号集。特别的,CNN中的一个实例是一个二维矩阵,包含r行原始样例(每个样例D个属性)。这里,r被选择为样本率(这个实验里的30和32),滑动窗口长度被选择为3。可以选择更小的窗口长度从而增加实例的数量,同时会产生更大的计算量。对于训练数据,矩阵实例的标签被定义为是r个原始记录的标签中最多的一个。CNN的第j个特征映射在第i层同样是个矩阵,第x行的值对于d传感器为了方便被记为v^{x,d}_{ij}
。
3.1 时间的卷积和池化
在卷积层,上一层的特征映射被多个卷积核卷积(使得在训练过程被学习)。卷积运算的输出被加上偏差(使得被学习)放入激活函数形成特征映射用于下一层。正式的,v^{x,d}_{ij}
。如下表是:
tanh(·)
是双曲正切函数,b_{ij}
是这个特征映射的偏差,m指标在特征映射上在第i-1层链接了当前的特征映射,w^{p}_{ijm}
是在p位置卷积核的值,P_{i}
是卷积核的长度。
在池化层,特征映射的分解减少了从而增加了输入的特征到变形的恒定性。特别的,特征映射在上一层要么被最大池化函数:
或者加总池化函数:
汇集局部时间的近邻。其中Q_{i}
是池化范围的长度。
3.2 结构
基于以上介绍的运算,我们构建的一个CNN展示于图1。为了方便,CNN的所有层可被分为5部分,下面将详细介绍。
对于前两个部分,每个部分包括1)卷积层卷积的输入或上一层的输出加上一些核去学习;2)修正线性神经元层映射的上一层的输出,用的ReLU
函数,relu(v) = max(v,0)
;3)一个最大池化层发现最大特征映射对于一系列局部时间近邻(一般包括二次采样的运算);4)正则化层正则化不同的上层的特征映射的值
,其中\kappa
,\alpha
,beta
是超参数,G(j)
是一系列的正则化的特征映射。
第三个部分,仅仅包括卷积层、ReLU层和正则化层,在卷积层之后特征映射的时间维度变为1(注意特征映射输出则这一层是D × 1
)所以池化层被免去了。
第四个部分,我们致力于统一所有D个传感器的第三层的特征映射输出。不是简单的级联这些特征映射,在这一层我们发明了一个全相连层去统一它们从而达到参数级联。一个展示图在图2。数学上,在这层的第j个特征映射的值如下计算:
而且这个统一之后还跟着ReLU层和正则化层。
第五个部分是个全连接网络层,这层和标准多层感知神经网络一样,映射潜在特征作为输出类别。这层的输出取决于softmax函数
其中C
是输出类别的个数。这个softmax函数提供分类结果的后验概率。所以,熵损失函数可以基于真实训练实例的标签以及softmax函数的输出概率构建。
为了使得CNN给出的矩阵级别的预测转变为原始期望样例级别的预测,使用了下列两个步骤。首先,所有在矩阵级别实例中的样例是被同样的矩阵级别实例的预测标记所标记的。其次,一个样例是多个矩阵级别实例的重叠中的,则采用投票的方式决定最终预测标记。
由于传感器信号的时间依赖性,实例的标记通常有平滑趋势,就如在第二部分提到的。最近【】提出了简单但有效的平滑方法去后处理预测标记从而增强预测效果。这个方法采用低通的过滤去减少脉冲噪音(潜在的错误预测),以及保持边缘锋刃也就是活动转变的位置。特别的,对第i次实例,一个平滑过滤器伴随着一个预定义长度u_{i}
应用于序列,而起中心是这个第i个实例。这个过滤器发现这个序列中最频繁的标记赋予第i个实例。我们将会审查使用和不使用平滑方法的预测结果。
3.3 分析
注意到在图像1中CNN的前四层ReLU
和正则化层是可选的。在我们的实验中,我们发现合并这两层可以可以得到更好的结果。更多的,为了避免维度的诅咒,在这个CNN中会采用dropout运算和正则化方法,尽管因为很小的表现差异,我们没有在我们的实验中使用。
注意 1. 常规的CNN【】在图像视频中使用没有统一层,如图像2中所示,因为图像视频信号认识来自于单个传感器通道。因此提出的CNN结构是一个常规CNN的推论,通过考虑到多通道的数据。
在CNN中,所有处理单元和连接权重的参数共同的通过一个全局目标函数学习(熵损失函数),是一个与所有位置变量相关的函数。这个全局目标函数可以有效的最优化通过一个反向传播算法。
注意 2. 这个全局目标函数与基于真实标记计算出的训练错误相关,同时也与CNN的最后一层softmax函数的输出相关。
4 实验
4.1 数据集
为了人类活动辨识对于不同的侧重点,我们考虑了两个数据集。第一个数据集与全身运动相关,而第二个数据集侧重于手部运动。
机会活动辨识 机会活动辨识的数据集是关于人类吃早饭剧情相关的活动。这个数据集包括安置于三个执行每日生活活动的对象的传感器所收集的数据。在这个活动辨识任务中共有18个类别。无效类别指的是要么不是活动或者不是相关活动。使用的传感器包括穿戴式,基于目标的以及环境感知器,共有72个感知器来自10种方式,包括15个无线有线的传感器网络在原始环境中。传感器信号的采样率是30每秒。每个记录包括113个真实传感值记录除去时间信息。这些传感器对每个对象执行一个drill session,拥有20个预先设定好的一序列传感器数据的动作副本,以及5个ADL。随着【】我们使用drill以及前两个ADL的数据集作为训练集,使用第三个数据集作为测试集。
手势 手势数据集是关于人类手部运动的不同类型。在这个数据集中,两个对象执行手部运动有8个手势在日常生活中,以及三个手势在打网球时。总的,一共12个种类在手势辨识问题中。和第一个数据集相似,无效类别指的是没有特别运动的时期。使用的穿戴传感器包括三个轴加速器以及一个双轴陀螺仪。样本率是32个每秒。则总的每个记录拥有15个真实有效的传感器记录。每个对象重复所有活动大约26次。我们随机的选择一个重复样本作为测试数据,其他的重复样本作为测试数据。
表格1:提出的CNN方法的平均数F指标,规一化F指标,准确率的结果,四个机会活动辨识数据集的基准方法。每个度量最好的结果加粗。4.2 实验设置
机会多动辨识数据集使用的CNN的结构展示于图像1。手势数据集使用了同样的CNN结构,唯一不同的是特征映射的数量以及卷积核的大小,由于输入和输出的维度不同。在CNN的正则化运算中,所有的实验参数选定为\kappa = 1
,\alpha = 2 × 10^{-4}
,\beta = 0.75
且G(·)
的大小是5。我们依据【】中的拇指规则去选择其他参数,因此如何选择最优CNN参数依然是一个问题。
我们对比了提出的方法依据以下基准方法,SVM、KNN、MV和DBN。在它们之中,前两个方法和第三个方法分别在机会活动认知数据集和收拾数据集中有卓越的结果。第四个方法是最近为了HAR发展出的深度学习方法。
·SVM 支持向量机选择RBF(Radial Basis function)核函数作为分类器。在这个基准方法,原始时间序列样例被直接使用为SVM的输入。使用交叉验证程序调试SVM的参数。
·KNN 对时间序列分类问题执行全面以事实为依据的评估。有趣的是,简单的KNN方法(特别的,1NN,也就是基于最邻近的一个的分类)使用欧几里得距离被认为是最好的方法。因此,我们纳入KNN使得K = 1
做分类。和SVM基准方法一样,原始时间序列样例被KNN直接作为输入使用。
·平均数和方差MV 和提出的CNN方法一样,先使用滑动窗口策略产生一系列r × D
矩阵级别实例。当r个样例信号的平均数和方差在每个r × D
矩阵被抽取出来为分类器构成输入数据的特征。分类器是KNN当k = 1
。
·深度信任网络DBN 和CNN和MV方法一样,先产生一系列r × D
矩阵级别实例。所以,r个样例的信号的平均数在每个r × D
矩阵被做为DBN的输入。这个方法中使用的分类器选择KNN取k = 1
或者多层感知神经网络,表现更好的其中一个被报告出。
对于MV和DBN方法,矩阵级别预测被转变为样例级别预测基于CNN中使用的同样的策略在3.2部分被介绍。我们在使用和不使用在3.2部分提出的平滑方法下评估所有的方法的表现。就如在【】提出的一样,推荐平滑方法中的参数u_{i}
在[60,100]
中选择。
4.3 实验结果
机会活动辨识数据集在提出的CNN方法的结果和四个基准方法的结果分别展示在表格1和表格2。跟随【】,使用平均F指标(AF),归一化F指标(NF)和准确率(AC)去评估不同方法在所有实验的表现。对每个评估度量变现最好的被加粗。
图像3:复杂矩阵由提出的CNN方法产生(没有时间平滑)在机会活动辨识对于主题1的数据集上(背景越黑数字越大) 表格2:AF,NF,AC结果对于提出的CNN方法和四个基准方法对于手势数据集对于结果,我们可以看出提出的CNN方法一贯的比所有四个基准方法使用或不使用平滑策略在两个数据集上表现更好对于所有三个评估度量。非同寻常的,对于第一个数据集的主题3和第二个数据集的主题2,提出的方法比最好的基准方法表现高出大约5%依据使用和不使用平滑设置。当使用了平滑策略,所有方法的表现都整体有提高,但是表现的排名基本不变。这个分类不平衡问题是一个主要的挑战对于所有的方法。可以从图像3中提出的CNN方法产生的复杂矩阵看出。由于无效类别的影响,所有样例信号,除了close drawer 2
,都倾向于被分类到无效分类中。相似现象由所有方法中都存在的类别不平衡问题引起,但是对于其他基准方法更严重。
CNN比DBN更好的表现显示了监督深度学习优于非监督学习对于HAR。这些观测结果在其他应用中比如图像分类,语音辨识也存在。注意到SVM和KNN在这篇论文中使用原始实例,在【】中使用矩阵级别的实例,其数量小于原始实例的。这可能解释了为什么DBN比SVM和KNN在我们的实验中要差些,当在【】中DBN又略优于SVM和KNN。这个证据,CNN拥有更好的表现比SVN和KNN和MV,表明了CNN更接近找到信号的特征描述的本质,相比较于浅层学习结构和启发式特征设计方法在HAR问题上。
我们还执行了对于所有方法使用原始数据的傅里叶转换后的大小作为输入的实验。然而,没有任何进步的表现产生。相似的观测结果在【】。
所有的实验被执行在非优化的Matlab代码上在一台PC机,拥有Intel i5-2500 3.30 GHz CPU and 8 GB RAM。由于空间限制,我们所报告的,在机会活动辨识数据集上对于主题1使用CNN的时间结果,是所有实验中最大的一个。训练和测试原始样例对这个数据集分别是136,869和32,466,以及输入维度是107。CNN的训练时间大约1小时,测试时间8分钟。平均,每秒CNN可以预测56个原始样例标记。因此,这个CNN的效率对于线上HAR足够好。注意到训练和测试时间可以大幅减少当CNN使用并行计算。我们在将来会更深入研究这个论题。
5 总结
这篇论文,我们提出一个新的方法可以自动的特征提取对于人类活动辨识任务。提出的方法构建了新的深度结构,使得CNN探索多通道时间序列数据。这个深度结构,主要采用卷积和池化运算,去捕捉不同时间度量的传感器信号的显著特征。所有北边是的显著特征是在多个通道中系统统一的,最后映射到不同人类活动类别中。提出的方法的主要优势有:1)特征提取是依赖任务执行的,不是人工标注的;2)提取的特征拥有更多有判别力的力量;3)特征提取和分类是统一到一个模型的所以它们的表现是相互增强的。在这个实验中,我们展示了我们提出的CNN方法由于其他优秀的方法,我们因此相信提出的方法可以作为更有力的工具为HAR做特征学习和分类。
网友评论