基于免疫危险理论的无线传感器网络节点故障诊断*

2014-08-29 11:47赵锡恒何小敏许亮李秀喜广东工业大学自动化学院广州50006华南理工大学化学与化工学院广州50640
传感技术学报 2014年5期
关键词:抗原故障诊断无线

赵锡恒,何小敏,许亮*,李秀喜(.广东工业大学自动化学院,广州50006;.华南理工大学化学与化工学院,广州50640)

基于免疫危险理论的无线传感器网络节点故障诊断*

赵锡恒1,何小敏1,许亮1*,李秀喜2
(1.广东工业大学自动化学院,广州510006;2.华南理工大学化学与化工学院,广州510640)

针对无线传感器网络的故障特点以及故障诊断的自学习问题,本文提出一种基于免疫危险理论的无线传感器网络节点故障诊断算法。该方法利用危险触发阈值来识别危险源,用遗传算法生成抗体库,基于K近邻分类法构建多抗体故障检测器并进行故障分类,通过追踪故障数据变化更新抗体库。实验仿真证明,该算法与其他无线传感器网络故障诊断算法相比,在训练数据较少的情况下,诊断准确率更高,效率更好,耗用硬件计算资源更少,并具备动态更新特性。

无线传感器网络;免疫危险理论;识别危险源;抗体库;故障诊断

无线传感器网络WSNs(Wireless Sensor Networks)作为当今自动化领域的热点,在全球范围内被广泛应用于农业生产、环境监测、智能家居、医疗保健等多个领域,通过其分布式的拓扑结多用于检测温度、湿度、压力等环境信息[1]。但由于数量众多的低成本、能量有限节点,被随机部署在不可控区域,加之WSNs应用环境异常复杂和恶劣,WSNs时常会出现各种故障,降低或失去监控功能,对使用者造成严重的经济损失甚至使整个网络瘫痪,其可靠性是传感器网络应用的重要挑战。而具有自学习、自适应、自诊断、自更新的智能故障诊断方法,是维护WSNs可靠运行的关键技术。

无线传感网络中的节点所采集的数据具有空间相关性与时间相关性的特点。故此,文献[2]提出关于节点故障检测算法大致可分为五类:基于多数投票策略的算法[3]、基于中值策略的算法[4]、基于决策扩散策略的算法、基于加权的算法[5]、基于分簇的算法[6]。

但从智能化和自动化的角度分析,面对WSNs功能日益复杂的发展趋势,仅仅对节点实施故障检测不足以满足要求,且目前大多数的故障诊断算法并没有考虑系统启动时的硬件消耗,更没有形成应对故障数据变化的在线学习机制。单纯的故障检测和诊断已不能满足WSNs实际应用的需求。WSNs需要一种不过度消耗硬件资源,识别故障类型,且具有自适应的节点故障诊断算法。

目前,WSNs节点故障诊断领域主流的智能算法有支持向量机、人工神经网络算法[7]、基于粗糙集的WSNs节点故障诊断算法[8-9]等。

基于免疫危险理论,本文提出一种具有自适应的节点故障诊断算法。该算法利用危险触发阈值识别危险源,用遗传算法生成抗体库,基于K近邻分类法对故障分类,利用故障数据在线更新抗体库,并对其进行仿真和对比实验。

1 免疫危险理论的生物学基础

传统人工免疫理论通过识别“自我”“非我”判断对机体有害的入侵源。这种机制存在严重局限性,而免疫危险理论则针对理论缺陷,提出修改。1994年,Polly Matzinger教授提出生物免疫危险理论IDT(Immune Danger Theory),认为免疫系统产生相应保护机制是根据危险信号的敏感程度,免疫反应是对细胞死亡过程作出的反应,危险信号的产生与检测跟免疫生化反应密切相关[10-12]。免疫危险理论指免疫系统只对有害抗原进行免疫应答,这样大大减小应答的规模,且更具有实际操作性。另外,免疫危险理论与传统人工免疫理论同样能通过更新抗体库,对变异的抗原进行识别和免疫。

抗原入侵机体后会刺激免疫系统发生一系列复杂的连锁反应,这个过程叫做免疫应答,或称免疫反应。免疫应答一般分成两次完成:初次应答和二次应答。免疫应答的基本过程[13]如下:

图1 免疫危险理论的基本免疫原理

抗原初次感染机体后,会触发危险信号,机体免疫系统马上作出响应,发生初次免疫应答。免疫系统通过刺激有限的特异性克隆增殖,迅速产生抗体,以达到足够的亲和力阈值,清除抗原,并生产免疫记忆细胞,对下次遇到相同的抗原可以快速作出应答。二次免疫应答在免疫记忆细胞的帮助下,对抗原的应答更加迅速,无须重新学习[13]。

