單文麗,周 軍,錢慧敏,盧新彪,段朝霞,黃浩乾
(河海大學,南京 211100)
在各控制工程領域,與機械、電力電子或機電一體化等傳統形式的硬件控制器相比,基于機器學習及其算法的軟硬混合控制器越來越顯示出獨特的優勢。目前,在機器學習研究中影響較大的是Simon H的觀點:機器學習能力對系統任何技術的改進、改良都是有必要的, 這種學習能力的獲得使得機器系統在重復性極強的工作或類似關聯性的工作時,完成得更好,有更出色的表現。
近年來,深度學習在學術界和工業界都得到廣泛關注,取得了迅猛發展。如深度學習在模式識別上取得了比一般神經網絡學習的識別率有顯著提升的效果[4]。深度學習神經網絡在算法構造上有更多的隱藏層和大量神經元,這樣就大幅度提高了網絡學習的復雜度和自由度,從而提高了可擬合復雜關系的范圍和高度。一些無法由淺層人工神經網絡解決的大規模、復雜問題可以由深度學習算法來解決。深度學習已被應用到各種工程問題中,包括特征分類[1]和模式識別[2]。例如:語音識別[3],手寫體數字識別,人體行為識別[4]等。利用深度學習算法對復雜函數擬合能力[4-7]的研究多有報告,但利用深度學習算法代替經典控制器的控制策略進而形成神經網絡控制器實際實施控制的研究報告不多[8-9]。本研究旨在通過使用DBN(deep belief network)算法來模擬經典直接轉矩控制電路里的開關表控制效果,驗證深度學習算法用于替代硬件控制器的可行性和有效性[8,10]。具體地,以調整轉子速度和角度來驅動加工部件實現位置、進度等控制目標的異步電動機系統為例,使用MATLAB/Simulink進行數值仿真,研究和比較深度學習控制器和經典直接轉矩控制里開關電路控制效果,證明了深度學習控制器的性能和有效性。
深度學習概念最早出現在2006年,由Hinton G E等學者[7]一起提出的復雜神經網絡算法。這種算法依賴于樣本數據,通過一定的訓練方法得到每一層神經元所構成的結構拓撲和權值參數[11]。Hinton等為了解決傳統的神經網絡產生局部最小值的問題,找出傳統神經網絡陷入局部最小值的根本原因,即訓練算法中權值初始化是隨機的,只需要采用無監督的預訓練方法優化網絡權值的初值, 再進行有監督的權值參數微調的學習方法。這種參數微調通常使用反向傳播算法(以下簡稱BP算法),微調整最后一層的權值和偏置。總之,深度學習是從單層或淺層神經網絡中擴展出來的算法,是基于隱藏層和神經元的數目眾多的深度神經網絡的,這使得深度學習算法擁有高維參數(包括權值和偏置),從而可擬合非常復雜的函數關系。然而,層次結構和神經元個數的增多,也同時會在神經網絡學習過程中使函數被過度擬合,生成預訓練也使得多層次特征檢測變得更為復雜。這種算法特征使得深度學習網絡與淺層神經網絡之間的區別明顯,并具有復雜結構的獨特特性。典型的深度置信網絡(以下簡稱DBN)是各種深層學習網絡中比較著名的。以下關于DBN算法的簡要說明是為了便于理解深度學習的各過程。
DBN通常是由多個受限玻爾茲曼機(以下簡稱RBM)交互堆疊而成[11-12],如圖1所示(圖1中是三重RBM形成的深度網絡,以下說明中為保持符號關系簡明,均以此為例)。該類神經網絡進行從輸入端到輸出端的前向運算時,輸入數據從輸入層的RBM輸入網絡,之后經逐層RBM向前運算,到達網絡的輸出層后,形成神經網絡整體的輸出。

