李建鴻,紀文剛,宋 星,儲承貴
(1.北京石油化工學院信息工程學院,北京 102617;2.北京化工大學信息科學與技術學院,北京 100029)
光電子產業(yè)是二十一世紀中國實現(xiàn)信息化的支柱產業(yè),激光晶體材料是該支柱產業(yè)的重要材料之一[1]。激光晶體作為固體激光器的重要物質,在各個領域均有廣泛應用[2-3]:在工業(yè)和農業(yè)方面,主要應用于材料的加工、激光熱處理或激光退火、以及激光化學法制作微電子器件;在醫(yī)療方面成功應用于眼科、外科和防治腫瘤;在軍事應用中,主要有激光測距、激光雷達、激光探測、激光制導和激光武器;在其他方面的應用,如激光電視、激光通信和激光催化等。激光晶體材料的不斷發(fā)展和廣泛應用對激光晶體生產設備提出了越來越高的控制要求。隨著激光晶體生長長度的增加,固熔生長界面的散熱效果越來越差,晶體爐的特性具有參數時變性,應用傳統(tǒng)PID控制算法難以較好的克服被控對象的時變性和非線性[4]。不少學者投入大量精力致力于激光晶體生長控制算法的研究,在傳統(tǒng)PID控制算法中引入專家控制、模糊智能控制等,取得了一定程度上的進步[5-6]。
采用傳統(tǒng)BP神經網絡算法收斂緩慢、容易陷入局部最小化,筆者將自適應學習率優(yōu)化算法應用于改進BP神經網絡,改進后的BP神經網絡算法既保留了傳統(tǒng)BP算法強大的非線性映射能力和泛化能力,又克服了其收斂速度慢、易陷入局部最小化的局限性。改進的BP算法對神經網絡進行訓練得到最優(yōu)化的PID參數,應用于激光晶體生長控制仿真研究,對于克服晶體生長過程中被控對象的參數時變、非線性等特性,抑制晶體生長后期溫度的上漂具有重要的研究意義。
激光晶體的提拉生長主要分為以下幾個過程:上縮頸階段、放肩階段、等徑階段、收肩階段和下縮頸階段等。激光晶體生長過程中,對激光晶體直徑控制的目的就是使得晶體能夠按照提前設定的幾何模型進行生長。將裝在籽晶桿下端的籽晶通過提拉旋轉裝置,下到熔化的晶體熔液中,當籽晶和晶體熔液達到熱平衡時,晶體熔液會吸附到籽晶上,隨著籽晶桿的旋轉和提拉運動,吸附在籽晶上的晶體熔液會形成過冷狀態(tài),在外界溫度低于熔點狀態(tài)溫度時,熔體就會慢慢結晶[7]。
圖1 晶體爐溫度曲線Fig.1 Curve of crystal furnace temperature
隨著激光晶體不斷生長,坩堝內熔體液面的不斷下降、晶體爐內固熔比例的不斷發(fā)生變化、晶體生長長度越來越長使得晶體爐內散熱效果越來越差等一些干擾因素,會使得激光晶體生長后期晶體爐內的溫度上漂且控制系統(tǒng)無法抑制,晶體爐內溫度的上漂導致晶體到生長后期無法保持等徑生長[8-9]。激光晶體生長爐溫度曲線如圖1所示。
由數據庫記錄的激光晶體生長過程數據繪制晶體爐溫度曲線,觀察曲線可知,晶體生長前期晶體爐內能夠實現(xiàn)相對穩(wěn)定的溫度控制,而晶體生長后期晶體爐內的溫度開始出現(xiàn)上漂,且系統(tǒng)無法抑制溫度上漂??梢妭鹘y(tǒng)PID控制算法無法很好的抑制晶體生長后期由于各種干擾因素引起的晶體爐溫度上漂的問題。
圖2 基于BP神經網絡的PID控制器結構Fig.2 Structure of PID controller based on BP neural network
基于BP神經網絡訓練整定PID參數的控制器,其組成主要分為兩部分:即經典PID和BP神經網絡。BP神經網絡能夠逼近任意的非線性函數,BP神經網絡的PID控制通過對網絡的學習訓練,調整神經網絡的權系數實現(xiàn)控制參數kp、ki、kd輸出的最佳組合,通過BP神經網絡在線參數自整定實現(xiàn)最佳的PID控制?;贐P神經網絡的PID控制器結構如圖2所示。
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)
網絡神經元輸出層節(jié)點分別對應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神經網絡的建立。
圖4 BP神經網絡PID控制算法流程圖Fig.4 Flow chart of PID control algorithm based on BP neural network
系統(tǒng)基于增量式PID進行閉環(huán)控制,通過在線調整方式對控制參數kp、ki、kd進行調整,BP神經網絡結構的三個輸出神經元對應PID控制器的三個可調參數,通過神經網絡自身的學習來調整加權系數,使神經網絡輸出層神經元輸出最優(yōu)PID控制參數[11]。BP神經網絡PID控制的算法流程圖如圖4所示。
傳統(tǒng)的BP算法的核心是基于梯度的最速下降方法,對于每一個參數都用相同的學習率進行更新,該方法存在著容易陷入局部最小化和收斂慢的問題。采用AdaGrad深度學習優(yōu)化算法來改進傳統(tǒng)的BP神經網絡算法對PID參數進行訓練,在傳統(tǒng)的BP神經網絡算法中,對于所有參數都使用了同一個學習速率,但是同一個學習速率所訓練的參數并不能夠很好的適用于任一時刻的過程控制,我們希望在開始誤差較大的時刻,訓練網絡使用大一點的學習速率,可以使收斂速度加快,同理訓練的后期使用小一點的學習率,可以比較穩(wěn)定的落入一個局部最優(yōu)解。AdaGrad優(yōu)化算法針對該問題能夠自適應地為各個參數分配不同的學習率,并且在更新規(guī)則中,不再設定固定的學習率,在每次迭代優(yōu)化過程中自適應地使用不同的學習率。
Adagrad的基本思想是對每個變量用不同的學習率,隨著優(yōu)化過程的進行,對于已經減慢較多的變量使其學習率變量減小,對于未減少的變量保持學習速率。Adagrad深度學習優(yōu)化算法通過使用一個小批量隨機梯度gt按元素平方的累加變量nt對學習率進行了約束,即[12]:
(19)
式中,對gt從1到t進行遞推,形成一個約束項正則化矩陣,即:
(20)
式中,ε為一個很小的值用于保證分母不為零。
在訓練的前期,gt的值較小時,正則化矩陣的值較大,可以用于放大梯度;到了訓練后期,gt的值較大時,正則化矩陣的值較小,可以約束梯度。Adagrad根據自變量在每個維度中自變量的梯度值的大小調整每個維度的學習率,以避免統(tǒng)一學習率難以適應所有維度的問題。
在激光晶體生長過程中,對于晶體生長后期存在的一些干擾因素,自適應地采用不同的學習率訓練PID參數,能讓目標函數更快的收斂,更快的找到最優(yōu)化的PID參數,以便能夠更好更快更穩(wěn)的克服干擾因素帶來的激光晶體停止生長的問題。
通過BP神經網絡整定PID控制參數的原理分析和Adagrad深度學習優(yōu)化BP訓練網絡的改進,編寫S函數實現(xiàn)BP神經網絡訓練,在Matlab/simulink中搭建激光晶體生長控制的仿真模型,系統(tǒng)仿真方框圖如圖5、圖6所示。
圖5 基于BP神經網絡PID控制的激光晶體生長控制仿真Fig.5 Simulation of laser crystal growth control based on BP neural network PID control
將傳統(tǒng)PID、BP神經網絡整定PID以及經過改進自適應學習率的BP神經網絡整定PID分別應用到激光晶體生長控制系統(tǒng)中的直徑調節(jié)器中并進行仿真實驗,可以得到激光晶體直徑的階躍響應曲線如圖7所示。
通過Adagrad深度學習優(yōu)化BP神經網絡自適應學習率后的改進算法的自學習來調整網絡的加權系數,對控制器的三個PID參數kp、ki和kd進行自適應整定,使得神經網絡輸出對應于某種最優(yōu)控制律下的PID參數并應用于激光晶體生長控制中,從仿真實驗中的單位階躍響應曲線可以看出經改進自適應學習率后的BP神經網絡整定的PID控制和傳統(tǒng)BP神經網絡整定的PID控制在響應速度、調節(jié)時間上明顯優(yōu)于傳統(tǒng)PID控制,其中經改進自適應學習率后的BP神經網絡整定的PID控制的效果是最好的。
圖6 Subsystem內部仿真結構Fig.6 Internal simulation structure of subsystem
圖7 系統(tǒng)單位階躍響應曲線Fig.7 Curves of system unit step response
在激光晶體生長過程中,受控對象模型具有非線性和時變特性,隨著坩堝中熔體液面的不斷下降、晶體爐內固熔比例不斷發(fā)生變化、晶體長度的不斷增加,被控對象模型的特征參數會發(fā)生變化,晶體長度的不斷增加也會使得散熱效果越來越差,晶體生長到后期無法維持等徑生長。晶體生長過程中所受到的一些影響因素可以等效為速度擾動,將相同的干擾分別加入到上述三種不同方法整定的PID控制的控制系統(tǒng)中進行仿真對比實驗。仿真模型如圖8所示。
圖8 加入擾動simulink仿真實驗框圖Fig.8 Simulink simulation experiment block diagram which add disturbed
通過對控制系統(tǒng)加入干擾進行仿真實驗,得到系統(tǒng)副回路的溫度輸出曲線以及系統(tǒng)直徑(重量)輸出曲線如圖9、圖10所示。分析曲線可知,系統(tǒng)在干擾作用下,采用常規(guī)PID控制算法時溫度曲線會超過設定溫度曲線,晶體生長到后期無法維持等徑生長,而傳統(tǒng)BP神經網絡整定PID控制和經改進自適應學習率后的BP神經網絡整定PID控制能夠較好的抑制干擾,溫度曲線不會超過設定溫度曲線,系統(tǒng)能夠較快的恢復穩(wěn)定,抗干擾能力強,其中經改進自適應學習率后的BP神經網絡整定PID的控制效果會更優(yōu)于傳統(tǒng)BP神經網絡整定PID的控制效果,系統(tǒng)副回路的溫度輸出曲線以及系統(tǒng)直徑(重量)輸出曲線的平滑度更好,穩(wěn)定性更好,能夠更好的抑制溫度上漂,后期也能更好更快的抑制干擾從而維持晶體等徑生長。
圖9 干擾下的副回路溫度輸出曲線以及直徑輸出曲線Fig.9 Sub-circuit temperature output curves and diameter output curves under the interference
通過對激光晶體生長過程和激光晶體生長后期存在的問題進行分析,分別采用常規(guī)PID控制、傳統(tǒng)BP神經網絡整定PID以及Adagrad深度學習優(yōu)化BP神經網絡整定PID三種控制方法對激光晶體生長過程的simulink模擬仿真實驗。實驗表明,經過Adagrad深度學習算法優(yōu)化的BP神經網絡能夠自適應為各個參數分配學習率整定PID參數,通過優(yōu)化算法改進的神經網絡的自學習調整加權系數,實現(xiàn)一種由優(yōu)化改進的BP神經網絡整定的最佳PID控制,在響應速度、調節(jié)時間、抗干擾能力等方面都明顯優(yōu)于常規(guī)PID控制和傳統(tǒng)BP神經網絡整定PID,能夠較好的抑制激光晶體生長后期晶體爐溫度上漂的問題,為激光晶體生長提供一種有效的控制方法。