2 免疫危险理论概念在WSNs故障诊断中的定义

本文借助免疫危险理论,对WSNs节点故障诊断提出一种新算法。同时其作为一种仿生算法,具有极强的人工智能,提高WSNs节点故障诊断的效率和精度。本文提出基于免疫危险理论的WSNs节点故障诊断算法克服了WSNs的以下问题:①WSNs节点故障数据较少;②环境变化导致错误数据发生偏移;③节点能量和计算能力有限。

首先,本文介绍免疫学概念在WSNs节点故障诊断算法中的具体数学定义。

2.1 抗原、抗体

本文采用文献[14]的方法,以小波包分析法分析链路质量信号获得相应的网络故障信息,从而提取出WSNs节点状态特征向量。特征向量在免疫危险理论中以抗原、抗体的方式表示。基于免疫危险理论的WSNs节点故障诊断算法中,抗体实际上是检测器(由控制后台生成),并通过亲和度(欧氏距离)诊断出抗原(节点状态向量,由簇头分析获得)的故障类别。

例如,一个n维的抗体(或抗原)如式(1)所示:

若有m个抗体,每个抗体有n维特征,抗体库就可表示为一个m行n列矩阵,如式(2)所示:

2.2 抗体库

为便描述,假设将超过2维的数据通过高维图像非线性映射法投射到二维空间上。在此基础上,抗体库模型被模拟成二维空间上的2个同心圆,其公共圆心为该抗体库的中心位置,即生成这个抗体库的疫苗,圆的半径定义以欧氏距离为基础;内圆为识别区,生成的抗体分布在这区域里;外圆环为更新区,任何抗原落在这区域,只要符合条件,就会触发更新抗体库。

2.3 亲和度

亲和度是抗体与抗原的结合程度。在故障诊断算法中,为描述抗原与抗体之间的关系需要把亲和度进行量化。本文用欧氏距离表示亲和度,如式(3)所示,设Ab、Ag分别是抗体和抗原的向量表示形式,维数为n。

欧氏距离越大,表明抗原抗体的亲和度越低;反之,欧氏距离越小,两者亲和度越高。为研究的便捷性和实际性,本文采用欧氏距离表示亲和度的方法。本文中的亲和度是判断同类抗原,识别危险源的标准。

3 基于免疫危险理论的WSNs节点故障诊断算法

基于免疫危险理论的WSNs节点故障诊断算法分为训练抗体库,识别危险源,诊断分类,更新抗体库4个部分。

3.1 WSNs网络模型与故障分析

设N个WSNs节点随机分布在某一特定区域中,这些WSNs节点都具有相同的通信半径。如图2所示,簇头汇总WSNs节点传递的数据,并通过多跳的方式将其传递到控制后台服务器[2]。

图2 WSNs网络模型

如2.1所述,算法利用文献[14]介绍的小波包分析法分析链路质量(即WSNs数据包的强度和质量),提取出节点状态特征向量,并主要针对网络正常无故障、节点硬故障、通信协议软件故障和文件传输软件故障4种节点故障。其中节点硬故障主要表现为:电源模块失效或者电池能量耗尽,处理器模块失效,传感器模块失效和无线收发模块不能进行数据收发。通信协议软件按故障是指网络运行时遇到异常或协议未提供可靠机制而导致的传输失败。文件传输软件故障是由于文件传输机制错误或者外界网络干扰等造成的文件传输失败[14]。当WSNs运行时,簇头收集并分析簇内节点之间通信的链路质量,从而对监控区域内的所有节点进行监控和故障诊断。

3.2 训练抗体库

本部分用接种疫苗的方法,输入疫苗(训练抗原库的中心),经过遗传算子交叉、选择、变异操作后生成新匹配记忆抗体库。

一个训练抗原库以矩阵(m*n)的形式如式(4)所示:

故疫苗(抗原库中心)(1*n)计算表达式以如式(5)所示:

用距离函数表示初始抗体与疫苗的欧氏距离,以初始抗体向量作为未知数,距离函数作为遗传算法的目标函数,从而求出符合条件的新匹配记忆抗体向量,生成抗体库。设V为n维疫苗向量,Ab为n维抗体向量,距离函数如式(6)所示:

本文提出的算法采用遗传算法生成抗体,在控制后台下运行以节省WSNs能耗。该算法部分结合了遗传算法和人工免疫算法的优点,可以用小样本数据快速训练抗体库。遗传算子是进化的动力,输入疫苗起到导向性作用,让初始群体能朝着特定方向快速收敛到识别区。

