基于BP神经网络的PID控制算法参数优化

2023-11-27 07:37
中国新技术新产品 2023年20期
关键词:权值神经网络速率

刘 旭

(铁岭师范高等专科学校,辽宁 铁岭 112000)

从本质上来看,PID控制算法就是对比例、积分和比例微分间的关系进行控制的一种算法。PID控制调节器具有适应性强、鲁棒性良好的特征,因此被广泛应用于工业控制领域。但是,随着科学技术、控制理论发展,在工业生产中被控对象逐渐向复杂化和抽象化的趋势发展,并呈现滞后性、时变性和非线性的特征,这使传统PID控制器难以精准调控这种较复杂的控制系统。为了解决该问题,研究人员将控制理论与其他先进的算法相结合,形成全新的控制理论,包括神经网络控制、遗传算法以及模糊控制等。对神经网络算法来说,由于其具有较高的鲁棒性和容错性,因此适用于复杂的非线性控制系统中,并且具有广阔的应用前景和较大的发展潜力。

1 BP神经网络结构及算法

BP神经网络将网络视为一个连续域,在这个网络中,输入层和输出层都是任意时刻、任意数目的样本值,网络输出层值与输入层值间也可以具有任意关系,这个学习过程就称为BP神经网络学习过程。作为一种被广泛应用的神经网络模型,BP神经网络由输入层、输出层和隐含层组成:1) 输入层。从第i个输入向量中产生相应的输出值。2) 输出层。在输出值的作用下将其转换为输入数据。3) 隐含层。在输出值的作用下对数据进行隐含处理,将处理后的结果反馈给输入层,3个输入层构成1个BP神经网络。当输入数据在时间域内经过多次的误差传播时,最后被一个误差源作为输出信号,即经过输入单元和输出组的中间信息。如果该误差源的误差小于输出单元和输出组中各单元间的误差,那么这些单元在计算输出时就会有很大的变化;如果超过了期望值,那么这一单元被认为是输入量存在误差(也就是输入信号存在误差),将不再使用该单元;如果仍然超过期望值,那么输出量又会存在误差[1]。通过分析输入与输出量间的关系可以得出BP网络中各个隐藏层上节点数与该输出量间的关系。BP神经网络的拓扑结构如图1所示。

图1 BP神经网络的拓扑结构

为了对BP神经网络进行运算和优化,该文设定了中间层的加权和结点临界,以便将全部采样的真实输出量与预期的输出量的偏差控制在一个很低的区间,并且通过调节这个区间来保证它的稳定性。BP神经网络算法的流程如图2、图3所示。

图2 BP神经网络算法流程图

图3 基于BP神经网络的PID控制系统结构

使用BP神经网络训练算法的步骤如下:1)对网络的训练参数进行初始化,并在该基础上设定模型的初值和训练参数。2)选取用于训练所述网络模式的相应的训练模块,从而能够满足系统的学习要求。3)当该神经网络开始前向传播时,使其处于特定的训练模式,同时对计算神经网络的输出模型和预测模式进行比较。如果在该过程中存在误差现象,就直接进入下一步骤;如果没有误差,就返回步骤二重新开始。4)在该神经网络逆向传输期间,对同一图级的误差进行运算,并对其加权和门限进行修正,修正后再回到第二步。

2 基于BP神经网络的PID控制器

基于BP神经网络的PID控制系统结构如图3所示。由图3可知,该系统主要由常规PID控制器和BP神经网络构成。其中,常规PID控制器主要负责对被控对象进行调节,而Kp、Ki和Kd由BP神经网络进行控制,结合控制系统的运行状态来对3个参数进行调节,从而控制被控对象[2]。

在神经网络中,输出层节点的输出与PID控制器的3个参数(Kp、Ki和Kd)对应,利用BP神经网络的自学习能力来对参数具体的权值进行调整,使神经网络输出的PID控制参数可以随着针对控制系统的变化来做相应的调整。

要想对BP神经网络PID控制器进行优化设计,就需要确定PID控制算法,该文选择增量式数字PID控制算法,如公式(1)所示。

式中:u(k)为增量结果;e(k)为增量值。

在确定PID控制器后,还需要建立BP神经网络结构,该文着重对选取隐含层节点数、激活函数、初始权值以及设定学习速率进行分析。

2.1 隐含层节点数量

由上文可知,隐含层的节点数量并不固定,如果节点数量过少,就会导致结果出现较大偏差,从而产生振荡和波动;如果节点过多,就会增加设计的难度,还会出现过拟合现象,降低输出结果的稳定性。因此,选取隐含层节点数量是构建BP神经网络结构的一个关键环节。目前,还没有充分的理论支撑如何确定BP神经网络隐含层的节点数量,通常都是依靠经验来确定节点数量。结合该文的实际设计需求和对相关文献的总结,该文给出了BP神经网络隐含层节点数量的确定公式,如公式(2)所示。

式中:m为隐含层节点数;n为输入层节点数;l为输出层节点数;a为常数。

从表4~表6中可以明显看出,在水活度较高的部分,金银花实测值和预测值的相对误差较小。相对误差的较大的部分总出现在水活度比较低的部分。所以,可用分段拟合的方法,使拟合精度更高。

为了避免对BP神经网络进行训练的过程中出现过拟合的问题,应在确保满足神经网络精准度和可靠性要求的基础上,尽可能使隐含层的节点数量最少[3]。该文选取的隐含层节点数量为9,输入层设置4个神经元,输出层设置3个输出神经元。

2.2 激活函数

