李建鴻,紀(jì)文剛,宋 星,儲(chǔ)承貴
(1.北京石油化工學(xué)院信息工程學(xué)院,北京 102617;2.北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院,北京 100029)
光電子產(chǎn)業(yè)是二十一世紀(jì)中國實(shí)現(xiàn)信息化的支柱產(chǎn)業(yè),激光晶體材料是該支柱產(chǎn)業(yè)的重要材料之一[1]。激光晶體作為固體激光器的重要物質(zhì),在各個(gè)領(lǐng)域均有廣泛應(yīng)用[2-3]:在工業(yè)和農(nóng)業(yè)方面,主要應(yīng)用于材料的加工、激光熱處理或激光退火、以及激光化學(xué)法制作微電子器件;在醫(yī)療方面成功應(yīng)用于眼科、外科和防治腫瘤;在軍事應(yīng)用中,主要有激光測距、激光雷達(dá)、激光探測、激光制導(dǎo)和激光武器;在其他方面的應(yīng)用,如激光電視、激光通信和激光催化等。激光晶體材料的不斷發(fā)展和廣泛應(yīng)用對激光晶體生產(chǎn)設(shè)備提出了越來越高的控制要求。隨著激光晶體生長長度的增加,固熔生長界面的散熱效果越來越差,晶體爐的特性具有參數(shù)時(shí)變性,應(yīng)用傳統(tǒng)PID控制算法難以較好的克服被控對象的時(shí)變性和非線性[4]。不少學(xué)者投入大量精力致力于激光晶體生長控制算法的研究,在傳統(tǒng)PID控制算法中引入專家控制、模糊智能控制等,取得了一定程度上的進(jìn)步[5-6]。
采用傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法收斂緩慢、容易陷入局部最小化,筆者將自適應(yīng)學(xué)習(xí)率優(yōu)化算法應(yīng)用于改進(jìn)BP神經(jīng)網(wǎng)絡(luò),改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)算法既保留了傳統(tǒng)BP算法強(qiáng)大的非線性映射能力和泛化能力,又克服了其收斂速度慢、易陷入局部最小化的局限性。改進(jìn)的BP算法對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練得到最優(yōu)化的PID參數(shù),應(yīng)用于激光晶體生長控制仿真研究,對于克服晶體生長過程中被控對象的參數(shù)時(shí)變、非線性等特性,抑制晶體生長后期溫度的上漂具有重要的研究意義。
激光晶體的提拉生長主要分為以下幾個(gè)過程:上縮頸階段、放肩階段、等徑階段、收肩階段和下縮頸階段等。激光晶體生長過程中,對激光晶體直徑控制的目的就是使得晶體能夠按照提前設(shè)定的幾何模型進(jìn)行生長。將裝在籽晶桿下端的籽晶通過提拉旋轉(zhuǎn)裝置,下到熔化的晶體熔液中,當(dāng)籽晶和晶體熔液達(dá)到熱平衡時(shí),晶體熔液會(huì)吸附到籽晶上,隨著籽晶桿的旋轉(zhuǎn)和提拉運(yùn)動(dòng),吸附在籽晶上的晶體熔液會(huì)形成過冷狀態(tài),在外界溫度低于熔點(diǎn)狀態(tài)溫度時(shí),熔體就會(huì)慢慢結(jié)晶[7]。

圖1 晶體爐溫度曲線Fig.1 Curve of crystal furnace temperature
隨著激光晶體不斷生長,坩堝內(nèi)熔體液面的不斷下降、晶體爐內(nèi)固熔比例的不斷發(fā)生變化、晶體生長長度越來越長使得晶體爐內(nèi)散熱效果越來越差等一些干擾因素,會(huì)使得激光晶體生長后期晶體爐內(nèi)的溫度上漂且控制系統(tǒng)無法抑制,晶體爐內(nèi)溫度的上漂導(dǎo)致晶體到生長后期無法保持等徑生長[8-9]。激光晶體生長爐溫度曲線如圖1所示。
由數(shù)據(jù)庫記錄的激光晶體生長過程數(shù)據(jù)繪制晶體爐溫度曲線,觀察曲線可知,晶體生長前期晶體爐內(nèi)能夠?qū)崿F(xiàn)相對穩(wěn)定的溫度控制,而晶體生長后期晶體爐內(nèi)的溫度開始出現(xiàn)上漂,且系統(tǒng)無法抑制溫度上漂??梢妭鹘y(tǒng)PID控制算法無法很好的抑制晶體生長后期由于各種干擾因素引起的晶體爐溫度上漂的問題。

