无线传感网中一种智能数据融合算法的实现及仿真分析

2018-03-22 02:00王海涛
传感技术学报 2018年2期
关键词:传感权值粒子

胡 强,王海涛,底 楠,陈 晖,黄 达

(1.陆军工程大学通信工程学院,南京 210007;2.陆军工程大学信息管理中心,南京 210007;3.中国电子设备系统工程公司通信研究所,石家庄 050000)

无线传感网WSN(Wireless Sensor Network)是一种由大量传感器节点组成的分布式信息网络,每个传感器节点都能对外部环境信息进行感知和采集,然后以一定的路由方式传递给基站进行下一步处理[1]。得益于微电子技术的迅速发展,传感器的生产成本逐渐降低、类型逐渐增多,如音频传感器、图像传感器、湿度传感器、光强传感器等,能对不同的环境信息进行采集,加上传感器节点通过自组织的方式形成网络非常易于部署,因此无线传感网广泛应用于军事、航空、环境、救灾、交通、医疗等领域。在无线传感网中,各节点之间以无线的方式完成相互的通信和数据的传输,由于传感器节点通常由自身携带的电池供电,电量有限,一旦能量耗尽节点便无法继续工作,网络结构的健壮性将会受到影响,导致网络整体性能下降。传感器节点能量消耗主要包括两个阶段:数据采集阶段和数据传输阶段。Min R等人指出,数据传输阶段的能耗远大于数据采集阶段的能耗,传输1 byte的数据所消耗的能量可以用来执行上千次感知任务[2]。将数据融合技术引入无线传感网中进行感知数据的优化处理,能够有效降低数据冗余,减少网络通信量,从而节约节点能量,延长网络生存时间[3]。

针对无线传感网数据传输耗能过多的情况,科研学者提出了一系列数据融合算法来减少网络的数据传输量,以达到延长网络生存时间的目的。如李海艳、李维嘉等人提出的基于卡曼滤波的多传感器数据融合方法[4],此方法对原始感知数据进行融合,损失信息少,但融合精度不高并且无法完成复杂、精确的数学建模;连方圆,白静提出的一种改进的基于神经网络的WSN数据融合算法[5],算法在BP神经网络训练过程中通过将前代网络拟合好的权值与阈值赋予给下一次网络训练来减少训练时间,在一定程度加快了数据融合进程,降低了数据冗余度,但是在BP神经网络的训练中仍然存在初代权值选取盲目性的缺点;陈秋红、郭猛提出的基于PSO-BP的数据融合方法[6],通过PSO算法对BP神经网络的初始权值和阈值进行优化,有效避免了BP神经网络初始参数选取的盲目性,进一步加快了数据融合速度,减少了网络通信数据量,降低了传感器节点能耗速度,但由于在PSO的寻优过程中求解空间缺乏变化性,存在陷入局部最优解的缺点。本文针对无线传感网数据冗余度高,数据传输能耗过多的缺点,在前人研究的基础上综合相关数据融合技术的优点提出了一种综合型智能数据融合算法——GAPSOBP。GAPSOBP算法将遗传算法中的交叉和变异操作引入粒子群算法的寻优过程中,丰富了粒子群算法的寻优空间,最大程度上避免了求解陷入局部最优[7]。应用优化后的粒子群算法对BP神经网络的初始权值和阈值进行优化,加快了BP神经网络的收敛速度和数据融合精度,将其应用于无线传感网中对感知数据进行融合,大大降低了节点数据传输量和能耗速度,达到了延长网络生存时间的目的。

1 理论基础

1.1 遗传算法

遗传算法是一种模拟达尔文生物进化论的计算模型,遵循优胜劣汰的自然选择法则。其基本原理是把问题参数编码成染色体,利用迭代的方式进行选择、交叉、变异等运算操作来交换种群中染色体的信息,最终生成符合优化目标的染色体,是一种全局优化的自适应概率型搜索算法。遗传算法的寻优过程从代表问题潜在解的初代种群开始,根据个体适应值大小进行选择操作,借助遗传算子进行个体的交叉和变异操作产生新的种群。经过自然选择产生的新种群将优于父代种群,解码末代种群中的最优个体就是目标的最终解。主要步骤如下:

