一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于LSTM的水声网络数据实时故障检测及恢复方法

2022-09-03 15:59:06 来源:中国专利 TAG:

基于lstm的水声网络数据实时故障检测及恢复方法
技术领域
1.本发明涉及长短期记忆神经网络(lstm)与水声网络,尤其是涉及一种基于lstm的水声网络数据实时故障检测及恢复方法。


背景技术:

2.现如今,水声传感器网络(简称“水声网络”)已被广泛应用于沿海环境的不同监测场景中。然而,水声网络节点常部署在恶劣的海洋环境中,传感器节点时有发生,会导致节点感知的数据不可靠、不准确。因此,及时检测出水声网络节点故障数据并恢复对于保证网络数据传输的可靠性至关重要。
3.对于水声网络节点故障检测,现有的技术有集中式、分布式和混合式算法。集中式故障检测算法,是基站通过搜集到的各节点信息进行分析以判断各节点的状态;分布式故障检测算法,通过参考各节点的相邻节点信息来判断该节点的状态,若相邻节点故障数超过一半,则基于此算法对节点状态的判断是不可靠的;混合式故障检测算法,将节点分簇,簇头和基站都有权通过采集到的簇成员节点传输信息判断节点的状态。这些方法都需要各节点将感知数据传输给相邻节点、簇头或者基站,进而判断各节点的状态。因此,故障检测有一定程度的时延,并且依赖于节点之间的数据传输过程。杜嘉欣等(杜嘉欣,韩光洁,林川,王照辉.一种水声传感网中基于长短时记忆网络的动态信任模型:cn112512003b[p].2021-11-05.)提出一种水声传感网中基于长短时记忆网络(lstm)的动态信任模型,该模型仍然是在基站从簇头搜集水质检测数据的基础上,通过分析节点数据特征和节点之间的通信特征信息计算四维信任数据,再将其四维信任数据输入lstm训练得到信任模型。因此,该发明对恶意节点的判断仍然存在一定程度的时延,并且对节点之间的时空相关性依赖程度高。r.prasad等(r.prasad and r.k.baghel.a novel fault diagnosis technique for wireless sensor network using feedforward neural network[j].ieee sensors letters,2022,6(1):1-4)提出一种基于前馈神经网络的故障诊断方法,实现在每个节点处实时检测数据的准确性,但是前馈神经网络在处理长时间序列的能力上不如lstm,此方法也未提出故障数据恢复的机制。
[0004]
前馈神经网络每一层由并行的输入、隐藏或输出神经元组成,单独的每一层神经元不会有连接,输入信息将从前端向后端递进传递,存在数据梯度爆炸的隐患问题。然而,lstm采取门结构控制输入信息的丢弃或记忆,其中,输入门控制信息的引入、遗忘门控制信息的遗忘、输出门控制输出信息的过滤。因此,lstm能提高对较长时间序列输入的记忆能力,可以认为lstm在预测长时间数据序列数据时优于前馈神经网络。
[0005]
综上,水声网络节点故障检测的现有技术需要在故障检测前通过相邻节点、簇头或基站搜集各簇成员节点数据,并根据数据特征及节点通信行为特征作出对节点故障的判断,进而存在一定程度上的时延,并对节点之间时空相关性的依赖程度高。为了解决这一问题,本发明提出将深度学习网络lstm应用于水声网络各节点处,仅仅依据节点自身感知数据的时间规律而判断检测时刻的数据的故障状态,可实现感知数据故障检测的独立性和实
时性,进而减少检测完成所需要的时间和能量的消耗。


技术实现要素:

