基于多任务深度学习的WSN级联故障识别研究

2023-10-29 01:48吴宏杰
计算机仿真 2023年9期
关键词:级联正确率无线

邱 劲,吴宏杰

(苏州科技大学电子与信息工程学院,江苏 苏州215009)

1 引言

当今无线通信网络快速发展,特别是无线传感器具有环境感知、无线传输和数据处理等诸多优势已广泛应用在工业、农业等多个领域[1]。一般情况下,该网络主要由两个节点所构成,分别是汇聚、传感器两个节点,工作模式就是由传感器节点来进行数据的采集,最后用汇聚节点整合经过采集所得到的所有数据,再把整合好的数据传到数据中心。因为无线传感器网络复杂性较高,且数据呈现海量化,无法实时监控该网络,导致该网络被攻击的概率上升[2],尤其是对节点或是拓扑进行攻击后,会导致级联故障的出现,从而有可能会导致网络瘫痪[3]。无线传感器网络级联故障是指当某一节点超过负载时,其负载会根据相关资源分配规则由该节点转移至其它节点,而当资源负载超过其它节点负载时,会导致新一轮的负载转移从而导致节点故障,一旦受到攻击,会导致整个网络严重受损,因此对无线传感网络级联故障识别新方法的研究就显得十分重要[4]。

针对无线传感网络级联故障识别方案研究,文献[5]提出了一种基于节点和链路容量的无线传感器网络级联故障识别方法。该方法主要获取无线传感器网络流量数据,以此获取网络负载分析结果。在此基础上构建网络级联抗毁性模型并对故障节点进行了识别,当识别到的节点数量达到阈值的情况下得到无线传感器网络级联故障识别结果。但是该方法存在无线传感器网络级联故障识别正确率较低的问题,实际应用效果较差。文献[6]提出了一种基于蚁群算法和BP神经网络模型的无线传感器网络级联故障识别方法。首先,利用蚁群算法通过节点位置寻优实现无线传感器网络节点定位,采用随机搜索算法对节点性质进行判断,以此区分故障节点与正常节点,构建BP神经网络模型并对其进行训练,利用训练好是模型识别无线传感器网络级联故障,但是该方法过于繁复,导致识别时间消耗上升。文献[7]提出基于改进蛙跳算法的无线传感器网络级联故障识别方法。分析了线传感器网络级联结构以及故障分类体系,利用蛙跳算法改进了BP小波神经网络,将无线传感器网络节点数据输入至该网络中,BP小波神经网络输出即为无线传感器网络级联故障识别结果。但是该方法存在无线传感器网络级联故障识别正确率较低,与理想的应用效果相差甚远。

因此针对上述问题,本文给出了一种基于多任务深度学习的无线传感器网络级联故障识别新方法,它整体设计方案如下:

首先先算出无线传感器网络节点负载并采用重分发策略调整它。根据节点负载调整结果,利用指数型关系函数优化的流量调整方法使调整参数达到最优情况下构建无线传感器网络负载模型。

其次,建立多任务深度学习新模型并采用联合训练方式对模型进行训练,利用批归一化方法优化该模型并将无线传感器网络负载数据输入到优化后的模型中,实现级联故障识别。

最后,将识别正确率以及识别时间消耗作为评价指标,对于该方法的实际应用效果进行了验证。

2 无线传感器网络级联故障识别新方法设计与实现

2.1 无线传感器网络负载模型

设无线传感器网络负载为G(V;E),网络中的各个元素即为节点,且每个节点间所存在的关系为边。G(V;E)中的V、E分别表示边与顶点的集合。任意时刻每个节点对都可通过最短路径完成流量交换与信息传输,当m、n两个节点间有多个最短路径时,会对流量进行平均分配,使得每条最短路径上所传输的流量平等[8]。

t时刻节点v的负载定义如下

(1)

节点容量Cv计算公式如下:

Cv=αLv(0),v=1,2,…,N

(2)

字母N表示初始网络节点的数目,α表示的是容忍参数,α≥1[10]。网络节点有正常和故障两种状态,当正常节点不能及时完成处理自身负载,则它将转为故障节点从而导致正常通信受到影响;节点可以正常运传输信息是在Lv≤Cv的情况下[11]。当发生故障节点状态时,为了保证业务与流量的正常运行和传输,将遵照相应次序把负载重新分配到别的节点上。执行完该操作后节点y的负载被调整为:

Lj(t)=Lj(t-1)+ΔLij