①选择 选择操作就是要选出当前种群中的优良个体使之有机会成为父代种群繁殖新的子种群。选择操作的原则是选取适应性强的个体,体现了生物进化的适者生存原则。

②交叉 交叉操作是遗传算法中的最主要的遗传操作。交叉操作可以得到新一代个体,新个体在组合其父辈个体特性同时保留了自身的特征。体现了信息交换的思想。

③变异 变异操作模拟了生物进化中的偶然事件,选取某条染色体改变其中某个数值,同生物界一样,变异发生的概率通常都很小。

1.2 粒子群算法

粒子群算法最先由美国电气工程师Eberhart和社会学家Kennedy根据鸟类的觅食过程于1995年提出。在模拟鸟类觅食的模型中,每个个体都被看做一个样本,整个鸟群被看做一个粒子种群[8]。假设在S维的目标搜索空间内,粒子群大小为m,即可以表示第i个搜索样本为一个S维的矩阵

Xi=(xi1,xi2,…,xiS)

式中:i=1,2…,m,每个样本的位置就是一个潜在解。

在粒子群算法中,每个粒子都有一个初始位置、寻优速度及一个由适应度函数计算得来的适应度值。所有粒子都在解空间中运动,粒子通过记录自己寻优过程以及学习同类的寻优过程对自身位置和飞行速度进行不断调整,即每个粒子依据群体极值和个体极值来更新自己的最优位置。粒子的适应度值随着粒子位置的更新需要重新计算,并且通过对比新的粒子适应度值与粒子个体极值、群体极值来对个体极值和群体极值进行更新,重复迭代,直到满足终止条件为止输出寻优结果。

粒子群算法通过对比当前搜索到的最优值来求解全局最优值,实现简单、收敛速度快、精度高且能够并发执行;但是它缺少如遗传算法的交叉和变异等保持子代种群多样性的操作,解空间缺少变化容易陷入局部最优解。

1.3 BP神经网络

BP神经网络是一种模拟大脑神经工作模式的网络,运行原理基于信息的正向传递和误差的反向传递。网络中拥有大量的节点,每个节点被称作神经元,各个神经元之间通过权值和阈值连接行成分层型结构。BP神经网络包括一个输入层,一个或多个隐含层,一个输出层。三层结构的BP神经网路如图1所示。

图1 BP神经网络模型

图1中,X1、X2到Xn是神经网络的数据输入,ωij、ωjk分别是输入层神经元和隐含层神经元之间的权值,隐含层神经元和输出层神经元之间的权值,Y1到Ym是最终的输出结果。

BP神经网络采用了一种并行处理和管理机制,具有很强的自适应性、自组织性和自主学习能力,能够模拟任何的非线性映射[9]。但是BP神经网络也存在一定的不足,如初始权值的选择具有随机性,往往需要大量的训练样本和时间才能确定相关参数,降低了网络收敛速度,并且如果目标函数具有多个极值点,BP神经网络极容易陷入局部最优解。

2 算法实现

2.1 网络模型

在无线传感网中,低功耗自适应聚类路由算法LEACH(Low Energy Adaptive Clustering Hierarchy)是一种经典的层次型路由算法[10]。其基本思想是在一个轮次里将无线网络进行分簇处理,在每个簇中循环产生一个簇头负责接收簇内成员采集的数据和将数据传输到汇聚节点。每一轮次可分为簇的建立阶段和传输数据的稳定阶段。由于簇头需要进行更多的数据收发处理,因此簇头节点的能量消耗大于簇内节点的能量消耗。在LEACH协议中,为了均衡节点能量消耗,在一轮次的运行结束后将重新进行簇头的选取,本轮当选为簇头的节点在下一轮次中将不再成为簇头;反之,未当选过簇头的节点随着协议运行轮次的增加,成为簇头的概率也不断增大。

本文的网络模型采用基于LEACH协议的无线传感网模型,其基本结构如图2所示。

图2 基于LEACH的无线传感网结构

2.2 算法实现流程

在应用GAPSOBP算法时,首先需要根据无线传网的拓扑图来确定BP神经网络的结构。无线传感网根据LEACH算法形成分簇,将每个分簇看做一个BP神经网络结构,簇内节点个数为BP神经网络的输入层个数,输出层个数即簇头数为1。隐含层个数依据公式1确定大致个数,然后采用试取法确定最优隐含层个数。

