无线传感器网络(WSN)是由大量低功耗、多功能、低成本的传感器节点布置在监控区域内组成的智能专用网络系统.节点之间采用多跳自组织无线通信进行信息传输,协同完成特定功能,实时采集监测区域内的各种信息并传输给观察者[1-2].由于WSN通常采用高密度部署方式,因此相邻节点采集的数据有很大的冗余.若单个节点单独向汇聚节点发送数据,则会浪费网络带宽,消耗更多能量,降低消息收集效率[3],因此WSN须要部分节点具备数据融合功能,才能充分利用节点自身的存储和计算能力.数据融合可以节约能源,提高数据精度和收集效率,但牺牲了WSN在其他方面的性能[4-5].首先是数据时延:在数据传输过程中,须要寻找适合数据融合的路由协议进行数据聚合或接收其他数据等,这些过程都会增加WSN的时延.其次是鲁棒性:与传统的有线网络相比,WSN节点具有更高的故障率和数据丢失率,虽然数据融合技术可以有效清除冗余数据,但是清除数据会丢失更多信息,从而降低网络的鲁棒性[6].许多学者对WSN数据融合算法进行研究,并取得了一定的研究成果.文献[7]提出支持向量机算法与WSN数据融合相结合对网络异常数据检测.文献[8]使用蚁群算法优化神经网络,从冗余数据中提取有效特征数据,减少数据转发量.文献[9]建立数据融合树,并根据WSN数据传输特点改进了蚁群算法.文献[10]提出CBDA技术,使用三种不同的数据融合方法让簇头节点去除相邻节点产生的冗余数据,实验证明WSN的能耗和数据延迟都有很大的改善,但是将数据融合放在簇头节点会导致簇头节点能量消耗过快,加速WSN的死亡.神经网络通过模仿人脑神经网络行为特征,对人脑的一些基本功能进行抽象和建模,具有较强的学习能力、自组织能力和较高的容错率,特别适合处理多限制和低精度信息问题[11-12].WSN和神经网络的基本特征非常相似,都是处理大量数据并将结果反馈给观察者,因此神经网络可以为数据融合技术提供新思路,使数据融合技术不再局限于经典的逻辑推理,解决WSN中经典数据融合技术无法解决的问题[13].烟花算法(FWA)是通过模仿烟花在空气中爆炸产生火花照亮周围区域的现象提出的一种新的群体智能优化算法[14].FWA具有较好的隐并行性、多样性、鲁棒性和适应性.与遗传算法、粒子群算法等算法相比,FWA操作相对简单,求解速度更快[15].因此,本研究将FWA引入到基于BPNN的数据融合算法中,同时对FWA进行改进,使FWA更适合数据融合算法.1 烟花算法1.1 经典烟花算法在经典FWA中,烟花作为优化问题中解空间的可行答案,烟花产生一定数量火花的爆炸过程就是在解空间中搜索邻域的过程.通过多次迭代筛选烟花和火花的适应度函数值,可以快速找到最优解[16].FWA主要包括爆炸算子、变异算子、映射规则和选择策略,具体操作流程如下.1.1.1 初始化设置算法的基本参数,假设种群规模为M,搜索空间维度为D,假设第i个烟花的当前位置为Xi=(Xi1,Xi2,…,Xij,…,XiD)(1≤i≤M,1≤j≤D),有Xi=rand(Xmax-Xmin)+Xmin,(1)式中:Xi为第i个烟花在搜索空间中的位置;[Xmin,Xmax]为搜索空间的边界;rand为[0,1]内均匀分布的随机数.1.1.2 爆炸火花数目FWA的爆炸过程遵循自然规律,即每个烟花爆炸后在一定范围内会产生一定数量的火花.高质量的烟花会产生更多的火花,具有更近的距离和更好的适应性.低质量的烟花产生的火花较少,距离较长,且适应性较差.产生爆炸火花的方程为Si=Sfmax-f(Xi)+ε∑i=1M(fmax-f(Xi))+ε, (2)式中:Si为烟花i产生的烟花数量;S为限制爆炸火花数量的参数;fmax为当前情况下烟花的最差适应值;f (Xi)为烟花i的适应值;ε为最小正常数,以避免分母为0.为了防止质量好的烟花产生过多的火花,而质量差的烟花产生的火花过少,控制控制爆炸火花的数量的公式为Si=round(αm)    (Siαm);round(βm)    (Siβm);round(Si)    (其他), (3)式中:α和β为限制总体范围的常数;round(⋅)为舍入函数;m为产生火花的总数,是一个常数.1.1.3 爆炸幅度在FWA中,适应值较好的烟花爆炸幅度较小,而适应值较差的烟花爆炸幅度较大.因此,在FWA的优化过程中,可以通过控制爆炸幅度来减小适应度值较好的烟花的爆炸范围,从而加快算法的收敛速度并找到最优值.该爆炸幅值计算方程为Ri=Rf(Xi)-fmin+ε∑i=1M(f(Xi)-fmin)+ε, (4)式中:Ri为烟花i的爆炸幅度;R为爆炸幅度的极限参数;fmin为当前情况下烟花的最优适应值.1.1.4 位置偏移在确定爆炸烟花的数量和幅度后,须要对烟花进行位移,使火花在确定的范围内分布.FWA的位移操作须要对每个维度进行位移,位移方程为ΔXik=Xik+rand(0,Ri),(5)式中:ΔXik为烟花i在位移操作后第k维的位置;Xik为烟花i在第k维上的位置;rand(0,Ri)为在爆炸幅度Ri范围内均匀分布的随机数.1.1.5 高斯变异为了进一步丰富烟花种群的多样性,避免算法陷入局部最优,传统的FWA对一些烟花进行高斯变异.高斯变异操作方程为Xjk=XikGaussian(1,1),(6)式中:Xjk为烟花i产生的火花经过高斯变异后在k维上的位置;Gaussian(1,1)为均值和方差都为1的高斯分布.在经过式(2)~(5)操作后,每个烟花都会有相应的爆炸火花数、爆炸幅度和随机位移,从而保证烟花种群的多样性.1.1.6 映射规则分布在可行域边界附近的烟花在爆炸过程中可能会产生超出可行域范围的火花,而不在范围内的火花无用.因此,FWA使用取模操作将超出范围的火花映射到可行区域,以确保所有火花都在可行区域内.取模运算的映射规则方程为Xjk=Xmink+Xik%(Xmaxk-Xmink),(7)式中:Xjk为烟花i越过第k维边界的位置;Xmink和Xmaxk分别为k维可行区域的下限和上限;%为取模运算.1.1.7 选择操作在经过爆炸和高斯变异操作后,可行区域空间包括烟花、爆炸烟花和高斯变异烟花.基本的FWA流程如图1所示.选择操作的主要目的是选择具有最优适应值的个体进入下一次迭代,剩余的个体使用轮盘赌规则保持M-1到下一次迭代.在FWA中,通常使用欧氏距离来衡量两个体之间的距离.计算公式为Z(Xi)=∑j=1MXi-Xj,(8)式中Z(Xi)为烟花i到其他烟花的欧式距离之和.然后,采用轮盘赌规则选择剩余个体进行下一次迭代,选择概率公式为10.13245/j.hust.230518.F001图1烟花算法流程图P(Xi)=Z(Xi)/∑j=1MXj,(9)式中P(Xi)为烟花i被选中的概率.从式(9)可以看出:如果当前个体远离其他火花,那么其被选中的概率会增加,从而保证了烟花种群的多样性.1.2 改进型烟花算法混沌是非线性系统特有的一种非周期性现象,类似于蝴蝶效应,一点点变化都会引起一系列的变化.混沌搜索策略良好的随机性和遍历性有利于增强智能算法的全局搜索能力[17].在FWA中,烟花种群的初始分布对最优解的求解有很大影响.可行域内的初始种群分布越均匀,找到最优解的概率就越大,因此引入混沌搜索策略来提高烟花种群初始状态的分布均匀性.常见的混沌映射模型包括Logistic映射、Hemon映射和Tent映射.Tent映射结构简单,混沌性能好,分布更均匀,遍历性好.因此,在烟花种群初始阶利用Tent混沌图产生的混沌序列代替式(1)中的随机变量,增加可行区域内烟花种群个体初始位置的均匀分布密度,提高FWA的搜索能力和最优解的质量.具体结构为Hj+1=Hj/b    (0≤Hjb);(1-Hj)/(1-b)    (b≤Hj≤1), (10)式中:Hj为混沌变量;b为系统参数.当Hj∈(0,1)和b∈(0,1)时,系统处于混沌状态.从方程可以看出映射规则简单,操作方便.烟花i在j维中的位置Xij为Xij=Xmin+Hj(Xmax-Xmin).(11)由于Hj均匀分布在(0,1)上,因此由(11)确定的Xij位置在可行域内分布更均匀.2 烟花算法优化的BP神经网络2.1 WSN网络模型为了方便讨论,假设无线传感器网络具有以下特点:a.传感器节点随机分布在监测区域内,部署位置静止或轻微移动,所有节点具有唯一ID;b.传感器节点的初始能量相同且不可补充,所有传感器节点的通信能力和处理能力相同;c.网络中只有一个sink节点,部署在监控区域外;d.sink节点能量充足,可以补充;e.任何传感器节点都可以通过接收信号强度计算自己的位置.假设a~d是WSN中网络模型的传统设置.假设e很重要,因为WSN中会发生簇头更换、成员节点更改或死亡,这将影响网络的拓扑结构.此时,传感器节点能否获得自己的位置信息就非常关键.2.2 BP神经网络模型BP神经网络是根据误差逆传播算法训练的多层前馈神经网络,也是目前应用最广泛的神经网络之一.它的学习调节是利用最快下降法,通过逆传播持续调节网络的权重和阈值,以最小化网络中的误差平方和[18].其模型的拓扑结构包括输入层、隐层和输出层.神经网络模型只有一个隐藏层,BPNN包括两个阶段:第一阶段是信号从输入层通过隐藏层到输出层的前向传播;第二阶段是误差的逆传播,从输出层通过隐藏层到输入层,不断改变从隐藏层到输出层和从输入层到隐藏层的权重矩阵和阈值矩阵.隐层采用正切双弯曲转移函数,函数模型为f1(x)=(1-e-x)/(1+e-x).(12)输出层选择一个线性函数作为运算函数,函数模型为f2(x)=kx+l,(13)式中k和l均为常数.2.3 基于神经网络的数据融合算法基于BPNN(BPDF)的数据融合算法是将簇内多个传感器节点监测到的数据融合成代表簇情况的特征值,然后簇头节点将特征值发送到汇聚节点,有效减少数据传输量.算法流程如图2所示.10.13245/j.hust.230518.F002图2BP神经网络数据融合算法具体步骤如下.步骤1 对整个WSN进行分簇,簇内成员节点将监测到的数据发送给所属簇头.步骤2 簇头节点和簇内成员节点之间利用BPNN进行两级数据融合:一级神经网络根据隐藏层神经元函数对各公共节点监测的原始数据进行预处理;二级神经网络是簇头对预处理数据进行归一化,归一化后的数据通过二级神经网络的隐藏层和输出层的功能函数进行优化.步骤3 最后将两级BPNN处理后的数据发送到sink节点,减少数据调度量.2.4 改进烟花算法优化BPNN数据融合为了进一步消除冗余数据,减少数据传输量,增强数据的时效性,本研究将改进的FWA与BPNN数据融合算法相结合,提出一种新的数据融合算法IFWABP.研究表明:对于一个三层的BPNN模型,只要隐藏层有足够多的神经元,它就有能力处理任何非线性函数.IFWABP算法采用三层神经网络来匹配WSN中的簇,即输入层位于簇中内成员节点之间,只进行数据传输,不进行数据处理.隐藏层和输出层位于簇头,都具有用于数据传输和数据处理的神经元功能.隐藏层函数见式(12),输出层函数见式(13).在BPDF中,节点收集的数据之间的相关性与节点之间的距离成反比.具体表达式为ρ(i,j)=e-ξd2(i,j),(14)式中:ξ为相关系数,ξ越小,表层数据的相关性越大,反之亦然;d(i,j)为节点之间的距离.在BPNN建模完成后,sink节点训练神经元权值和阈值矩阵,并将训练好的权值和阈值矩阵发送给簇头.FWA优化BPNN数据融合的步骤如下.步骤1 在无线传感器网络中,簇内的成员节点向簇首发送监测数据.步骤2 簇内的成员节点对监控的数据进行特征值提取.步骤3 采用FWA优化簇头节点与簇内成员节点之间的BPNN,为特征值的同一部分寻找权重和阈值矩阵的最优答案.步骤4 寻找权重和阈值矩阵的最优解,然后进行数据融合.3 仿真分析本研究采用Matlab2018b将IFWABP与文献[8-10]中的算法进行比较.从网络生命周期、网络剩余能量、数据准确率和汇聚节点接收数据量这四个方面对四种算法的性能进行验证.仿真参数如表1所示.10.13245/j.hust.230518.T001表1仿真参数设置仿真参数数值仿真区域/m2100 ×100节点总数100汇聚节点位置(15,50)节点初始能量/J0.5节点通信半径/m40节点发送能耗/(nJ∙bit-1)50节点接收能耗/(nJ∙bit-1)30数据包大小/byte64仿真轮数2 000仿真时间/s4503.1 生命周期在无线传感器网络中,当存活节点数为零时,网络达到最大生命周期.图3为四种算法的节点存活数随着仿真轮数的增加而变化的曲线图.从图中可以看出:文献[9]算法在第751轮开始出现节点死亡,文献[8]和文献[10]算法分别在第1 002轮和第1 245轮出现节点死亡,而IFWABP算法在第1 698轮开始出现节点死亡,分别比其他三种算法高947轮、696轮和453轮;然后当仿真进行到1 525轮时文献[9]算法所有节点死亡,1 718轮时文献[8]算法所有节点死亡,文献[10]算法在1 851轮没有存活节点;最后IFWABP算法的生命周期分别延长了28%,13.6%和5.4%.可以看出IFWABP算法相比文献[8-10]中的算法能够有效延长WSN网络生命周期.10.13245/j.hust.230518.F003图3无线传感器网络生命周期3.2 剩余能量网络剩余能量是反映无线传感器网络数据融合效率的重要指标之一.图4显示了450 s内四种算法的总网络剩余能量变化曲线.从图中可以看出:在经过450 s以后,文献[8]、文献[9]和文献[10]算法的总网络剩余能量分别为10.5,4.3和15.6 J,IFWABP算法的网络剩余能量为21.6 J,由此可知IFWABP算法能够有效平衡网络能量消耗,从而延长网络生命周期.这是因为当基于BPNN的数据融合算法应用于WSN时,簇头向汇聚节点传输的数据量减少,导致数据传输消耗的能量减少,同时可以缓解通信带宽的压力,防止数据传输过多造成的数据丢失,因此网络能量消耗更均匀,数据融合精度更高,在一定程度上延长了网络的生命周期和稳定期.10.13245/j.hust.230518.F004图4无线传感器网络剩余能量3.3 数据准确率当传感器网络运行时,到达汇聚节点的数据的准确率最好无限接近100%.然而,由于网络中的恶意攻击和数据丢失,sink节点接收到的数据的准确性会降低,因此本研究将sink节点接收到的数据准确率与四种算法进行比较.图5为sink节点接收数据准确率与仿真轮数的变化曲线.从图中可知:当IFWABP、文献[8]、文献[9]和文献[10]算法用于数据融合时,数据的准确率分别为93.42%,70.17%,61.55%和80.66%.由于FWA在经过改进后有效提高了算法的准确率,从而使得BPNN的阈值矩阵和权重矩阵更加准确,因此IFWABP算法的数据准确率比其他三种算法分别提高了33.1%,51.8%和15.8%左右.10.13245/j.hust.230518.F005图5数据准确率3.4 汇聚节点接收的数据量图6显示了汇聚节点接收到的数据包数量与四种算法的仿真轮数之间的关系.四种数据融合算法的簇成员节点和簇头都过滤了一定量的冗余数据,减少了数据传输量.IFWABP算法每轮传输的数据量最少.随着仿真轮次的增加,IFWABP算法的优势更加明显,这是因为在基于BPNN的数据融合过程中提取了特征值,使得从簇头节点向汇聚节点传输的数据显著减少,防止出现因传输数据包过多而阻塞传输通道的情况,避免了数据包丢失引起的数据重传;同时,传输数据的减少可以降低节点的能量消耗.随着仿真轮数的增加,改进后的FWA可以更加准确地为神经网络的参数赋值,从而使得数据的准确度更高,网络的能量消耗更加均衡,生命周期更长.10.13245/j.hust.230518.F006图6汇聚节点数据接收量4 结语为了进一步减少WSN监测数据的冗余,增强监测数据的时效性,降低WSN在数据处理和传输过程中的能量消耗,延长网络生命周期,克服收敛慢和陷入局部最优的问题,针对BPNN数据融合算法的局部优化问题,本研究提出一种基于FWA的数据融合算法.该算法首先引入混沌映射对FWA进行改进,使得烟花种群的初始分布更加均匀,提高了FWA的搜索能力和最优解的质量;然后使用改进的FWA优化BPNN数据融合算法.仿真结果表明:IFWABP算法能够有效去除冗余数据,提高数据融合效率和时效性,降低网络能耗,从而延长WSN的生命周期.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读