前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇神经网络前向传播算法范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
关键字 :神经网络,BP模型,预测
中图分类号:TP183文献标识码: A
1 引言
在系统建模、辨识和预测中,对于线性系统,在频域,传递函数矩阵可以很好地表达系统的黑箱式输入输出模型;在时域,Box-Jenkins方法、回归分析方法、ARMA模型等,通过各种参数估计方法也可以给出描述。对于非线性时间序列预测系统,双线性模型、门限自回归模型、ARCH模型都需要在对数据的内在规律知道不多的情况下对序列间关系进行假定。可以说传统的非线性系统预测,在理论研究和实际应用方面,都存在极大的困难。相比之下,神经网络可以在不了解输入或输出变量间关系的前提下完成非线性建模[4,6]。神经元、神经网络都有非线性、非局域性、非定常性、非凸性和混沌等特性,与各种预测方法有机结合具有很好的发展前景,也给预测系统带来了新的方向与突破。建模算法和预测系统的稳定性、动态性等研究成为当今热点问题。目前在系统建模与预测中,应用最多的是静态的多层前向神经网络,这主要是因为这种网络具有通过学习逼近任意非线性映射的能力。利用静态的多层前向神经网络建立系统的输入/输出模型,本质上就是基于网络逼近能力,通过学习获知系统差分方程中的非线性函数。但在实际应用中,需要建模和预测的多为非线性动态系统,利用静态的多层前向神经网络必须事先给定模型的阶次,即预先确定系统的模型,这一点非常难做到。近来,有关基于动态网络的建模和预测的研究,代表了神经网络建模和预测新的发展方向。
2 BP神经网络模型
BP网络是采用Widrow-Hoff学习算法和非线性可微转移函数的多层网络。典型的BP算法采用梯度下降法,也就是Widrow-Hoff算法。现在有许多基本的优化算法,例如变尺度算法和牛顿算法。如图1所示,BP神经网络包括以下单元:①处理单元(神经元)(图中用圆圈表示),即神经网络的基本组成部分。输入层的处理单元只是将输入值转入相邻的联接权重,隐层和输出层的处理单元将它们的输入值求和并根据转移函数计算输出值。②联接权重(图中如V,W)。它将神经网络中的处理单元联系起来,其值随各处理单元的联接程度而变化。③层。神经网络一般具有输入层x、隐层y和输出层o。④阈值。其值可为恒值或可变值,它可使网络能更自由地获取所要描述的函数关系。⑤转移函数F。它是将输入的数据转化为输出的处理单元,通常为非线性函数。
图1 BP神经网络结构
2.1 基本算法
BP算法主要包含4步,分为向前传播和向后传播两个阶段:
1)向前传播阶段
(1)从样本集中取一个样本(Xp,Yp),将Xp输入网络;
(2)计算相应的实际输出Op
在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时的执行过程。
2)向后传播阶段
(1)计算实际输出Op与相应的理想输出Yp的差;
(2)按极小化误差的方式调整权矩阵。
这两个阶段的工作受到精度要求的控制,在这里取 作为网络关于第p个样本的误差测度,而将网络关于整个样本集的误差测度定义为 。图2是基本BP算法的流程图。
图2 BP基本算法流程
2.2 动态BP神经网络预测算法
在经典的BP算法以及其他的训练算法中都有很多变量,这些训练算法可以确定一个ANN结构,它们只训练固定结构的ANN权值(包括联接权值和结点转换函数)。在自动设计ANN结构方面,也已有较多的尝试,比如构造性算法和剪枝算法。前一种是先随机化网络,然后在训练过程中有必要地增加新的层和结点;而剪枝法则正好相反。文献[2]中提出了演化神经网络的理念,并把EP算法与BP进行了组合演化;也有很多学者把遗传算法和BP进行结合,但这些算法都以时间复杂度以及空间复杂度的增加为代价。根据Kolmogorov定理,对于任意给定的L2型连续函数f: [ 0, 1 ]n Rm , f可以精确地用一个三层前向神经网络来实现,因而可以只考虑演化网络的权值和结点数而不影响演化结果。基于此,在BP原有算法的基础上,增加结点数演化因子,然后记录每层因子各异时演化出的结构,最后选取最优的因子及其网络结构,这样就可以避免由于增加或剪枝得到的局部最优。根据实验得知,不同的预测精度也影响网络层神经元的结点数,所以可根据要求动态地建立预测系统。具体步骤如下:
(1)将输入向量和目标向量进行归一化处理。
(2)读取输入向量、目标向量,记录输入维数m、输出层结点数n。
(3)当训练集确定之后,输入层结点数和输出层结点数随之而确定,首先遇到的一个十分重要而又困难的问题是如何优化隐层结点数和隐层数。实验表明,如果隐层结点数过少,网络不能具有必要的学习能力和信息处理能力。反之,若过多,不仅会大大增加网络结构的复杂性(这一点对硬件实现的网络尤其重要),网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度变得很慢。隐层结点数的选择问题一直受到神经网络研究工作者的高度重视。Gorman指出隐层结点数s与模式数N的关系是:s=log2N;Kolmogorov定理表明,隐层结点数s=2n+1(n为输入层结点数);而根据文献[7]:s=sqrt(0.43mn+0.12nn+2.54m+0.77n+0.35)+0.51[7]。
(4)设置结点数演化因子a。为了快速建立网络,可以对其向量初始化,
并从小到大排序[4,7]。
(5)建立BP神经网络。隐含层传递函数用tansig,输出层用logsig,训练函数采用动态自适应BP算法,并制订停止准则:目标误差精度以及训练代数。
(6)初始化网络。
(7)训练网络直到满足停止判断准则。
(8)用测试向量对网络进行预测,并记录误差和逼近曲线,评估其网络的适应性。其适应度函数采取规则化均方误差函数。
(9)转到(5),选取下一个演化因子,动态增加隐含层结点数,直到最后得到最佳预测网络。
3 基于神经网络的预测原理[4]
3.1 正向建模
正向建模是指训练一个神经网络表达系统正向动态的过程,这一过程建立的神经网络模型称为正向模型,其结构如图3所示。其中,神经网络与待辨识的系统并联,两者的输出误差用做网络的训练信号。显然,这是一个典型的有导师学习问题,实际系统作为教师,向神经网络提供算法所需要的期望输出。当系统是被控对象或传统控制器时,神经网络多采用多层前向网络的形式,可直接选用BP网络或它的各种变形。而当系统为性能评价器时,则可选择再励学习算法,这时网络既可以采用具有全局逼近能力的网络(如多层感知器),也可选用具有局部逼近能力的网络(如小脑模型控制器等)。
图3 正向建模结构
3.2 逆向建模
建立动态系统的逆模型,在神经网络中起着关键作用,并且得到了广泛的应用。其中,比较简单的是直接逆建模法,也称为广义逆学习。其结构如图4所示,拟预报的系统输出作为网络的输入,网络输出与系统输入比较,相应的输入误差用于训练,因而网络将通过学习建立系统的逆模型。但是,如果所辨识的非线性系统是不可逆的,利用上述方法将得到一个不正确的逆模型。因此,在建立系统时,可逆性应该先有所保证。
图4 直接逆建模结构
4 应用实例分析
以我国西南某地震常发地区的地震资料作为样本来源,实现基于动态神经网络的地震预报。根据资料,提取出7个预报因子和实际发生的震级M作为输入和目标向量。预报因子为半年内M>=3的地震累计频度、半年内能量释放积累值、b值、异常地震群个数、地震条带个数、是否处于活动期内以及相关地震区地震级。在训练前,对数据进行归一化处理。由于输入样本为7维的输入向量,一般情况下输入层设7个神经元。根据实际情况,输出层神经元个数为1。隐含层神经元的传递函数为S型正切函数,输出层也可以动态选择传递函数。实例数据来自文献[4],将数据集分为训练集、测试集和确定集。表1中的7×7数组表示归一化后的训练向量,第一个7表示预报因子数,第二个7表示样本数。
表1 归一化后的训练向量
在不同神经元数情况下,对网络进行训练和仿真,得到如图5所示的一组预测误差曲线。其中,曲线A表示隐层结点数为6时的预测误差曲线,曲线B表示隐含层结点数为3时的预测误差曲线,曲线C表示隐含层结点数为5时的预测误差曲线,曲线D表示隐含层结点数为4时的预测误差曲线。将五种情况下的误差进行对比,曲线C表示的网络预测性能最好,其隐含层神经元数为5,图中曲线E表示的是隐含层结点数为15时的预测误差曲线(文献[4]中的最好结果)。同时也证明,在设计BP网络时,不能无限制地增加层神经元的个数。若过多,不仅会大大增加网络结构的复杂性,网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度、预测速度变得很慢。
图5 不同神经元数预测误差对比曲线
5 结论
本文针对基本的BP神经网络,提出了可动态改变神经元数(与精度相关)的BP神经网络预测方法,可以根据实际情况建立预测系统。用此种方法可以建立最好的神经网络,不会有多余的神经元,也不会让网络在学习过程中过早陷于局部极小点。
参考文献
[1]潘正君,康立山,陈毓屏. 演化计算[M ]. 北京:清华大学出版社,1998
[2]飞思科技产品研发中心. 神经网络理论与实现. 北京:电子工业出版社,2005
[3]蔡晓芬,方建斌. 演化神经网络算法. 江汉大学学报,第33卷第3期,2005.9
关键词:脱硫脱硝;BP神经网络;反向传播;预测
中图分类号:X73文献标识码:A文章编号:16749944(2014)07021303
1技术背景
煤炭燃烧产生的烟气中,含有大量的氮硫氧化物,这些氧化物直接排放到空气中,会导致酸雨等自然灾害的发生。因此,各国都在积极研究烟气脱硫脱硝技术。目前最新的技术是采用臭氧的强氧化性对烟气中的NO进行处理,使之溶解于水,降低烟气中的氮硫氧化物。
现有的技术对于臭氧的添加采用的是PID控制,此控制技术经过多年的发展,已经相对成熟。其控制设备简单,控制思路清晰,但在控制过程中也存在很多问题,比如对于大惯性环节控制滞后,震荡过度等问题。在添加臭氧的过程中,通过检测烟气输入端的氮硫氧化物的摩尔量,利用反应方程式计算理想状态下需要的臭氧摩尔量,然后再通过检测通入碱性废水中和前的NOx,SO2的浓度,完成PID调节,改变臭氧的添加量。
在添加的过程中,因为影响臭氧添加量的各个因素之间是非线性的,所以无法进行单一的线性补偿,导致臭氧添加量过大或者过少。过大会造成添加臭氧的浪费,过小会使烟气反应不完全,导致烟气排放不达标,所以本发明的目的就是根据历史数据对臭氧的需求量建立预测模型,通过数据的分析,预测臭氧的消耗量,以达到减少浪费或者减少烟气不达标的情况。
人工神经网络是利用计算机模拟人脑的结构和功能的一门新学科[1],能够利用自身的优良处理性能,解决高度非线性和严重不确定性系统的复杂问题,在此适合进行对臭氧需求量进行预测,所以提出建立一个三层BP神经网络预测模型,使用改进的算法进行训练,并对烟气脱硫脱硝中臭氧需求量的预测的方法[2]。
2BP网络及动量梯度下降算法
BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出的,一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,并且无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input layer)、隐含层(hide layer)和输出层(output layer)。
网络学习规则又称为 学习规则,对于给定的一组训练模式,不断用一个个训练模式重复前向传播和误差反向传播过程,各个训练模式都满足要求时,则说明BP网络已学习好了。从网络学习的角度来看,网络状态前向更新及误差信号传播过程中,信息的传播是双向的,但是不意味着网络层与层之间的结构也是双向的。
BP神经网络能够以任意精度逼近任何非线性连续函,使得其特别适合于求解内部机制复杂的问题,即BP神经网络具有较强的非线性映射能力;其次BP神经网络具有高度自学习和自适应的能力。还有泛化能力,即BP神经网络具有将学习成果应用于新知识的能力。容错能力:BP神经网络具有一定的容错能力,即使系统在受到局部损伤时还是可以正常工作(图1)。
从(2)式可看出,如果比例系数μ=0,则为高斯-牛顿法;如果μ取值很大,则LM算法接近梯度下降法,每迭代成功一步,则μ减小一些,这样在接近误差目标的时候,逐渐与高斯-牛顿法相似[4]。高斯-牛顿法在接近误差的最小值的时候,计算速度更快,精度也更高。由于LM算法利用了近似的二阶导数信息,它比梯度下降法快得多,实践证明,采用LM算法可以较原来的梯度下降法提高速度几十甚至上百倍。另外由于[JT(w)J(w)+μw]是正定的,所以(2)式的解总是存在的,从这个意义上说,LM算法也优于高斯-牛顿法,因为对于高斯-牛顿法来说,JTJ是否满秩还是个潜在的问题。
在实际的操作中,μ是一个试探性的参数,对于给定的μ,如果求得的 能使误差指标函数 降低,则E(w)降低;反之,则μ增加。用(2)式修改一次权值和阈值时需要求n阶的代数方程(n为网络中权值数目)。LM算法的计算复杂度为O(n3/6),若n很大,则计算量和存储量都非常大。然而,每次迭代效率的显著提高,可大大改善其整体性能,特别是在精度要求高的时候[5]。
3臭氧脱硫脱硝需求量的预测
以BP神经网络模型为原始模型,建立一个三层BP神经网络预测模型,使用改进的算法进行训练,并对烟气脱硫脱硝中臭氧需求量的预测[6],主要步骤分析为以下几个方面。
(1)根据生产工艺流程,臭氧将难溶于水的NOx,SO2等氮硫氧化物氧化成易溶于水的高价氧化物,通过碱性废水进行中和,同时脱硫脱硝的目的。通过分析可知,影响臭氧需求量的主要因素是:烟气的流速,反应前烟气中氧气的浓度,反应中管道内的平均氧气浓度,反应管道中臭氧与SO2的摩尔比,臭氧与NOx的摩尔比,气体在反应管道中的停留时间,碱性废水吸收液的温度,碱性废水吸收液中碱离子的浓度和烟气的温度等因素。在此,选取以上影响因素作为BP神经网络模型的输入变量,通入的臭氧的流速作为输出变量。
在建立BP神经网络模型过程中,隐含层节点数对BP神经网络预测精度有较大的影响,节点数太少,网络不能很好地学习,需要增加训练次数,训练的精度也受影响;节点数太多,训练时间增加,网络容易过拟合[7,8]。最佳隐含层节点数的选择可参考如下公式。
4结语
改进的BP网络预测模型,对同时脱硫脱硝臭氧需求量进行预测,训练算法采用动态自适应学习率的梯度下降算法,能够更快的进行训练,预测误差也较小,预测值有很好的利用价值;通过对臭氧需求量的预测,能够实时的根据工况自动改变臭氧的添加量,既能满足脱硫脱硝的技术要求,同时也可以降低臭氧的需求量,降低企业成本,提高公司效益。本文只是设计了方法,结果需要经过试验进行验证,并进行改进。
参考文献:
[1] 吴昌设.基于人工神经网络的电网日负荷预测研究[D].杭州:浙江大学,2011.
[2] 姜成科.基于遗传算法的神经网络在大坝变形预报中的应用 [D].大连:大连理工大学,2008.
[3] 刘晓悦,姚乐乐,聚类分析在超短期电力负荷中的应用[J].河北联合大学学报:自然科学版,2013,35(3):74~80.
[4] 沙瑞华.基于神经网络的水电机组动载识别研究[D].大连:大连理工大学,2005.
[5] 黄豪彩,杨冠鲁.基于LM算法的神经网络系统辨识[J].组合机床与自动化加工技术,2003(2):6~8.
[6] 冯居易,郭晔.基于LM算法的石油期货价格预测研究[J].技术经济与管理研究,2009(5):19~21.
[7] 项灏,张俊.一种改进的量子遗传模拟退火算法及其在神经网络智能故障诊断中的应用[J].机床与液压,2012.40(13):196~200.
关键词:BP神经网络;计算机实验室管理;评价指标分析
中图分类号:TP183 文献标识码:A 文章编号:1674-7712 (2013) 04-0088-01
一、BP神经网络
从本质上讲,BP神经网络算法是以网络误差平方和为目标函数,运用梯度法求目标函数达到最小值的算法。纠错原则是BP算法最为基本的一个原理,将网络输出的误差进行反向传播,运用梯度下降法,对网络的连接权值进行调整和修改,使其误差最小。在学习过程中,BP算法可以划分为两个阶段,一是前向计算,一是误差反向传播。在这里我们主要通过具体的来分析,假设一个两层的 BP神经网络,其输入为p,输入神经元有r个,隐含层内神经元有s1个,激活函数为F1,输出层内有神经元s2个,对应的激活函数为F2,输出为A,目标矢量为T,那么信息在进行正向传递时,具体的情况如下:
二、模型设计
其次是模型设计。BP神经网络的建立,在确定了相关指标体系以后,就需要将确定相关的结点数,如输入结点数、隐含结点数、输出结点数、每一层的结点数等,在起初建立时,需要根据初始网络参数,适当地调整网络结构,通过网络训练,使得整个学习过程更加稳定,与此同时,对于指定的误差进行调整,并且规定最大值,并且利用相关的测试数据来进行BP神经网络的优化处理,确定其达到设计的准确性与规范性,那么一个BP神经网络模型就建立起来了。第三是模型确立。对于模型的确立主要体现在三个方面,这里作简单分析,一是输入输出神经元个数确立,通常情况下,实验室管理指标主要有13个二级指标和4个一级指标,其中,这13个指标就是输入神经元的个数,同时将输出的神经元作业评价的结果,由于评价的结果只有一个,那么输出神经元的个数也只有1个。二是隐含神经元个数确立。
三、仿真分析
根据以上分析我们知道,BP神经网络算法是以网络误差平方和为目标函数,运用梯度法求目标函数达到最小值的算法。为此,对于仿真分析,需要根据纠错原则,确定网络输出的误差的反向传播,并且结合梯度下降法,优化网络的连接权值,调整和修改误差值,通过Matlab软件编程,构造BP神经网络,确定指标体系后,确定相关的结点数,设置权值,nntool中input的value设置,根据初始网络参数,调整网络结构,并指定的误差进行调整,利用相关的测试数据来进行BP神经网络的优化处理,确定其达到设计的准确性与规范性。
四、总结
总而言之,BP神经网络评价模型的建立,不仅可以促进实验室管理的规范化,而且有利于提高实验室日常管理水平,因此,要对其模型建立进行具体分析,优化其结构和和功能,最大限度发挥其价值和作用。
参考文献:
[1]李俊青,陈鹤年,严丽丽,季文天.基于BP神经网络的计算机实验室管理评价指标[J].实验室研究与探索,2011(04):71-73.
【关键词】BP神经网络;遗传算法;变压器;故障诊断
1 引言
变压器作为电力系统重要的变电设备,其运行状态直接影响到供电的可靠性和整个系统的正常运行。一旦发生事故,将对电力系统和终端用户造成严重的影响。因此研究变压器故障诊断技术,对电力系统安全运行有着重要的现实意义。
对变压器油中溶解气体进行色谱分析(DGA)是变压器内部故障诊断的一种重要的手段。基于此技术,采用具有高度的非线性映射以及自组织、自学习能力的人工神经网络,现阶段在进行故障诊断时多采用BP神经网络。BP算法是基于梯度的方法,容易陷入局部极小值,且收敛速度慢。GA遗传算法的发展为我们提供了一个全局的、稳健的搜索优化方法,本文充分利用GA具有不受函数可微与连续的制约,并且能达到全局最优的特点,由GA寻找最优的BP网络权值与相应节点的阈值,并加入动量因子,此方法弥补了传统优化方法的不足,极大地改善了BP网络的性能。
2 BP神经网络及遗传算法原理
2.1 BP神经网络的基本原理
BP神经网络是一种利用反向传播训练算法的前馈型神经网络,BP学习算法基本原理是梯度最速下降法,中心思想是调整权值使网络总误差最小,即采用梯度搜索技术,以使其网络的实际输出值与期望输出值的误差均方值为最小。
BP学习算法包括前向传播和误差反向传播两个学习阶段。当给定网络的一个输入模式时,输入信号经隐层逐层处理后传到输出层,并由输出层处理后产生一个输出模式,称为前向传播;当输出响应与期望的输出模式有误差时,则转入误差反向传播。即将误差值沿原来的连接通路逐层反向传播直至输入层,并修正各层连接权值。对于给定的一组训练模式,不断地重复前向传播和误差反向传播的过程,通过沿途修改各层神经元间的连接权和神经元阈值使得误差达到最小。当各个训练模式都满足要求时,就说BP网络已学习好。BP神经网络模型的基本结构如图1。
2.2 附加动量的BP神经网络
传统的BP神经网络训练在修正权值时,是按着k时刻的负梯度方式进行修正,而忽略了之前积累的经验,导致权值的学习过程发生振荡,收敛缓慢。因此提出加入动量因子a,此时k+1时刻的权值为:
附加动量法总是力图使同一梯度方向上的修正量增加。这种方法加速了收敛速度,并在一定程度上减小了陷入局部极小的概率。
2.3 GA遗传算法的基本原理
GA是模拟自然界优胜劣汰的进化现象,把搜索空间映射为遗传空间,把可能的解编码成一个向量(染色体),向量的每个元素称为基因。通过不断计算各染色体的适应值,选择最好的染色体,获得最优解。
首先把问题解用遗传表示出来,在对种群中的个体进行逐个解码并根据目标函数计算其适应值。根据适应值的大小而决定某些个体是否得以存活的操作,把适应值高的个体取出复制再生,再将两个个体的某些部分互换并重新组合而成新的个体,经过交叉后随机地改变个体的某些基因位从而产生新的染色体。这样的过程反复循环,经过若干代后,算法就收敛到一个最优的个体,问题最终获得全局最优解。GA流程图如图2所示:
3 GA优化BP神经网络的变压器故障诊断模型设计
GA-BP算法主要思想是:先利用神经网络试探出最好的网络的隐层节点数,再利用遗传算法在整体寻优的特点将网络的权值优化到一个较小的范围,进而用BP算法继续优化。
3.1 BP网络的建立
(1)输入模式的确定
本文为了充分利用在线监测中的特征气体而又不使输入量过大,特取C2H2/C2H4、C2H4/C2H6、CH4/H2的比值归一后作为输入矢量。
(2)输出模式的确定
本文对输出层采用正常、低温过热、中温过热、高温过热、局部放电、低能放电、高能放电共7个神经元。输出值最大为l,数值越大则表明该类型的故障的可能性和严重程度也越大,如表2.1:
(3)隐含层神经元数确定
本文参考关于隐含层神经元数的理论研究和经验公式,获得理论值为5~15。再利用matlab 软件,通过试凑法对网络进行训练,将隐层节点设置为6、8、10、12、14,将其输入计算机,在相同训练条件下进行训练,得知隐层节点数为12时网络收敛性能好,收敛时间较短。故选节点数为12。
综上所述,本文构建一个输入层为3,隐含层为12,输出层为7的BP神经网络。
3.2 GA对BP网络进行优化
(1)初始化种群P、以及权值、阈值初始化;在编码中,采用实数进行编码,本文初始种群取30;
(2)计算每一个个体评价函数,并将其排序;可按下式概率值选择网络个体:
其中 i为染色体个数,k为输出层节点数,YK为训练值,P为学习样本数,T为期望目标值;
(3)进行选择复制、交叉、变异遗传操作;
(4)将新个体插入到种群P中,并计算新个体的评价函数;
(5)计算BP的误差平方和,若达到预定值则进行BP神经网络的训练,否则重复进行遗传操作;
(6)结束GA操作,以GA遗传出的优化初值作为初始权值,运用BP神经网络进行训练,计算其误差,并不断修改其权值和阈值,直至满足精度要求,此时说明BP网络已经训练好,保存网络权值和阈值。
4 故障诊断系统的仿真
本文选取了具有代表性的30组作为训练样本, 在建立的GA-BP变压器故障诊断网络中输入样本进行训练,其遗传算法适应度曲线、误差平方和曲线和GA-BP的训练目标曲线图分别见图3、图4和图5。
从图中可以看出,适应度较高的个体被遗传了下来,适应度较低的则被淘汰;GA进行了150代的遗传操作达到了目标值;GA-BP算法进行了106步左右就收敛到指定精度0.0005。由此看出,此GA优化BP建立的变压器故障诊断模型的收敛精度和收敛速度都比较高。
采用实际检测到的10组电力变压器故障实例(表2)来验证网络性能,神经网络诊断结果和实际故障结果的比较,如表3所示:
由表3可见,基于遗传算法优化BP神经网络的变压器故障诊断系统在故障诊断中达到了很高的准确率,能较好地满足变压器故障诊断的要求,极大的提高了诊断的可靠性和准确性。
5 结束语
文中将遗传算法与BP网络相结合,在DGA的基础上设计了适用于变压器故障诊断的3-12-7结构的BP神经网络。先对网络的权值阈值进行GA算法处理,并在传统的BP算法中加入动量因子,通过MATLAB编程实现了GA优化BP网络。通过仿真分析可知GA优化BP网络收敛性能的提高改善了BP网络的学习效率,并在下一步的诊断工作中体现其高准确率,推广了此优化网络在变压器故障诊断的实用性。
参考文献:
[1]张绪锦,谭剑波,韩江洪.基于BP神经网络的故障诊断方法[J].系统工程理论与实践,2002(6).
[2]王少芳,蔡金锭.GA―BP混合算法在变压器色谱诊断法中的应用[J].高电压技术,2003(7).
[3]郑高,戴玉松.人工智能方法在变压器故障诊断中的应用[J].四川工业学院报,2004 (5).
[4]李国勇.智能控制机器MATLAB实现[M].电子工业出版社,2005.
[5]徐志钮,律方成.多神经网络方法在变压器油色谱故障诊断中的应用[J].高压电器,2005(3).
关键词:功率放大器; 预失真技术; 神经网络; 单入双出; 互调失真
中图分类号:TP18 文献标识码:A
文章编号:1004-373X(2010)09-0107-05
Research of Self-adaptive Digital Predistortion Technology Based on SIDO-neural Network
QIU Wei, LIU Yu-peng, ZHANG Lei-lei
(The base of China Ocean Measure, Jiangyin 214431, China)
Abstract: Because of inherent nonlinearity of high-power amplifier, which may cause bad influence on communication systems, it is necessary to make a linearization processing to overcome or weaken it. The math analysis of nonlinear distortion for the high-power amplifier(HPA) is performed. The basic principle of digital predistortion and the foundamental knowledge of neural network are described. A self-adaptive digital predistortion technology based on SIDO-neural network is proposed according to the amplifying amplitude and the distortion characteristic of phase, which can be improved by the technology. Taking a double-sound signal and 16QAM signal as an example, the Matlab simulation is carried out, The result proves that this technology is superior.
Keywords: power amplifier; predistortion technology; neural network; SIDO; intermodulation distortion
0 引 言
无线通信技术迅猛发展,人们对通信系统的容量要求也越来越大。为了追求更高的数据速率和频谱效率,现代通信系统都普遍采用线性调制方式,如16QAM和QPSK方式,以及多载波配置[1]。
但这些技术产生的信号峰均比都较大,均要求功率放大器具有良好的线性特性,否则就会出现较大的互调失真,同时会导致频谱扩展,造成临道干扰,使误码率恶化,从而降低系统性能。
预失真技术是一项简单易行的功放线性化技术,具有电路形式简单,调整方便,效率高,造价低等优点[2]。其中,基带预失真还能采用现代的数字信号处理技术,是最为看好的一项功放线性化技术。这里利用一种简单的单入双出三层前向神经网络来进行自适应预失真处理,同时补偿由高功率放大器非线性特性引起的幅度失真和相位失真,从而实现其线性化。
文中分析了基于这种结构的自适应算法,并做了相应的仿真。仿真结果表明,该方法能有效克服功放的非线性失真,且收敛速度比一般多项式预失真更快,具有一定的优势。
1 高功率放大器非线性分析
高功率放大器一般都是非线性器件,特别是当输入信号幅度变化较大时,放大器的工作区将在饱和区、截止区、放大区之间来回转换,非线性失真严重,会产生高次谐波和互调失真分量。由于理论上任何函数都可以分解为多项式的形式,故放大器的输入和输出关系表示为:
Vo=a1Vi+a2V2i+a3V3i+…+anVni(1)
假设输入的双音信号为:
Vi=V1cos(ω1t)+V2cos(ω2t)(2)
把式(2)代入式(1),得到输出电压为:
Vo=a22(V21+V22)+a1V1+a334V31+32V1V22+…cos(ω1t)+a2V2+a334V32+32V2V21+…cos(ω2t)+12a2V21+…cos(2ω1t)+12a2V22+…cos(2ω2t)+14a3V31+…cos(3ω1t)+14a3V32+…cos(3ω2t)+a2V1V2[cos(ω1+ω2)t+cos(ω1-ω2)t]+34a3V21V2[cos(2ω1+ω2)t+cos(2ω1-ω2)t]+
34a3V22V1[cos(2ω2+ω1)t+cos(2ω2-ω1)t]+58a5V31V22cos(3ω2-2ω1)t+58a5V21V32cos(3ω1-2ω2)t+…
从上式可以看出,输出信号中不仅包含了2个基频ω1,ω2,还产生了零频,2次及高次谐波以及互调分量。通常2ω1-ω2,2ω2-ω1,3ω1-2ω2和2ω1-3ω2会落在通频带内,一般无法滤除,是对通信影响最大的非线性失真分量,即所谓的三阶互调和五阶互调。放大器线性化的目标就是在保证一定效率的前提下最大地减小┤阶和┪褰谆サ鞣至俊
2 预失真基本原理及其自适应
预失真就是在信号通过放大器之前通过预失真器对信号做一个与放大器失真特性相反的失真,然后与放大器级联,从而保证输出信号相对输入信号是线性变化。预失真器产生一个非线性的转移特性,这个转移特性在相位上与放大器转移特性相反,实质上就是一个非线性发生器。其原理图如图1所示。
图1 预失真基本原理
预失真器的实现通常有查询表法和非线性函数两种方式[2]。由于查表法结构简单,易于实现,早期的预失真多采用此方法,但它对性能的改善程度取决于表项的大小,性能改善越大,需要的表项越大,所需要的存储空间也越大,每次查找遍历表项的每个数据和更新表项所需要的时间和计算时间也越长,因此在高速信息传输的今天已经不可取。非线性函数法是用一个非线性工作函数来拟合放大器输出信号采样值及其输入信号的工作曲线,然后根据预失真器特性与放大器特性相反,求出预失真器的非线性特性函数,从而对发送信号进行预失真处理。这种方法只需要更新非线性函数的几个系数,而不需要大的存储空间,因此是近年来研究的热点。
假设预失真器传输函数为F(x),放大器传输函数为G(x),F和G均为复函数。若输入信号为x(t),则经过预失真器之后的信号为u(t)=F[x(t)],放大器输出函数为y(t)=G[u(t)]=G{F[x(t)]},预失真的目的就是使x(t)通过预失真器和放大器级联后输出y(t)=ax(t),a为放大器增益。通过一定的方法可以找到合适的F,使实际输出和期望输出的误差最小。
由于温度、电器特性、使用环境等因素的不断变化,放大器的传输特性也会发生变化,从而预失真器传输函数F(x)的各参数也会随之而变化,因此现代数字预失真技术一般都要采用自适应技术以跟踪调整参数的变化。目前常用的两种自适应预失真结构如图2、图3所示。
图2 自适应预失真系统结构图
图3 复制粘帖式自适应预失真系统结构图
图2是一般的通用自适应结构,结构简单,思路明确,但一些经典的自适应算法由于多了放大器求导项而不能直接应用,且需要辨识放大器的传输特性,而图3的复制粘帖式结构(非直接学习)则不存在这些问题,关于这种结构的优缺点比较和具体性能分析见文献[3]。本文将采用后一种自适应结构。
3 基于一种单入双出式神经网络的自适应预失真技术
3.1 神经网络
神经网络是基于生物学神经元网络的基本原理而建立的。它是由许多称为神经元的简单处理单元组成的一类自适应系统,所有神经元通过前向或回馈的方式相互关联、相互作用。由Minsky和Papert提出的多层前向神经元网络是目前最为常用的网络结构,已广泛应用到模式分类和函数逼近中,且已证明含有任意多个隐层神经元的多层前向神经元网络可以逼近任意的连续函数[4]。本文利用神经网络的这种功能来拟合预失真器的特性曲线,并且用改进的反向传播算法来自适应更新系数。
多层前向神经元网络由输入层、一个或多个隐层和输出层并以前向方式连接而成,其每一层又由许多人工神经元组成,前一层的输出作为下一层神经元的输入数据。三层前向神经元网络示意图如图4所示,其中输入层有M个人工神经元,隐层有K个神经元,输出层有N个神经元。关于人工神经元的具体介绍参考文献[5-6]。
图4 三层前向神经元网络
3.2 基于单入双出式神经网络的自适应预失真系统模型
对于图5所示的单入双出式三层前向神经网络,假设隐层包含K个神经元。输入数据经过一系列权系数{w11,w12,…w1K}加权后到达隐层的各个神经元。隐层中的神经元将输入进来的数据通过一个激励函数(核函数),将其各神经元的输出经过一系列权系数{w21,w22,…,w2K}和{w31,w32,…,w3K}加权并求和后分别作为输入层第一个神经元和第二个神经元的输入,然后各神经元的输入通过激励函数得到两个输出。
将图5代替图3中的函数发生器,即得到本文中所提到的基于单入双出式前向神经网络的预失真器结构图,如图6所示。
神经网络的三组系数向量开始都随机初始化。设输入序列为xi(i=1,2,…),通过幅度提取和相位提取后得到信号的幅度序列和相位序列。若神经网络的输入为原始输入序列的幅度序列ri(i=1,2,…),则隐层各单元输入I1k=w1kri-θ1k。经过核函数后,隐层各单元的输出为J1k=f(I1k),其中f(x)=11+e-x为核函数,输出层的静输入为z1=∑Kk=1w2k*J1k-θ1,z2=∑Kk=1w3k*J1k-θ2,输出层神经元1的输出,即预失真器幅度预失真分量为U1=f(z1)。
图5 单入双出三层前向神经元网络
图6 单入双出式前向神经网络预失真器结构图
由于相位失真分量的输出范围没有限制在0和1之间,因此不能用核函数加以限制,这里设定输出层神经元2的输出等于其输入,即预失真器相位预失真分量为U2=z2,最后预失真后的幅度和相位和的指数相乘得到送入功放的复信号。功率放大器的输出信号设为yi(i=1,2,…),其幅度和相偏分别为yai(i=1,2,…)和ypi(i=1,2,…)。最后整个系统的幅度绝对误差为ea(i)=Gri-ya(i),相位绝对误差为ep(i)=U2(i)+yp(i),整个系统的绝对误差和为e(i)=ea(i)+ep(i),然而直接把此误差运用到反向传播算法(BP算法)中会导致算法出现局部收敛且收敛速度极慢。因此本文对误差信号做了改进,即把误差信号改为:
e(i)=12[λ(ea(i)]2+(1-λ)φ[ea(i)]+
λ[ep(i)]2+(1-λ)φ[ep(i)]
其中:φ(x)=In[cos(βx)]/β,加入的调整因子λ和辅助项φ,能把算法从局部收敛点拉出来,且收敛速度得到一定的提高。最后根据反向传播算法,得到训练神经网络的权系数更新式如下(下标2为隐层到输出层权系数,下标1为输入层到隐层权系数):
δ2a(i)=ca(i)*[1+U1(i)]*[1-U1(i)](3)
δ2p(i)=cp(i)(4)
w2(i)=α*δ2a(i)*J1+η*w2(i-1)(5)
θ2(i)=α*δ2a(i)+η*θ2(i-1)(6)
w3(i)=-α*δ2p(i)*J1+η*w3(i-1)(7)
θ3(i)=-α*δ2p(i)+η*θ2(i-1)(8)
δ1(i)=(δ2a(i)*w2-δ2p(i)*w3)*
J1(i)*[1-J1(i)](9)
w1(i)=β*δ1(i)*ri+η*w1(i-1)(10)
θ1(i)=β*δ1(i)+η*θ1(i)(11)
式中:ca(i)=λea(i)-1-λ2tan[β*ea(i)];cp(i)=λ*ep(i)-1-λ2tan[β*ep(i)]。
预失真权系数可分为训练和跟踪两个阶段。根据上面的迭代公式,得到一组训练神经网络的权系数,用当前的权系数替代预失真器神经网络中原来的权系数,得到一组新的预失真系数,之后重新计算误差,继续上面的过程循环迭代运算,直到误差小于规定的范围,即整个系统收敛,则预失真器训练完成,此时为训练阶段。之后随着温度、输入的调制信号不同,以及环境等变化可能引起功放特性的变化,可以设置一个误差门限值,一旦发现误差超过此门限,立即重新启动上面的循环迭代,重新训练,直到满足条件,此时为跟踪阶段。这种改进型BP算法的收敛速度快,能满足实时运算的要求。同时在硬件实现上,只要做一个核函数发生器,其他都是乘累加运算,硬件实现要简单得多,因此具有一定的实用性。
4 性能仿真
文中使用双音信号进行了仿真分析,双音信号为:
xs=0.5[sin(2π×10×t)+sin(2π×8×t)]
放大器模型采用经典salef[9]模型,神经网络的隐层数设为15。图7为双音信号原始频谱。
图8是为双音信号直接通过放大器和通过文中所提的预失真网络后再通过放大器的频谱图对比。由此可见,双音信号直接通过放大器后产生了较大的失真,其中的三阶互调达到了-16 dB,五阶互调也有-29 dB。通过对文中所提神经网络预失真系统进行处理后,即信号通过预失真器再通过放大器后,三阶互调被抑制到-42 dB,五阶互调也被抑制到-48 dB以下,此时三阶互调改善26 dB,五阶互调改善19 dB,使放大器的非线性失真得到较大的抑制。
图7 原始信号归一化频谱图
图8 预失真前后信号归一化频谱图
下面以16QAM信号为例,说明这种预失真技术对功放非线性特性的改善,如图9所示。
图9(a)为16QAM信号规则星座图,调制信号均匀地分布在正方形的16个点上;图9(b)为16QAM信号经过功率放大器后解调的星座图。由图可见,信号经过放大器后,幅度受到压缩,相位发生偏移,并且输入信号幅度越大,输出信号幅度压缩越大,相位偏移越严重,最后出现严重的“云团效应”,使得接收端不能正确解调信号。图9(c)是经过本节所提出的单入双出式神经网络预失真器处理后解调信号的星座图。由图可见,经过预失真处理后,由于放大器非线性引起的幅度压缩和相位旋转都得到较好的纠正,“云团效应”明显减弱,最后各个点基本都在理想点上,与┩9(a)对比,基本消除了失真。
5 结 语
针对放大器固有的非线性特性问题,从数学上分析了放大器的非线性失真,介绍了基于预失真基本原理和神经网络基本概念,提出了一种单入双出式神经网络自适应预失真技术。仿真结果表明,该技术能对三阶互调能抑制29 dB左右,对五阶互调能抑制19 dB左右,对QAM调制信号由于放大器非线性引起的幅度压缩和相位旋转都得到较好的纠正,在很大程度上克服了放大器非线性特性,改善了通信系统的性能。
图9 16QAM信号星座图失真及改善对比
参考文献
[1]赵慧,漆兰芬.射频放大器的工作函数预失真线性化[J].无线电工程,2001,31(12):58-61.
[2]贾建华,刘战胜.关于自适应预失真射频功率放大器线性化研究[J].微波学报,2005,21(3):48-50.
[3]钱业青.一种高效的用于RF功率放大器线性化的自适应预失真结构[J].通信学报,2006,27(5):35-40,46.
[4]CYBENKO G. Approximations by superpositions of a sigmoidal function[J]. Mathematics of Control, Signals and Systems, 1989(2): 183-192.
[5]刘宝碇,赵瑞清,王纲.不确定规划及应用[M].北京:清华大学出版社,2003.
[6]朱剑英.只能系统非经典数学方法[M].武汉:华中科技大学出版社,2001.
[7]WU Shan-yin, SIMON H S F, WONG Y M. The use of nonlinear curvefitting in digital predistortion for linearizing RF power amplifiers[J]. IEEE ICICS, 2005, 3: 960-963.
[8]GLENTIS G O, BERBERDIS K, THEODORIDID S. Efficient least sqares adaptive algorithms for FIR transversal filtering[J].IEEE Signal Processing Magazine,1999,16(4):13-41.