(1)

式中:n为输入层个数,m为输出层个数。

图3 GAPSOBP算法工作流程图

GAPSOBP算法的工作流程如图3所示,主要包括以下3个阶段:

①粒子初始化

首先需要确定BP神经网络结构,然后将BP神经网络的初始权值和阈值传递给粒子群算法成为初代种群,粒子群算法对神经网络权值和阈值进行实数编码,初始化候选解和粒子速度。

②求解最优BP神经网络参数

粒子群算法根据BP神经网络的实际输出和期望输出的误差适应度函数计算个体极值和群体极值,更新PSO算法的粒子寻优速度和位置。在粒子群的优化过程中加入遗传算法的交叉和变异操作,然后重新计算适应度值,判断是否满足终止条件,满足条件则将优化结果传递给BP神经网络进行网络训练,否则继续迭代更新粒子速度和位置,直到算法达到终止条件。

③训练BP神经网络

BP神经网络利用遗传粒子群算法的优化结果,进行网络的训练,更新权值和阈值,直到网络参数确定,之后便可以进行无线传感网的数据融合处理。

GAPSOBP算法具体实现步骤如下:

步骤1 根据传感网络结构确定BP神经网络结构,根据输入层、隐含层、输出层神经元个数,初始化输入层和隐含层的连接权值ωij、隐含层和输出层权值ωjk、隐含层阈值αj和输出层阈值βk;

步骤2 将连接权值ωij、ωjk,阈值αj、βk传递给粒子群算法并进行实数编码,初始化粒子寻优速度;

步骤3 计算粒子适应度值,找出个体极值和群体极值并依据如下公式进行速度更新和粒子位置更新;

Vis(t+1)=ωVis(t)+c1r1(Pis(t)-Xis(t))+
c2r2(Pgs(t)-Xis(t))

(2)

Xis(t+1)=Xis(t)+Vis(t+1)

(3)

式中:ViS表示粒子i在第S维方向的速度,ω是为了避免算法陷入局部最优设置的惯性权重,r1和r2是介于(0,1)之间的实数,c1和c2是两个非负常数,用以保证PSO算法的局部寻优能力,XiS表示粒子i的位置,t是当前迭代次数。

步骤4 选择粒子进行遗传算法的交叉和变异操作,计算适应度值,找出个体极值和群体极值,判断是否满足条件,满足转入步骤5否则返回步骤3;

步骤5 将粒子群算法结果传递到BP神经网络,根据预测输出Y和期望输出O计算误差e;

ek=Ok-Yk(k=1,2,…,m)

(4)

式中:k为输出层神经元个数。

步骤6 根据预测误差e更新权值和阈值;

(5)

ωjk=ωjk+ηHjek(j=1,2,…,l;k=1,2,…,m)

(6)

(7)

βk=βk+ek(K=1,2,…,m)

(8)

式中:ωij为BP神经网络输入层第i个神经元与隐含层第j个神经元之间的权值,ωjk为BP神经网络隐含层第j个神经元与输出层第k个神经元之间的权值。

Hi为输入层数值,Hj为隐含层输出,αj为隐含层阈值,βk为输出层阈值。

步骤7 如果输出误差达到预先设定的期望值或者达到迭代次数,算法结束;否则返回步骤5。

2.3 算法复杂性分析

根据图3的算法流程可知,PSO算法和BP神经网络的训练是一个串行关系。假设PSO算法的输入是n个参数,算法迭代m次,每个粒子每次迭代的时间为T,则运行一次PSO算法的时间为n×m×T,可以得出PSO算法的时间复杂度为O(nm)。若BP神经网络的输入层神经元为n1,隐含层为n2,输出层为n3,则运行一次BP神经网络花费的时间为(n1×n2+n2×n3)×T,即BP神经网络的时间复杂度为O(n2)。因为GAPSOBP算法中PSO和BP神经网络为串行关系,可以得出GAPSOBP的时间复杂度为O(n2)+O(nm)。

3 仿真及结果分析

3.1 仿真参数设置

