APP下载

基于改进BP神经网络算法的激光晶体生长控制研究

2019-09-18李建鸿纪文刚储承贵

人工晶体学报 2019年8期
关键词:晶体激光神经网络

李建鸿,纪文刚,宋 星,储承贵

(1.北京石油化工学院信息工程学院,北京 102617;2.北京化工大学信息科学与技术学院,北京 100029)

1 引 言

光电子产业是二十一世纪中国实现信息化的支柱产业,激光晶体材料是该支柱产业的重要材料之一[1]。激光晶体作为固体激光器的重要物质,在各个领域均有广泛应用[2-3]:在工业和农业方面,主要应用于材料的加工、激光热处理或激光退火、以及激光化学法制作微电子器件;在医疗方面成功应用于眼科、外科和防治肿瘤;在军事应用中,主要有激光测距、激光雷达、激光探测、激光制导和激光武器;在其他方面的应用,如激光电视、激光通信和激光催化等。激光晶体材料的不断发展和广泛应用对激光晶体生产设备提出了越来越高的控制要求。随着激光晶体生长长度的增加,固熔生长界面的散热效果越来越差,晶体炉的特性具有参数时变性,应用传统PID控制算法难以较好的克服被控对象的时变性和非线性[4]。不少学者投入大量精力致力于激光晶体生长控制算法的研究,在传统PID控制算法中引入专家控制、模糊智能控制等,取得了一定程度上的进步[5-6]。

采用传统BP神经网络算法收敛缓慢、容易陷入局部最小化,笔者将自适应学习率优化算法应用于改进BP神经网络,改进后的BP神经网络算法既保留了传统BP算法强大的非线性映射能力和泛化能力,又克服了其收敛速度慢、易陷入局部最小化的局限性。改进的BP算法对神经网络进行训练得到最优化的PID参数,应用于激光晶体生长控制仿真研究,对于克服晶体生长过程中被控对象的参数时变、非线性等特性,抑制晶体生长后期温度的上漂具有重要的研究意义。

2 激光晶体生长过程及问题分析

激光晶体的提拉生长主要分为以下几个过程:上缩颈阶段、放肩阶段、等径阶段、收肩阶段和下缩颈阶段等。激光晶体生长过程中,对激光晶体直径控制的目的就是使得晶体能够按照提前设定的几何模型进行生长。将装在籽晶杆下端的籽晶通过提拉旋转装置,下到熔化的晶体熔液中,当籽晶和晶体熔液达到热平衡时,晶体熔液会吸附到籽晶上,随着籽晶杆的旋转和提拉运动,吸附在籽晶上的晶体熔液会形成过冷状态,在外界温度低于熔点状态温度时,熔体就会慢慢结晶[7]。

图1 晶体炉温度曲线Fig.1 Curve of crystal furnace temperature

随着激光晶体不断生长,坩埚内熔体液面的不断下降、晶体炉内固熔比例的不断发生变化、晶体生长长度越来越长使得晶体炉内散热效果越来越差等一些干扰因素,会使得激光晶体生长后期晶体炉内的温度上漂且控制系统无法抑制,晶体炉内温度的上漂导致晶体到生长后期无法保持等径生长[8-9]。激光晶体生长炉温度曲线如图1所示。

由数据库记录的激光晶体生长过程数据绘制晶体炉温度曲线,观察曲线可知,晶体生长前期晶体炉内能够实现相对稳定的温度控制,而晶体生长后期晶体炉内的温度开始出现上漂,且系统无法抑制温度上漂。可见传统PID控制算法无法很好的抑制晶体生长后期由于各种干扰因素引起的晶体炉温度上漂的问题。

3 基于BP神经网络的PID控制器设计

图2 基于BP神经网络的PID控制器结构Fig.2 Structure of PID controller based on BP neural network

基于BP神经网络训练整定PID参数的控制器,其组成主要分为两部分:即经典PID和BP神经网络。BP神经网络能够逼近任意的非线性函数,BP神经网络的PID控制通过对网络的学习训练,调整神经网络的权系数实现控制参数kp、ki、kd输出的最佳组合,通过BP神经网络在线参数自整定实现最佳的PID控制。基于BP神经网络的PID控制器结构如图2所示。

3.1 BP神经网络结构

BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,神经网络结构包括输入层、隐含层和输出层[10],其结构图如图3所示。