圖1 DBN的構成框架
標準的DBN算法[13]包括有兩個基本過程:各RBM模型基于無監督學習的初始連接權值和偏置的預訓練(即圖1中由實線雙箭頭表示的方向與過程)以及基于BP的全局微調(即圖1中由虛線雙箭頭表示的方向與過程)。具體如下:
第一過程:進行DBN前向計算,完成各RBM連接權值與偏置的預訓練。具體地,輸入數據(參考向量)進入第一層RBM的可見層,結合初始前置權值(即第一層RBM的可見層前面的權值)將向量V0轉換并轉移到該RBM隱藏層,按照Boltzmann分布隨機生成該隱含層的前置權值修改量,進而修改權值。其中,RBM的預訓練是由CD(Contrastive Divergence)算法完成。由圖1可知,第一層RBM的隱藏層也是第二層RBM的可見層,由此,第一層RBM的輸出數據作為第二層RBM的參考輸入向量就傳遞給了第二層RBM的可見層,并結合第二層RBM的可見層前置權值轉換并傳遞到第二層RBM的隱藏層,重復第一層RBM的前置權值修改過程,完成第二層RBM的預訓練。以后諸層依次重復,直至整個網絡的前向運算結束。這樣就得到了下面第二過程的全局微調的初始連接權值(即各層RBM的前置權值與偏置)。
第二過程:完成針對神經網絡最后一層RBM至第一層的基于BP算法的反向連接權值微調,從而完成DBN整體微調。如圖1所示,在DBN的最后一層RBM中開始反向傳播,把當前層RBM的輸出向量反向作為輸入向量,對比理想的輸出向量, 通過偏差極小化等算法來實現該層RBM的權值微調。與此相對,也有通過逐層BP算法進行多層微調整個DBN的,但這樣的反向傳播會將錯誤信息自頂向下傳播至所有RBM。本文只考慮對最后一層(即圖1的最頂層)RBM進行BP算法的權值微調,所以誤差反向傳播問題不會發生。
下面針對DBN的參數預訓練和微調中的連接權值修正關系公式等給出具體說明。
DBN中的每層RBM是一個完整且獨立的神經感知器,每一個RBM都有可見層和隱藏層,連接它們的神經元為雙向全連接,其連接權值基于Boltzmann隨機分布進行增量調整。為敘述方便,考慮一個共有n個神經元層的DBN,其各神經元層分別稱為第l層,各層神經元個數分別為m1,m2,…,mn個,各神經元激活函數均為sigmoid(z)=(1+e-z)-1=∶f(z)。又定義各層的激活函數值向量:
Rmn
(1)

Rml×ml-1
(2)

(3)
Rml
(4)

(5)

這樣前向傳導關系可表達如下:
z(l+1)(t+1)=W(l)(t)a(l)(t)+b(l)(t)∈Rml
(6)
(7)
即z(l+1)(t)是第l+1層神經元t時刻的狀態向量。
接下來,為了刻畫以第l-1層作為可見層,以第l層作為隱含層的RBM中,可見層與隱含層間的連接權值修正過程的能量變化[13],用式(8)定義的函數表示對該RBM的能量度量:
(8)
于是,網絡權值的訓練過程可看成是進行網絡能量函數極小化的過程。
為建立連接權值的修正算法,定義所考慮層的RBM中的兩層神經元的增廣狀態向量[v(l-1)(t),h(l)(t)]的聯合分布概率(即所謂Boltzmann分布):
(9)
式中:Z定義為概率運算歸一化因子,即:
(10)
在作為感知器的RBM中,隱藏層和可視層神經元均為二元取值,即每個神經元只有0和1兩種狀態值。考慮給定第l-1可見層的所有神經元的(隨機)狀態向量時,對應隱藏層(即第l層)上神經元被激活(即狀態值為1)的條件概率,就是要計算P[h(l)(t)=1|v(l-1)(t)]。這里h(l)(t)=1是指所有標量元素都為1的向量。具體地,有:
(11)
同理,成立:
(12)
基于上述關系,v(l-1)(t)對隱藏層神經元狀態的條件概率P[h(l)(t)=1|v(l-1)(t)]依定義可推導如下:
P[h(l)(t)=1|v(l-1)(t)]=
(13)
類似地,隱藏層神經元狀態h(l-1)(t)關于可見層神經元狀態的條件概率有:
P[v(l)(t)=1|h(l-1)(t)]=
(14)
假設給定可見層神經元狀態時,與其相對的隱藏層神經元的激活條件是互不相關的,與之相反也成立。于是成立:
(15)
記θ={W,a,b}表示RBM中的待擬合參數的簡約標記。有了上述各分布概率關系后,該RBM 的隱藏層待擬合參數{W,a,b}的獲得就是一個基于給定訓練數據的最大似然訓練過程。假設訓練樣本集合S={v1,v2,…,vns},ns是樣本總數。訓練RBM的目標就是最大化如下似然概率函數:
(16)
注意到樣本vi與時間無關,所以t時間變量在上式中并沒有出現。由對數函數單調性可知,最大化Lθ和最大化lnLθ是等價的。于是訓練RBM參數的目標就可以通過最大化如下函數關系完成。