本文选择MATLAB工具对算法性能进行测试,版本为R2014a,计算机配置为intel i5处理器,4 G运行内存。假设在100 m×100 m的范围内随机投放100个传感器节点,Sink节点坐标为(0,0)并且能量供应充足,其他节点初始能量都为0.5 J,能量耗表示尽节点死亡。网络运行LEACH协议形成稳定网络拓扑后,为了节约能量假设算法的训练过程在Sink节点中进行,训练完成后将相关参数以特殊消息的形式传递给网络节点,然后应用GAPSOBP算法进行数据的融合处理。具体相关参数如表1所示。

表1 仿真试验参数

3.2 仿真结果分析

本文进行仿真评估时选择节点能量消耗、Sink节点接收的数据量、节点存活时间及算法迭代时间作为性能指标,对比分析WSN运行LEACH,PSOBP,GAPSOBP算法时的网络性能表现。

①节点能量消耗对比

为了验证算法的有效性,对运行不同算法的WSN网络能量消耗进行了仿真对比。图4给出了具体统计结果。

图4 能量消耗对比

从图4中可以清楚地看到,运行LEACH算法的网络能量消耗比运行PSOBP算法的网络更快,而运行GAPSOBP算法的网络的能量消耗比前两种算法都慢。这是由于PSOBP算法较LEACH协议能加有效地融合传感网数据,减少数据传输,节约节点能量;但由于未在PSO中采取GA算法进行优化,存在训练时间长融合结果有误差的不足,数据融合效果不如GAPSOBP算法。证明了GAPSOBP算法能够较前两种方法更有效地进行数据融合,减少网络数据传输量,降低节点能量消耗。

图5 Sink节点接收数据量对比

②Sink节点接收数据量对比

对Sink节点接收到的数据包进行对比分析,具体统计结果如图5所示。从图中可以看出,在运行LEACH算法的网络中,Sink节点接收的数据量较少。因为在运行LEACH算法的网络中随着节点采集的数据量增加,各个节点都在向簇头节点发送数据包,簇头节点收集了大量的数据包需要发往Sink节点,很快就会造成网络拥塞,大量的数据将会被丢弃重发,最终导致Sink节点接收到的有用数据包有限。PSOBP有效融合了部分数据,减少了网络通信量,消除了部分拥塞,提高了信道利用率;但由于PSO算法的寻优过程缺少变化性,造成BP神经网络数据融合程度不够。GAPSOBP算法利用遗传粒子群对BP神经网络初始参数进行优化,能够最大程度上找到全局最优解,提高了BP神经网络的数据融合程度,大大减少网络通信量,提高了信道利用率,使得Sink节点接收的有效数据包数量增加,增加了无线传感网数据分析的准确性和完备性。

图6 节点生命周期对比

③无线传感网生存周期对比

一般来说,在网络生存方面,不同的文献有着不同的定义。Ishizuka M等人将无线传感网络生存时间定义为从网络开始运行到网络对目标监控区域的覆盖率下降到容忍值的时间为止[11],Zhang J、Guidoni D L等将网络生存时间定义为从网络开始运行到节点能量全部耗尽所经历的时间[12-13]。本文选取后一种定义作为标准。图6给出了分别运行3种不同算法,节点生存时间对比。

从图6可以看到,当节点数目为100时,运行LEACH协议的无线传感网由于数据融合程度不够,节点能耗太大,导致在算法迭代到1 000次左右的时候开始出现了节点死亡的情况。运行PSOBP算法的无线传感网,有效融合了部分感知数据,一定程度上降低了传感器节点的能耗速度,引入了PSOBP数据融合算法的无线传感网在运行到1 200 s左右的时候才有死亡节点出现。而采用了GAPSOBP数据融合算法的无线传感网,数据融合程度最好,节点能耗速度更低,节点生命周期更长,在迭代进行到1 300次左右的时候才开始出现死亡节点,证明了GAPSOBP算法能够较其他两种算法更好地延长网络生存时间。

④算法迭代时间对比