3.3 识别危险源

根据时空相近性,正常节点的状态特征向量在某一时刻一定处于某个范围内(即存在相邻性)。随机找出一个节点并计算与其他节点状态特征向量的欧式距离。若其欧式距离没超过阈值,则认为节点状态为同类。只要同类状态的节点数量超过节点总数的一半,该类节点就被认为正常。其余节点则被识别为危险源。

3.4 诊断分类

诊断分类采用K近邻分类法。算法以抗体作为检测器,抗原与哪种抗体(检测器)相邻数最多,就被视为该类故障。用这种不精确匹配和投票的方式能使有限的抗体识别无限的抗原。

3.5 更新抗体库

更新抗体库是一个学习过程,作为人工智能诊断算法,必须具有更新抗体库的能力。一旦在后续诊断分类工作中发现有危险抗原落入抗体库更新区,簇头会计算并重新调整中心位置,并转入控制后台训练抗体。

调整中心的公式与计算抗体库中心的公式类似,例如危险抗原落入更新区内,以矩阵(m*n)的形式如式(7)所示:

旧中心以向量(1*n)形式如式(8)所示:

则新中心以向量形式(1*n)如式(9)所示

3.6 基于免疫危险理论的WSNs节点故障诊断算法的基本步骤和流程图

begin

初始化参数

input疫苗(vaccine)

转入控制后台运行

建立初始群体(initial group)

输入目标函数

for每个个体

计算目标函数下的个体适应度fitness

while fitness<threshold

进行遗传操作

end while

end for

output抗体库至簇头并转入簇头

n=监控节点个数

a=0

for i=1:n-1

for j=i+1:n

计算节点i与节点j状态特征向量的欧氏距离dij

if dij>threshold

then a=a+1

if a>n/2

then标记节点i触发危险信号

else标记所有与节点i状态特征向量欧氏距离超过

阈值的节点触发危险信号

end if

end if

end for

end for

以抗体库为检测器,启动K近邻算法进行分类

if抗原落在抗体库更新区内

then计算抗体库中心位置并转入控制后台更新抗体

end if

end

基于免疫危险理论的WSNs节点故障诊断算法流程图如图3所示。

图3 基于免疫危险理论的WSN节点故障诊断算法流程图

3.7 基于免疫危险理论的WSNs节点故障诊断算法的时间复杂度

O()为本算法模块里的基本函数时间复杂度,函数类型(O1至O3)分别为遗传算法基本操作,欧氏距离比较算法,K近邻分类法。

(1)控制后台运行遗传算法生成抗体库

设初始Q个个体,最大迭代次数为M,共生成P个抗体,则时间复杂度

(2)簇头运行欧氏距离比较法检测危险信号

设共有N(N>3)个普通节点并有2个不同故障类别的故障节点,最坏情况下需比较((N/2)+ (N/2)+(N-3))次,故有时间复杂度

(3)簇头运行K近邻分类法(单个抗原情况)

因有P个抗体,故需分析比较P次,有时间复杂度

(4)时间复杂度分析

检测危险信号和K近邻分类法这2种算法在运算上基本类似于上文所述欧氏距离式(3),在簇头上运行起到分布式检测诊断的作用,且因公式运算简单运算代价不高。抗体库的生成涉及遗传算法且抗体数量较多,置于后台运行有助节省WSNs能耗。

4 仿真实验结果及其分析

本文所有实验都在MATLAB R2010b上完成,所有实验在Windows 7(Intel Core2 CPU P8600.2GB RAM)平台下运行。危险信号触发阈值设定为相距最近的两类训练数据中心欧氏距离的0.8倍。生成抗体库的遗传算法对生成数据向量中每个元素均定义在有意义的区间范围内,FitnessLimit(期望的最小适应度函数)设为0.01。其余各属性参数采用MATLAB默认值。分类诊断的K近邻分类算法参数采用MATLAB默认值。更新算法中,抗体库识别区欧氏半径设为0至0.45,更新区欧氏半径设为0.45至0.55。

4.1 实验1

本实验验证算法在识别危险源、诊断分类和更新抗体库3个方面性能是否与期望一致。以文献[14]为例,引用其无线传感器网络数据并按照其方法进行数据获取。实验前,通过对WSNs链路质量信号进行小波包分析,小波包分析将信号频带进行多层次划分,对高频部分进一步分解,某种或某几种频率成分能量即代表了一种状态[14]。利用小波包频带能量检测得出个频带内信号的能量幅值,并以此作为节点状态的特征向量即抗体、抗原的向量数据。实验数据共220个,分4类,每个数据有8维向量,其中200个为测试数据,其余为训练抗体库数据。