[0006]
本发明的目的在于提供实现对节点数据的实时检测和及时恢复,降低节点故障检测对节点之间时空相关性依赖,缩短故障检测完成所需时间的一种基于lstm的水声网络数据实时故障检测及恢复方法。针对分簇部署的水声网络对传感器节点感知数据进行故障检测的场景,提出在各节点处应用lstm来预测节点数据,并根据感知数据与预测数据的偏离程度判断数据的故障状态;若判断节点数据是故障的,则及时以预测数据替换存在故障的感知数据。
[0007]
本发明包括以下步骤:
[0008]
1)水声网络分簇部署与数据传输,具体内容如下:
[0009]
考虑由随机部署在水下的n个水声传感器节点和水面1个sink节点组成的水声网络,将n个节点均匀分为k个簇,每个簇共n=n/k个成员节点,簇内以节点最短距离之和最小者为簇头,记作mi(i=1,2,3,

,k);另外,每个簇头mi负责收集各自簇成员节点m
ij
(i为某一固定值;j=1,2,3,

,n)数据并汇总传输给sink节点。
[0010]
节点最短距离定义为某节点m
ij
距离其他节点的最短路径距离;节点最短距离之和,即为该节点m
ij
到簇内其他所有成员节点的最短路径距离之和;
[0011]
2)将开始进行故障检测的时刻设为t,可以将t时刻之前的数据集作为训练集;调整时间步长step的数值,将训练集划分为移动等长序列输入lstm,通过迭代训练可得出优化后的预测数据与感知数据的均方根误差rmse,同时得到优化的lstm网络模型;具体步骤如下:
[0012]
2.1)预设时间步长step,将成员节点的感知数据序列data
ijt
(i、j均为某一固定值;t=0,1,

,t-1)作为训练集,将其划分成以时间步长step为每行固定长度的移动等长数据序列输入lstm训练,通过迭代得出优化后的预测数据与感知数据的均方根误差rmse,同时得到优化的lstm网络模型;
[0013][0014]
将连续时刻的感知数据序列划分成以时间步长step为每行固定长度的移动等长数据序列的方法,是将一维序列划分成每行step个元素、每列首元素时刻间隔为1的序列;即,针对一整体数据序列data
t
(t=1,2,3,...t-1),将data
t
(t=1,2,3,...step)作为移动等长序列的第1行,data
t
(t=2,3,4,...step 1)作为移动等长序列的第2行,依次类推,便可划分成以时间步长step为每行固定长度的移动等长数据序列;
[0015]
2.2)考虑不同时间步长step对预测结果的影响,调整时间步长step数值,重复步骤2.1)的操作,得出不同时间步长所对应的预测数据与感知数据的均方根误差rmse;其中,均方根误差rmse的物理含义为预测数据与感知数据之间的拟合程度,可以用来衡量预测的精确程度;均方根误差值越小,预测精度越高;综合考虑实际情况并选择最合适的时间步长step,训练得出进一步优化的lstm网络模型;
[0016]
3)基于步骤2.2)训练得出优化的lstm网络模型,将检测时刻前step个时刻数据输
入网络模型,预测并得出检测时刻的预测数据;计算检测时刻的感知数据与预测数据的相对误差绝对值,并将其与阈值进行比较以判断感知数据的故障状态;具体步骤如下:
[0017]
3.1)基于步骤2.2)训练得出优化后的lstm网络模型,将训练集划分成移动等长序列x
tr
输入网络模型并预测,进而输出预测数据集y
trp
;计算训练集相应时刻的感知数据y
tr
与预测数据y
ptr
的相对误差绝对值|relerror1|,取|relerror1|最大值作为阈值v
th

