Deep Alternating Direction Multiplier Method Network for Event Detection
-
摘要: 针对大规模无线传感器网络(WSN)中的事件检测问题(EDP),传统的方法通常依赖先验信息,阻碍了实际应用。该文为 EDP 提出了一种基于深度学习的算法,称为交替方向乘子法网络(ADMM-Net)。首先,采用低秩稀疏矩阵分解来建模事件的时空相关性。之后,EDP 被表述为一个带约束的优化问题并用交替方向乘子法(ADMM)求解。然而,优化算法收敛慢且算法的性能依赖于对先验参数的仔细选择。该文基于深度学习中“展开”的概念,提出了一种用于EDP的深度神经网络ADMM-Net。通过“展开”ADMM算法的方式得到。 ADMM-Net 具有固定层数,其参数可以通过监督学习训练获得。无需先验信息。相比于传统算法,提出的 ADMM-Net 收敛快且不需先验信息。人造数据集和真实数据集的仿真结果验证了ADMM-Net 的有效性。Abstract: Considering the Event Detection Problem (EDP) in the large-scale Wireless Sensor Network (WSN), the conventional methods rely generally on some prior information, which obstacles the actual application. In this paper, a deep learning-based algorithm, named as Alternating Direction Multiplier Method Network (ADMM-Net), is proposed for the EDP. Firstly, the low rank and sparse matrix decomposition is adopted to capture the spatial-temporal correlation of events. After that, the EDP is formulated as a constrained optimization problem and solved by the Alternating Direction Multiplier Method (ADMM). However, the optimization algorithm suffers from low convergence. Besides, the algorithm’s performance relies heavily on the careful selection of prior parameters. By adopting the conception of “unfolding” in deep learning field, a deep learning network which is named ADMM-Net, is proposed for the EDP in this paper. The ADMM-Net is obtained by unfolding the ADMM algorithm. The ADMM-Net is with fixed layers, whose parameters can be trained via supervised learning. No prior information is required. Compared to the conventional methods, the proposed ADMM-Net does not require any prior information while enjoying fast convergence. Simulation results on both synthesis and realistic datasets verify the effectiveness of the proposed ADMM-Net.
-
1. 引言
在物联网(Internet of Things, IoTs)中,无线传感器网络(Wireless Sensor Network, WSN)是其重要组成部分[1]。WSN是由布置在特定区域的传感器组成的。由于传感器成本低,因此可以大规模布置。通过从传感器收集的大量数据,WSN可以实现对环境的实时监测。其中,监测异常事件是WSN的一项重要应用。异常事件,如:工业机器故障、重大自然灾害、军事入侵的发生,会导致巨大的经济和社会损失。而且由于传感器收集到数据存在偏差,事件可能出现误检和漏检,进而造成更严重的后果[2]。
针对事件检测,研究者提出了许多事件检测算法。这些算法可分为两类。第1类是基于阈值的事件检测算法,通过专家知识或深度学习设定阈值,对传感器数据进行判决,判断是否出现事件[3]。这类算法虽然简便,但不适应变化的环境。第2类方法是基于预测的事件检测算法,主要分为模式匹配算法[4]和时空相关性算法[5]。模式匹配算法是通过将传感器读数同存储在数据库中的事件发生模式进行匹配,在事件发生的早期就可以检测出异常事件,但是不能检测出数据库中未包含的事件发生模式。由于事件发生通常在时间和空间上具有相关性[6],时空相关性算法采用统计模型对事件发生的时空相关性建模,可适用于更复杂场景下的异常事件检测。
时空相关性算法的研究通常对事件发生时传感器数据的时间或空间相关性建模[7-9]。如累积和(CUmulative SUM control chart, CUSUM) 算法[7]利用了节点数据的时间相关性,在每个节点检测异常事件。文献[8,9]分别基于投票的分布式贝叶斯网络和马尔可夫随机场(Markov Random Field, MRF)对事件发生时节点数据的空间相关性建模。这些方法只考虑了事件发生是节点数据的时间或空间相关性,带来的检测增益有限。而实际上数据在时间和空间上都存在相关性。文献[10]采用动态马尔可夫随机场(Dynamic Markov Random Field, DMRF)对事件的时空相关性建模,并联合CUSUM算法和平均场(mean field)近似算法判决当前节点有无异常事件发生。文献[11]进一步将事件检测问题扩展到存在高斯噪声污染的情况。近年来,还有研究者根据社交网络中的信任值概念,采用贝叶斯信任模型建模异常事件,并通过贝叶斯滤波检测异常事件[12]。但是这些算法通常需要传感器的空间位置信息,同时假设传感器数据分布已知。而实际中,WSN中的传感器众多,导致算法复杂度高,难以实际应用。最近有学者利用低秩和稀疏分解(Low Rank and Sparse Matrix Decomposition, LRaSMD)模型[13]描述异常事件的时空相关性。把异常检测问题转化为优化问题迭代求解[14]。但是算法收敛慢,且需要先验知识来设定更新参数,不适用于实时性要求高的场景。
近些年,深度学习领域提出了“展开(unfolding)思想,应用于自编码器[15]。通过将优化算法转化为神经网络,“展开”后的网络可以提升优化算法的收敛性能。这一思想之后被应用到其他领域。比如文献[16]将交替方向乘子法(Alternating Direction Multiplier Method, ADMM)“展开”为交替方向乘子法网络(Alternating Direction Multiplier Method Network, ADMM-Net),应用于磁共振成像领域。而文献[17]提出了一种有收敛性保证的“展开”网络,应用于WSN中的缺失数据恢复问题。本文提出一种基于深度学习的事件检测算法ADMM-Net。针对传统的事件检测方法中数据量大、建模复杂的问题,提出采用低秩和稀疏分解模型建模事件的时空相关性。同时针对优化算法收敛慢且参数设计需要先验知识的问题,进一步将ADMM算法“展开”为具有固定层数的神经网络ADMM-Net。通过监督学习的方式训练,提升算法收敛性能。在人造数据集和真实数据集上的仿真验证了ADMM-Net的性能和鲁棒性。
本文其余部分结构如下:第2节描述事件检测问题模型和优化问题转化。第3节介绍优化问题的ADMM算法求解和提出的神经网络ADMM-Net。第4节则通过实验仿真的方式验证提出的ADMM-Net的性能。并在第5节总结全文。
2. 系统建模
2.1 时空相关事件检测模型
考虑一个含n个传感器的WSN。如图1所示,在每个采样时刻,每个传感器采集一个数据(例如:温度、湿度、pH等),这些数据在汇聚中心(Fusion Center, FC)汇聚得到一个数据帧。在连续的m时刻内收集的数据表示成m×n的数据矩阵D。正常而言,空间上靠近的传感器,其采集到的数据读数相近,且在当前时刻的传感器读数和前一个时刻的数据读数相近,连续变化。因此,传感器数据存在时空相关性,可以用低秩特性来衡量[17]。而网络中的异常事件相比于正常数据,在时间和空间上稀少且持续时间短。因此表现为时空上稀疏性,可用稀疏特性来衡量[13]。类比文献[13],传感器数据用LRaSMD模型表示为
D=A+E+N (1) 其中,D是由低秩数据矩阵A(对应于正常的传感器数据)和稀疏的异常数据矩阵E(非0元素的位置对应于异常事件发生区域)以及观测中引入的高斯扰动N组成的。
因此,事件检测任务可以构造为基于连续时间内从WSN中获取的传感器数据,利用正常观测数据的低秩特性而异常事件的稀疏特性,估计异常事件的发生区域和时间段。检测WSN中的异常事件问题可以描述为最小化矩阵零范数问题[13],表示为
minE‖ (2) 其中, \Vert \cdot {\Vert }_{0} 表示矩阵0-范数运算,0范数表示事件区域大小, {\text{rank}}( \cdot ) 表示矩阵秩运算,矩阵 {\boldsymbol{A}} 的秩小于给定值 r 即要求观测得到的正常数据满足低秩约束, \Vert \cdot {\Vert }_{\text{F}} 代表矩阵的F-范数(Frobenius norm),约束噪声能量,使得数据中的噪声的能量小于\delta 。
2.2 问题转化
由于优化问题式(2)非凸[17],无法在确定性多项式时间内求解,而且正常传感器数据 {\boldsymbol{A}} 的秩 r 通常未知。由于矩阵0-范数和矩阵求秩都不能求导,可将矩阵0-范数放松为可导的矩阵1-范数,即矩阵非0元素绝对值之和,同时将矩阵求秩放松为可导的矩阵核范数运算,表示为 \Vert \cdot {\Vert }_{\star } 。有\Vert {\boldsymbol{A}}{\Vert }_{\star }= {\displaystyle\sum }_{i=1}^{\mathrm{min}\{m,n\}}{\sigma }_{i}({\boldsymbol{A}}),其中{\sigma _i}({\boldsymbol{A}})为矩阵 {\boldsymbol{A}} 的第 i 个奇异值。引入辅助变量 {\boldsymbol{B}} ,使得 {\boldsymbol{B}} = {\boldsymbol{A}} ,问题式(2)转化为
\left.\begin{split} & \mathop {\min }\limits_{{\boldsymbol{A}},{\boldsymbol{E}}} \;\;\:{\lambda _1}{\left\| {\boldsymbol{A}} \right\|_*} + {\lambda _2}{\left\| {\boldsymbol{E}} \right\|_*} \\ & \quad{\rm{s.t}}.\;\;\;\;{\boldsymbol{B}} = {\boldsymbol{A}} \\ & \quad\;\;\;\;\;\;\;\;\;{\left\| {{\boldsymbol{D}} - {\boldsymbol{B}} - {\boldsymbol{E}}} \right\|_{{{\backslash {\rm{textrm}}\{ F\} }}}} \le \delta \end{split}\right\} (3) 其中,\mathop \lambda \nolimits_{\text{1}} 和\mathop \lambda \nolimits_{\text{2}} 分别是对传感器数据的低秩和稀疏特性的加权约束。定义问题式(3)的可行域 \mathcal{X}: = \left\{ \left( {{\boldsymbol{B}},{\boldsymbol{E}}} \right)| {{\left\| {{\boldsymbol{D}} - {\boldsymbol{B}} - {\boldsymbol{E}}} \right\|}_{\text{F}}} \le \delta \right\},则有
{{{ {\textit{1}}}}_\mathcal{X}}\left( {{\boldsymbol{B}},{\boldsymbol{E}}} \right) = \left\{ \begin{aligned} & { \:0,\;\;\:\;\;\;\;\,\left( {{\boldsymbol{B}},{\boldsymbol{E}}} \right) \in \mathcal{X}} \\ & {\:\infty ,\;\;\:\;\;\:\left( {{\boldsymbol{B}},{\boldsymbol{E}}} \right) \notin \mathcal{X}} \end{aligned} \right. (4) 为了求解问题式(3),需要构造问题式(3)的增广拉格朗日函数形式,即
\begin{split} {\mathcal{L}_{\text{f}}}\left( {{\boldsymbol{A}},{\boldsymbol{B}},{\boldsymbol{E}},{\boldsymbol{\varLambda}} } \right) = & {\lambda _1}{\left\| {\boldsymbol{A}} \right\|_*} + {\lambda _2}{\left\| {\boldsymbol{E}} \right\|_1} + \langle {\boldsymbol{\varLambda}} ,\;{\boldsymbol{A}} - {\boldsymbol{B}}\rangle \\ & + \frac{\alpha }{2}\;\left\| {{\boldsymbol{A}} - {\boldsymbol{B}}} \right\|_{\text{F}}^2 + {1_\mathcal{X}}\left( {{\boldsymbol{B}},{\boldsymbol{E}}} \right)\\[-10pt] \end{split} (5) 3. 深度展开ADMM-Net检测算法
3.1 交替方向乘子法求解
问题式(5)可以通过交替方向乘子法(Alternating Direction Method of Multipliers, ADMM)求解 [13]。其第 k 次迭代为
\begin{split} \qquad\; {{\boldsymbol{A}}_k} = & \mathop {\arg \min }\limits_{\boldsymbol{A}} \left\{ {\lambda _1}{{\left\| {\boldsymbol{A}} \right\|}_*} + \frac{\alpha }{2}{{\left\| {{\boldsymbol{A}} - {{\boldsymbol{B}}_{k - 1}}} \right\|}_{\text{F}}} \right.\\ & + \langle {{\boldsymbol{\varLambda}} _{k - 1}},{\boldsymbol{A}} - {{\boldsymbol{B}}_{k - 1}}\rangle \Bigr\} \end{split} (6) \begin{split} \;\qquad {{\boldsymbol{B}}_k},{{\boldsymbol{E}}_k} =& \mathop {\arg \min }\limits_{{\boldsymbol{B}},{\boldsymbol{E}} \in \mathcal{X}} \left\{ {{\left\| {\boldsymbol{E}} \right\|}_1} + \frac{\alpha }{2}{{\left\| {{{\boldsymbol{A}}_k} - {\boldsymbol{B}}} \right\|}_{\text{F}}}\right. \\ & + \langle {{\boldsymbol{\varLambda}} _{k - 1}},{{\boldsymbol{A}}_k} - {\boldsymbol{B}}\rangle \Bigr\} \end{split} (7) {{\boldsymbol{\varLambda}} _k} = {{\boldsymbol{\varLambda}} _{k - 1}} + \alpha \left( {{{\boldsymbol{A}}_k} - {{\boldsymbol{B}}_k}} \right) (8) 其中,子问题式(6)可以采用邻近梯度算法(Proximal Gradient Descent, PGD)求解得到正常数据矩阵的第 k 次更新结果 {{\boldsymbol{A}}_k} 。更新公式为
{{\boldsymbol{A}}_k} = {\text{SVT}}\left( {{{\boldsymbol{B}}_{k - 1}} - \frac{1}{\alpha }{{\boldsymbol{\varLambda}} _{k - 1}},\frac{{{\lambda _1}}}{\alpha }} \right) (9) 其中, {\text{SVT}}\left( { \cdot , \cdot } \right) 表示奇异值阈值运算,定义式为
{\text{SVT}}\left( {{\boldsymbol{X}},\tau } \right) = {\boldsymbol{U}}{\text{sgn}}\left( {\boldsymbol{\varSigma}} \right) \odot \max \left\{ {|{\boldsymbol{\varSigma}} | - \tau {\boldsymbol{I}},0} \right\}{{\boldsymbol{V}}^{\text{T}}} (10) 其中,{\boldsymbol{X}} = {\boldsymbol{U}}{\boldsymbol{\varSigma}} {{\boldsymbol{V}}^{\rm{T}}}是矩阵{\boldsymbol{X}}的奇异值分解形式,{\boldsymbol{U}},{\boldsymbol{V}}分别是{\boldsymbol{X}}的左右奇异值向量矩阵,{\boldsymbol{\varSigma}}为奇异值矩阵,{\boldsymbol{I}}是单位阵,{{\rm{sgn}}} \left( \cdot \right)是符号运算,{\text{sgn}}\left( {\boldsymbol{\varSigma}} \right)对{\boldsymbol{\varSigma}}中大于0的元素置1,小于0的置–1, \odot 为按元素相乘运算, | \cdot | 是取绝对值运算。
求解子问题式(7),可有更新公式为
{{\boldsymbol{E}}_k} = {\text{ST}}\left( {{\boldsymbol{D}} - {{\boldsymbol{A}}_k} - \frac{1}{\alpha }{{\boldsymbol{\varLambda}} _{k - 1}},{\lambda _2}\left( {\frac{1}{\alpha } + \frac{1}{{{\beta _k}}}} \right)} \right) (11) {{\boldsymbol{B}}_k} = \frac{{{\beta _k}}}{{\alpha + {\beta _k}}}\left( {{\boldsymbol{D}} - {{\boldsymbol{E}}_k}} \right) + \frac{\alpha }{{\alpha + {\beta _k}}}\left( {{{\boldsymbol{A}}_k} + \frac{1}{\alpha }{{\boldsymbol{\varLambda}} _{k - {\text{1}}}}} \right) (12) 其中,{\text{ST(}} \cdot , \cdot )是软阈值运算算子,定义为
{\text{ST}}\left( {{\boldsymbol{X}},\tau } \right) = {\text{sgn}}\left( {\boldsymbol{X}} \right) \odot \max \left\{ {\left| {\boldsymbol{X}} \right| - \tau {\boldsymbol{I}},0} \right\} (13) {\beta _k} 可以通过求解如式(14)的问题获得
{\beta _k} = \arg \mathop {\min }\limits_x \left\| {{\text{min}} \left\{ {\frac{{{\lambda _2}}}{x}{\boldsymbol{I}},\frac{\alpha }{{\alpha + x}}{\text{|}}{\boldsymbol{D}} - {\boldsymbol{{A}}_k} - \frac{1}{\alpha }{{\boldsymbol{\varLambda}} _{k - 1}}{\text{|}}} \right\}} \right\|_{\text{F}}^2 (14) 求解过程参考文献[18]。其中,\alpha 采用递增方式更新。如{\alpha _k} = \kappa {\alpha _{k - 1}},\kappa \ge {\text{1}}为固定常数。ADMM算法在合理设定参数{\alpha _k},{\beta _k},{\lambda _{\text{1}}},{\lambda _{\text{2}}},且经过多次的迭代后,可以收敛到比较好的结果。但是,ADMM算法收敛慢,需要几十次以上迭代,难以满足事件检测对即时性的要求。另外,参数{\alpha _k},{\beta _k},{\lambda _{\text{1}}},{\lambda _{\text{2}}}的设定需要先验知识才能收敛,严重影响事件检测算法的应用。3.2节将提出一种深度学习网络ADMM-Net来解决收敛慢和参数难以设定的问题。
3.2 ADMM-Net事件检测算法
“展开”算法是将迭代算法转化成具有递归特性且有固定深度的神经网络,迭代算法的每一次迭代运算对应神经网络中的一层,并通过反向传播学习网络参数[15]。不同于传统递归神经网络,“展开”算法得到的神经网络具有和迭代算法一样的数学特性,解释性更强。“展开”算法得到的神经网络和原迭代算法相比,“展开”的神经网络因为利用深度学习强大的学习和泛化能力,可以得到更快的收敛速度和性能。
通过对3.1节提出ADMM事件检测算法“展开”,可得到“展开”后的神经网络ADMM-Net。考虑到迭代算法中各运算的物理意义,ADMM-Net定义了6种算子(神经元)替代迭代算法的运算,其流图形式如图2所示,其输入为观测数据矩阵 {\boldsymbol{D}} ,输出为事件检测结果 {{\boldsymbol{A}}_K},{{\boldsymbol{E}}_K} 。图1的圆圈对应运算输出的变量,圆圈间相连的有向边表示运算间的先后顺序,箭头方向指向下一个变量。其中,第 k 层包含变量{{\boldsymbol{P}}_k},{{\boldsymbol{A}}_k},{{\boldsymbol{Q}}_k},{{\boldsymbol{E}}_k},{{\boldsymbol{B}}_k},{{\boldsymbol{\varLambda}} _k}。按照流图方向执行一层算子运算相当于ADMM算法的一次迭代。 K 层的ADMM-Net的输入为观测数据矩 {\boldsymbol{D}} ,输出为估计的正常数据矩阵 {{\boldsymbol{A}}_K} 和异常数据矩阵 {{\boldsymbol{E}}_K} 。ADMM-Net第 k 层定义了6种算子,分别命名为:低秩重建算子、低秩更新算子、稀疏异常重建算子、异常更新算子、辅助变量更新算子以及拉格朗日乘子更新算子。算子和ADMM算法中运算的对应关系和ADMM-Net的第 k 层运算如下:
(1) 低秩重建算子:定义参数 {\eta _k} 替代 1/{\alpha _k} ,给定辅助变量 {{\boldsymbol{B}}_{k - 1}} 和拉格朗日乘子{{\boldsymbol{\varLambda }}_{k - 1}},这一算子可以获得对正常数据 {{\boldsymbol{A}}_k} 的初步重建,输出的变量 {{\boldsymbol{P}}_k} 表示为
{{\boldsymbol{P}}_k} = {{\boldsymbol{B}}_k} - {\eta _k}{{\boldsymbol{\varLambda}} _{k - 1}} (15) (2) 低秩更新算子:这一算子对输出 {{\boldsymbol{P}}_k} 进行奇异值阈值运算,过滤 {{\boldsymbol{P}}_k} 中的噪声,从而更新低秩矩阵 {{\boldsymbol{A}}_k} 。定义阈值参数{\zeta _k}代替原始ADMM算法中的 1/{\alpha _k} ,输出的变量 {{\boldsymbol{A}}_k} 为
{{\boldsymbol{A}}_k} = {\text{SVT}}\left( {{{\boldsymbol{P}}_k},{\zeta _k}} \right) (16) 低秩重建算子和低秩更新算子等效于式(9),用于联合更新 {{\boldsymbol{A}}_k} 。
(3) 稀疏异常重建算子:这一算子利用观测数据 {\boldsymbol{D}} 和已更新的正常数据矩阵{{\boldsymbol{A}}_k}获得稀疏矩阵 {{\boldsymbol{E}}_k} 的初步重建 {{\boldsymbol{Q}}_k} 。定义{\gamma _k}替代 1/{\alpha _k} ,其运算为
{{\boldsymbol{Q}}_k} = {\boldsymbol{D}} - {{\boldsymbol{A}}_k} + {\gamma _k}{{\boldsymbol{\varLambda}} _{k - 1}} (17) (4) 稀疏更新算子:在 {{\boldsymbol{Q}}_k} 中,依然存在噪声,通过和新定义阈值{\varphi _k}= {\lambda _2}(1/{\alpha _k} + 1/{\beta _k}) 比较,执行软阈值运算剔除噪声,从而更新 {{\boldsymbol{E}}_k}
{{\boldsymbol{E}}_k} = {\text{ST}}\left( {{{\boldsymbol{Q}}_k},{\varphi _k}} \right) (18) 稀疏重建算子和稀疏更新算子的运算可以联合更新{{\boldsymbol{E}}_k},同式(11)。
(5) 辅助变量更新算子:这一运算更新辅助变量 {{\boldsymbol{B}}_k} 。定义{\phi _k} = {\beta _k}/({\alpha _k} + {\beta _k}),输出变量 {{\boldsymbol{B}}_k} 的更新运算为
{{\boldsymbol{B}}_k} = {\phi _k}\left( {{\boldsymbol{D}} - {{\boldsymbol{E}}_k}} \right) + (1 - {\phi _k}){{\boldsymbol{Q}}_k} (19) 通过稀疏异常重建算子和辅助变量更新算子可以更新 {{\boldsymbol{B}}_k} ,同式(12)。
(6) 拉格朗日乘子更新算子:定义参数{\xi _k}代替{\alpha _k},拉格朗日乘子更新公式为
{{\boldsymbol{\varLambda}} _k} = {{\boldsymbol{\varLambda}} _{k - 1}} + {\xi _k}\left( {{{\boldsymbol{A}}_k} - {{\boldsymbol{B}}_k}} \right) (20) 该算子可更新拉格朗日乘子 {{\boldsymbol{\varLambda}} _k} ,同式(8)。
ADMM-Net利用监督学习可得到更优的参数选取策略。相比于ADMM算法,ADMM-Net的参数可以在更大的生成空间中搜索最优的参数设置,同时避免{\beta _k}的多次复杂运算。ADMM-Net在数据训练中,采用的是归一化的均方误差(Normalized Mean Square Error, NMSE)作为监督学习的损失函数,即
\begin{split} \mathcal{L}\left({\boldsymbol{\varTheta}} \right)=& \frac{1}{G}{\displaystyle \sum _{i=1}G}\left(\frac{\Vert {{\boldsymbol{A}}}^{(i)}-{\widehat{{\boldsymbol{A}}}}^{(i)}{\Vert }_{\text{F}}^{2}}{\Vert {{\boldsymbol{A}}}^{(i)}{\Vert }_{\text{F}}^{2}}+(1-\epsilon)\right.\\ & \cdot\left.\frac{\Vert {{\boldsymbol{E}}}^{(i)}-{\widehat{{\boldsymbol{E}}}}^{(i)}{\Vert }_{\text{F}}^{2}}{\Vert {{\boldsymbol{E}}}^{(i)}{\Vert }_{\text{F}}^{2}}\right),0 < \epsilon < 1 \end{split} (21) 其中,\mathcal{L}\left( {\boldsymbol{\varTheta }} \right)是网络参数为{\boldsymbol{\varTheta }} = \{ {\eta _k},{\zeta _k},{\gamma _k},{\varphi _k},{\phi _k},{\xi _k}\} , k = 1,2, \cdots ,K时的均方误差, K 是ADMM-Net的层数, {{\boldsymbol{A}}^{(i)}} 和 {{\boldsymbol{E}}^{(i)}} 表示第 i 个训练数据块 {{\boldsymbol{D}}^{(i)}} 中的正常数据矩阵和异常数据矩阵, {\widehat {\boldsymbol{A}}^{(i)}},{\widehat {\boldsymbol{E}}^{(i)}} 是在网络参数为 {\boldsymbol{\varTheta}} 时ADMM-Net的输出, G 代表训练数据集大小,\epsilon是对正常数据矩阵估计误差和异常数据矩阵估计误差的均衡,此处设 \epsilon 为0.5。
ADMM-Net流程见算法1。在网络训练阶段,通过监督学习训练网络参数,也就是利用收集的传感器数据执行算法1所有步骤计算\mathcal{L}\left( {\boldsymbol{\varTheta}} \right)。通过反向传播梯度下降训练网络参数{\boldsymbol{\varTheta}}降低\mathcal{L}\left( {\boldsymbol{\varTheta}} \right),直到获得满意结果。ADMM-Net在训练完毕后,则固定网络参数{\boldsymbol{\varTheta}},正向传播算法1步骤(1)—(12),得到网络输出。
算法1 ADMM-Net事件检测算法 已知:数据矩阵D,深度神经网络层数K,和初始化随机生成参
数:{\boldsymbol{\varTheta } } = \{ {\eta _k},{\zeta _k},{\gamma _k},{\varphi _k},{\phi _k},{\xi _k}\} ,k = 1,2, \cdots ,K.(1) 初始化 { {\boldsymbol{A} }_0} = { {\boldsymbol{B} }_0} = { {\boldsymbol{E} }_0} = {{\boldsymbol{\varLambda}} _0} = { { {\textit{0} } } }为全0矩阵,k = 0 (2) 正向传播: (3) for 数据集中的每个样本 do (4) While k < K do (5) {{\boldsymbol{P}}_k} = {{\boldsymbol{B}}_k} - {\eta _k}{\Lambda _{k - 1}} (6) {{\boldsymbol{A}}_k} = {\text{SVT}}\left( {{{\boldsymbol{P}}_k},{\zeta _k}} \right) (7) { {\boldsymbol{Q} }_k} = {\boldsymbol{D} } - { {\boldsymbol{A} }_k} + {\gamma _k}{{\boldsymbol{\varLambda}} _{k - 1} } (8) {{\boldsymbol{E}}_k} = {\text{ST}}\left( {{{\boldsymbol{Q}}_k},{\varphi _k}} \right) (9) {{\boldsymbol{B}}_k} = {\phi _k}\left( {{\boldsymbol{D}} - {{\boldsymbol{E}}_k}} \right) + (1 - {\phi _k}){{\boldsymbol{Q}}_k} (10) {{\boldsymbol{\varLambda}} _k} = {{\boldsymbol{\varLambda}} _{k - 1} } + {\xi _k}\left( { { {\boldsymbol{A} }_k} - { {\boldsymbol{B} }_k} } \right) (11) k = k + 1 (12) end while (13) 输出{{\boldsymbol{A}}_K}和{{\boldsymbol{E}}_K},并计算归一化均方误差 (14) 反向传播: (15) for 隐藏层或输出层的每个神经元 do (16) 更新网络中的每一个权值和偏差 (17) end for (18) end for 4. 仿真结果
本节通过在人造数据集和真实数据集上的仿真评估ADMM和ADMM-Net的事件检测性能。人造数据集的生成参考文献[6],真实数据集为Intel-Berkeley Lab[19]所测的温度数据。另外,采用文献[8,12]的算法作为对比。文献[8]只考虑传感器数据的空间相关性,采用基于投票的贝叶斯算法,在每个传感器利用周围传感器的数据计算当前传感器异常事件发生概率。文献[12]算法同时考虑了传感器数据的时间和空间相关性。同时仿真定义了移动和扩散两种事件类型。如图3所示,分别用来模拟移动物体入侵和污染气体扩散,其中小圆点为传感器。图3(a)中事件区域从 {T_1} 时刻的深色区域变为 {T_2} 时刻的浅色区域,图3(b)中事件区域从 {T_1} 时刻的深色圆形区域变为 {T_2} 时刻的浅色圆形区域。
本节的组织如下:首先分析不同算法在不同数据集上的事件检测性能,然后通过仿真比较了提出的ADMM和ADMM-Net在不同数据集的收敛速度和性能。另外,由于训练集大小会影响ADMM-Net的性能,仿真还评估了训练数据集的大小对ADMM-Net性能的影响。最后通过比较不同的传感器分布密度下的仿真验证算法的鲁棒性。
人造数据集的生成方式[6]如下:假定在1000×1000的方形网格区域中,随机布置了m = 500个传感器,每个传感器占用1个网格。同时,定义扩散事件和移动事件。设置非事件区域的传感器读数服从均值为2,方差为0.5的高斯分布,而在事件区域,传感器服从均值为5,方差为1.5的高斯分布,30 dB 信噪比(Signal to Noise Ratio, SNR)的白噪声。移动事件在每个时刻的移动方向和速度随机,事件区域半径为10。同时扩散事件起始于一个传感器,在每个时刻向周围区域扩散,速度恒定,最大事件区域半径为15。每个事件由连续n = 500个采样时刻的数据组成。由此生成M = 50\;000个事件,其两类事件数目相同。
Intel-Berkeley数据集是从分布于 50 \times 50 网格区域的 49个传感器获得的,每个传感器每30 s收集一个温度数据。该数据集有25000个连续时刻的数据。为了便于分析,本实验以n = 100(50 min)为观测周期,由此将数据集分为M = 250个数据块。在这些数据块中加入模拟的异常事件来作为实验数据。其中,事件区域半径10,事件区域的传感器数据服从均值为3,方差为1的高斯分布,再加上30 dB的白噪声。为了合理验证提出算法的有效性,数据集中80%的数据作为训练集,而剩余20%的数据作为测试集。另外,由于文献[8,12]算法中传感器都需要获得周围传感器信息帮助决策,仿真设定每一传感器可以获得欧氏距离小于3的周围传感器信息。
采用统计指标精确度(precision)、召回率(recall)和F1分数作为算法性能的评估指标,定义为
\left.\begin{aligned} & 精确度=\frac{\text{TP}}{\text{TP + FP}}\\ & 召回率=\frac{\text{TP}}{\text{TP}+\text{FN}}\\ & \text{F1}分数\text{ = }\frac{2\times 精确度\times 召回率}{精确度+召回率} \end{aligned}\right\} (22) 其中,TP为算法正确检测到的异常事件点的数目,FP是算法误检的异常事件点的数目,而FN是算法漏检的异常事件点的数目。
仿真首先比较ADMM算法和ADMM-Net同对比文献[8,12]算法在不同数据集上的事件检测性能。如图4所示,图4(a)和图4(b)分别是4种算法在Intel-Berkeley 温度数据集和人造数据集上的性能。从中可以看出,ADMM算法和ADMM-Net的检测精度、召回率和F1分数性能相近,同时远优于对比算法。在Intel-Berkeley数据集上的性能相比文献[8]提升了近30%,相比文献[12]提升了近20%。在人造数据集上的仿真表明,ADMM算法和ADMM-Net的事件检测性能相近,且F1分数高于文献[8,12]近10%。原因是ADMM算法和ADMM-Net利用了一段连续时间内传感器数据的时空相关性检测异常事件,而对比文献[8]只利用了传感器数据的空间相关性,对比文献[12]虽然利用了数据的时空相关性,但是只考虑了上一时刻的时间相关性和相邻传感器的信息。仿真也证明了ADMM算法和ADMM-Net的鲁棒性。
图5比较了在人造数据集和在Intel-Berkeley数据集上ADMM算法和ADMM-Net事件检测的收敛性能。图5(a)—图5(c) 分别评估了事件检测的精度、召回率和F1分数随迭代次数(层数)的变化。在人造数据集中,ADMM算法大约迭代50次收敛,而ADMM-Net只需要6层就可收敛。在真实的Intel-Berkeley数据集中,ADMM算法需要30次迭代收敛,而ADMM-Net只需6层。极大降低了运算的复杂度,实时性好。这归因于ADMM-Net选择了不同于ADMM算法的参数选取策略,ADMM算法的参数需要手动设定,需要一定的专家知识,且算法收敛慢。而ADMM-Net算法的参数通过监督学习的方式,从已有的训练集中学得在固定层数下使定义的损失函数最小的参数选取策略,因此收敛更快。关于ADMM-Net的收敛性能研究可参考文献[17]。
由于ADMM-Net需要通过监督学习的方式获得网络参数,图6仿真比较了不同训练数据集的大小对ADMM-Net事件检测算法在测试集上性能的影响。仿真在Intel-Berkeley数据集上执行。由于ADMM-Net在6层网络的情况下性能已经收敛,这里仿真采用6层的ADMM-Net。由图6可知,在只有10%(也就是25组)数据作为训练集的情况下,事件检测算法的性能达到了86%,而在50%的数据作为训练集和所有数据都作为训练集的事件检测性能几乎一致。仿真说明,ADMM-Net的训练不需要非常大量的训练数据集,算法鲁棒性好。
实际而言,WSN中传感器数目增加或减小会影响事件检测的灵敏度,增加事件检测算法的检测难度。图7比较了在人造数据集上,给定WSN区域大小情况下,网络中传感器数目变化对事件检测性能的影响。由图7可知,ADMM算法和ADMM-Net事件检测性能远高于对比文献[8,12]算法,但是随着节点数目增加,ADMM算法的事件检测性能下降。这是因为传感器数目增加的同时,异常事件分布的稀疏性减弱,易被误检为正常数据。相比而言,ADMM-Net事件检测在节点数目很高时性能相对稳定。这证明了ADMM-Net算法的鲁棒性是优于ADMM算法的。同时相比对比文献[8,12]算法,所提ADMM-Net算法依然有10%的性能增益。图7还可看出传感器数目增加对两个算法性能有所提升,原因在于传感器密度增加使得每个传感器可以得到更多周围传感器信息用于判决。仿真验证了算法的鲁棒性。
5. 结论
针对大规模WSN中的事件检测问题,本文提出一种神经网络算法ADMM-Net,检测WSN中的异常事件。相比传统算法需要传感器空间分布信息和先验信息设计参数,ADMM-Net采用LRaSMD描述事件的时空相关性。且ADMM-Net通过监督学习训练参数,不需先验信息,便于实际应用。仿真实验证明,ADMM-Net的检测性能比传统算法提升显著。同时比ADMM算法收敛速度更快。因此,提出的ADMM-Net更能满足事件检测算法的及时性要求。
-
算法1 ADMM-Net事件检测算法 已知:数据矩阵D,深度神经网络层数K,和初始化随机生成参
数:{\boldsymbol{\varTheta } } = \{ {\eta _k},{\zeta _k},{\gamma _k},{\varphi _k},{\phi _k},{\xi _k}\} ,k = 1,2, \cdots ,K.(1) 初始化 { {\boldsymbol{A} }_0} = { {\boldsymbol{B} }_0} = { {\boldsymbol{E} }_0} = {{\boldsymbol{\varLambda}} _0} = { { {\textit{0} } } }为全0矩阵,k = 0 (2) 正向传播: (3) for 数据集中的每个样本 do (4) While k < K do (5) {{\boldsymbol{P}}_k} = {{\boldsymbol{B}}_k} - {\eta _k}{\Lambda _{k - 1}} (6) {{\boldsymbol{A}}_k} = {\text{SVT}}\left( {{{\boldsymbol{P}}_k},{\zeta _k}} \right) (7) { {\boldsymbol{Q} }_k} = {\boldsymbol{D} } - { {\boldsymbol{A} }_k} + {\gamma _k}{{\boldsymbol{\varLambda}} _{k - 1} } (8) {{\boldsymbol{E}}_k} = {\text{ST}}\left( {{{\boldsymbol{Q}}_k},{\varphi _k}} \right) (9) {{\boldsymbol{B}}_k} = {\phi _k}\left( {{\boldsymbol{D}} - {{\boldsymbol{E}}_k}} \right) + (1 - {\phi _k}){{\boldsymbol{Q}}_k} (10) {{\boldsymbol{\varLambda}} _k} = {{\boldsymbol{\varLambda}} _{k - 1} } + {\xi _k}\left( { { {\boldsymbol{A} }_k} - { {\boldsymbol{B} }_k} } \right) (11) k = k + 1 (12) end while (13) 输出{{\boldsymbol{A}}_K}和{{\boldsymbol{E}}_K},并计算归一化均方误差 (14) 反向传播: (15) for 隐藏层或输出层的每个神经元 do (16) 更新网络中的每一个权值和偏差 (17) end for (18) end for -
[1] STOYANOVA M, NIKOLOUDAKIS Y, PANAGIOTAKIS S, et al. A survey on the internet of things (IoT) forensics: Challenges, approaches, and open issues[J]. IEEE Communications Surveys & Tutorials, 2020, 22(2): 1191–1221. doi: 10.1109/COMST.2019.2962586 [2] JAVADI S H. Detection over sensor networks: A tutorial[J]. IEEE Aerospace and Electronic Systems Magazine, 2016, 31(3): 2–18. doi: 10.1109/MAES.2016.140128 [3] ARAD J, HOUSH M, PERELMAN L, et al. A dynamic thresholds scheme for contaminant event detection in water distribution systems[J]. Water Research, 2013, 47(5): 1899–1908. doi: 10.1016/j.watres.2013.01.017 [4] LIU Li, HAN Guangjie, HE Yu, et al. Fault-tolerant event region detection on trajectory pattern extraction for industrial wireless sensor networks[J]. IEEE Transactions on Industrial Informatics, 2020, 16(3): 2072–2080. doi: 10.1109/TII.2019.2933238 [5] YU Manzhu, BAMBACUS M, CERVONE G, et al. Spatiotemporal event detection: A review[J]. International Journal of Digital Earth, 2020, 13(12): 1339–1365. doi: 10.1080/17538947.2020.1738569 [6] YIN Jie, HU D H, and YANG Qiang. Spatio-temporal event detection using dynamic conditional random fields[C]. The 21st International Joint Conference on Artificial Intelligence, Pasadena, USA, 2009: 1321–1326. [7] GRANJON P. The CuSum algorithm-a small review[EB/OL].https://hal.archives-ouvertes.fr/hal-00914697, 2013. [8] KRISHNAMACHARIB and IYENGAR S. Distributed Bayesian algorithms for fault-tolerant event region detection in wireless sensor networks[J]. IEEE Transactions on Computers, 2004, 53(3): 241–250. doi: 10.1109/TC.2004.1261832 [9] CHEN Xianda, KIM K T, and YOUN H Y. Integration of Markov random field with Markov chain for efficient event detection using wireless sensor network[J]. Computer Networks, 2016, 108: 108–119. doi: 10.1016/j.comnet.2016.07.004 [10] WU Tao and CHENG Qi. Online dynamic event region detection using distributed sensor networks[J]. IEEE Transactions on Aerospace and Electronic Systems, 2014, 50(1): 393–405. doi: 10.1109/TAES.2013.120308 [11] WANG T Y, YANG M H, and WU J Y. Distributed detection of dynamic event regions in sensor networks with a Gibbs field distribution and Gaussian corrupted measurements[J]. IEEE Transactions on Communications, 2016, 64(9): 3932–3945. doi: 10.1109/TCOMM.2016.2593467 [12] WANG Jiejie and LIU Bin. Online fault-tolerant dynamic event region detection in sensor networks via trust model[C]. 2017 IEEE Wireless Communications and Networking Conference (WCNC), San Francisco, USA, 2017: 1–6. [13] CANDÈS E J, LI Xiaodong, MA Yi, et al. Robust principal component analysis?[J]. Journal of the ACM, 2011, 58(3): 11. doi: 10.1145/1970392.1970395 [14] GAO Lianru, HONG Danfeng, YAO Jing, et al. Spectral superresolution of multispectral imagery with joint sparse and low-rank learning[J]. IEEE Transactions on Geoscience and Remote Sensing, 2021, 59(3): 2269–2280. doi: 10.1109/TGRS.2020.3000684 [15] MONGA V, LI Yuelong, and ELDAR Y C. Algorithm unrolling: Interpretable, efficient deep learning for signal and image processing[J]. IEEE Signal Processing Magazine, 2021, 38(2): 18–44. doi: 10.1109/MSP.2020.3016905 [16] JOHNSTON J, LI Yinchuan, LOPS M, et al. ADMM-Net for communication interference removal in stepped-frequency radar[J]. IEEE Transactions on Signal Processing, 2021, 69: 2818–2832. doi: 10.1109/TSP.2021.3076900 [17] YANG Liu, WANG Haifeng, and QIAN Hua. An ADMM-ResNet for data recovery in wireless sensor networks with guaranteed convergence[J]. Digital Signal Processing, 2021, 111: 102956. doi: 10.1016/j.dsp.2020.102956 [18] AYBAT N S and IYENGAR G. An alternating direction method with increasing penalty for stable principal component pursuit[J]. Computational Optimization and Applications, 2015, 61(3): 635–668. doi: 10.1007/s10589-015-9736-6 [19] Intel Berkeley Research Lab. Intel lab data[EB/OL]. http://db.lcs.mit.edu/labdata/labdata.html, 2019. 期刊类型引用(0)
其他类型引用(2)
-