(17)
對lnLθ進行最大化的常用方法就是梯度法,即通過梯度計算迭代逼近最優點,迭代關系定義:
(18)
式中:α為學習率。另外,有:

(19)
于是按照θ取ωi,j,ai,bi分別給出計算關系如下。
θ=ωi,j時的計算結果:
(20)
2)θ=ai時的計算結果:
(21)
3)θ=bi時的計算結果是:
(22)
進而,由式(19),式(20)可得:

(23)
由式(19),式(21)可得:
(24)
由式(19),式(22)可得:


(25)
事實上,式(23)~式(25)的v(l-1)(t)是隨機的,可采用對比散度算法(即k步Gibbs算法)進行采樣獲得。具體地,從第l層到第l+1層之間關系有:利用P[v(l-1)(t)=1|h(l-1)(t)]采樣得出v(l-1)(t);利用P[h(l-1)(t)=1|v(l-1)(t)]采樣得出h(l)(t),即利用rand函數產生隨機數r,若r
接著,利用上述采樣得到的v(l-1)(t)來近似估計式(9)~式(11)的期望項(均值項),具體如下:
(26)
(27)

(28)
在采樣取值為1,這樣得到的是權值在可見層偏置和隱藏層偏置在該當意義下的修正量,從而可建立如下迭代修正關系:
(29)
在上述的參數微調過程中,和傳統神經網絡相比,DBN算法多層RBM造成了根本性差異。顯然上述修正關系RBM是無監督學習,因為過程中沒有基于目標數據的參數修正部分。
DBN全局微調是BP過程,步驟如下:

對于單個樣例(z,y)(指某輸入樣本向量z對應的期望輸出值向量或目標特征數據y的關系對),其非線性代價函數定義:
(30)
當進行參數微調時,訓練規則將使代價函數J在每個訓練循環按梯度下降。于是基于代價函數梯度計算的對參數W和b的更新迭代規則:
(31)
(32)
式中:ε為修正步長。
注意到式(6)的標量展開式:
(33)
從而對式(33)做偏導運算后就有:
(34)

(35)
類似地,計算得:
(36)
3) 由式(35)和式(36)可知,參數更新規則:
(37)
(38)
這樣,式(37)和式(38)就可以給出連接權值和偏置的BP算法意義下的迭代更新值。
要設計基于DBN的深度學習控制器來替代異步電動機系統中的逆變器開關電路,首先要對原開關表進行操作和數據測量,如圖2(a)所示,以得到開關表的輸入和輸出變量之間的關系;然后這些輸入和輸出信息作為深度學習算法的輸入和目標數據,對深度學習控制器進行訓練;最后深度學習控制器被接入電路更換原來的開關表,實現深度學習控制器控制異步電動機的目的,如圖2(b)所示。

(a) 經典直接轉矩控制異步電動機

(b) 深度學習替代開關表控制異步電動機
考慮開關表的工作狀態如表1和表2所示。

表1 電壓矢量開關選擇表

