当前位置: 首页 > 科技观察

用于处理来自移动传感器的时间序列数据的深度学习框架:DeepSense

时间:2023-03-19 20:41:57 科技观察

DeepSense是一个运行在终端设备上的深度学习框架。这些数据应用深度学习模型,例如卷积神经网络或门控递归神经网络。DeepSense是一种运行在移动设备上的深度学习框架,可以根据来自移动传感器(例如运动传感器)的数据执行回归和分类任务。分类任务的一个例子是异构人类活动识别(HHAR),它根据运动传感器测量来检测某人可能正在进行的活动(步行、骑自行车、站立等)。另一个例子是生物特征运动分析,它根据用户的步态识别用户。回归任务的一个示例是使用加速度计数据来跟踪汽车的位置并推断汽车未来的位置。与最先进的框架相比,DeepSense特别提供了一个估计器,其跟踪误差比汽车跟踪问题小得多,并且在HHAR和用户识别任务上明显优于最先进的。算法。虽然我们一般将大部分移动应用转移到远程云端处理,但是转移过程需要高时延,高传感器采样频率(如加速度计,陀螺仪)使得数据传输难以支持,所以我们更喜欢在本地设备上运行大型传感器任务。因此,我们通过在两种不同类型的智能设备上进行测试来证明在移动设备上实施和部署DeepSense的可行性,这些设备的所有三项任务都具有适度的能耗和低开销。对于许多潜在的应用程序,本地处理也是保护隐私的重要部分。所以现在很多研究人员对在这个终端设备上进行深度学习非常感兴趣。本文作者深入理解了DeepSense的工作原理,重点向我们介绍了该框架的核心网络设计。其余的评估细节应该很容易从论文中找到。使用单个传感器数据让我们从考虑单个传感器开始(最终我们想要构建组合来自多个传感器的数据的应用程序)。单个传感器可以提供多维测量,例如运动传感器,它报告沿x、y和z轴的运动。我们每隔一段时间(即时间序列)收集这三个维度的传感器读数,我们可以表达如下:我们想要在宽度为τ的非重叠窗口中处理数据。将时间序列样本中的数据点数除以τ得到窗口总数。例如,如果我们有5秒的运动传感器数据并想将它们分成持续0.25秒的窗口,我们最终会得到20个窗口。在时间维度上寻找时间序列数据中的模式比在时间维度上更好,所以下一步是将T窗口中的每个小窗口通过傅立叶变换传递给f个频率分量,每个频率分量都有大小和相位。每个窗口都会产生一个dx2f阶矩阵。现在我们有了这些T,我们可以将所有数据打包成dx2fxT的3阶张量。将所有信息很好地打包在一个张量中很方便,但实际上我们将逐层处理t维度(一次一个窗口)。通过卷积神经网络组件的每个dx2f窗口切片由三个阶段组成,如下图所示:首先,我们使用2D卷积滤波器来捕获局部频域中维度之间的相互作用。然后将输出传递给一维卷积过滤器层以捕获高级关系。***一个过滤层的输出被展平以产生传感器特征向量。集成多传感器数据遵循上述应用中使用的每个K传感器的流程。我们现在有K个传感器特征向量,我们可以将其打包到一个有K行的矩阵中。传感器特征矩阵随后通过结构与我们刚才看到的相同的第二个卷积神经网络组件。也就是说,二维卷积滤波器层之后是两个一维向量层。***,我们将最后一个滤波器的输出展平为集成传感器特征向量。窗口宽度τ附加在该向量的末尾。对于每个卷积层,DeepSenses学习64个过滤器并使用ReLU作为激活函数。此外,在每一层应用批归一化以减少内部协变量变化。现在时间窗口具有组合的传感器特征向量。而我们需要对所有的T窗口重复上述过程。所以现在我们有T个组合传感器特征向量,每个都学习窗口内的交互。当然跨时间窗口学习窗口之间的关系也很重要。为此,将T个特征向量输入RNN。关于这一点,我想我们已经准备了一个示例图来说明问题。作者在RNN层中使用门控循环单元(GRU)而不是LSTM。GRU在各种任务中表现出与LSTM相似的性能,同时具有更简单的结构,从而降低了移动应用程序的网络复杂性。DeepSense使用两层堆叠的GRU结构。当新的时间窗口可用时,此结构可以增量运行,从而可以更快地处理流数据。将其所有数据输出到输出层循环层的输出是一系列T向量,每个时间窗口一个T向量。对于类似回归的任务(例如,预测汽车位置),输出层是所有向量之上的全连接层,这些全连接层共享用于学习的权重和偏置项,从而进行学习。对于分类任务,单个向量被组合成一个固定长度的单个向量以供进一步处理。我们可以使用与注意力网络学习的加权平均值相同的技巧,但在本文中,通过对时间取平均值(累加向量并除以T)获得了很好的结果。最终的特征向量被传递到softmax层以生成最终的类别预测分数。定制当前应用程序遵循以下步骤,将DeepSense磨练成适合特定移动映射和计算任务的系统:确定传感器输入的数量k并将输入预处理为一组dx2fxT张量。确定任务类型并选择合适的输出层。可选择自定义成本函数。回归任务的默认成本函数是均方误差,分类任务的默认成本函数是交叉熵误差。对于评估中的活动识别(HHAR)和用户识别任务,使用默认成本函数。对于汽车位置跟踪任务,使用负对数似然函数(详见4.2节)。主要结果以下是DeepSense在汽车跟踪任务上相对于传感器融合和eNav算法的准确性。MapAssistAccuracy列显示位置映射到地图上最近路段的准确程度。DeepSense在HHAR任务上的表现优于其他方法10%。在用户识别任务上优于其他方法20%。我们通过三个具有代表性的移动端测量任务对DeepSense进行了评估,DeepSense的性能远高于现有state-of-the-art的baseline,同时仍然通过适度的功耗和低延迟移动和嵌入式平台。性能证明了其移动部署的可行性。评估任务侧重于运动传感器,但该方法也可以应用于许多其他类型的传感器,包括麦克风、路由器、气压计和光传感器等。