以期望值、实际值以及误差作为神经网络训练的输入,则神经网络的输入层表示为:

Oj(1)=x(j)j=1,2,……M

(1)

其中,M表示的是网络输入变量的数量,由于共有3个输入变量,所以M=3。

网络隐含层的输入和输出表示为:

图3 BP网络结构Fig.3 Structure of BP network

(2)

Sigmoid函数具有正对称和负对称的特性,作为隐含层神经元的活化函数:

(3)

网络输出层的输入和输出表示为:

(4)

网络神经元输出层节点分别对应PID控制器参数kp,ki,kd,Sigmoid函数具有非负的特性,可选作为输出神经元的活化函数:

(5)

选取性能指标函数:

(6)

根据梯度下降法,调整校正神经网络的加权系数,即根据给定的网络性能指标函数E(k),通过搜索并且调整网络加权系数的负梯度方向,同时附加一个全局极小的惯性项加快搜索收敛速度,惯性项为:

(7)

式(7)中,网络学习速率用符号η表示,惯性系数用符号α表示。

(8)

(9)

由上式,可求得:

(10)

(11)

(12)

根据上述各式,通过分析可得网络输出层加权系数的学习算法为:

Δwli(3)(k)=αΔwli(3)(k-1)+ηδl(3)Oi(2)(k)

(13)

(14)

同理可得,网络隐含层加权系数的学习算法为:

Δwij(2)(k)=αΔwij(2)(k-1)+ηδi(2)Oj(1)(k)

(15)

(16)

式中,

g′(·)=g(x)(1-g(x))

(17)

f′(·)=(1-f2(x))/2

(18)

通过设置学习速率和惯性系数等参数,完成BP神经网络的建立。

3.2 控制器算法设计

图4 BP神经网络PID控制算法流程图Fig.4 Flow chart of PID control algorithm based on BP neural network

系统基于增量式PID进行闭环控制,通过在线调整方式对控制参数kp、ki、kd进行调整,BP神经网络结构的三个输出神经元对应PID控制器的三个可调参数,通过神经网络自身的学习来调整加权系数,使神经网络输出层神经元输出最优PID控制参数[11]。BP神经网络PID控制的算法流程图如图4所示。

4 AdaGrad优化BP神经网络算法

传统的BP算法的核心是基于梯度的最速下降方法,对于每一个参数都用相同的学习率进行更新,该方法存在着容易陷入局部最小化和收敛慢的问题。采用AdaGrad深度学习优化算法来改进传统的BP神经网络算法对PID参数进行训练,在传统的BP神经网络算法中,对于所有参数都使用了同一个学习速率,但是同一个学习速率所训练的参数并不能够很好的适用于任一时刻的过程控制,我们希望在开始误差较大的时刻,训练网络使用大一点的学习速率,可以使收敛速度加快,同理训练的后期使用小一点的学习率,可以比较稳定的落入一个局部最优解。AdaGrad优化算法针对该问题能够自适应地为各个参数分配不同的学习率,并且在更新规则中,不再设定固定的学习率,在每次迭代优化过程中自适应地使用不同的学习率。

Adagrad的基本思想是对每个变量用不同的学习率,随着优化过程的进行,对于已经减慢较多的变量使其学习率变量减小,对于未减少的变量保持学习速率。Adagrad深度学习优化算法通过使用一个小批量随机梯度gt按元素平方的累加变量nt对学习率进行了约束,即[12]:

(19)

式中,对gt从1到t进行递推,形成一个约束项正则化矩阵,即:

(20)

式中,ε为一个很小的值用于保证分母不为零。

在训练的前期,gt的值较小时,正则化矩阵的值较大,可以用于放大梯度;到了训练后期,gt的值较大时,正则化矩阵的值较小,可以约束梯度。Adagrad根据自变量在每个维度中自变量的梯度值的大小调整每个维度的学习率,以避免统一学习率难以适应所有维度的问题。

在激光晶体生长过程中,对于晶体生长后期存在的一些干扰因素,自适应地采用不同的学习率训练PID参数,能让目标函数更快的收敛,更快的找到最优化的PID参数,以便能够更好更快更稳的克服干扰因素带来的激光晶体停止生长的问题。

5 仿真分析

5.1 构建SIMULINK仿真模型

