浙江万里学院 李小青
将蚁群算法与神经网络相结合,克服神经网络BP算法收敛速度慢、容易陷入局部极小的缺点,结合汽车发动机故障的特点,探讨了一种基于蚁群神经网络的发动机故障诊断系统。仿真实验表明该系统具有一定的实用性。
基于BP算法的神经网络早已广泛应用于各种故障诊断中,但该算法具有收敛速度慢、易陷入局部极小等缺点。为此,本文融合蚁群算法,并将其应用于故障诊断中。
神经网络具有处理复杂多模式及进行联想推测和记忆的功能,很适合应用于各种系统的故障诊断[1]。如图1所示为常见的基于神经网络的故障诊断专家系统的一般结构。
图1 基于神经网络的故障诊断Fig.1 Fault diagnosis based on neural network
利用蚁群算法具有全局优化和启发式寻优的特点[3],采用蚁群算法来训练神经网络的权值。其主要步骤如下:
Step 1):初始条件:令时间t和循环次数Nc均为0,设置最大循环次数Nmax,初始化所有集合Ωpr(1≤r≤D)中的每个元素pj(Ωpr)的信息素Ppj(Ωpr)
Step 2):任意一只蚂蚁k(k=1,2,…,s)从集合Ipi开始,根据公式(1)计算的概率随机地选择它的第j个元素。
Step 3): 重复步骤2,直到蚁群全部到达食物源。
Step 4):令t=t+m,NC=NC+1,计算用各蚂蚁所选权值作神经网络参数时训练样本的输出误差,记录当前最优解,按式(2)来调节每个元素的信息素。
式中m为蚂蚁觅食过程经历的时间单位,ρ(0≤ρ≤1)为信息素的持久性,1-ρ表示信息素的消逝程度,Δτj(Ipi)为在本次循环中第k只蚂蚁在集合Ipi的第j个元素上留下的信息素,可用式(3)来计算。
Step 5):重复以上步骤,直到进化趋势不明显或循环次数NC≥NCmax,则循环结束,输出最优解,算法结束,否则转到第步骤(2)执行。
本文设计了融合蚁群神经网络混合算法的发动机故障诊断专家系统,如图2所示,该系统主界面如图3所示。专家知识库管理是核心内容,完成浏览、添加和修改知识功能;故障诊断模块综合利用专家知识库采用同一窗体进行几十种诊断,包括数据采集和现象诊断等;可利用信息咨询和系统帮助进行有关参数的查询及辅助维修管理等。
图2 系统总体框架图Fig.2 Overall system framework
图3 系统主界面Fig.3 System main interface
在神经网络中将同一问题的知识表示在同一网络中,它是一种隐式表示,而传统的知识表示,是一种显式表示[2],神经网络表示法如图4所示。
图4 神经网络表示法Fig.4 Neural network representation
由于发动机是一个非常复杂的诊断对象,在此可以把系统划分为几大模块。以发动机油路故障为例创建一个子神经网络。例如发动机不能起动的原因,从大体方面可能是进气系统、压缩空气起动系统及油路等故障造成的,通过分析,排除了其他的可能,发动机不能起动的原因是出现在油路故障,而油路故障又可能是因为滤清器、输油泵或高压油泵故障等引起的,为便于理解,我们可用如下定义:
故障现象:
X1:观察油箱中剩余燃油情况(0:油箱中有油;1:油箱中没油)
X2:检查滤清器有无污垢(0:无污垢;1:有污垢)
X3:检查输油泵输油情况(0:正常;1:不正常)
X4:高压油泵工作情况(0:正常;1:不正常)
X5:喷油器供油情况(0:良好;1:不好)
故障原因:
Y1:油箱没油(0:否;1:是)
Y2:滤清器污阻(0:否;1:是)
Y3:输油泵故障(0:否;1:是)
Y4:高压油泵故障(0:否;1:是)
Y5:喷油器故障(0:否;1:是)
根据上面例子分析,可以构造一个如图5所示的5×4×5神经网络。
图5 油路故障神经网络结构图Fig.5 Neural network structure diagram of oil
确定各个子网络的训练样本并进行训练,获得它们的连接权值和阈值,然后存储连接权值,形成知识库[4]。如表1所示部分油路故障诊断训练样本。
表1 油路故障诊断训练样本Tab.1 Training samples of oil circuit fault
包括知识的检验管理、知识的存入、知识的修改和删除等。如图6所示为知识库基本管理界面。很方便地实现了人机交互对知识的输入、查询、浏览、删除、修改等基本管理。
图6 知识库管理Fig.6 Knowledge base management
总体的故障诊断流程如图7所示。首先输入故障现象,系统进行计算,当某一输出值大于阈值,输出诊断结果,否则系统会重新提问或指示没有故障。
图7 系统总体诊断流程图Fig.7 Overall system diagnosis flow chart
本文将蚁群算法与神经网络相结合,克服神经网络BP算法收敛速度慢、容易陷入局部极小的缺点,设计了一种基于蚁群神经网络的发动机故障诊断系统。仿真实验表明该系统具有一定的实用性。
引用
[1] 毕晓君,柳长源,卢迪.基于PSO-RVM算法的发动机故障诊断[J].哈尔滨工程大学学报,2014,35(2):245-249.
[2] 程学珍,王常安,李继明,等.基于自适应神经模糊Petri网的电机故障诊断[J].山东科技大学学报(自然科学版),2020,39(3):109-117.
[3] 宋红英.基于蚁群神经网络的发动机故障诊断专家系统的研究[D].北京:中国农业大学,2005.
[4] LECUN Y,BENGIO Y,HINTON G.Deep Learning[J].Nature,2015,521(7553):436-444.
[5] HINTON G E,SALAKHUTDINOV R R.Reducing the Dimensionality of Data with Neural Networks[J].Scince,2006,313(5786):504-507.