圖2 基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)Fig.2 Structure of PID controller based on BP neural network
基于BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練整定PID參數(shù)的控制器,其組成主要分為兩部分:即經(jīng)典PID和BP神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)能夠逼近任意的非線性函數(shù),BP神經(jīng)網(wǎng)絡(luò)的PID控制通過對網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練,調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)系數(shù)實(shí)現(xiàn)控制參數(shù)kp、ki、kd輸出的最佳組合,通過BP神經(jīng)網(wǎng)絡(luò)在線參數(shù)自整定實(shí)現(xiàn)最佳的PID控制?;贐P神經(jīng)網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)如圖2所示。
BP神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包括輸入層、隱含層和輸出層[10],其結(jié)構(gòu)圖如圖3所示。
以期望值、實(shí)際值以及誤差作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練的輸入,則神經(jīng)網(wǎng)絡(luò)的輸入層表示為:
Oj(1)=x(j)j=1,2,……M
(1)
其中,M表示的是網(wǎng)絡(luò)輸入變量的數(shù)量,由于共有3個(gè)輸入變量,所以M=3。
網(wǎng)絡(luò)隱含層的輸入和輸出表示為:

圖3 BP網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of BP network
(2)

Sigmoid函數(shù)具有正對稱和負(fù)對稱的特性,作為隱含層神經(jīng)元的活化函數(shù):
(3)
網(wǎng)絡(luò)輸出層的輸入和輸出表示為:
(4)
網(wǎng)絡(luò)神經(jīng)元輸出層節(jié)點(diǎn)分別對應(yīng)PID控制器參數(shù)kp,ki,kd,Sigmoid函數(shù)具有非負(fù)的特性,可選作為輸出神經(jīng)元的活化函數(shù):
(5)
選取性能指標(biāo)函數(shù):
(6)
根據(jù)梯度下降法,調(diào)整校正神經(jīng)網(wǎng)絡(luò)的加權(quán)系數(shù),即根據(jù)給定的網(wǎng)絡(luò)性能指標(biāo)函數(shù)E(k),通過搜索并且調(diào)整網(wǎng)絡(luò)加權(quán)系數(shù)的負(fù)梯度方向,同時(shí)附加一個(gè)全局極小的慣性項(xiàng)加快搜索收斂速度,慣性項(xiàng)為:
(7)
式(7)中,網(wǎng)絡(luò)學(xué)習(xí)速率用符號η表示,慣性系數(shù)用符號α表示。
(8)
(9)

由上式,可求得:
(10)
(11)
(12)
根據(jù)上述各式,通過分析可得網(wǎng)絡(luò)輸出層加權(quán)系數(shù)的學(xué)習(xí)算法為:
Δwli(3)(k)=αΔwli(3)(k-1)+ηδl(3)Oi(2)(k)
(13)
(14)
同理可得,網(wǎng)絡(luò)隱含層加權(quán)系數(shù)的學(xué)習(xí)算法為:
Δ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)
通過設(shè)置學(xué)習(xí)速率和慣性系數(shù)等參數(shù),完成BP神經(jīng)網(wǎng)絡(luò)的建立。

