模拟电路故障诊断的BP神经网络方法研究
摘要:BP网络是模拟电路故障诊断中应用十分广泛的一种神经网络。针对传统BP算法的误差下降缓慢,调整时间长,甚至容易陷入局部极小点而不能自拔等局限性,提出用弹性算法与BP网络相结合的方法,并结合某型雷达装备的具体电路,运用该方法建模、仿真。实验结果表明,采用弹性算法结合后的BP网络误差收敛稳定,训练速度快,在克服传统BP算法的局限性上效果显著,为新型雷达装备的故障诊断和维修提供了一种方法,具有特定的实用意义。
关键词:BP神经网络;弹性算法;模拟电路;故障诊断
随着现代电子技术的飞速发展,大规模、超大规模集成电路越来越普及,常规的故障诊断方法如故障字典法、参数识别法、故障验证法等由于其局限性已不再适用。模拟电路的可靠性直接制约着整个电子设备或系统的可靠性,是一个系统能不能正常运行的关键。近年来,神经网络发展迅速,在各领域广泛应用。神经网络具有非线性信息处理能力,其强大的学习能力和并行处理能力为故障诊断提供了全新的理论方法和实现手段。其中BP神经网络由于具有良好的模式分类能力,尤其适用于故障诊断领域,因此对BP网络的研究有着重要的理论及现实意义。
1 神经网络故障诊断的系统设计
应用BP神经网络进行模拟电路故障诊断的方法一般是:在一定的测试激励下,将电路常见的各种故障状态及正常状态所对应的参数通过PSpice求出,进行数据预处理后作为BP网络的输入样本,对网络进行训练,然后在相同的激励下,检测电路实际输出,作为待诊断样本集提供给BP网络,网络输出即为对应的故障模式。系统设计框图如图1所示。
2 BP网络的传统算法
BP网络,即误差反传网络,是在1986年由Rumelhart和McCelland提出的,它是一种无反馈的前向网络,包括输入层、输出层和隐层。理论证明:具有单隐层结构的前馈网络可以映射任意连续函数,最常用的BP神经网络的结构是3层结构,即输入层、输出层和一个隐层。
误差反向传播过程就是通过使一个目标函数。最小化来完成的,BP网络的传统算法则是根据梯度下降法来调整权重系数的。
tk为输出层第忌个神经元的期望输出;Qk为实际输出;Oj为隐层第j个神经元的输出;Qi为输入层第i个神经元的输出。通过多次迭代后误差达到给定的标准,网络收敛到一组稳定的权值,即训练完成。但是这种标准的BP算法有局限性,由于是根据梯度下降法调整权值,若权值的改变量过大,虽然能够加快网络的训练过程,但结果可能会产生振荡;另外一种可能就是权值的改变量过小,因为S型函数具有饱和性,当输入较大时,Oj,Ok将处于0或1的饱和区,权值的改变将趋于0,但此时目标函数的值还很大,误差对权值的变化很不明显,误差下降缓慢,调整时间长,甚至陷入局部极小点而不能自拔,影响收敛速度,使训练难以收敛于给定误差。
3 传统BP算法的改进
基于上述传统BP算法的局限性,提出将弹性算法与BP神经网络相结合的方法,弹性算法只取偏导数的符号,而不考虑幅值,权值的更新方向是由偏导数的符号来决定的。若在两次连续的迭代中,目标函数对某个权值的偏导数的符号保持不变,则增大相应的更新值,若变号,则减小相应的更新值,其过程可表示为:
当目标函数与某个权值偏导数的符号与上一次不同时,则表明最近一次权值的更新值太大,算法已跳出一个局部最小值。通过这种方法调整权值参数,可以使变化步长在需要的时候增加,甚至在误差平面趋于平坦的时候也能增加。误差梯度一旦发生变化,相应的调整步长会减小,有效地防止了振荡。克服了BP网络误差下降缓慢,调整时间长,甚至容易陷入局部极小点等局限性,通过弹性算法与BP网络的结合来实现模拟电路的故障诊断。
评论