LSTM递归神经网络人体活动行为识别算法研究
2018-11-16李智敏刘一鹏郑海峰冯心欣
李智敏 刘一鹏 郑海峰 冯心欣
LSTM递归神经网络人体活动行为识别算法研究
李智敏 刘一鹏 郑海峰 冯心欣
(福州大学物理与信息工程学院,福州 350116)
为克服支持向量机(SVM)等机器学习算法在人工提取数据特征时特征提取不充分和信息丢失的问题,本文提出基于长短期记忆(LSTM)的递归神经网络算法实现对人体活动行为模式的识别。本文提出的算法不仅能充分提取所收集到的人体活动行为数据的时间特性,还可有效避免传统递归神经网络的梯度消失问题,从而提高了人体活动行为识别的准确性。本文使用WISDM数据集对神经网络进行训练和测试,并采用交叉验证的方法对所提出的模型进行评估。实验结果表明,本文提出的方法在识别人体活动行为时相比较于SVM等机器学习算法提升了识别的精确度。
递归神经网络;LSTM;活动行为识别;移动感知
近年来,手机、平板电脑、智能手环等可移动设备成为人们生活中越来越重要的一部分,可移动设备具有随身携带的特性,利用可移动设备上的传感器可以收集许多用户的个人数据。利用这些收集的数据可以分析人们的日常生活行为[1]。本文使用可移动设备上传感器收集的加速度数据对人体日常活动行为进行识别(行走,慢跑,上下楼梯等)。分析的结果可以用于众多应用,包括根据用户现在的状态或者用户的习惯,手机设备智能定制服务。比如,若用户经常慢跑,则可为其推荐慢跑鞋等运动装备,或者根据一周的运动量,提醒用户是否运动太少。目前行为识别算法主要包括随机森林(random forests)[2-3],支持向量机(support vector machine, SVM)[4-5],K近邻法(K-NN)[6-7]等机器学习方法,以及基于BP(back propagation)神经网络的深度学习方法[8]。
在对手机加速度序列数据进行处理时,上述方法在人体活动行为识别时都存在着一些缺点。例如,随机森林方法在噪声较大的分类问题上很容易出现过拟合现象;K近邻法需要大量的历史数据,而过多的历史数据造成计算量大;SVM算法在识别活动行为时不能直接对加速度数据进行处理,需人工提取数据特征;BP神经网络输入仅取决于当前时刻输入,没有充分利用加速度时间序列,造成识别结果准确率不高。相比较于BP神经网络,递归神经网络(recurrent neural network, RNN)中包括递归结构使得神经元的状态不只取决于当前时刻输入,还取决于之前时刻的输入,神经元将输入的数据信息部分保存下来,在处理下一时刻数据时,前一时刻保存的数据仍起作用,形成前后文之间的联系。这样的结构使得RNN十分适合处理时间序列数据[9]。
1 深度神经网络结构
1.1 递归神经网络
递归神经网络是一种深度学习算法,其内部包含循环结构,神经网络中每个神经元不只与上下层的神经元相连接,还与本层神经元相连接。神经元的计算结果输出不仅取决于当前时刻的输入和历史输入,而且这样结构使得递归神经网络可以利用其时间特性进而有效地分析时间序列数据。如图1所示,图1中为展开的RNN神经网络,之前时刻的输入012X-1都会对X时刻的神经元状态造成 影响。
图1 递归神经网络展开图
1.2 LSTM结构
在实际问题中传统RNN也存在一些缺点,传统模型会在模型训练的时候遇到较为严重的梯度消失问题,造成在时间序列较长时神经网络无法训练的问题。为了解决这个问题,最早由Hochreiter等人提出了LSTM(long short term memory)基础结构的理论[10],以改进传统递归神经网络的神经元结构,实现对之前输入信息的记忆。
LSTM通过增加一种称为“门”的结构来管理LSTM模块信息的输入和输出,这是一种让信息选择式通过的方法,如图2所示。其中Cell部分负责记录神经元状态,而输入门(input gate)和输出门(output gate)在参数输入和输出时起到选择通过的信息量。遗忘门(forget gate)负责选择性遗忘时间窗之前的信息量。这种特殊的结构使得Cell值更新较慢,方便累计之前的输入信息不被替换,而输出值变化较快,可以对新输入的值做出反应。
图2 LSTM结构图
1.3 基于LSTM的活动行为识别算法设计
本文提出一个端对端的深度神经网络结构对可移动设备所收集到的加速度数据进行分析,使用LSTM对所收集到的加速度数据进行特征提取,之后利用全连接层进行回归分类。本文所提出的基于LSTM的深度神经网络结构包括5层结构,其中包括两层LSTM层,两层全连接层和输出层,如图3所示。
图3 基于LSTM的行为识别网络结构示意图
本文所提出的深度学习结构主要包括两部分:①特征提取部分;②映射回归部分。第①部分包括两层LSTM层,其中第一层LSTM层有200个神经元实现对加速度数据的特征进行提取。输入数据为加速度序列数据,本文在处理数据时选用时间步长为200。本文将收集到的加速度时间序列数据切割成局部时间序列,并对数据进行归一化处理,将其映射到(0, 1)区间。
本文将加速度序列数据表示为=(0,1,2,3,, I-1),并提取的时间维特征表示为=(0,1,2,3,, T-1)。第一层中LSTM神经元首先执行Forget Gate决定从上一时刻单元状态中丢弃哪一部分信息。其次神经元需要决定在所输入的加速度时间序列数据中保存哪些信息,先由Input Gate决定LSTM模块中哪些值被更新,接着用一个tanh激活函数根据这一时刻的加速度数据和上一时刻的LSTM模块输出创建一个中间状态向量S。再对Cell 值进行更新,Forget Gate值与-1时刻的Cell值相乘得到上一时刻所保存下来的值,Input Gate值与tanh函数所生成的状态向量相乘得到Cell新增加的值,这两个值相加为更新后的Cell值。最后计算输出T。这一过程需先计算Output Gate的值,然后与Cell值通过激活函数tanh函数所得出的结果相乘得到最后的LSTM输出。输出只与当前Cell值有关,与之前Cell值无关,而当前Cell值取决于之前的Cell值。
LSTM在处理序列数据时,每个时间点都会有相应的输出。时间步长为200的时间序列输入到第一层LSTM之中,每个点都会输出时间步长为200的序列,所以第一层输出为数据特征值矩阵。其中第一维为时间步长,第二维表示第一层中总共的神经元个数,输出矩阵为
与第一层LSTM结构所不同的是第二层只返回LSTM最后输出值。第二层所返回的值为所提取的时间特征值,所提取的特征向量具有150个元素,表示第二层150个神经元对时间窗内信息分析所提取的特征数据,作为第一部分的输出。输出向量为
每一层LSTM结构后都有一个Dropout结构,Dropout可随机删除神经网络中的某些隐藏层节点,但保留节点的权重,方便下次样本输入时再工作,利用Dropout可有效避免过拟合现象,本文将Dropout比重设置为0.2。
第②部分中包括两层全连接层和输出层。全连接层将第①部分所学习到的数据特征映射到样本标记空间。第①部分输出的数据特征信息输入到全连接层之中,经过全连接层降维映射最后到达输出层。全连接层选用Relu(rectified linear units)激活函数,上一层输出通过线性组合后进入激活函数之中,Relu的单侧抑制性,可以将一部分神经元设置为零,增加稀疏激活性,减少了参数之间的依存关系,缓解了过拟合问题。全连接层中每个神经元都与上一层所有输出神经元相连接,最后由输出层进行Softmax回归。本文有6类行为用于识别,最后由输出层输出分类结果。其中激活函数Relu如下公式所示:
1.4 深度神经网络框架训练
模型采用有监督训练,如图3所示,框架是一个串行结构,上一层输出为下一层输入,按批次将时间序列数据输入到模型之中,经过模型处理后得出相应的回归结果。并与实际值作比较,利用损失函数计算分析结果与实际之间的差距。本文采用均方误差函数(MSE, mean square error)作为损失函数。具体公式如下:
训练过程中,先计算数据的损失函数梯度,然后使用优化算法对损失函数进行优化,以便找到最佳的神经元权重参数。本文使用RNN网络常用的RMSprop优化算法,可以进行学习率自适应调整。RMSprop可以在联系之前每一次梯度变化的情况下不断更新学习率,RMSprop算法使用变量MeanSquare(,)来保存第次更新学习率时每个权值前一段时间的梯度平方的平均值,根据其采用自适应学习率,不断优化参数,使结构达到最优解。RMSprop具体公式为
2 实验过程及结果分析
2.1 数据信息
本文的活动行为识别算法使用TensorFlow深度学习系统进行开发。本文所使用的数据集为WISDM(wireless sensor data mining)[11]。数据是使用手机收集的加速度数据,数据集中包括6种传统活动行为的加速度数据(行走、慢跑、坐、站立、上楼梯、下楼梯),数据的采样频率为20Hz,数据集中包括2980000个已标记样本。加速度数据包括、、三轴的加速度数据。具体加速度数据折线图如图4至图9所示,各图依次为行走、慢跑、坐、站立、上楼梯、下楼梯。其中站立和坐的加速度数据较为平稳,数据相差较大,识别难度较小;上下楼梯行为比较接近,加速度数据变化十分相似,这两类比较容易混淆;慢跑加速度波动剧烈,频率快;走路的加速度变化趋势比慢跑平缓。
2.2 实验结果分析
本文将不同算法在相同数据集上分别进行了实验,测试环境为Ubuntu 16.04,CPU为i7-4790。由于上下楼梯的行为相近,加速度变化也比较类似,因此在实验中将上楼梯和下楼梯合并为同一类。本文通过与随机森林、SVM、K-NN、BP神经网络算法进行实验结果对比,证实所提出基于LSTM的深度神经网络算法在准确率上有一定的提升。
图4 行走时加速度折线图
图5 慢跑时加速度折线图
图6 坐时加速度折线图
图7 站立时加速度折线图
图8 上楼梯时加速度折线图
图9 下楼梯时加速度折线图
随机森林是随机建立一个由无关联的决策树组成的森林,随后将加速度样本数据输入到随机森林之中,每一个决策树分别进行判断,输出人体活动行为识别结果,最后统计出现次数最多的结果为识别结果。随机森林方法在利用加速度数据对人体行为识别中的平均识别率只有76.6%,虽然准确率略低,但是算法识别的时长最短(156ms)。K-NN在对加速度数据进行分类时,寻找加速度历史数据中与被识别加速度最相似的个加速度数据样本,将所挑选的个加速度样本数据中类别标记出现次数最多的类别作为人体活动行为识别的分类结果。K-NN算法计算复杂度高且识别准确率过于依赖历史数据的相似性,平均识别率最低(72.5%),算法识别的时长为2280ms。
BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,利用隐含层的多维函数映射能力将所采集到的加速度数据映射到分类结果。本文设置3层的隐含层,每层中的神经元个数为200,将加速度数据输入到BP神经网络之中进行分类回归,最终的准确率为88.7%。神经网络算法相比较于机器学习算法计算量略大,算法识别时长为191ms。本文所提出的基于LSTM的递归神经网络在保留BP神经网络多维函数映射能力的基础上增加了递归结构及长短时记忆特性,增强了对加速度数据序列的处理能力,充分提取加速度时间序列的时间特征。本文所提出的算法识别时间为206ms,获得的平均识别率最高。算法识别准确率见表1。
表1 识别准确率对比
3 结论
本文使用可移,引入递归神经网络对用户活动行为进行识别,避免了传统机器学习方法在人工提取特征时可能导致的数据特征提取不充分和信息量丢失等问题,在处理数据时更好地保存了原始数据在时间上的关联性。利用了递归神经网络在序列数据处理中的优点,可直接对原始序列数据进行处理;利用LSTM充分提取数据的时间特征,对数据进行分析和处理。本文通过实验验证了递归神经网络在行为识别中具有较高的精确度,为了拓展系统,下一步会对更多的手机传感器数据进行分析和处理,以获取更多的信息。
[1] Jayita S, Sanjoy C, Nauman A, et al. Designing device independent two-phase activity recognition framework for smartphones[C]//Wireless and Mobile Computing, Networking and Communications, 2017: 41-45.
[2] Nunes U M, Faria D R, Peixoto P. A human activity recognition framework using max-min features and key poses with differential evolution random forests classifier[J]. Pattern Recognition Letters, 2017, 99(SI): 21-31.
[3] Jan J, Petr G, Pavel D, et al. Fast Human Activity Recognition Based on a Massively Parallel Implemen- tation of Random Forest[M]. Intelligent Information and Database Systems. Los Angeles: Springer Berlin Heidelberg, 2016.
[4] Abidine B M, Fergani L, Fergani B A. The joint use of sequence features combination and modified weighted SVM for improving daily activity recognition[J]. Pattern Analysis and Applications, 2018, 21(1): 119- 138.
[5] Chen Zhenghua, Zhu Qingchang, Soh Y C, et al. Robust human activity recognition using smartphone sensors via CT-PCA and online SVM[J]. IEEE Transactions on Industrial Informatics, 2017, 13(6): 3070-3080.
[6] Uslu G, Baydere S. On the activity detection with incomplete acceleration data using iterative KNN classifier[C]//IEEE International Conference on Systems, Man, and Cybernetics, Hungary: IEEE, 2017: 3528-3533.
[7] Sani S, Wiratunga N, Massie S, et al. KNN Sampling for Personalised Human Activity Recognition[M]. Scotland: Springer-Verlag, 2017: 330-344.
[8] Abu Alsheikh M, Niyato D, Lin Shaowei, et al. Mobile big data analytics using deep learning and apache spark[J]. IEEE Network, 2016, 30(3): 22-29.
[9] Vo Q, Nguyen H, Le B, et al. Multi-channel LSTM- CNN model for Vietnamese sentiment analysis[C]// 2017 9th International Conference on Knowledge and Systems Engineering, Vietnam: IEEE, 2017: 1-6.
[10] Greff K, Srivastava R K, Koutnik J, et al. LSTM: A Search Space Odyssey[J]. IEEE Transactions on Neural Networks & Learning Systems, 2017, 28(10): 2222-2232.
[11] Kwapisz J R, Weiss G M, Moore S A, et al. Activity recognition using cell phone accelerometers[J]. Acm Sigkdd Explorations Newsletter, 2011, 12(2): 74-82.
Research on an LSTM recurrent neural network algorithm for human activity recognition
Li Zhimin Liu Yipeng Zheng Haifeng Feng Xinxin
(College of Physics and Information Engineering, Fuzhou University, Fuzhou 350116)
In order to overcome the problem of insufficient feature extraction and lost information incurred by the traditional machine learning based methods such as support vector machine (SVM), we propose a long short-term memory (LSTM) based neural network algorithm to recognize human activity in this paper. The proposed algorithm can not only fully extract time characteristics of human activity data but also effectively avoid the problem of gradient disappearance in traditional recurrent neural network, thus improving the accuracy of human activity recognition. In this paper, the proposed approach is trained and tested by using a WISDM dataset and ievaluated by the cross validation method. Experimental results show that the proposed method can improve the accuracy of recognition when comparing with the other machine learning algorithms such as SVM.
recurrent neural network; LSTM; activity recognition; mobile sensing
2018-06-13
李智敏(1994-),男,福建省莆田市人,硕士研究生,研究方向为群智感知网络中的数据分析。
国家自然科学基金项目(61571129)