如3.1,实验1将网络状态分为:网络正常无故障、节点硬故障(故障1)、通信协议软件故障(故障2)和文件传输软件故障(故障3)。

4.1.1 识别危险源

本实验部分为验证算法能否快捷准确地检测出故障数据,收集了第1类所有节点数据,并从中加入10%的故障节点(危险节点)数据。表1列出了定位危险节点时间。

表1 定位危险节点时间

表1指出危险信号触发算法能高效地在短时间内找出所有异常数据,说明算法具备时效性,达到目的。

4.1.2 诊断分类

根据训练生成的抗体库,利用K近邻分类法得出诊断分类正确率图4。

图4 诊断分类正确率

可见,诊断分类算法应用到无线传感器网络故障分类中的诊断分类正确率极高。

为验证算法的一般性,本实验部分利用国际认可的UCI数据库中的Seed数据集进行分类正确率。Seed数据集有210个数据,数据分3类,数据向量的维数为7。分类结果如图5所示。

图5 Seed数据集分类正确率

可见分类结果令人满意,算法对不同数据的分类能力具备一般性。

4.1.3 更新抗体库

本部分用每类第1个数据作为疫苗,生成抗体库,再对后10个数据进行分类诊断。对落入更新区域的数据执行更新算法。以第1类抗体库为例:第1个数据为初始疫苗,第2至4个数据为更新后的抗体库中心,而第5个数据为第1类50个数据的中心(50个数据向量对应元素的均值),欧氏误差为各数据与第5个数据的欧氏误差,并以第1个误差值为100%。更新结果如图6所示。

图6 更新结果

由图6可知,更新算法体现出良好性能,在第1次更新中心后误差大幅降低,最后一次比较更低至2.9%。

综合实验1所得,免疫危险理论在WSNs的故障诊断中具备快速,计算量小,一般性,追踪更新的优点。

4.2 实验2

实验2是对比人工神经网络、支持向量机和基于免疫危险理论3种算法性能的实验,针对WSNs的特点:WSNs节点故障数据获取困难;环境变化导致错误数据发生偏移;节点能量和计算能力有限。同样基于实验1的数据,在分类正确率,更新耗时2个方面进行比较。

人工神经网络算法的网络结构分3层,隐层15个神经元,训练次数为2 600,训练目标为1e(-8),学习速率为0.1,训练函数为trainlm。支持向量机的核函数采用Kernel,其余设定采用默认选项。而基于免疫危险理论算法的参数设置与实验1一致。4.2.1分类正确率

本部分是在算法训练数据不足的情况下比较3种算法分类正确率。针对WSNs特点故障数据不足的特征,3个算法均基于每类5个训练数据的情况下进行算法训练。图7为3种算法分类正确率的对比图。

图7 3种算法诊断分类正确率比较

由图7可知,在少量训练数据的情况下,基于免疫危险理论诊断的正确率比人工神经网络算法和支持向量机都高,体现其针对WSNs特点的优势。

4.2.2 更新耗时

本部分通过测量算法更新耗时近似比较数据追踪耗时情况。由于人工神经网络和支持向量机都没有更新数据的功能,故利用落入抗体库更新区的更新数据进行更新用时比较。表2列出了3种算法的更新耗时。

表2 3种算法更新耗时

相对于人工神经网络要重新构建神经网络和支持向量机要重新训练最优分界面,基于免疫危险理论只需补充离开识别区的抗体个数,简化了更新规模,大大缩短追踪WSNs故障数据耗时。

综合实验2所得,基于人工免疫理论算法的性能参数要优于人工神经网络算法和支持向量机这2种一般的无线传感器网络诊断算法。

5 结论

为改善现有WSNs节点故障诊断算法针对WSNs特点呈现性能不足的问题,本文提出一种基于免疫危险理论的WSNs节点故障诊断算法。基于免疫危险理论算法模仿生物免疫系统机理,对触发危险信号的数据实施免疫操作,能生成抗体库对危险数据(抗原)进行诊断分类并可动态更新。其针对WSNs特点性能体现在所需训练数据少,降低程序耗时,能对抗体库进行快速更新。

通过仿真验证,本文介绍的算法针对WSNs特点表现出良好性能;另外,与人工神经网络诊断算法和支持向量机相比,有以下特点:(1)定位危险节点费时少,精度高;(2)需要训练数据较少仍能获得较满意分类效果;(3)具备更新能力且其需时较短,可认为占用硬件资源较少;上述特点说明本算法对WSNs节点故障诊断有很大的实用意义和研究价值。