(3)

一般负载的重分有局部与全局两种负载重分发策略,是通过节点掌握信息的程度进行划分的。其中局部负载重分发策略指的是只掌握邻居节点的信息,而全局负载重分发策略可以掌握全盘信息。此外通过邻居节点的度可以故障节点负载分配到邻居节点上,这也是局部负载重分发策略用的最多的手段,其最好的案例是交通网络堵塞之后的分流机制[12]。在全局负载重分发策略中,若产生故障的是关键路由器,控制系统将会重新选择路由,但不会局限于相邻的路由器,将数据传送到目标地。针对上述,本文主要应用全局负载重分发策略进行负载的重新分配,具体如下:

(4)

lij表示i与j两节间的距离,kj代表j的度,Ωi表示所有正常节点的集合。

要计算节点j在t时刻的负载,需要把式(4)进行带入,带到式(3)中,如下所示

(5)

对于j节点,假设Lj(t-1)+ΔLij>Cj,将会导致Lj(t-1)+ΔLij的负载被分配到其它节点另更多节点失效。由式(5)可知,与故障节点关系密切的节点则更受负载重分发策略青睐,从而会使这部分节点分到更多的负载[13]。

若网络流量Ssd(t)的初始值是1,则随着ρ、μ的增加而减小,在AR策略中最短路径长度的增减将导致网络流量呈现指数衰减,并且在生活屮也能找到佐证。故流量调整策略优化后,也会用指数型关系函数进行如下描述

(6)

式中,在t时刻i、j两节点间的最短路径长度用dij表示,Δdij(t)=dij(t)-Δdij(t-1)指的是节点i与j之间最短路径长度增减值,Δdij(t) ≥0,其中在ML模型中,节点都是沿着最短路径进行叙述的,重选后的最短路径长度只有两种情况,变长或是不变[14]。i与j两节点间的最短路径数目在t时刻的变化分别由nij(t)、Δnij(t)=nij(t)-nij(t)-1表示,只有变少或者不变两种最短路径数目的变化,所以Δnij(t)≤0。在t时刻i、j两节点间的流量大小用sij(t)表示,其中距离的调整系数与相对应的数目调整系数分别由ρ与μ表示,分别依据i、j两节点间的最短路径长度和数目变化来调整流量[15]。

如果将参数调整到最优值,则FR策略效果将发挥得更好,相对剩余流量R如下所示

(7)

将网络中传送的流量定义为所有节点所承担的负载[16,17],可以得到下式

(8)

无线传感器网络负载模型描述如下所示

(9)

2.2 基于多任务深度学习的级联故障识别

本文研究内容为无线传感器网络级联故障,级联故障较为复杂,因此本文构建了多任务深度学习模型并以此来提升识别正确率与效率如图1所示。

图1 多任务深度学习模型

图1方框A代表通过两个卷积层来提取任务1和2共享特征的共享层,方框B、C分别是识别无线传感器网络节点与级联故障的任务1层与2层。各网络层结构参数如表1所示。

表1 多任务深度学习网络结构参数

采用联合训练的方式训练上述模型,用交叉熵损失函数来定义损失函数Loss1及损失函数Loss2,公式如下:

(10)

(11)

式中,其中p(x)代表目标实际分布,q(x)代表模型预测分布。

本文采用加权平均方法对Loss1和Loss2进行重组,如下(12)。

(12)

批归一化(Batch Normalization,BN)是解决深度学习领域较好方法,它操作过程与标准化过程类似:即用所在层输入减去其 mini-batch 的均值,再除以标准差。对标准化后得到的值乘以缩放系数γ,然后加上乘性偏置项β,使缩放的区间变得更宽,其目的是大幅提高网络模型表达能力。

下面是卷积层使用BN算法的过程,设第l个BN层的输入为yl=(yl(i,1),…,yl(i,j),…,yl(i,p)),操作如下式:

(13)

(14)

(15)

(16)

式中,常数项用ε表示;Zl(i,j)、γl(i)和βl(i)分别是BN层的输出值、缩放系数和偏置项;

在连接层使用BN算法时,设首个BN层的输入为yl(i),则:

(17)

(18)

(19)

(20)

当BN算法用在卷积层时,其导数公式为:

(21)

(22)

(23)

(24)

(25)

(26)

当BN算法用到连接层时,导数公式为

(27)

(28)

(29)

(30)

(31)

(32)