[0018][0019]vth
=|relerror1|
max
[0020]
阈值v
th
可表示为因预测导致的感知数据与预测数据的最大偏差程度,当检测时刻的感知数据与预测数据的相对误差绝对值超出阈值,即可认为节点感知数据自身故障所导致与预测数据偏差程度太大;
[0021]
3.2)基于步骤2.2)训练得出优化的lstm网络模型,将检测时刻前step个时刻的数据输入网络模型预测,得出检测时刻的预测数据y
pte
,计算此刻的感知数据y
te
与预测数据y
pte
的相对误差绝对值|relerror2|;若此刻的|relerror2|小于或等于步骤3.1)确定的v
th
,则可以认为此刻的感知数据无误;相反,若此刻的|relerror2|大于v
th
,则可以认为此刻的感知数据为故障状态;
[0022][0023][0024]
4)基于步骤3.2)数据故障状态的判断结果,对故障数据进行及时恢复;若检测时刻的感知数据无误,则保留该感知数据;但是,若检测时刻的感知数据是故障的,则以预测数据代替该存在故障的感知数据而达到故障恢复的作用。
[0025]
本发明中,各节点只是依据自身感知数据的时间规律而判断检测时刻感知数据的故障状态,可实现感知数据故障检测的独立性和实时性,减少检测完成所需要的时间和能量的消耗。
[0026]
本发明将lstm应用于水声网络各节点处,不必根据相邻节点状态和节点之间的通信行为特征判断节点的故障状态,各节点可独立地训练各自无误数据得到优化后的lstm网络模型,并各自将检测时刻前step个时刻的数据输入lstm网络模型,预测而得到检测时刻的预测数据,然后计算感知数据与预测数据的相对误差绝对值,并将其与阈值进行比较,进而实时判断感知数据的故障状态,并根据需要及时以预测数据代替存在故障的感知数据而实现数据的故障恢复。
[0027]
本发明具有以下突出优点:
[0028]
1)降低节点故障数据的检测时延。针对水声网络节点故障检测现有技术的不足,本发明将lstm应用于各节点处,基于训练得到的lstm网络模型预测而输出检测时刻的预测数据,并根据该时刻感知数据与预测数据的偏离程度判断感知数据的故障状态。本发明所提方法避免了簇头或基站搜集数据时数据传输耗时而导致故障检测的延时,本发明实现对节点数据故障的实时检测;
[0029]
2)对故障节点有容错作用,降低节点数据故障检测对节点之间时空相关性的依赖。基于lstm训练检测开始时刻前的感知数据而得到优化的lstm网络模型,预测并输出检测时刻的预测数据,进而通过比较感知数据与预测数据的偏离程度以判断该时刻感知数据的故障状态。本发明实质上是依据节点自身感知数据的时间规律而判断检测时刻感知数据的故障状态,从而在一定程度上表现出对故障节点的容错作用;并且本发明并非通过相邻节点的状态或节点之间通信行为特征信息对节点的故障状态作出判断,降低节点数据故障检测对节点之间时空相关性的依赖;
[0030]
3)对节点故障数据具有高检测精度的优势。结合lstm具有选择性地丢弃或记忆输入信息的特点,lstm在不同时间步长下预测结果都可以保持很高的准确度,本发明将lstm应用于各成员节点对自身感知数据故障状态的判断中,可以保证节点数据故障检测的高检测精度;
[0031]
4)实现节点故障数据的及时恢复功能。本发明根据感知数据与预测数据的相对误差绝对值与阈值之间的大小关系判断数据的故障状态,若感知数据判断为是故障的,则以预测数据替换掉存在故障的感知数据,从而实现对故障数据的及时恢复,保证网络传输数据的可靠性。
附图说明
[0032]
图1为本发明基于lstm的水声网络数据实时故障检测及恢复方法的场景图。
[0033]
图2本发明基于lstm的水声网络数据实时故障检测及恢复方法的移动等长序列划分示例图。
[0034]
图3为本发明基于lstm的水声网络数据实时故障检测及恢复方法的不同时间步长step对lstm预测结果影响图。
[0035]
图4为本发明基于lstm的水声网络数据实时故障检测及恢复方法的流程图。
具体实施方式
[0036]
为了使本发明的目的、技术方案及优点更加清楚明白,以下实施例将结合附图对本发明进行作进一步的说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。为了使公众对本发明有更好的了解,以下对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
[0037]
本发明实质上是依据节点自身感知数据的时间规律来判断检测时刻感知数据的故障状态,从而能以已知的整体数据序列进行仿真模拟,并检验本发明所提方法的可实施性与预测准确性。具体实施例如下:
[0038]
1)如图1所示,本发明将lstm应用于簇内各节点处,考虑簇内其一节点的感知数据序列,将检测时刻t之前的数据作为训练集,并划分成以时间步长step为每行固定长度的移动等长序列输入lstm,通过迭代训练得到优化的lstm网络模型。具体操作步骤如下:
[0039]
1.1)以已知的一维噪声数据序列data为例,将整体数据序列data长度(n
data
)的75%处的时刻作为检测时刻t,如图3所示,将整体数据序列data分为训练集data
tr
和测试集data
te
。其中,训练集data
tr
是整体数据序列t时刻之前的数据data
t
(t=1,2,3,

,t-1),而
测试集data
te
是整体数据序列t时刻及t时刻之后的数据data
t
(t=t,t 1,t 2,

,n
data
)。然后,将训练集划分成以时间步长step为每行固定长度的移动等长数据序列输入lstm,通过迭代训练得到优化的预测数据与感知数据的均方根值rmse,同时得到优化的lstm网络模型。
[0040]
data
tr
=data
t
(t=1,2,3,...t-1)
[0041]
data
te
=data
t
(t=t,t 1,t 2,t 3,...,n
data
)
[0042][0043]
如图2所示,将连续时刻的数据序列划分成以时间步长step为每行固定长度的移动等长数据序列的方法,是将一维序列划分成每行step个元素、每列首元素时刻间隔为1的序列。即,针对训练集data
tr
=data
t
(t=1,2,3,...t-1),将data
t
(t=1,2,3,...step)作为移动等长序列的第1行,data
t
(t=2,3,4,...step 1)作为移动等长序列的第2行,依次类推,即可划分成以时间步长step为每行固定长度的移动等长数据序列。
[0044]
1.2)考虑到不同时间步长对预测结果的影响,调整时间步长step的数值,重复步骤1.1)操作,得到不同时间步长step所相对应的预测数据与感知数据的均方根值rmse,进而总结不同时间步长step对lstm预测结果的影响。如图3所示,时间步长为10或者100,其对应的rmse都较小,并且两者相差不大,即认为lstm基于较短或较长时间步长预测的结果都保持较好的精确度。本发明实施例考虑到时间步长越长,程序耗时越长,取step=10为固定时间步长较为合适。进而,基于整体数据序列data及时间步长step=10,重复步骤1.1)操作,训练得到进一步优化的lstm网络模型。
[0045]
2)按照图4本发明所提方法的流程图,基于步骤1.2)进一步优化的lstm网络模型,将检测时刻前step个时刻的数据输入模型并预测,进而输出检测时刻的预测数据。通过比较检测时刻的感知数据与预测数据的偏离程度以判断此刻感知数据的故障状态,根据需要及时以预测数据代替存在故障的感知数据,进而实现感知数据的故障恢复。具体操作步骤如下:
[0046]
2.1)随机在测试集序列中生成一定数量nf(nf=0.1
×
utest;utest是测试集的长度,0.1是故障率fault ratio的设值)故障数据的位置,将所有生成位置的感知数据datar代入数据故障模型,得到有故障数据的整体数据序列data1,再基于时间步长step=10对有故障数据的整体数据序列data1重复步骤1.1)操作,训练得到优化的lstm网络模型。在本发明实施例中,数据故障模型如下:
[0047]
dataf=a
×
datar b
[0048]
式中,datar是生成位置的感知数据,dataf是生成位置的感知数据代入故障模型后所得的故障数据;a是故障增益量,设为0.2;b是故障偏移量,为[0,10]范围的随机数。
[0049]
2.2)基于步骤2.1)优化的lstm网络模型,将data1的训练集划分成以时间步长step=10为每行固定长度的移动等长序列x
tr
输入网络模型并预测,进而输出预测数据集y
ptr
,计算训练集相应时刻的感知数据y
tr
与预测数据y
ptr
的相对误差绝对值|relerror1|,取|relerror1|最大值作为阈值v
th

