当前位置:首页 > 基于BP神经网络的变压器故障诊断研究
网络的输出的数据类型以及用来表达这些类型的数据的大小决定了输出层节点数,论文是对变压器故障进行诊断,所以变压器故障作为神经网络的输出。由于论文中将变压器故障类型分为:中低温过热,高温过热,低能放电,高能放电,所以把神经网络的输出节点数定为4,每一个节点对应一个故障。 (3)隐含层节点数
由于论文涉及的是含有单隐层的BP神经网络,故还要确定隐含层的节点数。神经网络的隐含层节点数是根据前辈们的经验再结合自己的具体实验结果来进行确定的。但是一般来说,输入输出维数的多少、所要解决的问题的要求等因素也会影响隐含层的节点数。隐含层的节点数会对网络的性能有影响:节点数如果太多,就会是网络的学习时间变得太长;如果节点数太少,又会让神经网络的容错性能变差,使网络的识别能力下降。对于变压器故障诊断这一模式识别/分类这一问题的解决,一般可以先依据前人的经验,进行式(4.1)所示的计算:
其中,r为隐层的节点数,n为输入的节点数,m为输出的节点数,a则为1~10之间的常数。
论文设定的输入节点数为5,输出节点数为4,代入式(4.1)计算可知得隐层节点数位于4~13之间。
根据上面的网络结构设定,可以得到如图4.2所示的,变压器故障诊断网络。
其中Pl至P5为网络的输入,依次表示的是氢气、甲烷、乙烷、乙烯、乙炔的含量;Y1至Y4为网络的输出,输出数据依次表示的是中低温故障、高温故障、低能量放电、高能量放电;iw表示的是输入层权向量,iw[i,j]表示的是输入向量的第j个输入到输入层的第i个神经元的连接权值,且此时i=1,2,...k,其中k表示的是隐含层节点数,其取值范围已经确定为4~13,j=l,2,3,4,5;1w表示的是输出层权向量,iw[n,i]表示的是输入层的第i个神经元到输出层的第n个神经元的连接权值,且此时n=l,2,3,4,
15
i=l,2,...k,其中k表示的是隐含层节点数,其取值范围已经确定为4~13;b1、b2分别表示输入层的阈值向量和输出层阈值向量,a1表示输入层的输出向量。
4.3.2 神经网络数据处理
train经常被用来对神经网络进行训练,不过应该首先将网络的训练参数进行设置完成,才能进行训练[27]。表4.1为几个主要的网络训练参数和它们的含义,若在训练前未对这些相关的训练参数进行设置,那么系统会将这些参数设为默认值。
神经元的传递函数或激活函数是用来对基函数的输出进行运算,最后得到输出结果的函数,也是神经元对输入信号的第二次处理过程。神经元的激活函数种类很多,这些不同的函数有不同的特性,能够构建不同功能的神经网络,表4.2是几种典型神经元的传递函
[28]
。
16
在进行变压器故障诊断时,由于其油中特征气体与设备故障之间是非线性关系,故其传递函数选为非线性Sigmoid函数。即将初始化语句中的TF用sigmoid函数代替。最常用的非线性Sigmoid函数是logsig和tansig,要把输出限制在(0,1)的范围里,故采取非线性的S型传输函数logsig作为传递函数,tansig作为网络的基函数,把输入范围限制在(-1,1),用以保证网络达到较好的非线性映射。由于变压器中各气体含量值相差比较大,应该先对输入数据进行归一化处理,把输入数据的范围限制在[0,1]之间,然后再进行后面的训练学习。网络输出结果分为两类:第一类是小于0.5的数,表示变压器没有这种故障;第二种是大于等于0.5的数,表示变压器存在这种故障;当四个输出的数据都小于0.5时,表示四种故障都不存在,即变压器正常。故可以生成BP神经网络,其编程语句如下:net=newff(mimax(P 1),[4~1 3,4],{‘tansig’,‘logsig’},‘BTF’) 其中P1表示输入,4~13是由经验公式得到的隐含层数目,最后的具体确定还需经过多次试验比较确定,4是输出维数。tansig是输入层与隐含层的传递函数,logsig是隐含层与输出层的传递函数。
4.3.3 BP神经网络的训练过程
BP算法训练学习主要有两个阶段,第一个阶段为学习样本的正方向传递阶段,也就是学习样本,通过输入层、隐含层和输出层的作用,最后计算得到各神经元的输出;第二个阶段则是对误差进行反方向的传递,也是在此时对权值阈值的调节,就是把输出跟期望的目标值两者的偏差,从输出层反方向传播来进行隐含层和输出层的权值和阈值调整
[29]
。反
复进行上述两个过程的操作,如果已经达到规定的学习次数或者误差满足要求的精度时,那么就将整个学习过程终止。BP神经网络的不同算法,其实就是权值和阈值的不同调节方式。
BP神经网络的学习规则是对误差进行反向传播的方法来进行网络的权值和阈值的调节[30]。当生成了BP神经网络并对网络进行初始化后,可以运用搜集到的以往变压器故障时油中溶解气体相关数据作样本,对神经网络进行训练。其中动量因子是在进行动量BP算法时才需要对其进行设置,其他算法并没有加入动量因子,所以不需进行设置。在对训练所需的参数进行初始化完成后,采取train函数对神经网络进行训练了,其训练编程语句为:[net,tr]=rain(net,P,T)
训练语句中,P表示的是输入样本,在进行变压器故障诊断时,P是表示油中溶解气体的百分比含量;T是目标输出样本,即变压器的故障类型;等号右边的net表示的是训练前的神经网络;通过训练后,就生成了等号左边的net_训练以后的网络,tr代表的是训练的步数和误差。在进行训练时,训练函数会根据设定的显示结果的间隔步数来显示训练的结果信息和网络的实时误差变化曲线[31]。如果出现这几种情况之一:训练的步数超过了设定的训练步数、训练的误差小于设定的训练目标误差值、训练的时间超过了设定的训练允许时间、误差梯度值小于设定的最小允许梯度值或者训练验证的失败次数达到最大次
17
数(验证失败是指调整后的网络对验证输入矢量的输出误差并没有降低)时,网络训练就会自动停止,返回的是经过训练之后的神经网络。4.3.4 BP神经网络仿真
训练好的神经网络,已经能够将输入与输出之间的非线性关系很好的反映出来,即变压器油中特征气体的含量与变压器故障类型能够被很好的非线性映射,那么就可以用这个训练好的网络来进行神经网络的仿真,预测变压器故障类型。神经网络的仿真语句是运用sim函数实现的,其仿真形式有三种:
(1)[Y,Pf,Af,E,perf]=sim(net,P,Pi,Ai,T) (2)[Y,Pf,Af,E,perf]=sim(net,{Q TS},Pi,Ai,T) (3)[Y,Pf’Af,E,perf]=sim(net,Q,Pi,Ai,T)
其中,形式(2)和形式(3)是在网络没有输入的时候所用的。net表示的是神经网络,P是神经网络的输入,Pi是输入延时的初始值,Ai是层延迟的初始值,T表示的是目标矢量;仿真函数返回时,Y表示网络的输出向量,Pf表示训练结束的时候的输入延迟状态,Af表示训练结束时的层延迟状态,E表示的是输出矢量和目标矢量的误差,perf表示神经网络的性能值。在形式(2)和形式(3)中,Q表示的是批量处理的数据的个数,TS表示的是神经网络进行仿真的时间步数。论文运用的是网络有输入的仿真,故在进行神经网络编程时,采取方式(1)所示的仿真语句。在训练完成后,一般要仿真得到结果一种比较简便的方法:Y=sim(net,P),其中net表示经过训练满足要求的网络,P为要进行预测的输入矢量,Y为预测结果,在论文中即为预测的变压器故障类型。
第五章 变压器故障诊断仿真 5.1 仿真工具的选择
Matlab是Mathworks公司开发的高性能科学计算软件,具有强大的计算能力,提供了大量的函数库、工具箱,几乎涵盖了整个工程计算领域,被誉为“演算纸’’式的工程计算工具。它在学术界和工业界都得到了广泛的应用,具有程序可读性强、调试简单等特点。Matlab的神经网络工具箱是以人工神经网络理论为基础的,用Matlab语言构造出了该理论所涉及的公式运算、矩阵操作和方程求解等大部分子程序,以用于神经网络设计和训练,用户只需要根据自己的需要调用相关程序,免除了自己编写复杂而庞大的算法程序的困扰,简化了编程。从而在问题已知情况下,即神经网络输入量和输出量确定情况下,选取什么样的网络结构、激活函数和训练函数就显得尤为重要。
电力变压器油中气体色谱分析(DGA)是变压器故障诊断的重要手段,它为变压器故障诊断提供了重要依据。在DGA诊断中,专家经验是一项重要的诊断依据。专家经验主要是指一些经实践检验正确的变压器故障样本数据,通常的做法是用其来训练神经网络。由于在人工神经网络的实际应用中80%.90%的神经网络模型都是采用BP网络及其变化形式,所以选用BP网络。
5.2 BP网络参数设计(1)BP网络输入与输出参数的确定[33]
18
共分享92篇相关文档