计算机系统应用  2021, Vol. 30 Issue (3): 221-226   PDF    
基于RS-CSA-ELM的WSN节点故障诊断
余正军     
汕头职业技术学院, 汕头 515078
摘要:为及时发现WSN节点故障隐患, 准确掌握WSN运行状态, 本文利用粗糙集理论属性约简算法(简称RS)对WSN节点故障属性进行约简, 以最优的故障属性决策表重构训练样本数据集, 作为极限学习机(Extreme Learning Machine, ELM)神经网络的输入, 建立一个数据驱动的WSN节点故障断模型. 采用乌鸦搜索算法(Crow Search Algorithm, CSA)优化 ELM 神经网络的输入权值和隐含层阀值, 改善网络参数随机生成带来的 ELM 模型输出不稳定、分类精度偏低的问题. 通过对 RS-GA-ELM模型进行仿真分析. 结果表明, RS-GA-ELM模型能够在可靠性不同的数据集中, 保持较高的故障诊断效率, 符合WSN节点故障诊断的需求.
关键词: 故障诊断    乌鸦搜索算法    极限学习机    WSN    粗糙集理论    
Fault Diagnosis of WSN Nodes Based on RS-CSA-ELM
YU Zheng-Jun     
Shantou Polytechnic, Shantou 515078, China
Abstract: In order to discover the hidden troubles of WSN nodes in time and accurately know the running status of WSN, this paper uses the attribute reduction algorithm of rough set theory (RS for short) to reduce the fault attributes of WSN nodes, and reconstructs the training sample data set with the optimal fault attribute decision table as an input to the Extreme Learning Machine (ELM) neural network. In this way, a data-driven fault diagnosis model of WSN nodes is established. The input weights and hidden layer thresholds of the ELM neural network are optimized through Crow Search Algorithm (CSA) to alleviate the unstable output and improve the low classification accuracy of the ELM model caused by the random generation of network parameters. Simulation analysis of the RS-GA-ELM model is carried out. The results show that the RS-GA-ELM model can keep efficiently diagnose faults in data sets with different reliability, which meets the needs of fault diagnosis of WSN nodes.
Key words: fault diagnosis     Crow Search Algorithm (CSA)     Extreme Learning Machine (ELM)     WSN     Rough Sets (RS) theory    

随着智能物联网(AIoT)的兴起, 人们对智能化服务的需求也越来越多. 无线传感网(WSN)作为AIoT的关键组成部分, 其运行状态, 直接影响AIoT的服务质量. 然而, WSN通常部署在环境恶略的地方. 员工无法对WSN中的所有节点进行24小时实时观察和检查. 但是, 一旦WSN中节点出现故障, 将直接影响系统最终的研判. 为此, 研究高效可靠的WSN节点故障诊断方法尤为重要, 它对延长WSN寿命, 保持系统稳定和提高系统服务质量具有重要的现实意义. 目前, WSN节点故障诊断方法可分为基于统计学原理、故障分类和感知数据的时空特性分析三大类. 常用的诊断算法, 如文献[1]采用2-回合投票故障诊断算法对故障进行诊断, 文献[2]以ICA进行故障属性的约简, 通过朴素贝叶斯进行故障诊断, 文献[3]利用WSN感知数据的时空相关性原理将诊断正常的候选簇头的观测值与簇内成员节点的观测值比较来对簇内成员节点进行诊断, 文献[4]以粗糙集进行故障属性的约简, 通过GA-KELM算法对对故障诊断. 这些方法要么存在故障属性约简不彻底, 要么算法模型的参数复杂等问题. 本文鉴于他们的研究经验, 提出一种基于RS-CSA-ELM的WSN节点故障诊断方法, 以RS对故障属性进行约简, 并以CSA优化EML参数作为故障诊断模型, 完成WSN节点故障诊断. 该算法仿真结果表明, 此法算法模型参数设置简单、易实现, 故障诊断的精确度高、误诊率低.

1 WSN节点故障分析 1.1 WSN网络结构

WSN是一种高度自组织智能型数据处理网络, 通过节点的密集部署, 实现数据的量化收集、聚合和传输操作. 典型的WSN组成分为传感节点、中继节点、网关节点、调控中心4个部分. 其结构如图1所示.

1.2 WSN节点结构及故障分析