圖4 BP神經(jīng)網(wǎng)絡(luò)PID控制算法流程圖Fig.4 Flow chart of PID control algorithm based on BP neural network
系統(tǒng)基于增量式PID進(jìn)行閉環(huán)控制,通過在線調(diào)整方式對控制參數(shù)kp、ki、kd進(jìn)行調(diào)整,BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的三個(gè)輸出神經(jīng)元對應(yīng)PID控制器的三個(gè)可調(diào)參數(shù),通過神經(jīng)網(wǎng)絡(luò)自身的學(xué)習(xí)來調(diào)整加權(quán)系數(shù),使神經(jīng)網(wǎng)絡(luò)輸出層神經(jīng)元輸出最優(yōu)PID控制參數(shù)[11]。BP神經(jīng)網(wǎng)絡(luò)PID控制的算法流程圖如圖4所示。
傳統(tǒng)的BP算法的核心是基于梯度的最速下降方法,對于每一個(gè)參數(shù)都用相同的學(xué)習(xí)率進(jìn)行更新,該方法存在著容易陷入局部最小化和收斂慢的問題。采用AdaGrad深度學(xué)習(xí)優(yōu)化算法來改進(jìn)傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)算法對PID參數(shù)進(jìn)行訓(xùn)練,在傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)算法中,對于所有參數(shù)都使用了同一個(gè)學(xué)習(xí)速率,但是同一個(gè)學(xué)習(xí)速率所訓(xùn)練的參數(shù)并不能夠很好的適用于任一時(shí)刻的過程控制,我們希望在開始誤差較大的時(shí)刻,訓(xùn)練網(wǎng)絡(luò)使用大一點(diǎn)的學(xué)習(xí)速率,可以使收斂速度加快,同理訓(xùn)練的后期使用小一點(diǎn)的學(xué)習(xí)率,可以比較穩(wěn)定的落入一個(gè)局部最優(yōu)解。AdaGrad優(yōu)化算法針對該問題能夠自適應(yīng)地為各個(gè)參數(shù)分配不同的學(xué)習(xí)率,并且在更新規(guī)則中,不再設(shè)定固定的學(xué)習(xí)率,在每次迭代優(yōu)化過程中自適應(yīng)地使用不同的學(xué)習(xí)率。
Adagrad的基本思想是對每個(gè)變量用不同的學(xué)習(xí)率,隨著優(yōu)化過程的進(jìn)行,對于已經(jīng)減慢較多的變量使其學(xué)習(xí)率變量減小,對于未減少的變量保持學(xué)習(xí)速率。Adagrad深度學(xué)習(xí)優(yōu)化算法通過使用一個(gè)小批量隨機(jī)梯度gt按元素平方的累加變量nt對學(xué)習(xí)率進(jìn)行了約束,即[12]:
(19)
式中,對gt從1到t進(jìn)行遞推,形成一個(gè)約束項(xiàng)正則化矩陣,即:
(20)
式中,ε為一個(gè)很小的值用于保證分母不為零。
在訓(xùn)練的前期,gt的值較小時(shí),正則化矩陣的值較大,可以用于放大梯度;到了訓(xùn)練后期,gt的值較大時(shí),正則化矩陣的值較小,可以約束梯度。Adagrad根據(jù)自變量在每個(gè)維度中自變量的梯度值的大小調(diào)整每個(gè)維度的學(xué)習(xí)率,以避免統(tǒng)一學(xué)習(xí)率難以適應(yīng)所有維度的問題。
在激光晶體生長過程中,對于晶體生長后期存在的一些干擾因素,自適應(yīng)地采用不同的學(xué)習(xí)率訓(xùn)練PID參數(shù),能讓目標(biāo)函數(shù)更快的收斂,更快的找到最優(yōu)化的PID參數(shù),以便能夠更好更快更穩(wěn)的克服干擾因素帶來的激光晶體停止生長的問題。
通過BP神經(jīng)網(wǎng)絡(luò)整定PID控制參數(shù)的原理分析和Adagrad深度學(xué)習(xí)優(yōu)化BP訓(xùn)練網(wǎng)絡(luò)的改進(jìn),編寫S函數(shù)實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練,在Matlab/simulink中搭建激光晶體生長控制的仿真模型,系統(tǒng)仿真方框圖如圖5、圖6所示。

圖5 基于BP神經(jīng)網(wǎng)絡(luò)PID控制的激光晶體生長控制仿真Fig.5 Simulation of laser crystal growth control based on BP neural network PID control
將傳統(tǒng)PID、BP神經(jīng)網(wǎng)絡(luò)整定PID以及經(jīng)過改進(jìn)自適應(yīng)學(xué)習(xí)率的BP神經(jīng)網(wǎng)絡(luò)整定PID分別應(yīng)用到激光晶體生長控制系統(tǒng)中的直徑調(diào)節(jié)器中并進(jìn)行仿真實(shí)驗(yàn),可以得到激光晶體直徑的階躍響應(yīng)曲線如圖7所示。
通過Adagrad深度學(xué)習(xí)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)率后的改進(jìn)算法的自學(xué)習(xí)來調(diào)整網(wǎng)絡(luò)的加權(quán)系數(shù),對控制器的三個(gè)PID參數(shù)kp、ki和kd進(jìn)行自適應(yīng)整定,使得神經(jīng)網(wǎng)絡(luò)輸出對應(yīng)于某種最優(yōu)控制律下的PID參數(shù)并應(yīng)用于激光晶體生長控制中,從仿真實(shí)驗(yàn)中的單位階躍響應(yīng)曲線可以看出經(jīng)改進(jìn)自適應(yīng)學(xué)習(xí)率后的BP神經(jīng)網(wǎng)絡(luò)整定的PID控制和傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)整定的PID控制在響應(yīng)速度、調(diào)節(jié)時(shí)間上明顯優(yōu)于傳統(tǒng)PID控制,其中經(jīng)改進(jìn)自適應(yīng)學(xué)習(xí)率后的BP神經(jīng)網(wǎng)絡(luò)整定的PID控制的效果是最好的。

