270 likes | 631 Views
基于 GA-RBF 神经网络辨识的 SOFC 电堆的建模. Modeling a SOFC stack based on GA-RBF neural networks identification. 摘要.
E N D
基于GA-RBF神经网络辨识的SOFC电堆的建模 Modeling a SOFC stack based on GA-RBF neural networks identification
摘要 • 本文对固体氧化物燃料电池(SOFC)进行了离线非线性建模,应用了径向基函数(RBF)神经网络与遗传算法。在建模过程中,GA是用于对RBF神经网络的参数进行优化,优化的值作为RBF神经网络参数的初始值。我们还用梯度下降学习算法来调整参数,通过仿真验证了模型的有效性和正确性。通过与BP神经网络算法进行比较,仿真结果证明在预测堆电压与不同温度时GA-RBF算法优于传统BP神经网络。因此用GA-RBF神经网络辨识算法对SOFC建模是可行的。 • 关键字:固体氧化物燃料电池(SOFCs)、径向基函数(RBF)、神经网络、遗传算法、辨识
1.介绍 • 与其它的燃料电池不同的是,固体氧化物燃料电池(SOFC)的组成部分全是固体而没有液体,并且它是工作在一个复杂高温(600-1000度)的环境下。由于它比传统热能系统和其它类型的燃料电池具有更高效的能量转换,因此SOFC在将来是一种有前景的能量转换系统。 • 在最近几十年,关于SOFC堆的建模已经取得了较大的成果。然而,大多数现有的模型都是集中在对SOFC的设计而不是应用上。对于大多数SOFC用户来说,他们更关注的不是内部的细节,而是在不同操作条件下它的工作性能。他们需要的是行为模型,这样才能用来预测在不同操作条件下SOFC的行为。
正是在这种需求的激励下,我们决定应用径向径函数(RBF)神经网络和遗传算法(GA)对SOFC系统的建模进行研究。神经网络是一种根据输入输出数据建立动态系统的数学关系,RBF神经网络是一种前馈神经网络,只有一层隐含层,并且能以任意精度逼近任何连续函数[1]。但是,应用RBF神经网络有一个关键问题,即如何选择合适初始值,这些初始值包括:输出权值、中心点及隐层单元的个数。如果这些值的选取不合适,那么RBF神经网络建模方法的有效性和精确度会大大下降。为了保证RBF神经网络算法在对SOFC建模时的最优效果,我们应用遗传算法来对RBF神经网络参数进行优化研究。遗传算法是一种自适应的具有全局搜索能力的优化算法,它是基于自然选择和遗传机制而提出的[2]。与传统优化算法不同的是,遗传算法是基于群体的,在群体中个体并行进化,最终的结果包含在了最后一次进化的群体中。正是在这种需求的激励下,我们决定应用径向径函数(RBF)神经网络和遗传算法(GA)对SOFC系统的建模进行研究。神经网络是一种根据输入输出数据建立动态系统的数学关系,RBF神经网络是一种前馈神经网络,只有一层隐含层,并且能以任意精度逼近任何连续函数[1]。但是,应用RBF神经网络有一个关键问题,即如何选择合适初始值,这些初始值包括:输出权值、中心点及隐层单元的个数。如果这些值的选取不合适,那么RBF神经网络建模方法的有效性和精确度会大大下降。为了保证RBF神经网络算法在对SOFC建模时的最优效果,我们应用遗传算法来对RBF神经网络参数进行优化研究。遗传算法是一种自适应的具有全局搜索能力的优化算法,它是基于自然选择和遗传机制而提出的[2]。与传统优化算法不同的是,遗传算法是基于群体的,在群体中个体并行进化,最终的结果包含在了最后一次进化的群体中。
2.现有的SOFC模型 • 在本节中,我们简要回顾了各种现有的SOFC模型,讨论了他们的优缺点, SOFC是一个相互连接的结构,由两层陶瓷电解质、阳极和阴极组成的,电解质层将阳阴两极分开。在燃料中,氧离子通过具有导电作用的固体陶瓷电解质由阴极向阳极转移,在电解液层,它们与氢和燃料中的一氧化碳进行反应,生成水和二氧化碳,释放出电子,电子再向阴极移动,在电解液层就会形成一个电流回路[3]。单个电池会形成一个1伏电压的开环电流电压回路,因此将许多电池串联在一起就组成了一个燃料堆。 • 在文献[4]中提出了一种简化的零阶模型,在文献[5]-[8]中提出了一种一阶模型,在文献[9-12]中提出了一种二阶模型,文献[13,14]中提出了一种复杂的三阶模型。尽管这些模型能够分析和优化SOFC,但他们都存在着局限性。大多数模型是基于能量守恒定律的基础上的,因此他们的表达式都是非常的复杂而不适合在工程上的应用。
大多数SOFC研究者会用经验建模方法,因为这更实际,这样可以不用知道内部反应的原理就能推导出SOFC电堆的响应。为了满足这种要求,一些研究者们尝试着建立一种新型的SOFC模型。文献[15]中Arriagad就是利用人工神经网络(ANN)方法来建立SOFC模型。尽管这个模型比较高效,但在实际设计时却遇到了许多障碍,如容易陷入局部极值、隐层单元个数的选择较难等。在文献[16]中提出了一种最小二乘支持向量机(LS-SVM)的方法来建立SOFC电堆的模型。LS-SVM是一种改进的SVM方法,具有许多优势。但在本文中由于只考虑燃料的利用率,只考虑电池电压的影响,而不考虑其它的因素。大多数SOFC研究者会用经验建模方法,因为这更实际,这样可以不用知道内部反应的原理就能推导出SOFC电堆的响应。为了满足这种要求,一些研究者们尝试着建立一种新型的SOFC模型。文献[15]中Arriagad就是利用人工神经网络(ANN)方法来建立SOFC模型。尽管这个模型比较高效,但在实际设计时却遇到了许多障碍,如容易陷入局部极值、隐层单元个数的选择较难等。在文献[16]中提出了一种最小二乘支持向量机(LS-SVM)的方法来建立SOFC电堆的模型。LS-SVM是一种改进的SVM方法,具有许多优势。但在本文中由于只考虑燃料的利用率,只考虑电池电压的影响,而不考虑其它的因素。 • 本文的工作主要是利用基于遗传算法的RBF神经网络来辨识SOFC的黑盒模型,在下面的章节中将具体描述GA-RBF建模的算法。
3.GA-RBF神经网络的非线性系统建模 • RBF神经网络含有一个输入层,一个非线性隐含层和一个线性输出层。每层的神经元都与前面一层的所有神经元相连。输入变量作为入输层的输入,并直接与隐含层相连,且无权值。隐含层是RBF神经元,通过计算中心点和入输神经元的欧式距离,然后再将结果作为非线性函数的输入[17]。输出神经元与RBF隐层神经元之间为带权线性连接。图1为RBF神经网络的结构,含有n个输入,一个输出,q个隐层神经元。
输入为: 权值为: Ui为非线性函数,在本文选用高斯函数作为激活函数: ci为第i个RBF隐层神经元的中心 bi为第i个RBF神经元的基宽向量 第i个RBF神经元的输出表示为q个线性带权和的函数
令y(k)表示k时刻网络的目标值,则k时刻网络的误差定义为:令y(k)表示k时刻网络的目标值,则k时刻网络的误差定义为: 网络的代价函数则为目标与预测值之间的误差的平方,如下式所示 学习算法的目的是利用梯度下降法使误差的平方达到最小,因此, 可以得到输出权值,中心点,和基宽的表达式如下:
当我们在编程实现RBF算法时,如何利用方程(5)~(7)适当地选择这些参数当我们在编程实现RBF算法时,如何利用方程(5)~(7)适当地选择这些参数 就变得非常重要了。如果选择不当,那么RBF神经网络的建模的能力和精度就会 大大下降。因此本文选用遗传算法来确定RBF网络参数的初始值。 遗传算法是一个交互反应的处理过程,包含了一组编码,而这些编码又是由候 选解组成的[18]。在每一代中,当代群体中通过进化,产生新的含有侯选解的新的群体,进化的操作包括选择、交叉、变异。在遗传算法的问题中有四个步骤需要确定,即编码、适应度函数、操作算子及终止条件。
4 利用GA-RBF对SOFC建模 • 对于一个给定的SOFC电堆,终端电压U与电流密度I之间的关系受到许多因素的影响,如电池的温度,氢气的压力等[19]。由于存在这些复杂因素的影响,大多数模型无法适应所有这些因素的影响,但是我们的GA-RBF模型就能够做到这点。温度是其中影响最明显的一点,为了分析不同温度下输出电压U与电流密度I的影响,我们将电池温度T也作为其中的一个研究变量。 • 一般来说,非线性系统可以用非线性自回归滑动平均模型(NARX)[20]。本文的SOFC非线性系统可以用一个含有两个输入一个输出的差分方程表示:
图中TDL为时间延迟阵列。我们研究的目的是找出符合方程(11)中的图中TDL为时间延迟阵列。我们研究的目的是找出符合方程(11)中的 GA-RBF模型,这就需要三个步骤:准备训练样本、通过 训练获得GA-RBF模型、通过得到的模型来预测新的输入值。
4.1 准备训练样本 • 在本文中,选用两组数据作为训练样本,即温度为800和1000时的电流密度和电池电压,每组均701对数据。SOFC的主要影响参数的范围是不同的,如温度在(600-1000),而电堆电流密度为 (0-700mAcm-2) 。在大多数情况下,都要对训练样本进行规一化到 [0,1]或[-1,1]。表一为电流密度归一化的结果。归一化处理能提高训练速率,有助于GA-RBF搜索参数。在本文中将电压、电流密度与温度通过式(12)归一化到[0,1]
4.2 GA-RBF参数的选择 • 为了减小参数的数量、加快程序运行的速度,将RBF网络的隐层神经元个数设为3,两个输入(电流密度I和电池温度T),一个输出(电压U),因此RBF的网络结构为2-3-1。
4.2.1 编码 • 编码的目的是建立遗传算法中问题与个体之间的关系,如果将问题用编码表示,这些编码就称为个体或染色体。一个群体中包括了许多个体。一般来说,群体的大小n一般选为30到100,为了节约运行时间,本文选用30。每个个体表示一个问题或一部分问题。在本文中RBF网络的参数是由GA来优化的,因此这些个体表示基宽、高斯函数的中心点以及输出权值,个体的表示如下所示:
每个个体含有12个参数,基宽3个,中心点为6个,权值为3个。个体中每个参数的编码采用10位二制数编码。每个个体含有12个参数,基宽3个,中心点为6个,权值为3个。个体中每个参数的编码采用10位二制数编码。 • RBF隐层的基宽范围选择在[0.1,3],中心点的范围在[-3,3],权值的范围在[-1,1]。
4.2.2 适应度函数 • 每代中的所有个体都用进行适应度评价。当用遗传算法来解决一个问题时,问题用编码表示并用评价函数定义。评价函数是用编码作为参数来评价问题的结果。每个编码通过评价函数评价,新的个体则是由遗传操作产生的。在这里,RBF网络是一个SOFC电堆的模型,目标函数是越小精度则越高,为了得到一个高的回归精度,目标函数定义如下:
式中e(i)为试验输出与模型输出的误差,一般来说,适应度函数定义为评价函数的倒数,因此我们可以得到如下适应度函数:式中e(i)为试验输出与模型输出的误差,一般来说,适应度函数定义为评价函数的倒数,因此我们可以得到如下适应度函数:
4.2.3 遗传操作 • 选择、交叉、变异是三个主要的遗传操作,这些操作对遗传算法的性能有着非常重要的影响。在本文中,我们用轮盘选择法进行选择。每个个体的适应度值用pi表示(i=1,2,。。。N)。根据pi将轮盘分成N个部分,在本节中,当在转动轮盘时,如果轮盘的指针指向第i段,则选择第i个个体。很明显段的区域越宽,那么被选中的可能性就越大。这就显示了个体的适应值越高,就越容易被选中。基于适应度值从群体中选择个体,然后被选择的个体就会被遗传到下一代而不发生改变。
选择的方向是朝着现有个体中最优的方向进行的,而不是创造新的个体。在自然界中,父代与子代的基因都是同时存在的。因此对父代的操作主要是交叉算子。交叉算子是对被选择的个体以交叉概率pc进行的,本文中设为0.8。在一个新的群体中,有个(Pc*n)个体需要进行交叉操作。N为群体大小。在交叉操作中,我们要保持每组染色体的数量相等,交叉后,个体中的不好的性能被性能好的子代所代替。选择的方向是朝着现有个体中最优的方向进行的,而不是创造新的个体。在自然界中,父代与子代的基因都是同时存在的。因此对父代的操作主要是交叉算子。交叉算子是对被选择的个体以交叉概率pc进行的,本文中设为0.8。在一个新的群体中,有个(Pc*n)个体需要进行交叉操作。N为群体大小。在交叉操作中,我们要保持每组染色体的数量相等,交叉后,个体中的不好的性能被性能好的子代所代替。
所管选择和交叉会产生新的编码,但他们并没有加入任何新的信息。变异就是随机改变染色体的某位基因。通过变异就会将新基因引入群体中,在每一个新的群体中,有个(Pm*n*L)个体需要变异,pm为变异概率,n为群体规模,L为编码长度。根据上面的分析,我们可以知道每¸每个体由12个参数组成,每个个体中的参数用一个10位的二进制编码表示,因此L为120。在本文中,变异根据为0.003-[1:1:size]*0.003/size。这就说明个体的适应度值越小,就更有机会变异。所管选择和交叉会产生新的编码,但他们并没有加入任何新的信息。变异就是随机改变染色体的某位基因。通过变异就会将新基因引入群体中,在每一个新的群体中,有个(Pm*n*L)个体需要变异,pm为变异概率,n为群体规模,L为编码长度。根据上面的分析,我们可以知道每¸每个体由12个参数组成,每个个体中的参数用一个10位的二进制编码表示,因此L为120。在本文中,变异根据为0.003-[1:1:size]*0.003/size。这就说明个体的适应度值越小,就更有机会变异。
4.2.4 终止条件 • 常用的终止条件有两种。第一个是预先规定的最大进化代数,另一个是连续多代后解的适应值没有明显改进。在这里我们选用第一个作为终止条件,进化代数选为100。 • 经过100代的进化后,参数的初始值如表2所示。方程(14)的目标函数J的优化过程如图3所示,J的终值为121.3089 • 在得到三个参数的初始值的最优值后,我们利用梯度下降学习算法来调整参数,如式(5)-(10)所示。通过调整,动量因子选为0.6,而学习速率为0.53
4.3 GA-RBF模型的预测 • 通过训练得到GA-RBF模型之后,再利用新的输入值来获得预测值。在本文中,在T为900时电流密度从0到700内变化来预测电压。通过比较预测值与试验值来评价模型的精度,如图4所示。同时,也对BP神经网络模型也进行了预测。利用matlab工具箱,预测结果如图5所示。通过比较图4和5,我们可以看出精度得到了很大的提高。这就说明GA-RBF在对SOFC建模方面具有更高的可行性和精度。
5. 结论 • 本文提出了一种基于遗传算法的RBF神经网络辨识技术,建立了一个SOFC电堆的电特性模型。同时将该辨识方法与参数初始值随机取值的RBF神经网络辨识方法相对比,仿真结果证明该建模精度更高,说明基于GA-RBF模型实现SOFC电堆这类复杂非线性系统的建模是完全可行的。另外由于该模型以免了复杂的解析建模和用复杂的非线性微分方程组来描述电堆,使得非线性系统的输入输出特性能够较快的计算得到,从而为实现SOFC系统的控制特别是在线控制创造了条件。SOFC的GA-RBF辨识模型还需进一步完善,建立影响因素比较全面的性能模型,并应用于SOFC系统的在线控制。