检测物联网设备数据中的异常情况,同时兼顾准确性和延迟性
三个要点
✔️ 需要对物联网设备数据进行高度准确和快速的异常检测
✔️ 如何在层次结构中建立一个分布式系统,直到云,并适应数据,以改变推理的实施水平
✔️ 集中式和分布式系统的平衡结果
Adaptive Anomaly Detection for Internet of Things in Hierarchical Edge Computing: A Contextual-Bandit Approach
written by Mao V. Ngo, Tie Luo, Tony Q.S. Quek
(Submitted on 9 Aug 2021)
Comments: Accepted by ACM Transactions on Internet of Things (TIOT)
Subjects: Machine Learning (cs.LG); Artificial Intelligence (cs.AI); Distributed, Parallel, and Cluster Computing (cs.DC); Networking and Internet Architecture (cs.NI)
code:![]()
本文所使用的图片要么来自该文件,要么是参照该文件制作的。
概述
随着物联网的广泛采用,对物联网数据的有机利用的需求将不可避免地增加。在本文中,我们提出了一个系统,通过使用物联网设备产生的数据,在从物联网、边缘计算机到云的分层边缘计算系统(HEC)上进行异常诊断,既实时又准确。更具特色的是,该系统根据每个时间点的数据背景,自适应地决定应用哪一层模型。这些系统使用强化学习进行训练。让我们看一下细节。
简介
智能物联网设备正在刺激世界各地的智能工厂、智能家居、自动驾驶汽车和数字健康的应用。这些物联网设备的巨大网络产生了大量的传感器数据,机器学习和深度学习被用来提取洞察力和检测异常情况。有些系统,如火灾报警系统,需要实时响应。在这种情况下,将所有传统的物联网数据流向云计算机会引起通信延迟、骨干网络不堪重负和数据隐私风险等问题。
另一方面,边缘或雾计算在传感器数据源附近执行异常检测,但面临着计算性能和整体资源过载的挑战。使大型复杂模型适应物联网设备性能的方法包括修剪和蒸馏,但这些方法需要在个案基础上进行微调,并且由于只适用于稀疏DNN模型的一个子集而受到限制。
分布式异常检测方法有三个问题:1)它将是一个放之四海而皆准的方法,但实际上每个问题都是不同的;2)它不会关注延迟或内存使用,而是关注准确性;3)它不会正确分析分布式系统中的定位,并可能导致与云端的多次数据交换。数据在云端来回流动。
因此,本文提出了一个针对分层HEC的异常检测系统,它既是实时的,又是计算机密集型的。
相关研究
之前对我有影响的工作是BranchyNet。这是一个用于图像分类的模型,当推断的置信度增加时,就会打破推断,我们通过将其划分为不同的层,将其应用于分层计算。
鉴于输入数据往往有不同程度的分析难度,我们还参考了另一项先前的研究,该研究使用kNN分类法,根据输入图像和所需的精确度选择合适的推理模型。 Lin等人使用一种基于强化学习的方法,在运行时动态地修剪BlockDrop在推理过程中动态地使用和丢弃常规块。
建议方法的描述
本文将其应用于物联网和边缘计算中的异常检测,而不是图像,用单一策略网络代替多层顺序kNN,根据情况信息直接输出合适的模型,并在分布式计算中用强化学习处理多个模型。
总体构成
图1显示了自适应异常检测的整体结构,由三个流程组成:1)异常检测模型的训练(黑色实线),2)策略网络的训练(紫色线)和3)在线自适应检测(橙色线)。数据预处理是共同的。
在第一个流程中,我们训练一个多变量异常检测模型来理解正常值的模式。第二个流程确定异常检测的分数和阈值,这些分数和阈值是以自下而上的方式为每个层级设置的。在第三个流程中,我们训练政策网络。第三个流程是策略网络的训练,它根据输入的背景选择最佳的异常检测模型。最后,在在线自适应检测阶段,实施经过训练的策略网络的物联网在执行过程中选择适当的异常检测模型。
分层边缘计算(HEC)中的多重异常检测
我们假设一个具有k层的分布式堆叠边缘计算系统(HEC)。第一层是物联网设备,第二至k-1层是边缘服务器,而k层是云。
单变量异常检测模型
对于单变量的物联网数据,采用自动编码器的方式。隐蔽层的数量随着你往上走而增加。
多变量异常检测模型
对于多变量数据,我们使用基于LSTM的序列到序列模型。正如预期的那样,模型在接近上层时变得更加复杂,在云层中,我们使用了一个基于LSTM的双向seq2seq。
异常情况得分
经过训练后,正常值的恢复误差会很小,异常值的恢复误差会很大。恢复误差一般遵循高斯分布,恢复误差的对数概率分布(logPD)就是异常得分。正常值的logPD较高,异常值的logPD较低。正常数据集的最小logPD被用作检测异常的阈值。
自适应的模型选择方案
我们提出了一个自适应的模型选择方案,根据输入数据的上下文选择最佳的异常检测模型,从而使每个数据在每一层(物联网、边缘、云)中的适当层得到处理。数据首先被输入到物联网设备,然后向上转发,直到到达适当的层。
我们使用一个上下文博弈模型,其中政策是根据奖励来决定的,奖励包括数据传输的准确性和成本。为了减少训练时间,我们使用了一个迷你批处理程序,一次对N个输入语境进行训练。为了避免过度训练,我们在损失函数中加入了一个L2正则化项。为了在搜索和利用之间取得平衡,我们采用了衰变的$epsilon$-reedy算法。
实施和实验
数据集
我们使用加州大学河滨分校的时间序列数据集,即来自荷兰一家研究所的一年的电力消耗,以及加州大学欧文分校的多变量MHEALTH数据。对于前者,还提供了一个进一步更新的数据库。
异常检测模型和政策网络的实施
它使用Tensorflow和Keras实现,用Raspberry Pi 3作为物联网设备,用Jetson-TX2作为边缘计算机,在边缘和云端使用GPU。
加速政策网络的学习
按照谷歌最近宣布的有效加速深度强化学习过程的分布式机制,我们可以修改算法的部分内容:1)我们可以将属于同一行动的输入分组,并以类似批处理的推理方式抛给异常检测模型,而不是依次查询每个输入的奖励。模型;2)如果$epsilon$-greedy方法的行动输出有一个以上的异常检测模型,则并行运行多个异常检测模型。
软件架构和实验设置
软件架构如图7所示,由GUI、带有策略网络的自适应模型选择方案和每层的异常检测模型组成;从GUI中,用户可以决定使用哪个数据集和选择方案,并检查结果。(图8)
用于比较的SOTA计划
基准目标是kNN-sequence、 Adaptive-BlockDrop和kNN-Single。
实验结果
异常检测模型的比较
表1显示了模型的三层之间的性能比较。这些结果与硬件的性能和模型的大小相对应。
模型选择方案比较
表2显示了与基准的比较,其中提议是一个分层的自适应网络。所提出的网络是一个分层的自适应网络,我们可以看到延迟降低了,同时准确性也提高了。
成本函数:准确性和延迟之间的权衡
改变调整精度和延迟权重的参数α,我们得到图11所示的结果。在单变量数据中,我们可以看到这种依赖性,但在多变量数据中,准确率似乎总是保持在与云计算相同的水平。
加速政策网络的学习
当应用上述加速学习算法时,单变量的传输时间得到明显改善,多变量的计算时间也得到明显改善。
语境信息:手部设置和编码特征值
其结果是,编码的准确性更好,但延迟更大。因此,如果你想同时提高精确度和延迟,一种方法是进行手动配置。然而,如果没有领域知识,就很难做出有效的配置。
总结
正如我们所看到的,这里提出的实时自适应策略选择方案在将适当水平的计算能力和模型应用于物联网设备的数据进行异常检测方面显示出有效的改进。
(笔者认为)已经提出了几种方法来了解参数或特征值之间的相关性。有意思的是,除了这里提出的基于LSTM的seq2seq之外,是否有可能建立一个考虑到层次结构的模型。
与本文相关的类别