论文部分内容阅读
【摘要】本文介绍了人工神经网络的基本概念、BP 神经网络模型设计, 提出了将神经网络技术引入汽车故障诊断专家系统的思想,以 BP神经网络技术在发动机电子控制中的应用为实例进行分析,给出了一个基于3层BP网的汽车发动机故障诊断专家系统的实例。
【关键词】BP神经网络, BP算法, 故障诊断系统
人工神经网络作为一种并行分布式处理系统,具有高维性、神经元之间的广泛互连性以及自动知识获取能力、联想记忆、自适应性、良好的容错性和推广能力[1]。人工神经网络独特的结构和处理信息的方法, 使其在许多实际应用领域中取得了显著的成效, 解决了一些传统计算机极难求解的问题。目前, 神经网络在组合优化、模式识别、图像处理、自动控制、机器人、信号处理及人工智能等领域都有成功的应用, 推出了许多商业化的神经网络产品。
我国车用发动机的研究、开发设计和制造水平与世界先进水平相比还有较大差距, 发动机的经济性、动力性、排放、可靠性等问题一直是业内科技工作者研究的重要课题, 把人工神经网络技术引人车用发动机研究领域, 将为此开拓新的思路。
本文介绍了这一领域内的一些重要研究成果, 并探讨了人工神经网络技术从课题研究走向工程实践的可行性。
一、BP 神经网络概述
BP 神经网络又称多层前向网络,它得名于BP(Back-Propagation)算法,是一种按误差逆传播算法训练的多层前馈网络。BP 算法将神经网络学习输入输出的映射问题转变为一个非线性优化问题。BP 网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP 神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
BP 算法的学习过程由正向传播和反向传播两部分组成,在正向计算过程中,输入信息从输入层经过隐层神经元逐层处理后,传向输出层。每一层神经元的状态只影响下一层神经元状态。如果输出层得不到希望的输出,则转向反向传播,此时误差信号从输出层向输入层传播并沿途调整各层间连接权值和阀值,以使误差不断减小,直到达到精度要求。该算法实际上是求误差函数的极小值,它通过多个样本的反复训练,并采用最快下降法使得权值沿着误差函数负梯度反向改变,并收敛于最小点[2]。
误差反向传播学习通过一个使代价函数最小过程完成从输入到输出的映射。通常,代价函数定义为所有输入模式上输出单元希望输出与实际输出的误差平方和。
二、BP 神经网络模型设计
基于上述BP 神经网络的特点,我们可以找到一种利用BP神经网络来解决汽车故障表征到具体汽车故障的映射方法。
网络不仅有输入结点层、输出结点层,而且有隐结点层,函数选取Sigmoid 函数。隐含层可以是单层,也可以是多层。只要有充分多的隐层单元,就能够以任意精度逼近任意一个有限维函数。
网络的输入矢量A=(a1,a2,…,an)T,中间层输出矢量的B=(b1,b2,…,bn),则:
式中,νhi为输入层到隐层的权值,θi为隐层的阀值。输出层的输出矢量C=(c1,c2,…,cm),则:
式中,ωij为隐层到输出层的权值,θj为输出层的阀值。
上两式中,f(·)为激活函数。一般来说,f(·)不能为线性函数,否则,神经网络不能实现非线性映射特性。
BP 算法对神经网络的结构非常敏感,而BP 算法本身并没有从理论上解决网络结构的设置问题,到目前为止,所有应用BP 算法的网络结构都是根据经验确定的,大都采用隐含层结点数目是输入结点数目的两倍的方法。BP 网络的结构如图1 所示。
三、BP 神经网络算法及其优化算法
(一)BP 神经网络的算法步骤
BP 神经网络学习步骤如下:
1.选取学习率α,β及极限误差值e(学习精度)。
2.网络状态初始化:用较小的随机数(一般在[1,-1]范围内)对网络的权值νhi,ωij的偏置值θi、θj置初值。
3.输入学习模式(误差反传,有指导训练)。
4.根据学习模式的值Ai
按公式1 计算中间层单元的输出bi。
5.按公式2 计算输出层单元的输出cj。
6.根据指导信号Tjdj=(Cj-Tj)·Cj(1-Cj) (3)
计算输出层的误差dj
dj=(Cj-Tj)·C·j (1-Cj)
7.根据dj计算中间层的误差ei
(4)
8.调整中间层与输出层的权值及输出层的偏置值:
(5)
9.调整输入层与中间层的权值及中间层的偏置值:
(6)
10.输出层累积误差E 与期望输出的极限误差进行判断,若累积误差E 小于极限误差e 则退出,否则,返回(3)步继续。
(二)遗传算法优化
遗传算法是一种基于自然选择和遗传变异等生物机制的全局性概率搜索算法,它是模拟达尔文自然选择的生物自然进化过程的计算模型。遗传算法采用群体搜索策略和群体中个体之间的信息交换,它不依赖梯度信息,也不需要求解函数可微,只需要该函数在约束条件下可解,因此,遗传算法特别适用于复杂的非线性问题,并发展成为一种自组织、自适应的综合技术[3]。遗传算法采纳了自然进化模型,如选择、交叉、变异、迁移等。计算开始时,一定数目N 个个体随机地被初始化,并计算每个个体的适应度函数。如果不满足优化准则,开始新一代的计算:即按照适应度选择个体,父代要求重组基因而产生子代,所有的子代有一定的变异。子代的适应度重新计算。子代被插入种群中将父代取代,构成新的一代。这一过程循环执行,直至满足优化准则为止。遗传算法包括三个基本操作:选择、交叉与变异。 由于本课题三层BP 神经网络由输入层、隐含层和输出层构成,而输入层的结点数为故障表征的数目,输出层的结点数为故障部位的数目,因此,遗传算法优化本课题神经网络结构主要就是优化隐含层结点的数目。遗传算法对于适应度函数的选择是遗传算法成败的关键。选取的适应度函数要能有效地知道搜索沿着面积优化参数组合的方向,逐渐最佳参数组合,而不会导致搜索不收敛或陷入局部最佳状态[4]。同时,这个函数也应易于计算。实践中用得较多的且较简单的一种性能评价函数是利用均方差误差E。本课题采用的适应度函数为:
式中,y 为实际输出,d 为希望输出。
BP 网络结构优化的遗传算法计算步骤:
1.先采用三层BP 网络来初步确定基本解空间(网络连接权的取值范围),首先设定网络的训练次数以及网络的训练误差以及杂交和变异率,同时确定总的进化代数K。
2.定义适应度函数为fi
3.对基本解空间进行编码,其中编码生成的码串由控制码和权重系数码两部分组成。控制码主要是控制隐结点的个数,由二进制码构成。
4.初始化群体。
5.计算群体中每个个体的适应度,由控制码得到网络的隐结点个数,由权重系数码得到网络的连接权,输入训练样本,计算出每个个体的适应度。
6.保留群体中适应度最高的个体,它不参与杂交和变异运算,而直接将其复制到下一代。对群体中的其他个体,采用轮盘赌选择法进行选择杂交和变异。
7.对于控制码的杂交和变异采用基本遗传算法中的方法,在变异运算时,当某个神经元被变异运算删除时,相应的有关权重系数编码被置为0,而当变异运算增加某个神经元时,则随机初始化有关权重系数编码。
8.生成新一代群体。
9.反复进行5-8,每进行一次,群体就进化一代,连续进化到K 代。
10.把第K 代选适应度最高的个体解码得到相应的网络连接权和隐结点个数,输入检测样本检验模型的泛化能力。
四、BP神经网络技术在发动机电子控制中的应用
(一)基于B P网络的自学习控制方法
为了解决当代汽车面临的排放、燃油经济性、噪声等问题, 对电控技术提出更高的要求, 汽油机电控的内容包括燃油喷射与空燃比控制, 点火定时与爆震控制, 怠速控制, 超速保护、减速断油、废气再循环控制等; 柴油机电控包括: 喷油量控制, 喷油定时控制, 怠速和暖机控制, 进气系统控制, 自动停缸控制等。其中最主要的方向是对喷油系统控制的研究, 它直接影响到发动机的排放、噪声和燃油经济性。以柴油机喷油系统的控制为例, 它主要由传感器、控制单元和喷油器组成。电控单元根据传感器测得的柴油机转速、负荷、进气压力、进排气温度、冷却水温度、机油温度等实时控制调节喷油量与喷油提前角, 使柴油机在最佳状态工作。
笔者以混合动力电动汽车( HEV) 柴油机控制器的研制拟采用基于BP网络的自学习PID控制方法, 简介如下: 人工神经网络作为一种智能化控制理论, 与进行曲线拟合类似, 它具有充分逼近任意复杂非线性系统及可以学习和自适应未知或不确定系统的优点。柴油机的PID控制的比例、积分和微分系数要求能实时调整, 因此, 自学习和自适应功能非常重要。BP网络是由非线性交换单元组成的前馈型人工神经网络, 各神经元的转移函数为非线性交换, 它所划分的区域是由一个非线性超平面组成的柔和光滑区域, 要比线性划分精确、合理、容错性好。BP网络完成2 维向量( 输人层: 误差和误差的变化) 向3 维向量(输出层: PID的比例、积分和微分系数)的映射, 要使这种映射达到理想的效果,BP网络须进行学习和训练不断修正各单元的连接权值, 使输人能够得到对应的输出。
网络经过训练后, 可在线实时优化PID参数, 满足HEV对柴油机控制的要求, 这种智能控制方法在软硬件上实现已无障碍。
(二)利用神经网络进行发动机故障诊断
神经网络作为一个分析工具, 已被证明可以出色地把专家知识结合到数学的框架中, 这使神经网络在故障诊断专家系统设计中有较好的应用前景。任何发动机在运行一段时间后, 由于磨损、振动、污垢积累等原因不可避免地会出现故障。
利用BP网络监测发动机的运行状态, 可以对预先设定的故障模式进行准确的判断, 方法是建立如图2 所示的故障诊断系统:
预先设定固定的故障模式, 如: 设定燃油系统五个故障: l) 有一缸不喷油; 2 ) 水温过高; 3 ) 水温传感器断路; 4) 转速传感器故障; 5) 空气流量传感器损坏。发动机的运转参数作为监测参数用于网络输人, 当检测到异常信号时, 如空气流量计电压信号超出正常值, 则网络对应一个相应的输出值(可以用二进制代码表示, 如0 01, 其他依次类推)表示空气流量计损坏。用各种正常和异常的输人和输出作为训练样本, 对B P 网络进行学习训练, 确定最佳B P 网络结构。
如果监测六个运转参数, 则可以建立双隐层结构, 但输人层结点6 个, 第一隐层结点20 个, 第二隐层结点1个, 输出层3 个。3 个输出结点的不同数值就表示不同的故障, 虽然存在一定的误差, 但判断故障的准确率已相当高。利用这个6 一20一1 1 一3的B P 网络对发动机进行实时监测时, 该网络可以相当准确地判断故障, 误差在10% 左右。
五、结束语
基于神经网络技术的专家系统的研究是近几年才发展起来的。从理论研究和实践应用看,神经网络专家系统在知识获取、存贮,推理方法和效率学习能力及容错性等方面却具有独特的优势。但是,单纯基于神经网络的专家系统也存在如下缺点:
(1) 学习时间长,网络在对大型复杂问题求解时,其学习过程往往过长。
(2) 样本要求较高,要能正确地描述系统的本质特征,其容量尽可能较大地涵盖系统的状态空间。
(3) 系统不透明,表现在网络不能解释其推理过程,没有合理完善的解释系统。
因此,基于符号处理和神经网络的集成专家系统是汽车故障诊断专家系统发展的一个全新方向。
参考文献
[1]王士同. 神经模糊系统及其应用[M ] . 北京: 北京航空航天大学出版社, 2008. 38- 43.
[2]杨行峻,郑君财. 人工神经网络[M]. 北京: 高等教育出版社, 2008. 110- 150.
[3]刘有才,刘培良. 模糊专家系统原理设计[M ].北京: 北京航空航天大学出版社, 20055. 82- 86.
[4]陈树越,余红英,刘广璞. BP网络算法及其在故障诊断中应用述评. 振动、测试与诊断, 2001, 21( 2): 100~ 107
【关键词】BP神经网络, BP算法, 故障诊断系统
人工神经网络作为一种并行分布式处理系统,具有高维性、神经元之间的广泛互连性以及自动知识获取能力、联想记忆、自适应性、良好的容错性和推广能力[1]。人工神经网络独特的结构和处理信息的方法, 使其在许多实际应用领域中取得了显著的成效, 解决了一些传统计算机极难求解的问题。目前, 神经网络在组合优化、模式识别、图像处理、自动控制、机器人、信号处理及人工智能等领域都有成功的应用, 推出了许多商业化的神经网络产品。
我国车用发动机的研究、开发设计和制造水平与世界先进水平相比还有较大差距, 发动机的经济性、动力性、排放、可靠性等问题一直是业内科技工作者研究的重要课题, 把人工神经网络技术引人车用发动机研究领域, 将为此开拓新的思路。
本文介绍了这一领域内的一些重要研究成果, 并探讨了人工神经网络技术从课题研究走向工程实践的可行性。
一、BP 神经网络概述
BP 神经网络又称多层前向网络,它得名于BP(Back-Propagation)算法,是一种按误差逆传播算法训练的多层前馈网络。BP 算法将神经网络学习输入输出的映射问题转变为一个非线性优化问题。BP 网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP 神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
BP 算法的学习过程由正向传播和反向传播两部分组成,在正向计算过程中,输入信息从输入层经过隐层神经元逐层处理后,传向输出层。每一层神经元的状态只影响下一层神经元状态。如果输出层得不到希望的输出,则转向反向传播,此时误差信号从输出层向输入层传播并沿途调整各层间连接权值和阀值,以使误差不断减小,直到达到精度要求。该算法实际上是求误差函数的极小值,它通过多个样本的反复训练,并采用最快下降法使得权值沿着误差函数负梯度反向改变,并收敛于最小点[2]。
误差反向传播学习通过一个使代价函数最小过程完成从输入到输出的映射。通常,代价函数定义为所有输入模式上输出单元希望输出与实际输出的误差平方和。
二、BP 神经网络模型设计
基于上述BP 神经网络的特点,我们可以找到一种利用BP神经网络来解决汽车故障表征到具体汽车故障的映射方法。
网络不仅有输入结点层、输出结点层,而且有隐结点层,函数选取Sigmoid 函数。隐含层可以是单层,也可以是多层。只要有充分多的隐层单元,就能够以任意精度逼近任意一个有限维函数。
网络的输入矢量A=(a1,a2,…,an)T,中间层输出矢量的B=(b1,b2,…,bn),则:
式中,νhi为输入层到隐层的权值,θi为隐层的阀值。输出层的输出矢量C=(c1,c2,…,cm),则:
式中,ωij为隐层到输出层的权值,θj为输出层的阀值。
上两式中,f(·)为激活函数。一般来说,f(·)不能为线性函数,否则,神经网络不能实现非线性映射特性。
BP 算法对神经网络的结构非常敏感,而BP 算法本身并没有从理论上解决网络结构的设置问题,到目前为止,所有应用BP 算法的网络结构都是根据经验确定的,大都采用隐含层结点数目是输入结点数目的两倍的方法。BP 网络的结构如图1 所示。
三、BP 神经网络算法及其优化算法
(一)BP 神经网络的算法步骤
BP 神经网络学习步骤如下:
1.选取学习率α,β及极限误差值e(学习精度)。
2.网络状态初始化:用较小的随机数(一般在[1,-1]范围内)对网络的权值νhi,ωij的偏置值θi、θj置初值。
3.输入学习模式(误差反传,有指导训练)。
4.根据学习模式的值Ai
按公式1 计算中间层单元的输出bi。
5.按公式2 计算输出层单元的输出cj。
6.根据指导信号Tjdj=(Cj-Tj)·Cj(1-Cj) (3)
计算输出层的误差dj
dj=(Cj-Tj)·C·j (1-Cj)
7.根据dj计算中间层的误差ei
(4)
8.调整中间层与输出层的权值及输出层的偏置值:
(5)
9.调整输入层与中间层的权值及中间层的偏置值:
(6)
10.输出层累积误差E 与期望输出的极限误差进行判断,若累积误差E 小于极限误差e 则退出,否则,返回(3)步继续。
(二)遗传算法优化
遗传算法是一种基于自然选择和遗传变异等生物机制的全局性概率搜索算法,它是模拟达尔文自然选择的生物自然进化过程的计算模型。遗传算法采用群体搜索策略和群体中个体之间的信息交换,它不依赖梯度信息,也不需要求解函数可微,只需要该函数在约束条件下可解,因此,遗传算法特别适用于复杂的非线性问题,并发展成为一种自组织、自适应的综合技术[3]。遗传算法采纳了自然进化模型,如选择、交叉、变异、迁移等。计算开始时,一定数目N 个个体随机地被初始化,并计算每个个体的适应度函数。如果不满足优化准则,开始新一代的计算:即按照适应度选择个体,父代要求重组基因而产生子代,所有的子代有一定的变异。子代的适应度重新计算。子代被插入种群中将父代取代,构成新的一代。这一过程循环执行,直至满足优化准则为止。遗传算法包括三个基本操作:选择、交叉与变异。 由于本课题三层BP 神经网络由输入层、隐含层和输出层构成,而输入层的结点数为故障表征的数目,输出层的结点数为故障部位的数目,因此,遗传算法优化本课题神经网络结构主要就是优化隐含层结点的数目。遗传算法对于适应度函数的选择是遗传算法成败的关键。选取的适应度函数要能有效地知道搜索沿着面积优化参数组合的方向,逐渐最佳参数组合,而不会导致搜索不收敛或陷入局部最佳状态[4]。同时,这个函数也应易于计算。实践中用得较多的且较简单的一种性能评价函数是利用均方差误差E。本课题采用的适应度函数为:
式中,y 为实际输出,d 为希望输出。
BP 网络结构优化的遗传算法计算步骤:
1.先采用三层BP 网络来初步确定基本解空间(网络连接权的取值范围),首先设定网络的训练次数以及网络的训练误差以及杂交和变异率,同时确定总的进化代数K。
2.定义适应度函数为fi
3.对基本解空间进行编码,其中编码生成的码串由控制码和权重系数码两部分组成。控制码主要是控制隐结点的个数,由二进制码构成。
4.初始化群体。
5.计算群体中每个个体的适应度,由控制码得到网络的隐结点个数,由权重系数码得到网络的连接权,输入训练样本,计算出每个个体的适应度。
6.保留群体中适应度最高的个体,它不参与杂交和变异运算,而直接将其复制到下一代。对群体中的其他个体,采用轮盘赌选择法进行选择杂交和变异。
7.对于控制码的杂交和变异采用基本遗传算法中的方法,在变异运算时,当某个神经元被变异运算删除时,相应的有关权重系数编码被置为0,而当变异运算增加某个神经元时,则随机初始化有关权重系数编码。
8.生成新一代群体。
9.反复进行5-8,每进行一次,群体就进化一代,连续进化到K 代。
10.把第K 代选适应度最高的个体解码得到相应的网络连接权和隐结点个数,输入检测样本检验模型的泛化能力。
四、BP神经网络技术在发动机电子控制中的应用
(一)基于B P网络的自学习控制方法
为了解决当代汽车面临的排放、燃油经济性、噪声等问题, 对电控技术提出更高的要求, 汽油机电控的内容包括燃油喷射与空燃比控制, 点火定时与爆震控制, 怠速控制, 超速保护、减速断油、废气再循环控制等; 柴油机电控包括: 喷油量控制, 喷油定时控制, 怠速和暖机控制, 进气系统控制, 自动停缸控制等。其中最主要的方向是对喷油系统控制的研究, 它直接影响到发动机的排放、噪声和燃油经济性。以柴油机喷油系统的控制为例, 它主要由传感器、控制单元和喷油器组成。电控单元根据传感器测得的柴油机转速、负荷、进气压力、进排气温度、冷却水温度、机油温度等实时控制调节喷油量与喷油提前角, 使柴油机在最佳状态工作。
笔者以混合动力电动汽车( HEV) 柴油机控制器的研制拟采用基于BP网络的自学习PID控制方法, 简介如下: 人工神经网络作为一种智能化控制理论, 与进行曲线拟合类似, 它具有充分逼近任意复杂非线性系统及可以学习和自适应未知或不确定系统的优点。柴油机的PID控制的比例、积分和微分系数要求能实时调整, 因此, 自学习和自适应功能非常重要。BP网络是由非线性交换单元组成的前馈型人工神经网络, 各神经元的转移函数为非线性交换, 它所划分的区域是由一个非线性超平面组成的柔和光滑区域, 要比线性划分精确、合理、容错性好。BP网络完成2 维向量( 输人层: 误差和误差的变化) 向3 维向量(输出层: PID的比例、积分和微分系数)的映射, 要使这种映射达到理想的效果,BP网络须进行学习和训练不断修正各单元的连接权值, 使输人能够得到对应的输出。
网络经过训练后, 可在线实时优化PID参数, 满足HEV对柴油机控制的要求, 这种智能控制方法在软硬件上实现已无障碍。
(二)利用神经网络进行发动机故障诊断
神经网络作为一个分析工具, 已被证明可以出色地把专家知识结合到数学的框架中, 这使神经网络在故障诊断专家系统设计中有较好的应用前景。任何发动机在运行一段时间后, 由于磨损、振动、污垢积累等原因不可避免地会出现故障。
利用BP网络监测发动机的运行状态, 可以对预先设定的故障模式进行准确的判断, 方法是建立如图2 所示的故障诊断系统:
预先设定固定的故障模式, 如: 设定燃油系统五个故障: l) 有一缸不喷油; 2 ) 水温过高; 3 ) 水温传感器断路; 4) 转速传感器故障; 5) 空气流量传感器损坏。发动机的运转参数作为监测参数用于网络输人, 当检测到异常信号时, 如空气流量计电压信号超出正常值, 则网络对应一个相应的输出值(可以用二进制代码表示, 如0 01, 其他依次类推)表示空气流量计损坏。用各种正常和异常的输人和输出作为训练样本, 对B P 网络进行学习训练, 确定最佳B P 网络结构。
如果监测六个运转参数, 则可以建立双隐层结构, 但输人层结点6 个, 第一隐层结点20 个, 第二隐层结点1个, 输出层3 个。3 个输出结点的不同数值就表示不同的故障, 虽然存在一定的误差, 但判断故障的准确率已相当高。利用这个6 一20一1 1 一3的B P 网络对发动机进行实时监测时, 该网络可以相当准确地判断故障, 误差在10% 左右。
五、结束语
基于神经网络技术的专家系统的研究是近几年才发展起来的。从理论研究和实践应用看,神经网络专家系统在知识获取、存贮,推理方法和效率学习能力及容错性等方面却具有独特的优势。但是,单纯基于神经网络的专家系统也存在如下缺点:
(1) 学习时间长,网络在对大型复杂问题求解时,其学习过程往往过长。
(2) 样本要求较高,要能正确地描述系统的本质特征,其容量尽可能较大地涵盖系统的状态空间。
(3) 系统不透明,表现在网络不能解释其推理过程,没有合理完善的解释系统。
因此,基于符号处理和神经网络的集成专家系统是汽车故障诊断专家系统发展的一个全新方向。
参考文献
[1]王士同. 神经模糊系统及其应用[M ] . 北京: 北京航空航天大学出版社, 2008. 38- 43.
[2]杨行峻,郑君财. 人工神经网络[M]. 北京: 高等教育出版社, 2008. 110- 150.
[3]刘有才,刘培良. 模糊专家系统原理设计[M ].北京: 北京航空航天大学出版社, 20055. 82- 86.
[4]陈树越,余红英,刘广璞. BP网络算法及其在故障诊断中应用述评. 振动、测试与诊断, 2001, 21( 2): 100~ 107