[0050][0051]vth
=|relerror1|max
[0052]
2.3)基于步骤2.1)优化的lstm网络模型,将检测时刻t前step个时刻的数据输入网络模型,预测并得出检测时刻的预测数据y
pte
,计算此刻感知数据y
te
与预测数据y
pte
的相对误差绝对值|relerror2|。若此刻|relerror2|小于或等于步骤2.2)确定的v
th
,则可以认为此刻的感知数据无误;相反,若此刻|relerror2|大于v
th
,则可以认为此刻的感知数据为故障状态,并以预测数据替代该故障的感知数据而达到数据故障恢复的作用。
[0053][0054][0055]
2.4)在下一个检测时刻,基于步骤2.1)优化的lstm网络模型,重复步骤2.3)操作。
[0056]
2.5)重复步骤2.4),直至检测时刻为n
data

[0057]
3)通过步骤1)、步骤2)对已知的一维噪声数据序列完成仿真模拟后,以检测精度da和误检率fa来检验本发明所提方法的可实施性与预测准确性,仿真参数设置与结果数据如表1、2所示。
[0058][0059]
nfa=|nda-nf|
[0060][0061]
式中,da为检测精度,fa为误检率,nda为故障数据检测正确的个数,nfa为故障数据检测错误个数,nf为故障数据的总数。
[0062]
表1给出仿真参数表,表2给出仿真结果数据表。
[0063]
表1
[0064]
仿真参数参数值整体序列长度n
data
18185t时刻13639时间步长step10测试集的长度utest4546故障率fault ratio0.1故障数据总数nf434
[0065]
表2
[0066]
仿真结果数据数据值故障数据检测正确个数nda434故障数据检测错误个数nfa1
检测精度da(%)100误检率fa(%)0.2304
[0067]
仿真结果数据显示,本发明实施例在故障率fault ratio=0.1的情况下,故障数据的检测精度da为100%,误检率fa为0.2304%,可认为本发明所提方法数据故障检测精度高,具有可实时性。
[0068]
本发明将lstm应用于水声网络的每个节点处,基于lstm对节点最初的感知数据进行训练得到优化的lstm网络模型,将检测时刻前一定长度的数据输入模型并预测检测时刻的感知数据,进而计算真实感知数据与预测值的相对误差,最后通过相对误差的绝对值与阈值相比较而判断此刻感知数据是否存在故障,并且及时以预测值替换存在故障的感知数据而达到故障恢复的作用。避免簇头或基站搜集数据时数据传输耗时而导致故障检测的延时,实现对节点数据故障的实时检测;同时,也实现对水声网络节点感知数据故障的及时恢复机制,保证网络传输数据的可靠性。
[0069]
上述实施例仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献