面向物联网应用的压缩感知异常数据聚合机制研究
2021-11-14杜新新
杜 楚,杜新新,刁 金
(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.中国地质大学(北京)信息工程学院,北京 100083)
0 引言
近年来,物联网(Internet of Things,IoT)已经被广泛应用到不同的领域(如智能交通系统中的车流量监控)[1-2],通过连续地收集边缘端的感知数据,对环境进行实时监控和异常检测[3]。然而,由于物联网节点能量受限,为了检测一个异常是否发生和异常的严重程度,云服务器通常不需要一个精确的感知数据,感知数据所属的区间足以满足应用的需求。只有当一个异常已经发生后,才需要将精确的感知数据发送给云服务器,确定异常的详细信息。如何实现节能数据聚集来支持工业物联网的异常检测受到了学术界和工业界的广泛关注。
现有的感知数据聚集技术通常不能兼顾数据传输的时延和能耗。例如,压缩感知算法通过利用感知数据的时空相关性来减少被传输的数据量[4]。压缩感知算法会受到底层路由方法的影响,并且路由方法通常包括基于树的路由方法[5]和基于簇的路由方法[6]等。本文通过采用基于簇的压缩感知算法来聚集密集部署的网络中的二进制类别数据[7]。数据预测技术通过利用预测值代替真实值,减少网络中感知数据的传输[8]。由于数据预测模型的精度会影响路由到云服务器感知数据的数量,因此选择一个合适的数据预测模型至关重要。这些策略在确定的条件下能够获得非常好的性能,例如,感知数据的变化趋势非常简单等等。但是,这些方法并不适用于本文的场景。
因此,在密集部署的网络中,为了对工业环境进行实时监控和异常检测,以节能的方式连续地收集感知数据是一个非常有挑战性的任务。为了解决这个挑战,根据异常检测的特点和数据的时空相关性,提出了一个基于压缩感知的节能数据收集策略,通过利用云边端的协作实现节能的感知数据收集来支持工业物联网异常检测,在保证服务质量的同时减少网络能耗。
1 相关工作
目前,针对节能数据收集的研究主要包括基于数据压缩的节能数据收集算法、基于数据预测的节能数据收集方法、基于睡眠唤醒的节能数据收集算法和基于移动传感器路径规划的节能数据收集算法。
基于数据压缩的节能数据聚集研究通过利用数据的相关性和数据压缩技术,去除冗余数据,得到压缩后的数据,在保证数据恢复精度的同时,减少数据量[9-11]。传统的压缩算法包括香农-范诺编码[12]、哈夫曼编码法[13]、预测编码[14]、基于线性拟合的压缩算法[15]和主成分分析算法[16]等,这些算法具有压缩过程复杂、解压过程简单的特点,使其在资源受限的边缘设备上节能效果并非最优。压缩感知算法具有压缩过程简单、解压过程复杂的特点,使其非常适用于资源受限的边缘设备。
基于数据预测的节能数据聚集机制通过利用数据变化的特点,对下一时刻的数据进行预测[17]。因此,物联网设备不需要连续地感知和收集环境信息,可以减少网络中的数据传输。在文献[8]中,一个简单的线性函数(DBP算法)同时部署在云端和物联网节点,用于预测感知数据,只有当预测值不满足确定应用需求时,才将传感器节点的感知数据和模型参数上传到云服务器,用于和云上的数据同步。当数据的变化趋势很简单并且可预测时,该策略能够极大地减少网络传输的数据量和网络能耗。然而,一旦数据变化比较剧烈,该策略的性能会急剧降低。
对于不同的物联网设备,同一时隙的感知数据具有空间相关性,导致网络中存在大量冗余数据。因此,通过利用数据的空间相关性,利用近邻节点的数据估计其他节点的感知数据,能够在一定程度上减少感知数据的传输。一些学者提出睡眠/唤醒调度策略[18],使部分传感器节点处于睡眠状态,通过最小化空闲监听时间和减小传感器节点状态转换次数,极大地降低网络的能耗。但这类方法存在网络热点问题,使一些物联网设备过早死亡,导致网络瘫痪,对网络生命周期造成一定的影响。基于移动汇点的数据聚集算法[19]利用系统外部的移动设备能够成功解决该问题。移动设备的成本高、能耗大,对低成本的应用并不适用。另外,移动设备的移动速度过慢会导致时延增加甚至数据包的丢失。
综上所述,这些方法在特定的场景下节能效果十分显著,但是并不适用于本文的场景。因此,迫切需要提出一个节能数据收集算法来支持本文的应用。
2 网络和能量模型
本节介绍物联网节点、物联网以及物联网节点分布偏度的具体定义,并给出了本文算法运行网络的具体构建过程和能量模型。
2.1 网络模型
定义1 物联网节点(IoT node)。一个物联网节点是一个元组IoTnd= (id,loc,type,cr,engy,sv),其中,id是物联网节点的唯一标识;loc是物联网节点的地理位置,包括经度和纬度;type是物联网节点的类型,可能是智能终端,也可能是边缘服务器;cr是物联网节点的通信半径,对于不同类别的物联网节点通信半径都相同;engy是在当前时隙物联网节点的剩余能量,边缘服务器的初始能量比智能终端的初始能量更高;sv是物联网节点的感知数据。
一个物联网包括边缘网络和一个云服务器。云服务器负责管理边缘网络。在边缘网络中,根据资源数量的不同,将物联网节点分为智能终端和边缘服务器。边缘服务器比智能终端拥有更多的资源并且负责管理其所在边缘网络中的智能终端。
定义2 物联网(IoT network)。一个物联网是一个有向图,由一个元组表示IoT_net= (ND,LK),其中ND包括一个云服务器和一些物联网节点(包括边缘服务器和智能终端);LK是ND中物联网节点之间连线的集合。只有当2个节点之间的距离在通信半径内,这2个节点之间才会有连线。
定义3 偏度(Skewness Degree)。 一个偏度表示物联网节点分布的不均匀情况,网络偏度的计算公式sd=(dn-sn)÷(dn+sn),式中,dn和sn分别指在密集区域和稀疏区域物联网节点的数量。偏度0%意味着物联网节点均匀且随机地部署在物联网区域。
在物联网中,网络结构通常包括基于树的网络结构和基于簇的网络结构等。本文中的物联网节点密集部署在物联网中。一个基于簇的网络结构作为本文的网络模型,该模型的建立过程如下:
① 物联网部署:物联网节点部署在二维矩形区域内,它可能不均匀地部署在物联网区域并且足够密集,以协作的方式来监控网络环境。无论物联网节点是否均匀地部署在网络中,构建网络模型的过程都是相似的。本文以在网络中均匀地部署物联网节点为例介绍网络的构建过程。首先,均匀且随机地在L×L的正方形区域内部署N个物联网节点,并且为每个物联网节点分配一个唯一的标识符id用于区分它们。
2.2 能量模型
到目前为止,已经提出了一些能量模型用于计算物联网中数据包传输的能耗。其中最频繁使用的一个能量模型是一阶无线电模型[20]。在本文中,通过利用该模型,计算网络中数据包传输所消耗的能量。该模型的参数如表1所示。
表1 能量模型中的参数Tab.1 Parameters in the energy model
ETx(k,d)和ERx(k,d)分别表示传输一个k比特的数据包到距离为d的物联网节点和从距离为d的物联网节点接收一个k比特的数据包,即:
ETx(k,d)=ETx-elec(k)+ETx-amp(k,d)=
Eelec×k+εamp×k×dn,
(1)
ERx(k,d)=ERx-elec(k)=Eelec×k。
(2)
因此,从物联网节点i传输一个数据包到物联网节点j所需要的总能耗为:
Eij(k,d)=ETx(k,d)+ERx(k,d)。
(3)
需要注意的是,传输一个数据包到物联网节点所消耗的能量不同于传输一个数据包到云服务器。通常假设云服务器拥有的能量是不受限的,因此,云服务器接收数据包所消耗的能量可以忽略不计。计算Eij(k,d):
(4)
式中,n为传输衰减索引的值,该值由周围的环境所决定。如果物联网节点在网络中转发数据包的过程中没有障碍,将参数n设置为2;否则,将参数n设置为3~5的一个值。不失一般性,本文假设网络部署在无障碍的区域内,因此,将n设置为2。
3 数据压缩和预测
在物联网环境中,考虑到感知数据是有时空相关性的。在云端通过利用一个精确的时空数据预测模型预测边缘端物联网节点的感知数据,并且在物联网节点根据数据的统计特征和时间相关性,将感知数据分类和稀疏化编码,然后发送到边缘服务器。在边缘服务器,利用压缩感知算法将类别数据压缩后,通过最短路径发送给云服务器,作为异常检测的评判标准。下面将详细介绍物联网节点、边缘服务器和云服务器上的执行操作和异常感知数据路由的过程。
3.1 感知数据分类和表示
在物联网中,物联网节点实时感知环境信息以获得数据,这些感知数据构建了一个时间序列数据。当前时刻的感知数据与前一些时刻的感知数据有很强的相关性,并且差值可能非常小甚至可能是相等的。按照一定的区间间隔将其划分到不同的区间之后,相邻时隙的感知数据很可能属于相同的区间,其类别值可能是一致的。通常情况下在工业应用中,感知数据的类别值的比特数远小于感知数据的比特数,并且根据实际应用的需求,自适应地调整二进制编码的长度比,用8 bit的固定长度的二进制编码表示感知数据的类别,会使用更少的比特数。基于以上分析,通过以下策略将感知数据编码为稀疏的二进制类别数据。
首先,根据数值区间将感知数据划分到相应的类别中。利用历史数据的统计特征,将感知数据的类别进行稀疏化编码。假设根据实际应用需求,需要按照(0,100),(100,200),(200,300),(300,400),(400,500)和(500,+∞),这6个数据区间将感知数据进行类别划分。由于区间的个数是6,感知数据的类别所对应的二进制编码为000,001,010,100,011,101,110和111。通过统计历史时隙的感知数据,这6个数据区间的频数分别为1 000 000,100 000,10 000,1 000,100和10。基于数据区间所对应的二进制编码和历史数据所属区间的频数,感知数据的区间和稀疏的二进制类别数据一一映射,将感知数据进行类别划分并实现对类别数据的稀疏化编码。例如区间(0,100)的二进制类别编码为001,区间(100,200)的二进制编码为010,具体的区间和类别编码之间的映射关系如表2所示。
表2 数据区间和二进制类别数据之间的映射表Tab.2 Mapping table between data interval and binary category data
针对确定的应用场景,该过程只需要经过简单的判断即可将感知数据编码为二进制类别编码,因此,该代码能够在资源受限的智能终端完成。
3.2 感知数据压缩
感知数据的类别数据被稀疏化编码完成后,网络中会存在很多稀疏的二进制类别数据,促使基于簇的压缩感知算法在类别数据聚集过程中的应用。基于簇的物联网如图1所示,图1中黑点代表智能终端,蓝色的塔代表边缘服务器,蓝色的云代表一个云服务器,CS代表利用压缩感知算法压缩类别数据。
首先,根据物联网节点所在的位置,将网络区域划分为多个簇。在每个簇中,边缘服务器收集智能设备的稀疏二进制类别数据,然后利用压缩感知算法压缩类别数据生成CS测量值,并通过最短路径将其发送到云服务器,云服务器利用基追踪算法(BP)将其解压后得到所有类别数据。
假设在物联网区域内部署N个物联网节点,编号1~N,并且这些物联网节点的感知数据的类别可以用向量x表示,即x=[x1,x2,…,xi,…,xn],其中xi代表第i个物联网节点的类别数据,且它的长度是d。例如,如果xi是001,那么d的值是3。如果在x中非0元素个数是k,那么数据x是k稀疏的(如果xi是001,那么k的值是1)。因此,在已知物联网节点的个数N、类别数据的长度d以及类别数据的稀疏度k的前提下,可以计算最小的测量数Mmin:
(5)
式中,a,b,c,d是常数。根据M(M≥Mmin)和N(代表数据x的长度)的值,利用随机数生成器,在每一列中随机生成一系列确定个数的非零元素,从而构成一个M行N列的稀疏二进制矩阵,作为测量矩阵Φ(Φ∈RM×N(K 在已知向量y和矩阵Φ的情况下,精确地重构稀疏的类别数据x的过程能够转换成如下所示的l1-norm最小化问题: (6) 在已知测量矩阵和类别数据的情况下,利用矩阵乘法即可得到压缩后的CS测量值。该过程只需要乘法和加法计算,因此数据压缩过程非常简单,可以在边缘服务器上快速完成。 在云服务器上,部署一个精确的时空数据预测模型,预测未来时隙的感知数据。以智能交通系统为例,不同传感器所测量不同时隙的车流量数据之间具有动态的时空相关性。为了学习历史车流量数据中的时间和空间特征,基于Attention的时空图卷积神经网络模型(ASTGCN)被提出来[7]。它能够同时考虑数据的时空相关性、数据在时间维度上的周期性和趋势性,从而更精确地预测未来时隙的车流量。如图2所示,ASTGCN模型主要包括3个独立的组件,分别抽取近期、日周期和周周期的数据特征。每个组件包括6个主要部分:①Tattention,一个时间attention机制,有效地获取车流量数据的动态的时间相关性;②Sattention,一个空间attention机制,有效地获取车流量数据的动态的空间相关性;③GCN,一个图卷积网络,有效地获取图结构数据的空间特征;④Tconv,一个时间维度的卷积网络,获取相邻时隙的数据的时间依赖;⑤Rconv,一个残差卷积网络,优化模型的训练效率;⑥FC,一个标准全连接网络,保证模型的输出维度与预测目标的维度一致。 图2 ASTGCN框架Fig.2 The framework of ASTGCN 图2中Dhour代表最近时隙训练数据,Dday代表日周期的训练数据,Dweek代表周周期的训练数据,D12代表接下来12个时隙的预测值,Tattention代表时间attention,Sattention代表空间attention,GCN代表图卷积网络,Tconv代表时间卷积,Rconv代表残差卷积,FC代表标准的全连接。假设当前的时隙是T0,预测窗口的大小是Tp,网络中所有节点在过去τ时间片内的历史数据为X,将临近于预测时隙的车流量数据Th作为最近时隙组件的输入,即Dhour;将前一天同一时间段内的车流量数据Td作为天组件的输入,即Dday;将上一周同一天同一时间段内的车流量数据Tw作为周组件的输入,即Dweek。需要注意的是,Dhour,Dday和Dweek这3个输入的长度是Tp的整数倍(本文中Dhour是Tp长度的3倍,Dday和Dweek长度是Tp长度的1倍)。通过利用这3个组件分别从输入数据中抽取数据的最近、天周期以及周周期特征,将这些特征传输给全连接层,全连接层基于历史数据中学到的权重融合这些特征,得到预测值D12。 感知数据同步算法1如下所示。 算法1:感知数据同步输入:d(i)0:第i个物联网节点在当前时隙的感知数据输出:在不降低应用的服务质量的前提下对边缘网络进行实时监控和异常检测。算法流程:1:for allndi∈all_nodedo2: L(ndi)0←value2label(d(ndi)0)3: upload(L(ndi)0,eni)4:end for5:for all eni∈edge_nodedo6: ki←cal_sparse(eni.L0)7: Mi←a*ki*logd*Niki+b +c8: ifMi 对于每个物联网节点,当前时隙的感知数据被采样后,通过3.1节介绍的数据分类和编码方法将感知数据编码为二进制类别数据,然后通过路由树将其路由到相应的边缘服务器(行1~4)。在每个边缘网络中,边缘服务器利用3.2节介绍的压缩感知算法将类别数据压缩后通过最短路径上传到云服务器。为了保证压缩感知算法的有效性,根据数据的稀疏度来决定是否压缩类别数据。如果数据的稀疏度满足一个确定的条件(行6~8),将数据压缩后上传到云服务器;否则,直接通过路由树将类别数据上传到云服务器(行5~15)。 在云服务器,通过利用预训练的ASTGCN模型,基于历史数据预测当前时隙的感知数据。为了检测预测值的类别是否与真实值所属的类别一致,以智能设备和边缘服务器相互协作的方式将类别数据上传到云服务器,云服务器将其作为判断预测值准确性的标准。具体步骤如下: (1) 按照与边缘端IoT节点相同的编码策略,将预测值映射为类别数据(行16~19); (2) 预测值的类别与边缘端上传的类别的对比: ① 如果预测值的类别与边缘端上传的类别相等,用预测值更新历史数据; ② 如果预测值的类别与边缘端上传的类别不相等,预测值不能被用来代替真实值。同时,云服务器通知相应的物联网节点上传该时隙的感知数据,并利用真实值更新历史数据(行20~25)。 通过2.2节的能量模型计算网络中数据传输的能量消耗。网络的能耗主要用于以下3个过程(包括数据传输和接收): ① 智能设备发送kbit的数据包给边缘服务器并且边缘服务器接收kbit的数据包。 ② 边缘服务器发送kbit的数据包给一跳物联网节点并且一跳的物联网节点接收kbit的数据包。 ③ 物联网节点发送kbit的数据包给云服务器,但是云服务器接收该数据包的能量消耗可以忽略不计。 实验在笔记本电脑中进行配置,采用Intel(R) Core(TM) i7-7700 CPU 2.80 GHz,16 GB内存,64位Windows操作系统,Python编写实验。 加利福尼亚的高速公路数据集PeMSD4由加州运输性能测量系统(PeMS)收集,该网络中有307个物联网节点。为了收集在2018年1—2月期间该高速公路上的车流量数据,每个物联网节点每隔5 min采样一次感知数据。最后,在307个物联网节点中,每个物联网设备都有16 992个感知数据。 一个物联网中有307个物联网节点和一个云服务器,设备分布在100 m×100 m的区域中。该区域中,物联网节点均匀或者以0%,10%或20%的偏度部署,云服务器位于该区域的中心(50 m,50 m)或者边界(100 m,50 m)。为了保障网络的连通性,将通信半径设置为35 m,并将簇数设置为1,25和64。在压缩感知算法中,测量数为: (7) 式中,N代表物联网节点的个数;k代表类别数据的稀疏度。文献[10]中,类别数据的长度比本文中的类别数据的长度更大。因此,Mmin的值更大,数据恢复的精度更高。本文实验的参数设置如表3所示。 表3 实验参数设置Tab.3 Experimental parameter setting 本文通过和DBP方法对比进行验证,实验结果如图3所示。 图3 在不同偏度和云的位置的情况下DBP机制和本文的方法(CCS&ASTGCN)的能耗比较Fig.3 Comparison of energy consumption of DBP and CCS&ASTGCN mechanism with various skewness of nodes distribution and locations of the cloud 由图3可以看出,在物联网节点和云服务器位置相同的情况下,本文的机制比DBP机制消耗更少的能量。导致该现象的主要原因不是路由到云服务器的感知数据量的减少,而是模型参数不需要路由到云服务器。实验表明,DBP数据预测模型的精度与ASTGCN数据预测模型的精度相近,使这2种策略路由到云服务器的感知数据的数量相等。然而,作为一种神经网络模型,ASTGCN模型不需要实时更新模型参数。当预测值不满足某些应用的需求时,不需要将ASTGCN模型参数路由到云服务器,使网络中传输的数据量大幅度地减小,从而使本文的算法更节能。 为了验证本算法的有效性,将其与PCA策略进行对比,实验结果如图4所示。 图4 在不同偏度和云的位置的情况下PCA机制和本文的方法(CCS&ASTGCN)的能耗比较Fig.4 Comparison of energy consumption of PCA and CCS&ASTGCN mechanism with various skewness of nodes distribution and locations of the cloud 由图4可以看出,在物联网节点分布偏度和云服务器位置相同的情况下,本文的机制比PCA策略更节能。主要是因为PCA策略中,边缘服务器实时地将压缩后的感知数据上传到云服务器。本文策略中,边缘服务器实时地将压缩后的类别数据上传到云服务器,只有当预测值不满足应用需求时,云服务器才通知相应的边缘设备上传该时隙的真实值。因此,减少了大量的感知数据在网络中的传输。然而,与PCA策略相比,类别数据会产生额外的能耗。通常情况下,相比于感知数据,类别数据有更少的比特数,产生更少的能耗。因此,由类别数据传输所增加的能耗远小于感知数据减少所节约的能耗,使本文的策略比PCA策略更节能。 本文创新性地提出了一种边缘云协作下异常感知数据分级收集方法,提高网络能效。在本文所提出的算法中,对于每个边缘网络,在边缘服务器使用压缩感知算法对类别数据进行压缩,然后通过最短路径将其路由到云服务器。在云服务器中,利用预训练的基于Attention的时空图卷积神经网络模型对边缘端的感知数据进行预测。当预测值的类别与感知值的类别不同时,云服务器才会通知相应的物联网节点上传该时隙的感知数据。通过利用该机制连续地收集感知数据,支持环境监控。实验结果表明,本文提出的算法在能耗方面优于DBP方法。因此,本文的方法是可行且节能的。3.3 感知数据预测
3.4 异常感知数据路由
3.5 能量计算
4 结果评估
4.1 数据集
4.2 实验设置
4.3 实验结果
5 结束语