作为神经元的激活函数应具有连续、有界和非常值的特征,如果要将BP神经网络应用于控制系统中,除了具备以上的特征之外,神经元节点的激活函数还应满足神经网络训练较复杂的需求,具体应满足以下3个要求:1)激活函数应尽量简单且易计算,当对其输入有界值时可以输出有界值的结果。2)激活函数的偏导函数也应尽量简单和易计算,其原因是偏导也是对神经网络训练进行分析的重要参数。3)应保证激活函数与非线性系统匹配,从而缩小网络结构,降低神经网络训练的难度。

结合上述3个具体要求,该文选取双曲正切函数(tanh)作为隐含层激活函数,选取单极性的Sigmoid函数作为输出层激活函数。与Sigmoid函数相比,tanh函数是一种双极性函数,其输出值范围比Sigmoid函数更广,因此作为激活函数的效果也更好,将Sigmoid函数作为激活函数就可以输出非负值。

2.3 学习速率

学习速率是影响神经网络变化的重要因素,其主要起对网络训练速度进行控制的作用。如果学习速率偏高,就会加快网络训练的速度,但是会导致输出可能无法达到期望值;如果学习速率偏低,就可以保证网络训练输出最佳值,但是同时对网络训练也会花费更多的时间[4]。因此,通常都是通过试验来确定网络学习速率的,并结合相关的工作经验,在一开始选取一个较高的学习速率,并通过试验降低学习速率,直至网络达到稳定。因此,该文选取的神经单元学习速率为0.2。

2.4 基于BP神经网络的PID控制系统设计

2.4.1 网络结构设置

结合上文的分析,笔者确定BP神经网络结构具有4个输入层节点、9个隐含层节点和3个输出层节点,且神经网络的4个输入层分量为增量式PID算法中的常数1、Δe(k)、e(k)和Δe(k-1)。隐含层节点使用可以满足系统运行性能的最小数量,输出PID控制器的3个可调参数,且各层参数的初始值均设置为0。

2.4.2 确定网络基本参数

2.4.3 神经网络训练过程

首先,对网络进行采样,得到k时刻控制系统的期望值和输出值,并对该时刻的误差进行计算,如公式(3)所示。

式中:y(k)为输出值。

其次,计算得出各层级网络的输入值和输出值,输出层输出Kp、Ki和Kd。在该基础上,结合权值修正来对隐含层权值和输出层权值进行调整,并不断重复该步骤,直至采样结束。

3 基于BP神经网络的PID优化方法

结合上文的分析,将BP神经网络应用于PID控制器后,PID算法在训练速度以及稳定性方面的表现比预期差,为了能够获取性能优异的智能PID算法,该文对BP神经网络权值和学习速率进行优化。

3.1 学习速率优化

通过分析可以看出,BP神经网络在训练过程中出现的收敛速度较慢以及波动震荡等问题都是由学习速率从始至终一直保持不变造成的,为了消除这些问题,研究人员提出一种可以使神经单元学习速率随着系统调节时间逐步变化的方法,但是该方式只适用于单独的神经网络系统,并不适用于将BP神经网络和控制系统的融合系统中[5]。除此之外,还可以通过将学习速率和网络权值进行绑定,使学习速率随着网络权值的变化而变化,这样就可以通过改变网络权值来对学习速率进行优化调整。因此,该文采用调整网络权值变化量来降低学习速率的方法,其具体的实现过程如下:1)初始化网络,赋予隐含层和输出层的权值矩阵,设定学习速率为η,设定网络训练时的精准度误差为Emin,采用初始学习速率来对权值矩阵进行优化调整。2)如果经过优化调整后的权值矩阵比初始矩阵好,就将学习速率设定为初始学习速率的0.5倍,再对网络权值进行调整。3)如果经过优化调整后的权值矩阵比初始权值矩阵差,就将学习速率设定为初始学习速率的2倍,再对网络权值进行调整。

采用该方法的优点是每次对权值进行调整后,相应的学习速率都会变大或变小,在经过多次优化调整后最终会平稳地达到目标点,从而有效解决网络震荡的问题。

3.2 权值修正公式优化

当在BP神经网络中对网络权值进行修正时,应充分考虑网络误差在梯度上的细微变化,由于神经网络输出层激活函数采用单极性Sigmoid函数,因此其大部分定义域都处于饱和区,当对权值进行修正时很容易进入饱和区,拖慢网络学习过程,甚至导致神经网络训练失败[6]。为了解决该问题,该文提出一种附加动量的权值修正方法,在原有权值修正公式的基础上引入一个动态量,从而平衡网络误差在负梯度方向上的细微变化,进而保证网络训练的效率。其具体的表达式如公式(4)所示。

式中:wji(k)为权值;E(k)为偏差值;k为训练次数;mc为动量因子系数,其取值范围为(0,1)。

当网络训练区域饱和时,经过优化后的权值修正公式的误差就会变小,但是权值变化量不会降低为0,从而有助于神经网络训练跳出误差曲面的局部极小值。

4 结语

综上所述,随着科学技术不断进步和应用要求不断提高,控制系统也逐渐朝智能化、非线性化的方向发展,导致PID控制效果变差,出现无法完全满足使用需求的问题,为了能够提高PID控制的精度,该文提出一种基于BP神经网络的PID控制算法,该算法可以对PID控制系统进行优化升级。

猜你喜欢
权值神经网络速率
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
神经网络抑制无线通信干扰探究
基于权值动量的RBM加速学习算法研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
不同冷却速率下低压转子钢30Cr2Ni4MoV的凝固组织
莲心超微粉碎提高有效成分的溶出速率