东北大学学报:自然科学版   2015, Vol. 36 Issue (11): 1558-1561   PDF (526 KB)    
重力训练法
张 鹏, 李 平, 李青芮    
1. 西北工业大学 自动化学院, 陕西 西安 710000;
2. 辽宁石油化工大学 信息与控制工程学院, 辽宁 抚顺 113000
摘要:针对某些对象梯度不易计算的问题,提出一种新的优化训练方法.利用水往低处流的原理对参数进行寻优,将随机初始参数根据步长生成多维空间中点的坐标形式,用实际输出和目标输出之间的差来表示以此点为球心的球的半径,将最小半径的球作为下一步寻优的中心点.此方法具有无需计算梯度,初始值随机选取,易编程,寻优快等特点.通过仿真实验,此方法成功应用在PID控制器、LQR控制器和神经网络中,获取了最优参数,具有实际操作性.
关键词重力     训练     优化     梯度     神经网络     PID控制器     LQR控制器     参数    
Gravity Training Method
ZHANG Peng, LI Ping, LI Qing-rui    
1.School of Automation, Northwestern Polytechnical University, Xi’an 710000, China;
2. School of Information and Control Engineering, Liaoning Shihua University, Fushun 113000, China.
Corresponding author: ZHANG Peng, E-mail: strawberry7890@163.com
Abstract: A new training method was proposed to solve the problem that some gradients of the objects are not easy to calculate. This method was based on the principle of gravity optimizes parameters. Random initial parameter based on step was set as coordinate form which in the midpoint of the multidimensional space. The error between the actual output and the target output was set as radius. This method had advantages which could not need to calculate the gradient and could randomly select initial value. This method was successfully used in the PID controller, LQR controller and neural network.
Key words: gravity     training     optimization     gradient     neural network     PID controller     LQR controller     parameter    

参数优化训练是达到设计目标的一种算法.参数优化训练有很多种,遗传算法[1]是其中一种,它是一类借鉴生物界的进化规律演化而来的随机化训练算法,文献[2, 3]将遗传算法应用于神经网络中改变梯度下降法收敛慢的缺点.文献[4]将混沌优化算法应用于非线性约束优化问题中,提高了求解精度并加快了收敛速度.文献[5]提出一种混沌优化算法可以做到全局参数优化.

本文提出一种新的优化训练算法,首先将初始参数映射为对应维数空间中点的坐标,以这个点为中心点根据步长计算出周围点,每个点对应着一组不同的参数,将参数在系统中使用时得到的输出误差假设为海拔,确定最低海拔点将其作为新中心点继续寻优直到误差小于设定值.此算法与梯度下降法相比不需要计算模型梯度、易编程,与混沌优化算法相比较具有寻优轨迹明确等特点.该算法成功应用于PID控制器、LQR控制器和神经网络参数整定中.

1 算法基本原理与步骤 1.1 基本原理

利用“水往低处流”的物理现象,提出一种类似水流寻找最低点的优化方法(见图 1).

图 1 小球自动滚落到谷底 Fig. 1 The ball rolled to the bottom of the surface

图 1所示,在曲面中随机找到一点,投放水流,水流会按照海拔高低寻找到最低海拔点(图中星号为水流轨迹).

1.2 训练方法

1) 首先确定被训练参数个数n,设定目标误差e,设定初始步长λ.随机映射n个初始值形成一个向量x10,x20,…,xn0.

2) 将每个初始值根据步长λ向前向后各一步形成一个维数是3×n的矩阵:

其中m=2,…,n-1,如果在矩阵的每一列中选取一个值组成一个n维的向量,那像这样不重复的向量一共有3n个,将这些向量假设为n维空间的坐标,因此在n维空间内共有3n个这样的点,最中心的就是以初始向量[x10x20,…,xn0]为坐标的点.

3) 将2)中得到的3n组参数向量分别代入系统并与目标值进行比较,得到3n个误差,寻找误差最小值,并确定对应此最小误差的参数向量,将此组参数向量以2)中的方法设定为中心继续寻优,直到得到的最小误差小于目标误差,得出最优的一组参数向量.

1.3 局部收敛与死点问题

在实际的训练优化过程中,经常会出现局部收敛的问题,针对这种问题,采用了概率学中小概率事件不易发生的原理,进行多次寻优.

为了验证此方法的可行性(见图 2),在二维平面内选取两个目标点(图中用圈表示),随机释放20个小球在初始位置(图中用星表示),小球可以自动按照步长滚动寻找目标点.

图 2 20点寻优 Fig. 2 Twenty point optimization trajectory drawing

图 2所示,在图中共有20个小球,其中9个寻找到了右上角的目标点,11个寻找到了左下角的目标点,并且根据小球初始点的位置自动识别了离哪个目标近,并成功寻找到.

在现实中,如果将小球投放到山坡上,它将自动向着山底方向滚落,如果将小球投放在周围都在一个海拔高度的平地上的时候,小球将不滚动(本文称之为死点),为了避免此种情况的出现,同样采取多次抛球的方法.

2 仿真研究 2.1 神经网络

选取一个前向神经网络[4, 5, 6],作为仿真对象,网络中间层为一个线性神经元(见图 3).

图 3 神经元结构 Fig. 3 Neuron structure