表2 開關表的組合狀態
因此,用深度學習控制器來代替實際的電壓矢量開關表電路,首先要收集有關開關表電路的輸入輸出數據,直到收集的數據足以充分地反映運行關系為止。然后,DBN算法基于收集到的輸入輸出數據學習開關表的控制作用訓練學習,完成深度學習控制器的設計。
深度學習控制器的預訓練步驟如下:
步驟1:開關表樣本數據的收集整理。即收集磁通、電磁轉矩誤差、定子磁通矢量位置和電壓矢量作為DBN算法訓練的參考數據和目標數據并對數據,樣本進行關系標注;
步驟2:對DBN權值矩陣,偏置向量初始化。初始化矩陣的各元素均設為零;
步驟3:基于式(15)~式(17)的前向計算,得到各隱藏層的有關參數預置值;
步驟4:基于式(25)、式(26)的BP算法,對DBN網絡進行單步反向調整,實現對DBN的全局微調;
步驟5:訓練收斂性滿足誤差要求時,結束計算并給出訓練結果;否則返回到步驟3再次訓練。
考慮文獻[8]的異步電動機數學方程如下:
(39)
電磁轉矩方程:
Te=p(φsdisq-φsqisd)
(40)
機械方程:
(41)
定子磁通估計:
(42)
(43)
式中:Vsα,Vsβ是α,β相的定子電壓;isα,isβ是α,β相的定子電流;φsα,φsβ是α,β相的定子磁通,φsd,φsq是d,q坐標下的定子磁通;isd,isq是d,q坐標下的定子電流;Rs是定子電阻;Ls是定子電感;Lr是轉子電感;Lm是互感;Ts,Tr分別是定子和轉子時間常數;σ是磁漏系數;J表示轉動慣量;f是摩擦系數;p是極對數;v是轉子轉速;ω是轉子角速度;Te是電磁轉矩;TL是負載轉矩。
表3是異步電動機各項參數的設定值。
在MATLAB/Simulink環境中,基于深度學習的異步電動機開關表進行控制擬合,研究和比較前后兩種控制方法的控制效果。
深度學習算法是基于Tanaka等開發的深度神經網絡工具箱的,經過修改,形成隱藏層由4層組成,共有6層神經元層的DBN,每層各包含63個神經元。本文中深度學習控制器的迭代次數為3 680,學習率為0.01。

表3 異步電動機的參數值
圖3和圖4分別給出了在開關表電路控制和深度學習控制器作用下的異步電動機速度響應曲線。

圖3 開關表控制下的速度響應曲線

圖4 深度學習控制下的速度響應曲線
圖5和圖6分別給出了在開關表控制和深度學習控制器作用下的異步電動機的定子磁通。

圖5 開關表控制下的定子磁通

圖6 深度學習控制下的定子磁通
圖7和圖8分別給出了在開關表控制和深度學習控制器作用下的異步電動機的電磁轉矩。

圖7 開關表控制下的電磁轉矩

圖8 深度學習控制下的電磁轉矩
通過對比可知,在選擇所有檢測變量關系上,深度學習控制器替代原先的開關表的開關電路控制作用,可以使系統基本達到原來的控制效果,使系統鎮定。由上述控制效果比較可知,深度學習控制器替代原先開關表實施控制異步電動機的方案是完全可行的。特別由DBN算法來模擬實際開關表控制的技術思路是值得理論探討的。
本文旨在探討基于DBN算法的深度學習控制器對控制問題的實現能力,以及開關表控制和所提出的深度學習控制器之間的比較研究,以驗證深度學習控制理論對物理控制器的擬合精度。數值仿真結果表明,基于DBN算法的深度學習控制器作為傳統控制器的替代方案是可行的。這種智能控制器的設計思路是,先基于基本控制理論設計控制器的結構與策略,然后基于神經網絡對控制器的控制策略的學習與模仿形成基于神經網絡算法的控制策略,將神經網絡算法替代原理論設計的決策環節后,與硬件執行器一并形成智能化控制器。