通过BP神经网络整定PID控制参数的原理分析和Adagrad深度学习优化BP训练网络的改进,编写S函数实现BP神经网络训练,在Matlab/simulink中搭建激光晶体生长控制的仿真模型,系统仿真方框图如图5、图6所示。

图5 基于BP神经网络PID控制的激光晶体生长控制仿真Fig.5 Simulation of laser crystal growth control based on BP neural network PID control

5.2 阶跃响应仿真实验

将传统PID、BP神经网络整定PID以及经过改进自适应学习率的BP神经网络整定PID分别应用到激光晶体生长控制系统中的直径调节器中并进行仿真实验,可以得到激光晶体直径的阶跃响应曲线如图7所示。

通过Adagrad深度学习优化BP神经网络自适应学习率后的改进算法的自学习来调整网络的加权系数,对控制器的三个PID参数kp、ki和kd进行自适应整定,使得神经网络输出对应于某种最优控制律下的PID参数并应用于激光晶体生长控制中,从仿真实验中的单位阶跃响应曲线可以看出经改进自适应学习率后的BP神经网络整定的PID控制和传统BP神经网络整定的PID控制在响应速度、调节时间上明显优于传统PID控制,其中经改进自适应学习率后的BP神经网络整定的PID控制的效果是最好的。

图6 Subsystem内部仿真结构Fig.6 Internal simulation structure of subsystem

图7 系统单位阶跃响应曲线Fig.7 Curves of system unit step response

5.3 系统干扰仿真实验

在激光晶体生长过程中,受控对象模型具有非线性和时变特性,随着坩埚中熔体液面的不断下降、晶体炉内固熔比例不断发生变化、晶体长度的不断增加,被控对象模型的特征参数会发生变化,晶体长度的不断增加也会使得散热效果越来越差,晶体生长到后期无法维持等径生长。晶体生长过程中所受到的一些影响因素可以等效为速度扰动,将相同的干扰分别加入到上述三种不同方法整定的PID控制的控制系统中进行仿真对比实验。仿真模型如图8所示。

图8 加入扰动simulink仿真实验框图Fig.8 Simulink simulation experiment block diagram which add disturbed

通过对控制系统加入干扰进行仿真实验,得到系统副回路的温度输出曲线以及系统直径(重量)输出曲线如图9、图10所示。分析曲线可知,系统在干扰作用下,采用常规PID控制算法时温度曲线会超过设定温度曲线,晶体生长到后期无法维持等径生长,而传统BP神经网络整定PID控制和经改进自适应学习率后的BP神经网络整定PID控制能够较好的抑制干扰,温度曲线不会超过设定温度曲线,系统能够较快的恢复稳定,抗干扰能力强,其中经改进自适应学习率后的BP神经网络整定PID的控制效果会更优于传统BP神经网络整定PID的控制效果,系统副回路的温度输出曲线以及系统直径(重量)输出曲线的平滑度更好,稳定性更好,能够更好的抑制温度上漂,后期也能更好更快的抑制干扰从而维持晶体等径生长。

图9 干扰下的副回路温度输出曲线以及直径输出曲线Fig.9 Sub-circuit temperature output curves and diameter output curves under the interference

6 结 论

通过对激光晶体生长过程和激光晶体生长后期存在的问题进行分析,分别采用常规PID控制、传统BP神经网络整定PID以及Adagrad深度学习优化BP神经网络整定PID三种控制方法对激光晶体生长过程的simulink模拟仿真实验。实验表明,经过Adagrad深度学习算法优化的BP神经网络能够自适应为各个参数分配学习率整定PID参数,通过优化算法改进的神经网络的自学习调整加权系数,实现一种由优化改进的BP神经网络整定的最佳PID控制,在响应速度、调节时间、抗干扰能力等方面都明显优于常规PID控制和传统BP神经网络整定PID,能够较好的抑制激光晶体生长后期晶体炉温度上漂的问题,为激光晶体生长提供一种有效的控制方法。

猜你喜欢

晶体激光神经网络
基于递归模糊神经网络的风电平滑控制策略
“辐射探测晶体”专题
神经网络抑制无线通信干扰探究
激光熔覆专题文摘
基于神经网络的中小学生情感分析
基于Q-Learning算法和神经网络的飞艇控制
激光3D长绳
神奇的激光
骑着激光炸敌人