1.一种基于神经网络的水下无线传感器网络异常诊断方法,其特征在于,通过以下步骤来实现:a).水下传感网络的建立,建立由水下传感节点、水下汇聚节点和水上控制中心组成的水下无线传感器网络,水下传感节点自组成簇,簇首负责簇内传感节点与水下汇聚节点间数据的接收和转发;
b).构建神经网络模型,水上控制中心构建由输入层、卷积层、激活函数、池化层、全连接层、分类层和输出层构成的卷积神经网络CNN,卷积神经网络采用inception-v4模型结构;
c).数据预处理,水上控制中心将训练用一维数据变换为适合卷积神经网络CNN进行特征学习的灰度图或RGB图,由步骤b)中构建好的卷积神经网络CNN模型进行特征学习和训练;
d).构建异常诊断模型,基于迁移学习机制,利用预处理过的数据对构建好的CNN模型进行训练和测试,进行参数优化,构建出异常诊断模型;
e).运行环境构建,卷积神经网络CNN模型运行环境选用Tensorflow、Caffe、Theano或MXNet深度学习框架进行模型搭建及实现,并将构建好的异常诊断模型部署于水下汇聚节点;
f).水下汇聚节点对数据进行分类,根据对应分类结果诊断节点状态,如出现异常状态,水下汇聚节点根据异常种类根据预设措施采取对应操作。
2.根据权利要求1所述的基于神经网络的水下无线传感器网络异常诊断方法,其特征在于,步骤a)所述的水下传感网络的建立具体通过以下步骤来实现:a-1).水下汇聚节点通过有线连接的方式与水上控制中心相连,并通过有线连接进行充电和数据传输;由于水下汇聚节点不受能量因素制约,其计算和存储能力强,用于部署异常诊断模型;水下汇聚节点将水下传感节点的数据进行整合,形成部署于水上控制中心的异常诊断模型的训练数据,并接收水上控制中心的异常诊断模型发送的模型参数对自身的CNN模型进行配置;水上控制中心通过对水下汇聚节点发送的训练数据进行学习,得到卷积神经网络CNN模型最优参数集,并下发给水下汇聚节点;
a-2).水下传感节点根据预设的算法自组成簇,根据地理位置、与水下汇聚节点间距离、节点剩余能量、信任值信息,采用基于神经网络的成簇算法选举出最优簇首,邻近节点就近加入簇中,水下传感节点形成多个簇;
a-3).水下传感节点负责信息采集及处理,将采集的数据发送至簇首,簇首进行本簇内数据的汇聚、融合、处理,并转发数据至水下汇聚节点;同时,水下汇聚节点发起的通信发送至对应簇,由该簇簇首进行转发或广播。
3.根据权利要求1或2所述的基于神经网络的水下无线传感器网络异常诊断方法,其特征在于,步骤b)所述的构建神经网络模型具体通过以下步骤来实现:b-1).卷积操作,旨在对数据进行特征提取,将上层特征图中不同局部区域内神经元与本层的卷积核进行卷积运算,加上对应偏置后通过激活函数组建本层特征图,用公式描述为:上式中 为第l层的第j个特征图,Mi是包含i个输入特征图的集合,用于计算 *为卷积运算, 为卷积核, 为偏置值,f( )为激活函数;
激活函数f( )在除去数据中的冗余信息的同时保留原始数据特征的映射信息,用于加强卷积神经网络CNN模型的非线性表达能力,用以拟合更为复杂的特征;激活函数选用ReLU函数作为激活函数,收敛速度快:Relu(x)=max(0,x) (2)
b-2).池化操作,旨在降低特征纬度及除去冗余特征,加速收敛速度,同时在一定程度上防止过拟合,增强泛化能力,池化操作可以选用最大化池化、均值池化,池化操作可用公式描述为:上式中p( )为池化操作,可用求最大值或均值函数, 和 为偏置值,g( )为激活函数,作为优选,选用线性激活函数:s(x)=x (4)
b-3).inception-v4模型构建,将inception-v4模型与残差连接相结合,利用平均池化层代替全连接层,输出层采用Softmax函数进行多分类,将多分类的结果以概率的形式展现出来,类标签数量y为5,即对节点的5种不同情况进行分类,类标签有k个不同的值,给定数据集{(x1,y1),(x2,y2),...,(xi,yi)},其中i∈{1,2,...,k},则Softmax分类对于给定的样本向量x可估计出其在k类标签中每一类的概率,可表示为:上式中,W表示对概率分布的归一化。
4.根据权利要求1或2所述的基于神经网络的水下无线传感器网络异常诊断方法,其特征在于,步骤c)所述的数据预处理,具体通过以下步骤来实现:c-1).数据的数字化处理,对数据集中非数值型的数据类型进行变换,进行数字化的类型包括符号型和标记,采用one-hot编码方式进行变换;
c-2).数据的标准化处理,旨在使不同取值范围的数据取值分布于零点附近,加速卷积神经网络CNN模型的收敛速度,可用以下公式计算:上式中,x*为标准化后的数据,服从均值为0方差为1的正态分布,x为原始数据,μ为样本均值,可用以下公式计算:上式中,xi为第i条网络连接数据的属性值,m为数据集中网络连接数据的数量;
式(6)中σ为样本的标准差,可用以下公式计算:
c-3).数据的归一化处理,旨在将离散数据特征进行归一化,提高CNN收敛速度,可用以下公式实施:上式中,x为原始数据,xmin为每个特征的最小值,xmax为每个特征的最大值,x*为归一化后的数据,范围为[0,1];
c-4).数据的矩阵化处理,旨在对数据进行矩阵化处理,将包含多属性的一维数据转换为对角矩阵,通过提取不同属性间的关系形成属性的关系矩阵;
c-5).数据的图形化处理,旨在将关系矩阵转换为卷积神经网络CNN的输入图像,对CNN模型进行训练、分类,采用欧式距离作为数据集到关系集合的转换规则转换为灰度图像,采用欧式距离、对角矩阵、曼哈顿距离生成三种数据关系构成RGB图像的通道。
5.根据权利要求1或2所述的基于神经网络的水下无线传感器网络异常诊断方法,其特征在于,步骤d)所述的构建异常诊断模型通过以下步骤来实现:d-1).模型预训练,利用现有数据集对inception-v4模型进行训练,产生inception-v4模型参数,选用KDD CUP 99数据集作为训练集进行模型预训练;
d-2).模型进一步训练并进行参数优化,利用基于模型的迁移学习机制,将预训练出的模型与预设样本数据集结合起来进一步进行训练,调整模型的参数进行优化;
d-3).模型测试,利用预设的样本数据对训练好的模型进行验证,验证异常检测模型的有效性及准确率。
6.根据权利要求1或2所述的基于神经网络的水下无线传感器网络异常诊断方法,其特征在于,步骤e)所述的运行环境构建具体通过以下方法来实现:e-1).部署于水上控制中心的异常诊断模型可采用计算能力强的工控机或图像处理站作为硬件平台,采用TensorFlow2.0作为深度学习框架,进行CNN模型训练、优化并生成参数集,并通过有线传输将训练好的卷积神经网络CNN模型发送至水下汇聚节点;
e-2).部署于水下汇聚节点的的异常诊断模型采用嵌入式设备作为硬件平台,采用TensorFlow Lite作为深度学习框架,加载水上控制中心的异常诊断模型所生成的模型,进行异常诊断。
7.根据权利要求1或2所述的基于神经网络的水下无线传感器网络异常诊断方法,其特征在于,步骤f)所述的水下汇聚节点对数据进行分类具体通过以下步骤来实现:f-1).水下汇聚节点对各簇首汇聚转发的数据进行融合,并用卷积神经网络CNN模型进行分类,得到各节点的状态,包括:正常节点、失效节点、故障节点、外部攻击节点、内部攻击节点;
f-2).水下汇聚节点根据异常状态类型执行对应操作:
失效节点:向水上控制中心发送通知消息,若失效节点为簇首节点则进行新一轮簇首选举,若失效节点为簇内成员节点,则向该簇簇首发送通知消息,该簇簇首更新簇内成员列表并通知簇内其它成员节点;
故障节点:向水上控制中心发送通知消息,并进行一段时间观测,若短时间内数据恢复正常则不进行操作,若数据未恢复正常则诊断该节点为故障节点,若该节点为簇首节点则进行新一轮簇首选举,若故障节点为簇内成员节点,则向该簇簇首发送通知消息,屏蔽该节点数据,对该成员节点的数据不进行汇聚和转发;
外部攻击节点:向水上控制中心发送通知消息,水下汇聚节点发送全局广播,通知各簇首及成员节点,并根据外部攻击类型采取对应措施,可采用但不限于启动睡眠-唤醒机制,更换扩频频段,拒绝接收外部攻击节点的通信握手消息或数据;
内部攻击节点:向水上控制中心发送通知消息,水下汇聚节点发送全局广播,通知各簇首及成员节点,并根据外部攻击类型采取对应措施,可采用但不限于更新簇内秘钥,对该节点信任评估为危险,路由中不将该节点作为转发节点,拒收该节点数据。