[1]刘凯,彭力.分簇式无线传感器网络节点故障诊断算法研究[J].传感器与微系统,2011,30(4):37-40.

[2]徐小龙,耿卫建,杨庚,李玲娟,杨震.分布式无线传感器网络故障检测算法综述[J].计算机应用研究,2012,29(12):4420-4425.

[3]蒋鹏.一种改进的DFD无线传感器网络节点故障诊断算法研究[J].传感技术学报,2008,21(8):1417-1421.

[4]耿卫建.无线传感器网络故障检测与事件检测的研究[D].南京邮电大学,2013.

[5]高建良,徐勇军,李晓.基于加权中值的分布式传感器网络故障检测[J].软件学报,2007,18(5):1208-1217.

[6]Neelam Banerjee,P.M.Khilar.Distributed Intermittent Fault Diagnosis in Wireless Sensor Networks using Clustering[C]//International Conference on Integrated Intelligent Computing.Bangalore,India,2010:265-269.

[7]雷霖.无线传感器网络故障智能诊断技术研究[D].电子科技大学,2009.

[8]雷霖,代传龙,王厚军,赵旭.粗糙集一神经网络集成的WSN节点故障诊断[J].电子科技大学学报,2008,37(4):565 -568.

[9]雷霖,代传龙,王厚军.基于Rough set理论的无线传感器网络节点故障诊断[J].北京邮电大学学报,2007,30(4):69-73.

[10]胡志鹏,魏立线,申军伟,杨晓元.基于核Fisher判别分析的无线传感器网络入侵检测算法[J].传感技术学报,2012,25(2): 246-250.

[11]李雪.基于免疫危险理论的入侵检测系统研究[D].武汉科技大学,2009.

[12]Feixian Sun,Mengrong Kong,Jianhong Wang.An Immune Danger Theory Inspired Model for Network Security Threat Awareness[C]//International Conference on MultiMedia and Information Technology.Kaifeng,China,2010:93-95

[13]杨淑莹,张桦.群体智能与仿生计算—MATLAB技术实现[M].北京:电子工业出版社,2012.

[14]原瑾.室内WSN性能分析与故障诊断研究[D].江苏大学,2011.

赵锡恒(1989-),男,硕士,主要研究方向为无线传感器网络故障诊断,568053923@qq.com;

许亮(1971-),男,博士,主要研究方向为RFID及无线传感器网络,celiangxu @gdut.edu.cn;

何小敏(1961-),女,副教授,主要研究方向为计算机应用、物联网技术;

李秀喜(1966-),男,博士,主要研究方向为化工过程的控制与优化,cexxli @scut.edu.cn。

Wireless Sensor Networks Node Fault Diagnosis Based on Immune Danger Theory*

ZHAO Xiheng1,HE Xiaomin1,XU Liang1*,LI Xiuxi2

(1.School of Automation,Guangdong University of Technology,Guangzhou 510006,China; 2.School of Chemistry and Chemical Engineering,South China University of Technology,GuangZhou 510640,China)

Addressing to fault characteristic of wireless sensor networks(WSNs)and self-learning of fault diagnosis,an approach of node fault diagnosis algorithm based on immune danger theory for WSNs is presented in this paper. This method can identify dangerous sources with triggering thresholds of dangers.An antibody base is generated by the genetic algorithms.A multi-antibody classifier is based on the K-nearest neighbor and applied to diagnose faults for WSNs.The antibody base is updated by tracing the change of the fault data.The experiments show that the proposed method is more effective on performance of algorithms,more accurate on fault diagnosis,and less on computing resource of hardware,as well as of dynamically updating characteristics with a limit training data.

WSNs;immune danger theory;identify dangerous sources;antibody base;fault diagnosis

TP391.4

A

1004-1699(2014)05-0658-06

10.3969/j.issn.1004-1699.2014.05.017

项目来源:国家自然科学基金项目(21176089,61074185,21376091)

2013-10-07

2014-04-09

猜你喜欢
抗原故障诊断无线
基于包络解调原理的低转速滚动轴承故障诊断
《无线互联科技》征稿词(2021)
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
数控机床电气系统的故障诊断与维修
因果图定性分析法及其在故障诊断中的应用
梅毒螺旋体TpN17抗原的表达及纯化
结核分枝杆菌抗原Lppx和MT0322人T细胞抗原表位的多态性研究
APOBEC-3F和APOBEC-3G与乙肝核心抗原的相互作用研究