将神经元设置为二输入单输出,因此此神经网络内有3个参数,分别为权值矩阵w1w2和一个偏差b,如图 3所示.首先定义输入和目标输出样本为

按照训练方法经过10次训练得到权值和偏差如下:[w1 w2 b]=[1.001 0.002 -0.004].

图 4是训练过程中产生的误差曲线,随着训练次数的增多,误差迅速变小.

图 4 误差曲线 Fig. 4 Error curve

本方法采用了变步长的方法,设定γ为步长系数,在遇到误差没有达到要求但不能继续寻优的情况下,将步长乘以步长系数继续寻优.

图 5为本次寻优过程中3个参数的步长变化,可以看出在第8次训练的时候步长发生变化.

图 5 步长变化 Fig. 5 Change of step

将训练得到的权值与偏差代入神经网络得到输出结果为[-1.005 -0.995 1.998 2.008].

可以看出网络的输出和期望是很接近的,这表明经过训练后的神经网络完成了输入、输出样本的映射.

为了验证此方法对应不同的初始值也通用,选取了5组不同的初始值进行仿真研究,将每次迭代出来的数据画成图 6.

图 6 五次寻优轨迹 Fig. 6 The five time optimal trajectory

图 6中可以看出5个初始的点最终都收敛到左下角的最优点附近,说明虽然初始值不同最终都会收敛于一个最优的点.

2.2 优化LQR控制器

选取一阶倒立摆[7, 8]进行仿真研究,一阶倒立摆数学模型是一个四阶系统,是验证控制器以及控制器参数好坏的良好平台.

一阶倒立摆状态空间表达式如下:

选取LQR控制器对倒立摆进行控制,首先随便选取一组参数作为初始数据如下:

以这组数据为基础,利用2.1中的训练方法进行寻优,得到以下数据:

使用这两组参数分别得到两组控制器参数:

k1是优化后得到的控制器参数,根据这两组反馈增益对一阶倒立摆进行数学仿真得到的小车位移曲线如图 7所示.

图 7 响应曲线 Fig. 7 Response curves

图 7中可以清楚地看出,采用第一组数据得到的曲线(实线)、反应时间慢,使用优化后的数据仿真的曲线(虚线)反应速度都是优于优化前.

2.3 优化PID参数

选取一个三阶系统为被控对象,其传递函数如下:

设置系统的性能指标如下:①调节时间为15 s;②超调量小于5%.

首先按照2.2中讲到的训练方法随机设定初始值,然后将每次得到的曲线与目标曲线进行比较得到误差,将误差值与最小误差比较,进而得到下一组PID参数,经过多次迭代得到最优PID参数如下:

仿真曲线如图 8所示:

图 8 系统响应曲线 Fig. 8 The system response curve

图 8中曲线为采用优化后的控制器的被控对象响应曲线,在25 s时,加入幅值为0.2的干扰.曲线表明,使用优化后控制器的系统有较好的鲁棒性.

3 结 语

提出一种基于自然界原理的重力训练算法,此算法避免计算梯度,易操作.分别对神经网络系统、PID控制器、LQR控制器进行参数优化实验,均获得满意效果,表明该训练算法具有有效性和实用性.

参考文献
[1] Xu Y R,Ford J,Becker E,et al.A BP-neural network improvement to hop-counting for localization in wireless sensor networks[M]//Tools and Applications with Artificial Intelligence.Berlin:Springer Berlin Heidelberg,2009:11-23.(1)
[2] 徐林,张宇献,王建辉,等.基于多值编码GA-BP混合算法的板形板厚综合预测控制[J].东南大学学报:自然科学版,2005,35(11):132-136.(Xu Lin,Zhang Yu-xian,Wang Jian-hui,et al.Predictive control of strip flatness and gauge complex control based on hybrid GA-BP algorithm with multi-encoding[J].Journal of Southeast University:Natural Science Edition,2005,35(11):132-136.)(1)
[3] Pendharkar P C.A comparison of gradient ascent,gradient descent and genetic-algorithm-based artificial neural networks for the binary classification problem[J].Expert Systems,2007,24(2):65-86.(1)
[4] 侯媛彬,杜京义,汪梅.神经网络[M].西安:西安电子科技大学出版社,2007:15-25.(Hou Yuan-bin,Du Jing-yi,Wang Mei.Neural network [M].Xi′an:Xi′an Electronic and Science University Press,2007:15-25.)(2)
[5] 周德俭,吴斌.智能控制[M].重庆:重庆大学出版社,2005:88-98.(Zhou De-jian,Wu Bin.Intelligent control[M].Chongqing:Chongqing University Press,2005:88-98.)(2)
[6] 董海鹰.智能控制理论及应用[M].北京:中国铁道出版社,2006:122-142.(Dong Hai-ying.Intelligent control theory and application [M].Beijing:China Railway Press,2006:122-142.)(1)
[7] Zhang B L,Wang J G.The analysis and simulation of first-order inverted pendulum control system based on Lqr[C]// 3rd International Symposium on Information Processing.Washington D C,2010:447-449.(1)
[8] Yu J,Fang J.Inverted pendulum RBF neural network PID controller design[C]// IEEE 2014 International Symposium on Computer,Consumer and Control (IS3C).Taichung,2014:560-562.(1)