利用训练好的多任务深度学习模型识别无线传感器网络级联故障,将无线传感器网络负载数据输入至该模型中从而得到无线传感器网络级联故障识别结果。

3 实验分析

3.1 实验方案

为了验证本文提出的新方法的有效性,进行了实验测试,整体实验方案如下:

1)实验环境:为了提升实验的真实性和可靠性,此次实验需要在同一环境中进行,其参数为:操作系统、仿真软件是Windows 10、Matlab R2014a,CPU是Intel Core i5-7300HQ,内存与运行内存是32G与8G,硬盘、主频是500GB、2.1GHz。

2)实验数据:实验平台采用WSN实验网络,由星型拓扑结构和以CC2530为核心的满足Zig Bee协议的5个节点和1个协调器所组成的,提取该网络的参数作为实验样本数据。部分故障特征样本如表2所示。

表2 故障特征样本

表2中,D1~D2000、K1~K5分别是故障特征样本的编号和不同的故障类型;S1~S8代表8个故障特征属性。在此基础上,将部分数据输入至仿真软件中,经过多次测试后获取最优仿真参数,将该参数作为初始参数,以此提升仿真的可靠性。

3)实验方法:对比文献[5]、[6]、[7]方法以及本文方法,通过比较不同方法的无线传感器网络级联故障识别正确率以及时间消耗作为实验指标,以验证不同方法的应用效果。

3.2 实验结果分析

3.2.1 无线传感器网络级联故障识别正确率

为了验证本文方法的有效率,比较了文献[5]方法、文献[6]方法、文献[7]方法以及本文方法的无线传感器网络级联故障识别正确率,得到结果如图2所示。

图2 无线传感器网络级联故障识别正确率

由分析图2可知,不同方法下无线传感器网络级联故障识别正确率存在一定的差异。当实验次数为10次时,文献[5]方法、文献[6]方法、文献[7]方法的无线传感器网络级联故障识别正确率分别为45.2%、58.3%、73.1%,本文方法正确率为93.8%;当实验次数为50次时,文献[5]方法、文献[6]方法、文献[7]方法的识别正确率分别为58.2%、27.1%、25.5%,本文方法的识别正确率90.2%。与其它方法相比,使用本文方法得出的无线传感器网络级联故障识别正确率较高,可以在实际中得到进一步推广。

3.2.2 无线传感器网络级联故障识别时间消耗

为了验证本文方法的有效率,比较了文献[5]方法、文献[6]方法、文献[7]方法以及本文方法的无线传感器网络级联故障识别时间消耗,得到结果如表3所示。

表3 无线传感器网络级联故障识别时间消耗(单位:s)

分析表2中的数据可知,文献[5]方法的无线传感器网络级联故障识别时间消耗平均值为2.57s,是四种方法中时间消耗最高的。文献[6]方法的无线传感器网络级联故障识别时间消耗平均值为1.40s,文献[7]方法的无线传感器网络级联故障识别时间消耗平均值为1.57s,与这三种方法相比,本文新方法的无线传感器网络级联故障识别时间消耗平均值为0.73s,它是四种方法中时间消耗最低的,可以实现无线传感器网络级联故障快速识别。

4 结论

当今现代科技水平快速提升,而无线传感器与人们日常工作与生活密不可分,在无线传感器网络中,一旦节点发生故障或是其拓扑结构发生改变将造成网络负载异常变化并导致新的节点故障问题出现,传统无线传感器网络级联故障识别方法存在识别正确率低以及时间消耗长等多种问题,因此设计一种无线传感器网络级联故障识别新方法就显得尤为重要。本文设计了一种基于多任务深度学习的无线传感器网络级联故障识别研究新方法。通过实验证明该方法具有高识别正确率以及低识别时间消耗的特点,它既能实现无线传感器网络级联故障快速正确识别,又能保证无线传感网络的安全与稳定。由于实验过程中所使用的数据还不够多,因此在未来还需引进一些新技术新手段对该方法进行优化并以此来大幅提升无线传感器网络级联故障识别效果。

猜你喜欢
级联正确率无线
《无线互联科技》征稿词(2021)
门诊分诊服务态度与正确率对护患关系的影响
无线追踪3
基于ARM的无线WiFi插排的设计
级联LDPC码的STBC-OFDM系统
ADF7021-N在无线寻呼发射系统中的应用
生意
品管圈活动在提高介入手术安全核查正确率中的应用
生意
基于级联MUSIC的面阵中的二维DOA估计算法