基于IndRNN的手机传感器动作识别

山东大学和电子科技大学的研究者提出基于IndRNN的手机传感器动作识别方案,该方案解决了传统RNN存在的梯度问题,并在用户独立性方面取得良好效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于IndRNN的手机传感器动作识别

近日,来自山东大学和电子科技大学的研究者提出了基于IndRNN模型利用手机传感器实现动作识别的网络,该模型解决了现有RNN模型的梯度消失和梯度爆炸问题,一定程度上实现了动作识别的用户独立性,同时在2020年的SHL(Sussex-Huawei)移动挑战赛中取得了亚军。相比于冠军采用的混合模型和其他团队采用的半监督学习等方法,IndRNN仅凭借单一模型,在未知数据上预测的标签的准确率位列第二名,展示出了模型的优良性能。

在这里插入图片描述

SHL Challenge论文

IndRNN (Independently Recurrent Neural Network)

IndRNN在2018年被提出之后,在图像分类、视频编码、基于骨骼节点的动作识别等任务上都表现优异。我们利用IndRNN作为基本模型,研究基于手机传感器数据的动作识别,取得同领域较高准确率,再次证明了IndRNN模型的性能的优越性。之所以选取IndRNN,是因为它具有以下优势:

  • 与传统RNN或常用的LSTM或GRU相比,更大程度解决了梯度消失和梯度爆炸问题
  • 可以与非饱和激活函数,如ReLU一起工作,并且仍然可以被严格训练
  • 可以构建比现有RNN更深层次的网络
  • 减少每步的计算量
  • 比普遍使用的LSTM计算速度快10倍以上

形式:

简单RNN:
h t = σ ( W x t + U h t − 1 + b ) \begin{aligned} \boldsymbol{h}_{t}=\sigma\left(\boldsymbol{W} \boldsymbol{x}_{t}+\textcolor{#ff0000}{U\boldsymbol{h}_{t-1}}+\boldsymbol{b}\right) \end{aligned} ht=σ(Wxt+Uht1+b)
IndRNN:
h t = σ ( W x t + u ⊙ h t − 1 + b ) \begin{aligned} \boldsymbol{h}_{t}=\sigma\left(\boldsymbol{W} \boldsymbol{x}_{t}+\textcolor{#ff0000}{u\odot \boldsymbol{h}_{t-1}}+\boldsymbol{b}\right) \end{aligned} ht=σ(Wxt+uht1+b)
可以看到,简单RNN和LSTM 隐藏层计算公式红色的部分是对递归输入进行权值乘法处理。这使得神经元相互依赖或相互纠缠,因此很难解释每个神经元的活动。而IndRNN使用element-wise(按位相乘)处理循环的输入或以前的隐藏状态,使神经元是相互独立。对于第n个神经元,对递归输入的处理是一个标量乘法。

下图展示了RNN和IndRNN之间的区别。在RNN中,由于递归权矩阵的存在,神经元相互纠缠,而在IndRNN中,神经元仍然是独立的,然后在下一层进行融合。
RNN与IndRNN神经元连接方式的对比,左图为RNN,右图为IndRNN,图片来自于Shuai Li and Wanqing Li and Chris Cook and Yanbo Gao. 2019.Deep Independently Recurrent Neural Network (IndRNN).

RNN与IndRNN神经元连接方式的对比,左图为RNN,右图为IndRNN,图片来自于S. Li, W. Li and C. Cook and Y. Gao. 2019. Deep Independently Recurrent Neural Network (IndRNN). arXiv.cs.CV1910.06251.

由于我们的模型可以通过ReLU进行鲁棒的训练,可以将它们堆叠在一起构建深层结构的网络或者构建残差神经网络(Residual Neural Network)和密集神经网络(Dense Nerual Network)。可以像在CNN中同样地使用批量归一化(Batch Normalization)。它还可以扩展为卷积形式,其中使用卷积操作处理输入。传统上,RNN被理解为随时间推移的多层神经网络(MLP),其中参数随时间推移而共享。在这里,IndRNN展示了一个新的视角,即使用输入权值和循环权值随着时间的推移独立地聚合空间模式。

三种IndRNN的结构

Longer and Deeper RNN - IndRNN,图片来自于S. Li, W. Li, C. Cook and Y. Gao. 2019. Deep Independently Recurrent Neural Network (IndRNN). arXiv.cs.CV1910.06251.

任务描述

近年来随着可穿戴设备的发展,利用其中的传感器数据进行动作识别的领域越来越热门。在最近几年发表的论文中,在现有比较常用的手机传感器数据集上已经实现了较高的准确率。然而在广为人知的数据集中,几乎都将多名用户的数据混合,且忽略了手机在用户身上放置位置对于准确率的影响。
SHL数据集填充了数据集在上述方面的空白,为利用机器学习从手机传感器中识别用户的移动和运输方式的方向提出了新的研究问题与挑战。

SHL数据集视频介绍

首先,我们对SHL数据集进行简单介绍,利用3名用户(用户1、用户2和用户3)放在身体四个部位(手、胸前、臀部、背包)的数据安卓手机中的7个传感器提供的20轴的数据实现8种动作分类问题(静止、走、跑、骑自行车、乘坐公交车、乘坐汽车、乘坐火车及乘坐地铁,分别标记为1-8),其中不仅有人自发的运动,还包含了机械驱动的运动,为识别增添了挑战。

传感器类别及介绍如下:

  • 加速度计(Accelerometer): x, y, z in m/s2
  • 陀螺仪(Gyroscope): x, y, z in rad/s
  • 磁力计(Magnetometer): x, y, z in μT
  • 四分仪(Orientation): quaternions in the form of w, x, y, z vector
  • 重力计(Gravity): x, y, z in m/s2
  • 线性加速度计(Linear acceleration): x, y, z in m/s2
  • 压力计(Pressure):Ambient pressure in hPa

该研究主要侧重于实现利用手机传感器实现动作识别过程中的用户独立性。数据集分为训练集、验证集及测试集,分别包含59天、6天和40天的数据(由数据集大小可以看出提供的每天的数据的时间长度不同)。所有数据被分割为5s的窗口,采样率为100Hz。为了探索实现用户独立性的方法,在集合的用户分配上,训练集和验证集仅包含了用户1的四个位置数据,验证集包含用户2和3的四个位置的数据,而测试集仅包含用户2和3四个位置之一的数据(位置未知)。此外,为了实现分类的实时性,窗口被打乱,且保证了相邻两帧在时间上不连续。

尽管在利用手机传感器数据进行动作识别的领域已经取得了不错的成果,该任务提出了在实际生活场景中进一步细化的问题-如何实现用户的独立性,即在利用与预测数据来源不匹配的数据训练模型,如何在预测数据上获得更高的准确率?该任务的难点可以解释为以下问题:

  1. 不同用户的影响:不同用户由于运动量与生活习惯存在差异,放置在其身上的手机收集到的传感器数据也会有所不同。训练集来源于用户1,而测试集和验证集的数据来源于用户2和3的混合数据,如何尽量消除差异,使预测时的准确率与训练时的准确率尽量接近?

三名用户的数据标签组成,可以看出有明显差异,图片来自H. Gjoreski, M. Ciliberto, L. Wang, F. J. O. Morales, S. Mekki, S. Valentin, D. Roggen. “The University of Sussex-Huawei Locomotion and Transportation Dataset for Multimodal Analytics with Mobile Devices.” IEEE Access 6 (2018): 42592-42604.

三名用户的数据标签组成,可以看出有明显差异,图片来自H. Gjoreski, M. Ciliberto, L. Wang, F. J. O. Morales, S. Mekki, S. Valentin, D. Roggen. “The University of Sussex-Huawei Locomotion and Transportation Dataset for Multimodal Analytics with Mobile Devices.” IEEE Access 6 (2018): 42592-42604.

  1. 位置的影响:由提供的数据集可知,测试集来源于用户3的一个未知的位置,而训练集和验证集都包含了所有的位置。因此,应如何对于训练集和验证集数据进行选取?
    手机放置的位置及数据收集的界面,图片来自H. Gjoreski, M. Ciliberto, L. Wang, F. J. O. Morales, S. Mekki, S. Valentin, D. Roggen. “The University of Sussex-Huawei Locomotion and Transportation Dataset for Multimodal Analytics with Mobile Devices.” IEEE Access 6 (2018): 42592-42604.

手机放置的位置及数据收集的界面,图片来自H. Gjoreski, M. Ciliberto, L. Wang, F. J. O. Morales, S. Mekki, S. Valentin, D. Roggen. “The University of Sussex-Huawei Locomotion and Transportation Dataset for Multimodal Analytics with Mobile Devices.” IEEE Access 6 (2018): 42592-42604.

技术方案

  • 预处理

数据分割(Segmentation)

首先,为了使我们的模型充分学习到长时和短时特征,我们对所给窗口进行了进一步的分割。将5s的窗口分割为21个1s的窗口,重叠率为80%。
分割图示,图片来源于L. Zheng, S. Li, Y. Gao, “Application of IndRNN for Human Activity Recognition-The Sussex-Huawei Locomotion-Transportation Challenge,”

分割图示,图片来源于L. Zheng, S. Li, Y. Gao, “Application of IndRNN for Human Activity Recognition-The Sussex-Huawei Locomotion-Transportation Challenge”

去旋转化(De-rotation)

鉴于数据采集于手机传感器,采用的坐标为手机自身的三轴坐标系,不仅包含了用户运动造成的数据变化,还包括了手机自身翻转等运动造成的数据变化。因此,把手机坐标系中的数据转移到地球坐标系是很有必要的。经过调研,加速度计和陀螺仪受影响较大,参考了安卓手机转换坐标系常用方法,我们这两个坐标系中的数据转换到北天东(NED)坐标系。具体操作为利用四分仪构建转换矩阵,将待转换的三轴坐标系数据与旋转矩阵 R N B R_{N B} RNB相乘,得到转换后的坐标。

手机坐标系转换到地球坐标系
R N B = [ 1 − 2 ( q y 2 + q z 2 ) 2 ( q x q y − q w q z ) 2 ( q x q z + q w q y ) 2 ( q x q y + q w q z ) 1 − 2 ( q x 2 + q z 2 ) 2 ( q y q z − q w q x ) 2 ( q x q z − q w q y ) 2 ( q y q z + q w q x ) 1 − 2 ( q x 2 + q y 2 ) ] \begin{aligned} R_{N B}=\left[\begin{array}{ccc}1-2\left(q_{y}^{2}+q_{z}^{2}\right) & 2\left(q_{x} q_{y}-q_{w} q_{z}\right) & 2\left(q_{x} q_{z}+q_{w} q_{y}\right) \\ 2\left(q_{x} q_{y}+q_{w} q_{z}\right) & 1-2\left(q_{x}^{2}+q_{z}^{2}\right) & 2\left(q_{y} q_{z}-q_{w} q_{x}\right) \\ 2\left(q_{x} q_{z}-q_{w} q_{y}\right) & 2\left(q_{y} q_{z}+q_{w} q_{x}\right) & 1-2\left(q_{x}^{2}+q_{y}^{2}\right)\end{array}\right] \end{aligned} RNB=12(qy2+qz2)2(qxqy+qwqz)2(qxqzqwqy)2(qxqyqwqz)12(qx2+qz2)2(qyqz+qwqx)2(qxqz+qwqy)2(qyqzqwqx)12(qx2+qy2)
[ x y z ] N = R N B [ x y z ] B \begin{aligned} \left[\begin{array}{l}x \\ y \\ z\end{array}\right]_{N}=R_{N B}\left[\begin{array}{l}x \\ y \\ z\end{array}\right]_{B} \end{aligned} xyzN=RNBxyzB

特征提取(Feature Extraction)

在将数据输入网络学习特征前,我们手动提取了一些重要的时域特征,如下表所示。由于智能手机传感器采集的信号具有很强的周期性,FFT幅度谱是提取这些信号一般短时特征的合适选择。由于幅度谱的对称性,FFT变化之后的信号只需保留一半。

提取FFT幅度谱,图片来源于L. Zheng, S. Li, Y. Gao, “Application of IndRNN for Human Activity Recognition-The Sussex-Huawei Locomotion-Transportation Challenge”

提取FFT幅度谱,图片来源于L. Zheng, S. Li, Y. Gao, “Application of IndRNN for Human Activity Recognition-The Sussex-Huawei Locomotion-Transportation Challenge”

Time Domain FeaturesNumbers of parametersDescription
Mean9The average value of the data for each axis in the window
Numbers above Mean9The numbers of values above the mean of the window
Numbers below Mean9The numbers of values below the mean of the window
Standard Deviation9Standard deviation of each axis in the window
Variance9The square of the standard deviation of each axis in the window
Minimum Value9The minimum value of the data for each axis in the window
Maximum Value9The maximum value of the data for each axis in the window
Skewness9The degree of distortion of each axis from the symmetrical bell curve in the window
Kurtosis9The weight of the distribution tails for each axis in the window
Per Sample Normalized Pressure1The normalized pressure of each sample
Energy9The area under the squared magnitude of each axis in the window

然而,通过观察不同标签的FFT幅度谱,我们发现还是有些差异,于是又提取了FFT幅度谱的一些统计特征。

Frequency Domain (FFT) FeaturesNumbers of ParametersDescription
Mean9The average value of the FFT components
Standard Deviation9Standard deviation of FFT components
Energy9The sum of the square of FFT components

特征提取的整体流程图如下

特征提取流程图
最终,我们选取了其中在预训练中表现较好的特征(表中加粗标记),将其拼接确定为正式训练所用的特征。

位置识别(Location Recognition)

为了消除测试集位置未知对结果的影响,我们提出了在训练前事先训练位置的想法,即根据位置赋予数据全新的标-Bag标记为1,Hips标记为2,Torso标记为3,Hand标记为4,将提取到的特征输入我们的网络(下文讲解)先构建一个位置预测模型。混淆矩阵如下。

在这里插入图片描述

虽然不能完全将四种位置分辨清楚,但有趣的是,若将Bag和Hand结合,Hips和Torso结合,可以得到准确率大于99%的混淆矩阵。

在这里插入图片描述
我们用得到的模型去预测测试集的数据,得到的结果显示测试集属于Hips+Torso的组合。后续位置预测实验中,我们观察到特定位置的数据作为训练集时没有所有位置作为训练集表现好,且不论用Torso还是Hips验证,对于最终得到的模型没有区别,所以即使没有确定具体位置,并不影响训练结果。

Dense IndRNN模型

针对上述具体任务,我们使用的是Dense IndRNN结构。训练流程图如下

在这里插入图片描述
训练中具体的参数可参考我们的比赛论文

  • 后处理

因为训练集由用户1的数据构成,而测试集由用户2和3的数据构成,为了尽可能实现用户独立性,我们引入了迁移学习(Transfer Learning),即将一部分验证集的数据输入先前的网络继续训练对模型进行微调,另一部分用来验证。常用的迁移学习将数据一分为二,一半用作训练,另一半验证。
在实验中,我们发现验证集的标签有分布不均的问题。参考了数据集构建者的描述,受限制于验证集的大小,数据收集的过程会造成此问题。

在这里插入图片描述
因此,我们首先将按照标签将数据进行分组,在相同比例的位置进行切割,再将数据进行拼接。然而,受限制于验证集的大小,当我们分别用前一半或后一半数据训练,另一半数据验证的时候,准确率相差较大。为了平衡准确率,也为了充分利用验证集数据,于是我们提出了构建两个迁移学习的模型,在最终预测测试集数据时将两个模型进行融合,得到最终预测结果。

在这里插入图片描述

结果:

在迁移学习之前,我们的模型在验证集上达到了81.58%的准确率。由表可看出,与CNN类似,Dense结构比直接每层相连表现更好。
在这里插入图片描述
迁移学习和模型融合之后,模型的准确率上升了超过5%的准确率,证明用户的迁移学习对于消除利用手机传感器数据进行动作识别任务中的用户依赖性有作用。
在这里插入图片描述
UbiComp SHL Challenge 2020 的结果在6月25日截止提交,根据评价指标F1-score排名。比赛的前三名于9月举行的UbiComp 2020的HASCA workshop揭晓。IndRNN在测试集上F1-score达到79.0%,摘得挑战赛亚军,展示出了所构建模型的优良性能。

在这里插入图片描述

挑战赛官网:
http://www.shl-dataset.org/activity-recognition-challenge-2020/

思考

  • 一个容易被忽视的问题:学习率过小导致的过拟合

最终结果显示我们的模型表现出了过拟合,我们猜想是选取的学习率过小,导致在训练集和验证集上显示的准确率高于测试集。一般人们认为学习率只是在梯度下降过程中训练模型的参数,与过拟合没有必然的联系。而一般来说学习率足够小的话,所得到的结果都是类似的。网络上一些博客提出的防止过拟合的建议也主要集中在:

  • 数据增强
  • 提前停止(Early stopping)
  • 增加噪声
  • 简化网络结构
  • Dropout
  • 贝叶斯方法

然而,很少有人提及控制学习率的问题。猜想这是由于大部分现有文章的数据集是研究者进行划分,在训练后,可以通过观察最终在测试集上面预测结果选取最优学习率。然而,真正遇到现实中的问题,即测试集没有标签时,模型还是有可能出现过拟合的问题,需要研究者多积累经验,选取更加适合的学习率。
在这里插入图片描述

学习率的选取对模型Loss的影响

总结

来自电子科技大学和山东大学的团队利用比现有RNN更加长且更深层次的网络-IndRNN进行基于手机传感器数据的动作识别的任务。该模型在训练过程中表现优良,结合迁移学习和模型融合的后处理,一定程度上实现了利用手机传感器数据进行动作识别的用户独立性。同时,IndRNN团队摘得UbiComp SHL Challenge 2020的亚军,再度体现IndRNN性能的优越性,希望该方案对大家有参考价值。

参考文献

[1] B. Zhao, S. Li, and Y. Gao. 2020. IndRNN based long-term temporal recognition in the spatial and frequency domain. In Adjunct Proceedings of the 2020 ACM International Joint Conference on Pervasive and Ubiquitous Computing and Proceedings of the 2020 ACM International Symposium on Wearable Computers (UbiComp-ISWC '20). Association for Computing Machinery, New York, NY, USA, 368–372.
[2] S. Li, W. Li, C. Cook, C. Zhu, and Y. Gao. 2018. Independently Recurrent Neural Network (IndRNN): Building a Longer and Deeper Rnn. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 5457–5466.
[3] S. Li, W. Li and C. Cook and Y. Gao. 2019. Deep Independently Recurrent Neural Network (IndRNN). arXiv.cs.CV1910.06251.
[4] L. Zheng, S. Li, C. Zhu, and Y. Gao. 2019. Application of IndRNN for human activity recognition: the Sussex-Huawei locomotion-transportation challenge. In Adjunct Proceedings of the 2019 ACM International Joint Conference on Pervasive and Ubiquitous Computing and Proceedings of the 2019 ACM International Symposium on Wearable Computers (UbiComp/ISWC '19 Adjunct). Association for Computing Machinery, New York, NY, USA, 869–872.
[5] L. Wang, H. Gjoreski, M. Ciliberto, P. Lago, K. Murao, T. Okita,and D. Roggen. “Summary of the Sussex-Huawei locomotion-transportation recognition challenge 2020”, Proceedings of the 2020 ACM International Joint Conference and 2020 International Symposium on Pervasive and Ubiquitous Computing and Wearable Computers, 2020.
[6] H. Gjoreski, M. Ciliberto, L. Wang, F. J. O. Morales, S. Mekki, S. Valentin, D. Roggen. “The University of Sussex-Huawei Locomotion and Transportation Dataset for Multimodal Analytics with Mobile Devices.” IEEE Access 6 (2018): 42592-42604.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值