圖6 Subsystem內(nèi)部仿真結(jié)構(gòu)Fig.6 Internal simulation structure of subsystem

圖7 系統(tǒng)單位階躍響應(yīng)曲線Fig.7 Curves of system unit step response
在激光晶體生長過程中,受控對象模型具有非線性和時(shí)變特性,隨著坩堝中熔體液面的不斷下降、晶體爐內(nèi)固熔比例不斷發(fā)生變化、晶體長度的不斷增加,被控對象模型的特征參數(shù)會(huì)發(fā)生變化,晶體長度的不斷增加也會(huì)使得散熱效果越來越差,晶體生長到后期無法維持等徑生長。晶體生長過程中所受到的一些影響因素可以等效為速度擾動(dòng),將相同的干擾分別加入到上述三種不同方法整定的PID控制的控制系統(tǒng)中進(jìn)行仿真對比實(shí)驗(yàn)。仿真模型如圖8所示。

圖8 加入擾動(dòng)simulink仿真實(shí)驗(yàn)框圖Fig.8 Simulink simulation experiment block diagram which add disturbed
通過對控制系統(tǒng)加入干擾進(jìn)行仿真實(shí)驗(yàn),得到系統(tǒng)副回路的溫度輸出曲線以及系統(tǒng)直徑(重量)輸出曲線如圖9、圖10所示。分析曲線可知,系統(tǒng)在干擾作用下,采用常規(guī)PID控制算法時(shí)溫度曲線會(huì)超過設(shè)定溫度曲線,晶體生長到后期無法維持等徑生長,而傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)整定PID控制和經(jīng)改進(jìn)自適應(yīng)學(xué)習(xí)率后的BP神經(jīng)網(wǎng)絡(luò)整定PID控制能夠較好的抑制干擾,溫度曲線不會(huì)超過設(shè)定溫度曲線,系統(tǒng)能夠較快的恢復(fù)穩(wěn)定,抗干擾能力強(qiáng),其中經(jīng)改進(jìn)自適應(yīng)學(xué)習(xí)率后的BP神經(jīng)網(wǎng)絡(luò)整定PID的控制效果會(huì)更優(yōu)于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)整定PID的控制效果,系統(tǒng)副回路的溫度輸出曲線以及系統(tǒng)直徑(重量)輸出曲線的平滑度更好,穩(wěn)定性更好,能夠更好的抑制溫度上漂,后期也能更好更快的抑制干擾從而維持晶體等徑生長。

圖9 干擾下的副回路溫度輸出曲線以及直徑輸出曲線Fig.9 Sub-circuit temperature output curves and diameter output curves under the interference
通過對激光晶體生長過程和激光晶體生長后期存在的問題進(jìn)行分析,分別采用常規(guī)PID控制、傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)整定PID以及Adagrad深度學(xué)習(xí)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)整定PID三種控制方法對激光晶體生長過程的simulink模擬仿真實(shí)驗(yàn)。實(shí)驗(yàn)表明,經(jīng)過Adagrad深度學(xué)習(xí)算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)能夠自適應(yīng)為各個(gè)參數(shù)分配學(xué)習(xí)率整定PID參數(shù),通過優(yōu)化算法改進(jìn)的神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)調(diào)整加權(quán)系數(shù),實(shí)現(xiàn)一種由優(yōu)化改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)整定的最佳PID控制,在響應(yīng)速度、調(diào)節(jié)時(shí)間、抗干擾能力等方面都明顯優(yōu)于常規(guī)PID控制和傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)整定PID,能夠較好的抑制激光晶體生長后期晶體爐溫度上漂的問題,為激光晶體生長提供一種有效的控制方法。