由于遗传算法和粒子群算法都是智能优化算法,为了检验经过遗传算法优化的粒子群算法是否优于原始的粒子群算法,本文对它们的迭代进化情况进行了对比,具体仿真结果如图7所示。可以看到,经过遗传算法优化的粒子群算法拥有比原始粒子群算法更快的收敛速度,并且能够获得更优的适应度值,表明在粒子群算法中加入遗传算法的交叉和变异功能后能够有效避免求解陷入局部最优,能够提升收敛速度和算法性能。

图7 算法迭代时间对比

4 总结与展望

GAPSOBP算法结合了无线传感网和BP神经网络的特点,将遗传算法、粒子群算法以及BP神经网络合理应用于无线传感网中用以数据的融合处理。GAPSOBP算法将BP神经网络的初始权值用遗传粒子群算法进行优化处理,有效避免了BP神经网络初始参数取值的盲目性,加快了BP神经网络的收敛速度,提升了数据融合性能。与传统的LEACH算法和PSOBP算法进行了综合对比,验证了GAPSOBP算法在数据融合程度上优于前两种算法,能够进一步降低网络数据通信量,节约节点能量,更好地实现了延长网络生存时间的目的。

GAPSOBP算法侧重于对无线传感网感知数据融合处理方面的研究,主要目的是减少数据通信量降低网络能耗,从而延长网络寿命。在对感知数据的预处理方面的工作还有进一步研究的空间,如在数据的去

噪声和消除冗余等方面的相关研究,若在增加此类工作的基础上应该还能进一步降低网络能耗,并且进一步提高数据融合的精确性和可信度。

[1] Zheng Jun,Abbas Jamalipour. Introduction to Wireless Sensor Networks[J]. Embedded Systems Handbook Second Edition,2014,16(3):1-18.

[2] Min R,Bhardwaj M,Seong-Hwan Cho,et al. Energy-Centric Enabling Technologies for Wireless Sensor Networks[J]. IEEE Wireless Communications,2002,9(4):28-39.

[3] 张聚伟,王宇,杨挺. 基于数据融合的有向传感器网络全覆盖部署[J]. 传感技术学报,2017,30(1):139-145.

[4] 李海艳,李维嘉,黄运保. 基于卡尔曼滤波的多传感器测量数据融合[J]. 武汉大学学报,2011,44(4):521-529.

[5] 连方圆,白静. 一种改进的基于神经网络的WSN数据融合算法[J]. 计算机测量与控制,2014,22(2):476-479.

[6] 陈秋红,郭猛. 基于PSO-BP的无线传感器网络数据融合算法研究[J]. 计算机测量与控制,2014,22(4):1212-1215.

[7] 高美凤,李凤超. 遗传粒子群优化的DV-Hop定位算法[J]. 传感技术学报,2017,30(7):1083-1088.

[8] 张水平,王碧. 动态搜索空间的粒子群算法[J]. 计算机应用研究,2016,33(7):2047-2051.

[9] Jürgen Schmidhuber.Deep Learning in Neural Networks:An Overview Neural Networks[J]. Neural Networks,2015,61(1):85-117.

[10] Alka Singh,Shubhangi Rathkanthiwar,Sandeep Kakde. LEACH Based-Energy Efficient Routing Protocol for Wireless Sensor Networks[C]//International Conference on Electrical,Electronics,and Optimization Techniques(ICEEOT),2016:4654-4658.

[11] Ishizuka M,Aida M. Performance Study of Node Placement in Sensor Network[C]//24th International Conference on Distributed Computing System Workshops,2004:598-603.

[12] Zhang J,Ci S,Sharif H,et al. A Battery-Aware Deployment Scheme for Cooperative Wireless Sensor Networks[C]//Global Telecommunications Conference,2009:1-5.

[13] Guidoni D L,Boukerche A,Villas L A,et al. A Tree-Based Approach to Design Heterogeneous Sensor Networks Based on Small World Concepts[C]//IEEE Conference on Local Computer Networks,2011:666-672.

猜你喜欢
传感权值粒子
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
Conduit necrosis following esophagectomy:An up-to-date literature review
IPv6与ZigBee无线传感网互联网关的研究
基于粒子群优化的桥式起重机模糊PID控制
基于粒子群优化极点配置的空燃比输出反馈控制
基于权值动量的RBM加速学习算法研究
基于多维度特征权值动态更新的用户推荐模型研究