WSN节点自身就是一个高内聚低耦合的结构化产品, 它由感知单元、处理单元、信息收发单元及能量保障单元, 其结构如图2所示. 这4个独立的单元相互协作完成节点的任务, 任何一个单元出现出现故障将导致最终数据的错误影响WSN的正常工作. 而每个单元都具有自己的特征, 因此查找节点故障等同于查找节点产生故障的功能单元. 这种检测方法精度高, 便于维修[57], 本文针对WSN网络结构及其节点结构, 将故障分为能量保障单元故障、处理单元故障、信息收发单元故障以及感知单元故障.

2 WSN节点故障诊断算法设计 2.1 故障诊断属性约简算法

粗糙集理论属性约简算法(简称RS)能从模糊数据本身归纳出数据关键信息, 删除冗余信息, 求得最小表达式, 建立决策表. 正好可用于对WSN节点故障诊断属性的约简, 其过程如下: 设故障诊断决策表为 $ S=(U,R,V,f) $ , 其中, S为WSN节点故障诊断决策表; $ R=P\cup D $ 节点故障属性集合, P, D分别代表条件属性集合和决策属性集合; $U = \{ {x_1},{x_2}, \cdots ,{x_m}\} $ 为论域; 属性值域 $V = \cup {V_R}\left( {m[i]} \right) \in R$ ; 则信息函数为 $ f:U\times R\to V $ , 表示对每个 $m \in R,x \in U,f(x,m) \in {V_R}$ . 其分辨矩阵可设置成:

$ {C_D}(i,j) = \left\{ \begin{array}{*{20}{l}} m[k],&d({x_i}) = d({x_j})\\ 0,&d({x_i}) \ne d({x_j}) \end{array}\right. $

其中, $ {C}_{D}(i,j) $ 为分辨矩阵的第 $ i $ 行第 $ j $ 列处的元素, $ m\left[k\right]\in P $ .

图 1 典型WSN网络结构

图 2 WSN节点结构

基于上述分辨矩阵的故障属性约简算法步骤如下:

(1)利用上文描述, 根据故障样本决策表构建分辨矩阵 $ {C}_{D}(i,j) $ .

(2)约简分辨矩阵 ${C_D}(i,j)$ , 将其中的单属性元素对应位置零.

(3)若 $ {C}_{D}(i,j)\ne 0,{\text{且}}{C}_{D}\ne \varnothing $ 时, 则构建RS属性样本T约简的操作范式:

$T = \mathop \wedge \limits_{{C_D}(i,j) \ne \emptyset } \{ \mathop \vee \limits_{m[k] \in {C_D}(i,j)} m[k]\} $

(4)向步骤(3)的RS属性样本T中每一项都添加步骤(2)中的单属性, RS属性样本约简T', 其每项都代表一个故障属性约简.

2.2 WSN节点故障诊模型

RS-CSA-ELM算法对故障诊断原理描述为: 以WSN节点故障预兆构建故障样本数据集, 以故障种类属性和特征属性构建故障决策表. 首先, 根据RS剔除原始故障样本属性冗余信息, 获得约简后的故障属性组合; 其次, 利用属性之间的相关性选取最优属性约简; 以最优属性约简构建新的故障样本作为算法模型的训练样本, 最后, 建立RS-CSA-ELM故障诊断模型对WSN节点故障进行诊断, 如图3所示.

图 3 WSN节点的RS-CSA-ELM故障诊断模型

2.3 CSA-ELM算法

(1)极限学习机(ELM)原理

设给定N组WSM节点数据样本 $({x_i},{t_i}) \in {R^n}$ , 对于输入层、隐含层和输出层的节点数分别为 $n,L,m$ 的ELM的学习机, 若采用Sigmoid类型的激励函数 $G(x)$ , 则EML隐含层输出即为:

${f_L}(x) = \sum\limits_{i = 1}^L {{\beta _i}G({\alpha _i} \cdot {x_j} + {\gamma _i})} = {t_i},j = 1,2, \cdots ,N$

其中, $\;{\beta _i} = {\left[ {{\beta _{{i_1}}},{\beta _{{i_2}}}, \cdots, {\beta _{{i_m}}}} \right]^{\rm{T}}}$ , ${\alpha _i} = {\left[ {{\alpha _{{i_1}}},{\alpha _{{i_2}}}, \cdots, {\alpha _{{i_m}}}} \right]^{\rm{T}}}$ , ${\gamma _i} = {\left[ {{\gamma _{{i_1}}},{\gamma _{{i_2}}}, \cdots, {\gamma _{{i_m}}}} \right]^{\rm{T}}}$ ; 隐含层的第i个神经元与输出层的连接权值为 $\;{\beta _i}$ ; 与输入层的连接权值 ${\alpha _i}$ ; 阈值 ${\gamma _i}$ [8]. 则 ${f_L}\left( x \right)$ 矩阵表示形式如下:

$H\beta = T$

其中,

$ H = {\left[ {\begin{array}{*{20}{c}} {G({\alpha _1} \cdot {x_1} + {\gamma _1})}& \cdots &{G({\alpha _L} \cdot {x_j} + {\gamma _L})}\\ \vdots & \ddots & \vdots \\ {G({\alpha _1} \cdot {x_N} + {\gamma _1})}& \cdots &{G({\alpha _L} \cdot {x_N} + {\gamma _L})} \end{array}} \right]_{N \times L}} $
$ \beta = {\left[ {\begin{array}{*{20}{c}} {\beta _1^T}\\ \vdots \\ {\beta _L^T} \end{array}} \right]_{L \times m}},\;T = {\left[ {\begin{array}{*{20}{c}} {t_1^T}\\ \vdots \\ {t_L^T} \end{array}} \right]_{N \times m}} $

$G(x)$ 无限可微时, 参数 ${\alpha _i}$ ${\gamma _i}$ 随机产生, 且在训练过程中不需要被调整, ELM模型训练过程可看作求解线性系统 $ H\beta =T $ 关于 $\;\beta $ 的最小二乘解, 即 $\;\beta = {H^ + }T$ , 其中H+H的Moore-Penrose广义逆.

(2) CSA优化ELM

极限学习机(ELM)是一类基于前馈神经网络的训练算法, 其具有学习速度快、泛化性能强、不易陷入局部极值的特性, 因此被广泛应用[9]; 但由于该算法中输入权值 ${\alpha _i}$ 和隐含层阀值 ${\gamma _i}$ 是随机选取故导致其隐含层神经元不具备自我调节能力. 针对此缺陷本文采用CSA算法对ELM输入权值 ${\alpha _i}$ 和隐含层阀值 ${\gamma _i}$ 进行优化, 构建CSA-ELM神经网络, 提高模型诊断的精确度和稳定性[10].

乌鸦搜索算法(CSA)是仿效乌鸦在储备食物和盗窃食物的智能行为而形成的一种基于种群的优化算法, CSA与其它神经网络参数优化算法如GA、POS一样, 均是利用种群的优势来增加寻找最优解的概率, 同时避免陷入局部最优解. 但优化算法的参数设置对其性能影响很大, 所以参数越少的算法越易应用. 种群优化算法除种群大小和最大迭代次数外, 还要设置其它参数, 如GA还需再设置选择方法、交叉方法、交叉概率、变异方法以及变异概率; PSO还需再要设置有惯性权重、粒子自身的学习因子和社会学习因子; 而只需再设置乌鸦的飞行长度和辨识概率即可[1113].

另外, CSA不是贪心算法, 如在搜索空间范围内只要没有比乌鸦产生的新位置更优, 它依然会飞向新位置, 这样产生的解是多样的, 使得算法具有最大概率寻找最优解功能. 乌鸦跟踪行为是随机的, 这样就增大了算法搜索空间, 即CSA具有全局搜索能力. 算法在迭代过程中, 种群中所有乌鸦都在不断地更新藏食地点, 从而保证种群中所有的藏食地点是最优的, 并利用乌鸦记忆记录最优存食位置. 迭代结束后, 找到种群中乌鸦的适应度值最优的记忆作为最后求到的最优解. 表1为CSA与GA和PSO算法的性能比较.

表 1 CSA与GA和PSO算法性能比较

CSA算法应用到ELM的输入权值 ${\alpha _i}$ 和隐含层阀值 ${\gamma _i}$ 选取, 构建CSA-ELM算法. 在该算法中, 将ELM训练数据的输入权值 ${\alpha _i}$ 和隐含层阀值 ${\gamma _i}$ 映射为CSA种群中乌鸦所处的每个位置和藏食物的记忆, CSA的适应度值对应于ELM的训练误差, 将求取最优输入权值、阀值问题转化为计算CSA适应度值即选择最优乌鸦记忆问题. 图4给出CSA-ELM算法流程, 主要包括ELM网络确定、CSA算法优化和ELM网络的训练、预测等.

图 4 CSA-ELM算法流程

该算法的详细操作要领如下:

Step 1. 算法初始化. 确定ELM各层的神经元个数, 随机生成ELM的输入权值 ${\alpha _i}$ 和隐含层阀值 ${\gamma _i}$ . CSA的种群搜索空间设置成二维, 并将 ${\alpha _i}$ ${\gamma _i}$ 作为乌鸦初始所处位置和记忆即公式表示为: ${x^{i,iter}} = ({\alpha _i},{\gamma _i})$ ${m}^{i,iter}= ({\alpha }_{i},{\gamma }_{i})$ , 对CSA进行初始化.

Step 2. 计算乌鸦适应度. 适应度计算公式为:

$f( \cdot ) = \frac{{{N_e}}}{N}$

其中, Ne为正确的样本数, N为训练样本总数.

Step 3. 更新乌鸦记忆. 更新的计算公式为:

$ {m^{i,iter + 1}} = \left\{ {\begin{array}{*{20}{l}} {{x^{i,iter + 1}}},&{f\left( {{x^{i,iter + 1}}} \right)\;{\rm is\;better\;than\;}f\left( {{x^{i,iter}}} \right)}\\ {{m^{i,iter}}},&{o \cdot w} \end{array}} \right. $

检查终止条件, 若满足则输出最优的 ${\alpha _i}$ ${\gamma _i}$ , 否则转向Step 2.

Step 4. ELM训练和诊断. 将最终乌鸦位置和记忆作为最优的ELM的输入权值和阀值赋予ELM, 使用训练样本对ELM进行训练, 采用公式 $\;\beta = {H^ + }T$ 计算输出层权值. 最后将待诊样本注入到ELM模型进行诊断输出.

2.4 RS-CSA-ELM算法步骤

根据上文所述, 将RS的故障属性约简算法与经CSA优化的极限学习机有机结合, 构建基于RS-CSA-ELM的WSN节点故障诊断算法, 其过程如下:

Step 1. 根据WSN节点组成结构, 构建符合实际情况的WSN节点故障属性表并做量化处理.

Step 2. 根据上文所提的故障属性约简算法对Step 1构建的WSN节点故障属性表进行属性约简, 删除冗余的故障属性信息, 得到最优的故障诊断决策表.

Step 3. 根据Step 2得到的故障属性决策表重构训练样本数据集.

Step 4. 将Step 3得到的训练样本数据集作为RS-CSA-ELM算法模型的输入, 利用CSA优化ELM的参数, 即利用训练的故障样本数据对ELM进行训练, 使其达到最佳的ELM故障模型, 而后用该模型对待诊样本数据进行故障诊断, 实现WSN节点故障任务.

3 仿真与结果分析 3.1 仿真实验设置

(1) WSN节点故障属性的约简

为验证上述算法得有效性, 先构建其故障属性及量化表(表2), 再将表2转换为故障诊断决策表(表3). 最后采前文中设计的RS故障属性约简算法对表2进行约简, 以获得最优故障诊断决策.

表 2 部分故障属性及量化处理表

表 3 部分故障诊断决策表

(2)算法参数设置

仿真设置算法初始条件: 飞行长度 ${f_l} = 0.2$ , 最大迭代次数 ${t_{\max }} = 50$ , 意识概率 $AP = 0.1$ , ELM的输入权值 ${\alpha _i} = rand(0,1]$ , 隐含层阀值 ${\gamma _i} = rand(0,1]$ , WSN节点数量作为乌鸦只数N=200.

为验证所提算法的性能及可行性, 在Ubuntu16.04环境下用Python3.5+ Tensorflow编程仿真, 同时考虑到WSN实际工作环境, 实际所收集的数据参与真实数据之间存在误差. 模拟在同一条件下对优化前后EML性能进行仿真试验, 同时也对本文所提算法与最新文献所提算法作了对比仿真实验.

3.2 仿真结果分析

首先, 在相同条件下, 对CSA优化前的ELM与优化后的ELM模型进行了对比测试, 其结果如图5图6所示.

图 5 CSA优化前后的ELM故障诊断用时对比图

图 6 CSA优化前后的ELM故障检测精度比较图

其次, 对CSA优化RS-CSA-ELM模型的参数的做了仿真验证. 其结果如图7所示.

最后, 对可靠性为80%、85.5%、90%和99.5%样本数据集进行约简后, 将本文提的RS-CSA-ELM算法与文献[14]的RSOPNN算法及文献[15]的RS-PSO-KELM算法进行比较测试. 其结果如图8图9所示.

图5图6可以看出经过CSA优化之后的ELM其稳定性得到了很大的提高; 从图7可以看出CSA在迭代到15次的时即可寻找到最优得ELM输入权值和隐含层阀值; 从图8可以看出3种算法对WSN节点故障诊断用时都是随样本数据集可靠性增加而减少, 但本文所提的RS-CSA-ELM算法与其它两种算法在相同条件下用时是最短的; 从图9可看出3种算法的诊断准确性随样本数据集可靠性增加而提高, 但本文所提的RS-CSA-ELM算法与其它两种算法在相同条件下诊断的准确性是最高的. 综上所述, 本文所提算法能够快而准的对WSN节点故障进行诊断识别, 且稳定性和诊断的准确性可满足实际应用要求.

图 7 CSA对RS-CSA-ELM模型寻优迭代次数图

图 8 算法诊断用时比较图

图 9 算法性能比较图

4 结束语

鉴于现有WSN节点在故障诊断方法的缺陷[16], 提出RS-CSA-KELM算法予以解决, 通过粗糙集理论属性约简算法(简称RS)对故障属性约简、利用CSA算法对EML的参数进行优化, 建立数据驱动式的RS-CSA-ELM故障诊断模型. 该模型对WSN节点故障的诊断快而准, 并能有效的解决误诊和漏诊等问题, 特别适合用于拓扑结构实时变化的网络的故障诊断. 当然, 所提之法仍需研究、改进, 如进一步考虑算法中各参数设置及各算法之间的优缺互补等问题.

参考文献
[1]
丁晗. 无线传感器网络的故障节点侦测算法设计与分析[硕士学位论文]. 苏州: 苏州大学, 2016.
[2]
张新华. 基于ICA独立成分和加权依赖贝叶斯的传感器节点故障诊断. 重庆师范大学学报(自然科学版), 2015, 32(2): 138-142.
[3]
曾庆杰, 朱晓娟, 王先超. 基于节能的WSN分簇式故障诊断算法. 阜阳师范学院学报(自然科学版), 2019, 36(4): 54-60.
[4]
刘建伟. WSN节点故障诊断方法研究及测试平台设计[硕士学位论文]. 长沙: 湖南大学, 2017.
[5]
Sun YM, Liu XJ, Chen XG, et al. Research and application of a fault self-diagnosis method for roots flowmeter based on WSN node. Wireless Personal Communications, 2017, 95(3): 2315-2330. DOI:10.1007/s11277-017-4104-8
[6]
Duh DR, Li SP, Cheng VW. Distributed fault-tolerant event region detection of wireless sensor networks. International Journal of Distributed Sensor Networks, 2013, 9(9): 286-291.
[7]
Oh SH, Hong CO, Choi YH. A malicious and malfunctioning node detection scheme for wireless sensor networks. Wireless Sensor Network, 2012, 4(3): 84-90. DOI:10.4236/wsn.2012.43012
[8]
周奚, 薛善良. 基于改进的粗糙集和神经网络的WSN故障诊断. 计算机科学, 2016, 43(S2): 21-25.
[9]
郑茂辉, 刘少非. GA优化ELM神经网络的排水管道缺陷诊断. 哈尔滨工业大学学报: 1–7. http://kns.cnki.net/kcms/detail/23.1235.T.20200420.1814.002.html, [2020-04-29].
[10]
蒋鹏. 一种改进的DFD无线传感器网络节点故障诊断算法研究. 传感技术学报, 2008, 21(8): 1417-1421. DOI:10.3969/j.issn.1004-1699.2008.08.026
[11]
林涛, 郝章肖, 冯竞凯. 基于改进乌鸦搜索算法的云计算任务调度研究. 微电子学与计算机, 2020, 37(2): 20-24.
[12]
王丽婷, 张金鑫, 张金华. 乌鸦搜索算法在SVM参数优化中的应用. 计算机工程与应用, 2019, 55(21): 214-219. DOI:10.3778/j.issn.1002-8331.1903-0381
[13]
Sun QY, Sun YM, Liu XJ, et al. Study on fault diagnosis algorithm in WSN nodes based on RPCA model and SVDD for multi-class classification. Cluster Computing, 2019, 22(3): 6043-6057.
[14]
李洋, 高岭, 孙骞, 等. 基于RSOPNN的无线传感器网络节点故障诊断算法. 计算机工程与应用, 2017, 53(9): 111-116, 157. DOI:10.3778/j.issn.1002-8331.1511-0185
[15]
柴继超. 无线传感器网络节点故障诊断方法研究[硕士学位论文]. 哈尔滨: 哈尔滨理工大学, 2019.
[16]
Xing XD. Research on fault diagnosis technology of wireless sensor network based on improved frog leaping algorithm. Machine Tool & Hydraulics, 2019, 47(12): 97-102. DOI:10.3969/j.issn.1001-3881.2019.12.015