论文-遗传算法优化神经网络的故障诊断方法研究_第1页
论文-遗传算法优化神经网络的故障诊断方法研究_第2页
论文-遗传算法优化神经网络的故障诊断方法研究_第3页
论文-遗传算法优化神经网络的故障诊断方法研究_第4页
论文-遗传算法优化神经网络的故障诊断方法研究_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

遗传算法优化神经网络的故障诊断方法研究遗传算法优化神经网络的故障诊断方法研究 摘要 提出了一种基于遗传优化的神经网络故障诊断方法 该方法把经小波包分解的信号能量特征向量作为神经网络的输 入向量 用遗传算法对 BP 神经网络的隐含层节点数 初始权值 阈值和网络的学习速率进行前期优化训练 再用 LM 算 法进行二次训练 最后将优化得到的网络用于故障诊断 仿真结果表明 该算法不仅可以得到最优的网络结构和参数 而且降低了网络误差 提高了运算速度和训练性能 将该方法应用于平流泵故障诊断 证实了它的可行性和有效性 关键词 小波包 神经网络 遗传算法 故障诊断 Research of fault diagnosis method based on neural network optimized by genetic algorithms Zhao Shijun1 2 Sun Shihui2 1 College of Information and Engineering University of Science and Technology Beijing Beijing 100083 2 College of Information and Control Engineering China University of Petroleum Dongying Shandong 257061 Abstract This paper proposes the fault diagnosis method based on neural network optimized by genetic algorithms This method regards the energy eigenvectors which are decomposed by the wavelet packet as the input eigenvector of the neural network Genetic algorithm is used to optimize the number of hidden neuron the initial weights and thresholds and the learning rate of BP neural network for the first time then the network is trained by LM algorithm again finally fault diagnosis is done by the optimized neural network The simulation result shows that this method can not only give an optimized structure and parameters of neural network but also reduce the network error improve the computing speed and the training performance Furthermore this method verifies the correctness and effectiveness of applying in the pump fault diagnosis Key words wavelet packet neural network genetic algorithm fault diagnosis 1 1 引言引言 人工智能技术特别是专家系统在故障诊断领域中的应用 为故障诊断的智能化提供了可能性 也使 诊断技术进入新的发展阶段 神经网络以其固有的记忆能力 自学习功能以及强容错性为故障诊断问题 提供了一个新的解决途径 但是人们通常使用的误差反向传播算法 即 BP 算法 也有着自身的缺陷 如网络的性能严重依赖于训练样本和初始权值 阈值 网络的隐含层节点数需由经验或试探来确定 网 络的收敛速度慢且容易陷入局部极小值等 1 遗传算法是一种随机优化搜索方法 具有很强的全局搜索 能力 并能以较大的概率找到最优解或性能很好的次优解 但标准的遗传算法也有容易过早收敛等方面 的局限性 2 本文针对科学实验中广泛使用的平流泵的故障特点 选取合适的小波函数提取信号的能量 特征向量 用遗传算法优化 BP 神经网络的结构和参数 然后用优化后的网络对平流泵进行故障诊断 实验证实了它的可行性和有效性 2 2 故障信号能量特征提取故障信号能量特征提取 2 1 小波函数的选取 运用小波包进行时频分析时 要求能够提取非平稳信号的瞬时 奇异与突变成分 即提取有限频带 上的信息 也就是在特定尺度上进行小波变换 因此 选择小波函数时 考虑时频两域的紧支撑尤为重 要 考察故障信号可以发现 它们是不平滑的曲线 所以 小波函数的正则性也要着重考虑 工程实践经验告诉我们 小波因其具有正交 时频紧支撑等特点 在信号处理领域大受欢迎 dbN 小波的支撑长度为 因此 要比 的局部化特性好 3 在对 dbN21N 2db4db5db10db2db 几种小波进行比较后发现 与故障信号的波形相似 因此 综合以上几方面的考3db4db5db3db 虑 本文选用小波进行信号分析 3db 2 2 信号的小波包降噪 在信号处理中 信噪比 SNR 均方根误差 RMSE 和峰值误差是最常用的三种衡量信号降噪 有效性的指标 信号的信噪比越高 原始信号与估计信号的均方根误差越小 同时 若峰值误差越接近 于零的话 则估计信号就越接近于原始信号 降噪效果越好 小波包降噪处理一般有强制降噪处理 默认阈值降噪处理 给定软 或硬 阈值降噪处理三种方法 4 本文任意抽取一种信号用这三种方法分别进行小波包降噪 对比它们的降噪效果 从而决定对所有 信号采用的降噪方法 三种方法降噪的性能对比如表1所示 由表1知 硬阈值降噪效果的性能比其他三 种方法的都要好一些 因此 本文将采用给定硬阈值降噪方法对采集到的所有信号进行降噪处理 强制降噪处理 默认阈值 降噪处理 硬阈值降 噪处理 软阈值降 噪处理 信噪比 SNR 99 6479119 0153119 0698108 4679 均方根误差 RMSE 0 03450 01310 01310 0222 峰值误差 0 02730 00808 8329e 0040 0160 2 3 小波包分解提取信号特征向量 1 首先对数据做归一化处理 归一化的公式为 1 minmaxmin1 iiiii xxxxx t 2 t t t t 式中 为初始数据 为归一化之后的数据 和分别表示同一个输入 i x t i x t max i x t min i x t 节点的数据中的最大值和最小值 表 1 降噪效果的性能评价 2 将信号进行 N 层小波包分解 得到第 N 层从低频到高频个频带的特征信号 j 1 2 2N Nj S 2N 3 求各频带信号的能量 2 22 1 n NjNjNj k ESdtS 4 构造特征向量 首先对进行归一化处理 Nj E 3 21 0 N Nj Nj Nj j E N E 则可由此确定能量特征向量为 12 2N NN N uNN N 3 3 GA GA BPBP 算法设计算法设计 遗传算法 Genetic Algorithm 简称 GA 的基本原理为 首先产生若干个所求解问题的数字编码 即染色体 形成初始群体 通过适应度函数给每个染色体一个数值评价 选择适应度值大的染色体参加 交叉和变异遗传操作 经过遗传操作后的染色体集合形成下一代群体 若未达到最大进化代数 则再对 这个新群体进行下一轮进化 5 BP 神经网络是一种具有三层或三层以上的神经网络 包括输入层 隐含层和输出层 BP 神经网络 已被广泛应用于故障诊断领域 6 但如何确定网络的隐含层节点数和网络的初始参数仍值得探讨 遗传 算法虽然有很强的全局搜索能力 但标准遗传算法也存在一些局限性 本文研究设计了 GA BP 算法 即遗传算法优化 BP 神经网络的隐含层节点数 权值阈值的初始值以及网络的学习速率 3 1 遗传编码与解码 把每个染色体分解为连接基因和参数基因进行编码 连接基因采用二进制编码方式 1 表示该神 经元存在 0 表示不存在 编码长度等于隐含层神经元个数 参数基因采用实数编码方式 即每个连 接权值 阈值和学习速率直接用一个实数表示 由于网络的权值 阈值可以为负 而学习速率必须是正 数 因此 将参数基因划分为权阈基因和速率基因两部分 权阈基因的编码长度等于神经网络各层所有 权值 阈值的总个数 速率基因则只需用1个实数来编码 因此 参数基因的编码长度为权阈基因与速 率基因的长度之和 而一个染色体的编码总长度为连接基因编码长度与参数基因编码长度的和 假设 1 1 0 1 1 是一个染色体中连接基因的编码 编码的长度为 K 那么这样的基于 GA 编码的三 层 BP 神经网络的结构如图 1 所示 图 1 中 为输入层神经元 为隐含层神经元 为输出层神经 n i k h m o 元 为输入样本 为网络的输出 n X m Y 输入层 隐含层 输出层 1 h 1 h 1 y 1 x 2 x n x 2 y m y 4 h 1 i n i 1 o m o 2 o 3 h 2 h 2 i k h 解码时 它的输入层到隐含层 隐含层到输出层的权值 和隐含层的阈值如式 4 式 n k k m k 5 式 6 所示 4 111 21 412 12 22 42124 000 n k K KN N N N K 5 111 212 12 22 k m M M 00 0 4 14 2412 MK K K M 6 124 0 k K 网络的学习速率与网络结构无关 因此它不参与以上解码过程 也就是说无需解码 GA BP算法的这种编码方式的优点在于 1 可以直接根据连接基因的二进制 0 1 编码串建立相应结构的BP神经网络 并且神经网络的 隐含层节点数与编码串中 1 的个数相等 这样就可以明了的看到解码后的网络结构 2 实数编码的参数基因有较大空间的遗传搜索 而且不需要经过复杂的解码就可以得到网络的 权值 阈值和学习速率 提高了运算效率 3 2 适应度函数的设计 适应度函数是用于区分群体中个体好坏的标准 GA BP算法的适应度函数建立在神经网络的总误差 的基础上 即每个染色体的适应度函数取为 7 1 f 1 E 式中 是神经网络中的误差 表示理想输出 表示真实输出 为样本集 2 10 1 2 LM ll jj lj EdY l j d l j YL 个数 7 3 3 遗传算子的设计 群体中的每个个体首先接受选择操作 选择操作采用最佳个体保存与适应度比例相结合的方法 对当前群体的染色体 首先采用最佳个体 保存策略 适应度值最大的染色体不必参与交叉和变异操作而直接进入下一代 然后采用适应度比例方 图 1 基于 GA 编码的三层 BP 神经网络结构图 法 在该方法中 每个染色体的被选择概率为 式中 表示第 个染色体的适应度值 1 n iij j Pff i fi 这样 适应度值大的个体有机会进入下一代 而概率小的个体也有机会 从而保证了群体中个体的多样 性 防止算法落入局部最优 然后将经过选择操作的染色体进行交叉和变异操作 交叉在遗传算法中起着关键性的作用 它是产 生新个体的主要方法 它决定了遗传算法的全局搜索能力 而变异运算只是产生新个体的辅助方法 它 决定了遗传算法的局部搜索能力 交叉操作和变异操作把染色体分成两部分进行 连接基因的部分采用单点交叉方式和基本变异方式 参数基因的部分采用算术交叉方式和非均匀变异方式 但其中的权阈基因和速率基因各自交叉和变异而 互不干扰 交叉算子和变异算子采用自适应算法 如式8 式9所示 8 maxmax 1 0 vv c v ffffff P ff 9 maxmax min 0 5 vv m vvv ffffff P ffffff 式中 是当前群体中适应度值的最大值 是当前群体中适应度值的最小值 是当前群体的 max f min f v f 适应度值的平均值 是参与交叉的两个染色体中适应度值较大的一个染色体的适应度值 8 f 4 4 GA BPGA BP 算法步骤算法步骤 本文用遗传算法对 BP 神经网络的隐含层节点数和初始权值阈值进行前期优化训练 再用 L M 算法 进行二次训练 GA BP 算法的步骤如下 1 按照 3 1 节的编码方式随机产生初始群体 群体中的每个个体表示一种网络结构及该结构对应的 初始参数 2 建立初始状态下的 BP 神经网络 3 提供一组输入样本给 BP 神经网络的输入层 训练 BP 网络 并计算神经网络的输出误差 4 判断是否训练完所有的样本 若不满足则选取下一个学习样本提供给网络 转向步骤 3 继续训 练 若满足则得到网络的总误差 按照 3 2 节的适应度函数设计 将该误差作为遗传算法的适应度函数 计算每个个体的适应度函数值 5 按照 3 3 节的选择 交叉 变异遗传操作方法 对当前群体进行遗传操作 产生新的种群 6 判断是否达到最大进化代数 若满足 则转向步骤 7 若不满足 则转向步骤 5 7 遗传结束 得到最优个体 将该个体按照 3 1 节的解码方法进行解码 得到最优的网络结构以及 该结构对应的初始权值 阈值和学习速率 用遗传结果建立 BP 神经网络 8 提供一组输入样本给 BP 神经网络的输入层 训练网络 9 判断是否训练完所有的样本 若不满足则选取下一个学习样本提供给网络 返回到步骤 8 若满 足则转至步骤 10 10 计算总误差 判断网络的总误差是否满足 若满足则结束训练 若不满足则转向步骤EE 11 11 判断网络是否达到预定训练次数 若满足则结束训练 若不满足则返回到步骤8继续训练 5 5 仿真与应用实例仿真与应用实例 开发研制CDLY 2006智能型长期导流能力测量仪 对系统中的平流泵进行故障诊断 根据平流泵的 工作原理和技术人员的经验知 常见有存在气泡 出口堵塞 流程泄漏三种故障 给CDLY 2006智能型 长期导流能力测量系统加回压5MPa 设定平流泵排量为5ml min 取测点为系统上 下游压力 分别采 集平流泵正常工作和出现三种故障时的信号 每种状态下采集20组数据 每组2000个数据点 本文对四种工作状态的信号分别进行 3 层小波包分解 得到 8 个不同频带内的信号 能量特征向量 的柱状图如图 2 所示 5 1 BP 神经网络的故障诊断 首先 对 BP 神经网络的结构和参数进行设计 1 网络结构方面 BP 神经网络采用三层网络结构 网络的输入层节点数取决于特征向量的维数 即 输出层8N 节点数由工作状态数决定 即 四种工作状态的目标分别为正常工作 1 0 0 0 存在气泡 0 1 4M 0 0 出口堵塞 0 0 1 0 流程泄漏 0 0 0 1 隐含层节点数可参考下面的公式 1 其中 a 为 1 10 之间的常数 snma 2 2 logsn 3 2 0 430 122 540 770 350 51smnnmn 以上公式中 为输出神经元数 为输入单元数 为隐含层单元数 9 mns 图 2 四种工作状态的特征向量柱状图 2 网络参数方面 本文选取 40 组样本 其中系统正常工作 存在气泡 出口堵塞 流程泄漏分别取 10 组 网络的输 入层神经元的传递函数选用 tansig 隐含层神经元的传递函数选用 logsig 输出层神经元的传递函数选 用 purelin 网络采用 LM 算法进行训练 学习速率为 0 1 误差要求是 0 0001 基于 MATLAB 仿真平台 对隐含层神经元个数 8 14 分别进行 10 次仿真实验 并对这十次仿真的 收敛次数取平均 得到不同的训练次数如表 2 所示 表中 平均收敛步数一行括号内为训练失败的次数 隐含层节 点数 891011121314 平均运行 时间 s 1 9972031 8763871 7071731 5977651 6608731 7386971 817702 平均收敛 步数 57 0 49 1 42 0 37 0 39 1 43 0 48 0 由表 2 可知 当隐含层的节点数为 11 时 网络收敛所需的训练次数较少 运行所用的时间也较少 并且 十次训练中没有训练失败的情况发生 因此 BP 网络的隐含层节点数取为 11 个 至此 BP 神经网络的结构确定为 8 11 4 将上述 11 个隐含层节点数的网络十次训练后得到的权 值和阈值取平均 作为 8 11 4 神经网络的初始权值 阈值 为了不失一般性 用 BP 神经网络进行 十次故障诊断 收敛所用的时间 收敛步数以及网络误差列于表 3 表中 表示训练失败 其中 经过 35 步收敛 收敛所用时间为 1 539s 网络误差为 0 334 的网络训练过程如图 3 所示 次数12345678910 运行 时间 s 1 5761 6031 539 1 6291 6171 5941 5891 6021 579 收敛 步数 384235 464239404537 网络 误差 0 3490 4780 334 0 5110 3960 3740 5270 4530 549 表 2 不同隐含层节点数的 BP 网络十次训练的平均收敛次数及平均运行时间 图 3 BP 神经网络训练过程图 表 3 BP 算法十次故障诊断结果 5 2 GA BP 算法的故障诊断 根据5 1节列出的确定隐含层节点数的参考公式 初步设定隐含层神经元个数为25 因此 初始状态 下的BP神经网络 即8 25 4结构 由3 1节的编码方式随机产生80个个体初始群体 每个个体的编码长度 为 其中 前面的是25个是连接基因 采用二进制编码方式 1 表25 8 2525 4254 1 示该神经元存在 0 表示不存在 后面的 个是参数基因 采用实数编 8 2525 4254 1 码方式 参数基因中 前个是权阈基因 初始化为 1 1 的实数 最后的 8 2525 4254 一个是速率基因 初始化为 0 1 的实数 一般的 学习速率的取值范围是0 01 0 8 因此 解码时需要对优化得到的学习速率加以界定处理 若学习速率小于0 01 则取为0 01 若大于0 8 则取为0 8 因此 得到的学习速率为 0 01 0 8 的实 数 遗传最大进化代数取为 100 代 适应度函数及遗传算子等的设计如 3 2 和 3 3 节 另外 BP 神经网 络的输入层节点数 输出层节点数等参数与 5 1 节相同 根据第 4 节中 GA BP 算法步骤 对 40 组样本进行仿真实验 为了不失一般性 本文用 GA BP 算 法也进行了十次实验 GA BP 算法十次训练结果如表 4 所示 表中列出了十次实验得到的隐含层节点 数 学习速率 网络误差以及训练的平均收敛步数和运行时间 其中 平均收敛步数一行括号内为训练 失败的次数 隐含层 节点数 1013111213141191310 学习 速率 0 2630 1820 4270 3910 6770 1580 7020 2940 4570 645 运行 时间 s 1 2361 2451 1571 2491 2211 2131 2141 1591 2281 212 收敛 步数 18 0 20 0 9 0 21 0 16 0 12 0 13 0 10 0 15 0 13 0 网络 误差 0 1170 1280 1440 1510 1290 1500 1430 1090 1570 126 隐含层节点数为 13 收敛步数为 20 学习速率为 0 182 网络误差为 0 128 的 GA BP 算法的训练 过程如图 4 所示 遗传算法对 BP 神经网络的结构和参数的寻优过程如图 5 所示 表 4 GA BP 算法十次训练结果 由以上的故障诊断的仿真实验知 无论是用 BP 算法还是用 GA BP 算法 都达到了故障诊断的目 的 但将二者对比分析可知 GA BP 算法又有许多优点 BP 算法中难以确定隐含层节点数 即使有参考公式 也只能对隐含层节点数进行粗略估计 要想 更准确的确定隐含层节点数 还需要逐一训练 另外 为了减少人为给定学习速率造成的误差 同样需 要对一定范围内的学习速率逐一训练 这无疑有着很大的工作量 对比表 3 与表 4 图 3 与图 4 我们 可以看到 GA BP 算法的运算速度要高于 BP 算法 在所有训练成功的诊断中 GA BP 算法的网络误 差明显小于 BP 神经网络 这也就是说 GA BP 算法的故障诊断准确率高于 BP 算法 在相同的精度要求 情况下 GA BP 算法收敛所需要的步数要比 BP 算法少 并且 GA BP 算法收敛时的训练精度已接近 另外 由于 BP 算法本身的局限性 容易陷入局部极小而导致训练失败 而 GA BP 算法则克服 6 10 了这一点 由此可见 GA BP 算法较之传统的 BP 算法用于平流泵的故障诊断具有明显的可行性和可靠 性 6 6 结论结论 为了克服 BP 神经网络的隐含层节点数和初始参数对网络性能的影响 本文研究设计了 GA BP 算 法 它首先把经小波包分解的信号能量特征向量作为神经网络的输入向量 用遗传算法对 BP 神经网络 的隐含层节点数 初始权值 阈值和网络的学习速率进行前期优化训练 这样不仅得到了最佳的网络结 构 而且获得了此结构所对应的最优的权值 阈值以及学习速率 然后再用 LM 算法进行二次训练 最 图 4 GA BP 算法的训练过程图 图 5 遗传算法对 BP 神经网络的结构和参数寻优过程 图 后将优化得到的网络用于故障诊断 仿真结果表明 该方法能够有效地提高网络的训练性能和运算速度 并实现了遗传算法与 BP 神经网络的优势互补 用训练过的神经网络对 CDLY2006 智能型长期导流能力 测量仪中的平流泵进行验证 证实了该算法的可行性和有效性 参考文献 1 LU Xin lai LIU Hu WANG Gang lin WU Zhe Helicopter sizing based on genetic algorithm optimized neural network J Chinese Journal of Aeronautics 2006 19 3 212 218 2 Barmada S Analysis of transmission lines with frequency dependent parameters by wavelet FFT method J IEEE Transactions on Magnetics 2003 3 9 3 1602 1605 3 Turkheimer F E A linear wavelet filter for parametric imaging with dynamic PET

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论