一种基于搜索空间的水下自主潜航器故障诊断方法
文献发布时间:2024-04-18 19:58:26
技术领域
本发明属于故障诊断技术领域,更为具体地讲,涉及一种基于搜索空间的水下自主潜航器故障诊断方法。
背景技术
故障诊断是指根据设备传感器获取的信息进行特征提取,进而确定故障类型的一种技术。水下自主潜航器是一种可以独立水下作业的智能设备,其应用降低了海洋作业的成本和风险。然而自主潜航器在执行任务过程中也存在一定的故障风险,所以需要对智能设备引入故障诊断方案。由于传感器获取的信息的复杂性以及从中提取相关特征的困难性,研究人员往往选用基于机器学习或者深度学习的诊断方案。
机器学习引入了分层故障树模型及神经网络模型等诊断方案。基于机器学习的诊断方法具有可解释性,并且一些诊断方案能够有效提取传感器震荡信号中的特征信息,在某些应用场景的实验中获得了较好的诊断率。但基于传统机器学习的故障诊断过于依赖提取特征的准确性,导致其在实际水下应用的复杂场景中准确性不足。
深度学习作为一种特殊的机器学习技术,具有强大的非线性拟合能力,往往能从数据中获得更高级的特征。不少深度学习的方法已经应用于水下自主潜航器的故障诊断领域。这些方法得益于研究人员精巧的网络设计,取得了良好的诊断效果。这些诊断方案往往具有更强的鲁棒性,某些神经网络架构甚至在噪声环境下或者传感器数据部分丢失的情况下仍旧具有较好的诊断表现。然而大多数神经网络结构都需要根据研究人员的要求进行人工设计,通过训练网络来评估网络结构的性能,并舍弃性能较差的网络结构。因此人工设计精巧网络结构的过程是困难且成本巨大的。
神经架构搜索可以自动设计网络结构,这种技术可以通过特定的搜索策略,在定义的搜索空间内找到满足精度要求的网络结构。虽然神经架构搜索技术实现了自动设计网络结构,并且所设计的网络结构在故障诊断中取得了较高的精度。但这个过程中巨大的计算量、时间成本、GPU的使用以及所设计的网络结构本身的复杂性限制了神经架构搜索在故障诊断方向的进一步应用。
从以上分析可以看出,现有的基于机器学习的诊断方案难以处理复杂的传感器信息,而基于深度学习的诊断方案又难以避免人工设计诊断网络的巨大成本。现有的神经架构搜索虽然能自动设计精巧的诊断网络模型,但其计算量与时间成本仍然很高。因此,对神经网络架构搜索自动设计水下潜航器故障诊断模型进行深入研究是很有必要的。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于搜索空间的水下自主潜航器故障诊断方法,通过评分算法来表征未经训练的候选网络的性能,具有搜索速度快,模型诊断性能好,计算量小,占用GPU资源小等优点。
为实现上述发明目的,本发明一种基于搜索空间的水下自主潜航器故障诊断方法,其特征在于,包括以下步骤:
(1)、构建训练数据集;
(1.1)、在不同故障状态下采集水下自主潜航器在各个采样时刻的振荡信号,其中,第k种故障状态下第t个采样时刻采集到的振荡信号记为x
(1.2)、对采集的振荡信号x
(1.3)、将单个时刻的振荡信号x
X={X
X
(2)、神经网络架构搜索
(2.1)、选用NAS-Bench-201作为搜索空间,记作β;
(2.2)、搜索候选网络;
从搜索空间中获取若干个候选网络:
B~π(β)
其中,β为搜索空间,π为搜索策略,B表示使用搜索策略π采样的若干候选网络的集合;
(2.3)、评估各个候选网络的性能;
(2.3.1)、设置训练候选网络的样本批次大小为b;将训练数据集X中的数据样本顺序打乱,然后将训练数据集X划分为N个批次:
X={X
(2.3.2)、将X
(2.3.2)、计算某一个候选网络中各个ReLU函数层的输出特征图,其中,第i个ReLU函数层的输出特征图记为O
(2.3.3)、构建激活矩阵;
将每个ReLU函数层输出特征图O
设置变量j,1≤j≤b;
像素点o
像素点o
像素点o
像素点o
像素点o
构建一个与二维矩阵Q
(2.3.4)、计算核矩阵K;
根据激活矩阵A
其中,a
根据A
其中,上标T表示转置;
计算核矩阵K:
(2.3.5)、计算各个候选网络的性能指标;
S
(2.4)、选取故障诊断模型;
设置搜索次数M;重复步骤(2.2)~(2.3),对每轮搜索的候选网络进行性能评估,然后根据所有候选网络的性能指标选出最大值,记录该最大值对应的网络模型作为故障诊断模型;
(3)、训练故障诊断模型;
将打乱后的训练数据集X按批次输入至故障诊断模型,通过反复迭代训练直至故障诊断模型收敛;
(4)、故障实时诊断;
实时采集水下自主潜航器在当前时刻的振荡信号,然后将振荡信号输入至故障诊断模型,从而实时输出故障类型。
本发明的发明目的是这样实现的:
本发明为一种基于搜索空间的水下自主潜航器故障诊断方法,先在水下实验中获取水下自主潜航器的振荡信号将用作搜索网络模型的输入以进行前向传播,在此过程中,记录网络模型的ReLU层的激活状态,然后计算激活矩阵,核矩阵和网络模型的最终得分,并记录下得分最高的网络模型作为故障诊断模型;最后利用故障诊断模对水下自主潜航器进行故障实时诊断。
同时,本发明基于搜索空间的水下自主潜航器故障诊断方法水下自主潜航器的故障诊断方法还具有以下有益效果:
(1)、本发明能够实现自动化的设计神经网络诊断模型,克服了人工设计精巧诊断网络困难的问题;
(2)、本发明在真实的水下潜航器数据集上进行了实验验证,实验结果表明,本发明自动设计的诊断架构比手动设计的诊断架构性能更好;
(3)、本发明所采用特殊的评分机制可以取代传统神经架构搜索中昂贵的内循环训练步骤,大大降低了故障诊断架构搜索的成本,使得在单个GPU上只需几秒钟即可自动设计出性能良好的水下潜航器故障诊断架构,与传统的神经网络架构搜索方法相比,本发明在相同GPU资源下搜索性能良好的故障诊断架构所花费的时间要少得多。
附图说明
图1是本发明一种水下自主潜航器的故障诊断方法流程图;
图2是实施例选用水下潜航器结构;
图3是设置的潜航器健康状态;
图4是候选架构单元结构图;
图5是诊断效果柱状图;
图6是诊断效果对比图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
在本实施例中,神经网络架构搜索、网络训练和测试都是在PyTorch环境中进行,选用NVIDIA GTX3070Ti GPU和Intel i9-12900H CPU。如图1所示,本发明一种基于搜索空间的水下自主潜航器故障诊断方法,包括以下步骤:
S1、构建训练数据集与测试集;
S1.1、在不同故障状态下采集水下自主潜航器在各个采样时刻的振荡信号,其中,第k种故障状态下第t个采样时刻采集到的振荡信号记为x
S1.2、对采集的振荡信号x
S1.3、将单个时刻的振荡信号x
X={X
X
在本实施例中,选用一个小型四旋翼水下潜航器,该水下潜航器的结构如图2所示,配备4个电机,4个螺旋桨,4个电子速度控制器,1个深度传感器等结构。
如图3所示,为水下潜航器设定五种状态,包括正常状态、负载异常故障、传感器故障、严重螺旋桨故障、螺旋桨轻微故障。在不同健康状态下进行模拟实验,记录传感器获取的振荡信号及对应的故障标签。每个健康状态都重复多次模拟实验,每次模拟实验数据采集持续10-20秒,数据集中总共收集了1225个数据样本,每个运行状况状态大约有250个数据样本;
数据集收集成功后,进行随机分层抽样,所选测试集的样本空间为总数据集的20%。测试集将用于验证诊断模型的性能,其余样本作为训练集用于训练神经网络。
S2、神经网络架构搜索
S2.1、选用一个符合要求的搜索空间,本实施例中以NAS-Bench-201作为搜索空间,记作β;
NAS-Bench-201的宏骨架结构包括输入层、卷积层、神经单元模块、残差模块、池化层、全连接层。其中神经单元模块结构如图4所示,A、B、C、D四个结点之间通过六个操作连接,每一处连接可以为归零、跳过连接、1×1卷积、3×3卷积、平均池化五种操作选择中任意一种,因此共有15625个候选神经单元模块;
S2.2、搜索候选网络;
从搜索空间中获取若干个候选网络:
B~π(β)
其中,β为搜索空间,π为搜索策略,B表示使用搜索策略π采样的若干候选网络的集合;
在本实施例中,从搜索空间中每次抽取100个候选网络,搜索次数设置为500次;
S2.3、评估各个候选网络的性能;
S2.3.1、设置训练候选网络的样本批次大小为b;将训练数据集X中的数据样本顺序打乱,然后将训练数据集X划分为N个批次:
X={X
在本实施例中,样本批次大小b设置为8;
S2.3.2、将X
在本实施例中,将X
S2.3.2、计算某一个候选网络中各个ReLU函数层的输出特征图,其中,第i个ReLU函数层的输出特征图记为O
S2.3.3、构建激活矩阵;
将每个ReLU函数层输出特征图O
设置变量j,1≤j≤b;
像素点o
像素点o
像素点o
像素点o
像素点o
构建一个与二维矩阵Q
S2.3.4、计算核矩阵K;
根据激活矩阵A
其中,a
根据A
其中,上标T表示转置;
计算核矩阵K:
S2.3.5、计算各个候选网络的性能指标;
S
S2.4、选取故障诊断模型;
重复步骤S2.2~S2.3,对每轮搜索的候选网络进行性能评估,当搜索次数M达到200次后,根据所有候选网络的性能指标选出最大值,记录该最大值对应的网络模型作为故障诊断模型;
S3、训练故障诊断模型;
将打乱后的训练数据集X按批次输入至故障诊断模型,通过反复迭代训练直至故障诊断模型收敛;
S4、验证故障诊断模型的诊断效果;
将测试集中的样本数据输入至故障诊断模型,从而输出故障类型。
在本实施例中,使用精度(ACC)、F1分数(F1-Score)、曲线下面积(AUC)评估诊断模型的表现,图5显示了本发明的诊断效果,可以看出模型诊断准确率为98.37%,F1-Score为98.13%,AUC为99.93%。这表明所提出的诊断模型自动搜索框架可以从搜索空间获得有效的诊断模型。此外,每个时期搜索最优架构仅需25秒,整个NAS流程仅需3.47小时,提高了时间效率。
另外,将本发明自动设计的诊断模型与手动设计的故障诊断模型进行了对比,图6为本发明与其他诊断方法的对比雷达图,其中TENAS-FD为本发明方法,其他方法为人工设计的诊断模型,比较中涉及的人工神经网络故障诊断模型有Multi-ANN、Wen-CNN、序列卷积神经网络(Seq-CNN)、尖峰循环注意力网络(SRA-SNN)、Multi-GRU、遗传算法支持的集成学习(GASEL)、Multi-LSTM。TENAS-FD优于7种手工设计的实验网络架构。TENAS-FD分别获得了98.37%的ACC、98.13%的F1-Score和99.93%的AUC。Multi-ANN分别获得了87.74%的ACC、84.21%的F1-Score和94.25%的AUC。Wen-CNN分别获得了95.14%的ACC、95.78%的F1-Score和99.21%的AUC。Seq-CNN分别获得了97.01%的ACC、97.57%的F1-Score和99.48%的AUC。SRA-SNN分别获得了97.41%的ACC、97.84%的F1-Score数和99.75%的AUC。Multi-GRU分别获得了94.12%的ACC、92.71%的F1-Score和98.15%的AUC。GASEL分别获得了97.96%的ACC、98.57%的F1-Score和99.34%的AUC。Multi-LSTM分别获得了93.17%的ACC、91.56%的F1-Score和97.14%的AUC。这表明本发明可以在搜索空间中有效地获得性能良好的诊断网络,并自动设计潜航器的诊断模型。所本发明不仅实现了水下自主潜航器诊断模型的自动化设计,而且设计出比人工设计更好的诊断模型,并且设计网络过程耗时更少。所提出的TENAS-FD大大降低了设计高性能诊断模型的成本和难度,具有应用于水下潜航器诊断网络设计的潜力。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
- 一种水下机器人大潜深下潜中推进器及主动故障诊断方法
- 一种稳定下潜装置和下潜方法及具有该装置的水下无人潜航器
- 水下监测机器人基于自主潜浮的监测位精准确定方法及水下定位系统