紀(jì)金豹,胡宗祥,楊森
(北京工業(yè)大學(xué)工程抗震與結(jié)構(gòu)診治北京市重點(diǎn)實(shí)驗(yàn)室,北京 100124)
結(jié)構(gòu)抗震試驗(yàn)不僅可以驗(yàn)證數(shù)值模擬的準(zhǔn)確性,還能為結(jié)構(gòu)抗震設(shè)計(jì)提供可靠的技術(shù)支持,對(duì)于推動(dòng)新技術(shù)和新理論發(fā)展有著重要的作用[1-2]。目前,地震模擬振動(dòng)臺(tái)試驗(yàn)已經(jīng)成為結(jié)構(gòu)動(dòng)力特性測(cè)試、設(shè)備抗震性能評(píng)估、結(jié)構(gòu)抗震措施檢驗(yàn)以及結(jié)構(gòu)地震反應(yīng)等領(lǐng)域的重要研究手段[3-7]。但振動(dòng)臺(tái)試驗(yàn)也有一定的局限性,由于系統(tǒng)非線性影響及其臺(tái)體與試件的共同作用,振動(dòng)臺(tái)本質(zhì)上是一個(gè)十分復(fù)雜的非線性系統(tǒng)[8]。為了獲得更好的地震波形再現(xiàn)能力,就需要對(duì)系統(tǒng)進(jìn)行補(bǔ)償,這意味著振動(dòng)臺(tái)控制算法的優(yōu)劣是決定其性能的關(guān)鍵因素。
目前,已有很多學(xué)者開展了基于神經(jīng)網(wǎng)絡(luò)的智能控制算法研究,也展現(xiàn)了這類算法強(qiáng)大的自適應(yīng)能力和非線性擬合能力。余士品等[9]利用BP神經(jīng)網(wǎng)絡(luò)對(duì)振動(dòng)臺(tái)的控制指令進(jìn)行調(diào)整以補(bǔ)償幅值和位移的偏移問題;夏玲瓊等[10]將人工神經(jīng)網(wǎng)絡(luò)用于振動(dòng)臺(tái)的迭代學(xué)習(xí)控制以及PID控制參數(shù)整定;劉燕燕等[11]開展了基于人工神經(jīng)網(wǎng)絡(luò)的PID控制參數(shù)智能整定研究;劉拓等[12]提出了一種基于卡爾曼神經(jīng)網(wǎng)絡(luò)自適應(yīng)的地震模擬振動(dòng)臺(tái)多參量控制策略,提高了波形跟蹤的精度;劉業(yè)顏等[13]對(duì)包含人工神經(jīng)網(wǎng)絡(luò)的PID控制在低頻振動(dòng)臺(tái)中的應(yīng)用進(jìn)行了仿真研究;何少佳等[14]提出了一種基于單神經(jīng)元網(wǎng)絡(luò)PID和有監(jiān)督Hebb學(xué)習(xí)法則的液壓振動(dòng)臺(tái)智能控制方式,改善了伺服作動(dòng)器位移偏差大的問題。Benrabah等[15]提出了一種自適應(yīng)神經(jīng)網(wǎng)絡(luò)PID控制器,采用傅立葉級(jí)數(shù)神經(jīng)網(wǎng)絡(luò)(FSNN)對(duì)PID控制器的參數(shù)進(jìn)行在線調(diào)整,具有結(jié)構(gòu)簡(jiǎn)單、性能優(yōu)良等優(yōu)點(diǎn)。Cheon等[16]提出了一種深度學(xué)習(xí)控制器,即利用深度信念網(wǎng)絡(luò)(Deep Belief Network)來學(xué)習(xí)PID控制器的輸入-輸出關(guān)系,并驗(yàn)證了該控制器的性能和有效性。Gheisarnejad等[17]提出了一種結(jié)合了深度確定性策略梯度(DDPG)算法的PID控制器,仿真結(jié)果表明強(qiáng)化學(xué)習(xí)的引入能大幅提高控制器的抗干擾性。事實(shí)上,地震模擬振動(dòng)臺(tái)的智能控制算法研究仍處于一個(gè)初步階段,現(xiàn)有成果更多的是將神經(jīng)網(wǎng)絡(luò)作為輔助工具來改善PID、三參量控制等傳統(tǒng)算法的控制性能,并未直接將神經(jīng)網(wǎng)絡(luò)作為振動(dòng)臺(tái)的控制器。
做為一種深層的神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)具有更強(qiáng)的非線性處理能力。尤其以循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)為代表的時(shí)間序列深度學(xué)習(xí)算法,在語(yǔ)音識(shí)別和機(jī)器翻譯等領(lǐng)域展現(xiàn)出巨大的優(yōu)越性,這是否也意味著RNN具有適用于處理振動(dòng)臺(tái)控制這類時(shí)序問題的可能性。因此,為了探討利用深度學(xué)習(xí)算法進(jìn)行振動(dòng)臺(tái)控制器的實(shí)現(xiàn)方式,文中針對(duì)振動(dòng)臺(tái)三參量閉環(huán)控制模型,利用長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM)對(duì)三參量控制算法的輸入-輸出關(guān)系進(jìn)行學(xué)習(xí)和仿真,從而構(gòu)造了性能良好的振動(dòng)臺(tái)深度學(xué)習(xí)控制器。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是一類用于處理時(shí)間序列問題的深度學(xué)習(xí)模型,RNN將各層神經(jīng)元在時(shí)間維度上進(jìn)行展開,通過信息的時(shí)序輸入實(shí)現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)中的前向傳遞,并將信息保存在“長(zhǎng)期記憶單元”中以建立數(shù)據(jù)之間的序列關(guān)系。
如圖1所示,權(quán)值W、V和U在每個(gè)時(shí)刻的節(jié)點(diǎn)單元處都是共享的,在t時(shí)刻隱藏單元St會(huì)接受來自St-1和輸入Xt的信息并輸出Ot,同時(shí)將信息St傳到下一時(shí)刻St+1。這種策略不僅大大降低了網(wǎng)絡(luò)訓(xùn)練的時(shí)間成本和算力需求,也實(shí)現(xiàn)了對(duì)變步長(zhǎng)序列數(shù)據(jù)的處理。
圖1 循環(huán)神經(jīng)網(wǎng)絡(luò)Fig.1 Convolutional neural network
盡管RNN可以考慮信息之間的前后關(guān)聯(lián),但傳統(tǒng)的RNN通常難以實(shí)現(xiàn)對(duì)信息的長(zhǎng)期保存。由于激勵(lì)函數(shù)和連乘的原因,當(dāng)RNN的網(wǎng)絡(luò)層數(shù)較多或數(shù)據(jù)時(shí)序較長(zhǎng)時(shí),有時(shí)梯度會(huì)隨著迭代呈指數(shù)級(jí)增長(zhǎng)或衰減,從而導(dǎo)致梯度消失和梯度爆炸的問題[19]。為解決傳統(tǒng)RNN的不足之處,Hochreiter等[20]提出了長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM),通過在RNN中引入3類門控單元以實(shí)現(xiàn)對(duì)信息的提取、遺棄和長(zhǎng)期保存,這不僅改善了梯度消失和梯度過大的問題,也提升了RNN對(duì)于信息的長(zhǎng)期儲(chǔ)存能力。在這3類門控單元中,輸入門的主要功能是控制當(dāng)前輸入數(shù)據(jù)Xt傳入網(wǎng)絡(luò)的比例;遺忘門用于控制長(zhǎng)期記憶單元在經(jīng)過每個(gè)神經(jīng)元時(shí)對(duì)信息的舍棄程度;輸出門用于控制當(dāng)前神經(jīng)元的輸出量和傳到下一神經(jīng)元的輸入量。
傳統(tǒng)三參量控制算法通過地震波指令信號(hào)、加速度、速度和位移反饋信號(hào)的結(jié)合實(shí)現(xiàn)了對(duì)振動(dòng)臺(tái)的穩(wěn)定控制,因此文中所構(gòu)造的深度學(xué)習(xí)控制器借鑒了三參量控制的做法。如圖2所示,作為振動(dòng)臺(tái)控制器時(shí),LSTM需要接受4個(gè)信號(hào),包括地震波加速度指令信號(hào)、加速度反饋信號(hào)、速度反饋信號(hào)和位移反饋信號(hào),并直接輸出控制信號(hào)進(jìn)入振動(dòng)臺(tái)系統(tǒng)。
圖2 深度學(xué)習(xí)控制器Fig.2 Deep learning controller
由于系統(tǒng)輸出的反饋信號(hào)是實(shí)時(shí)產(chǎn)生的,LSTM控制器每次處理完一組信號(hào)后才能產(chǎn)生下一個(gè)反饋信號(hào),所以模型在運(yùn)行前無法觀測(cè)到完整序列的反饋信號(hào),這意味著LSTM控制器需要多次運(yùn)行才能處理完整段指令信號(hào)。但是,LSTM的循環(huán)結(jié)構(gòu)使其依賴于完整且連續(xù)軌跡才能保存記憶,也就是說當(dāng)控制器需要接收外部的實(shí)時(shí)反饋信號(hào)時(shí),網(wǎng)絡(luò)的記憶會(huì)不斷重置,這無法起到“記憶”的作用,LSTM也就退化成了一般的BP神經(jīng)網(wǎng)絡(luò)。對(duì)此,文中提出了一種基于LSTM閉環(huán)控制的實(shí)時(shí)反饋信號(hào)處理方法,即通過單獨(dú)保存隱層狀態(tài)“h”和長(zhǎng)期記憶狀態(tài)“c”的方式,從而避免LSTM控制器在不斷的重置中丟失過往記憶。
如圖3所示,在LSTM接收非連續(xù)的反饋信號(hào)時(shí),每處理一組輸入信號(hào)a1和反饋信號(hào)af1后,將LSTM內(nèi)部的長(zhǎng)期記憶單元“c1”和隱藏狀態(tài)“h1”單獨(dú)保存下來,當(dāng)接收下一組輸入信號(hào)a2和反饋信號(hào)af2時(shí)將“c1”和“h1”也作為輸入,從而避免LSTM因多次循環(huán)運(yùn)行而觀測(cè)不到過往記憶。當(dāng)接入反饋信號(hào)時(shí),LSTM的前向傳播可表示為:
圖3 反饋信號(hào)處理方法Fig.3 Processing method of feedback signals
地震模擬振動(dòng)臺(tái)的加速度開環(huán)傳遞函數(shù)可以描述為控制指令E與加速度反饋之間的關(guān)系,由液壓三連續(xù)方程推得:
文中對(duì)于深度學(xué)習(xí)控制器的搭建、訓(xùn)練和測(cè)試均基于Python軟件和Pytorch深度學(xué)習(xí)框架來實(shí)現(xiàn),因此需對(duì)振動(dòng)臺(tái)系統(tǒng)進(jìn)行離散化并移植到Python中。對(duì)式(3)進(jìn)行變換得:
預(yù)算管理系統(tǒng)以“經(jīng)費(fèi)預(yù)算和使用為主線、預(yù)算執(zhí)行和控制為重點(diǎn),核算和監(jiān)督為依托,財(cái)務(wù)分析為評(píng)價(jià)依據(jù)”的管理體系,提升遠(yuǎn)程報(bào)銷服務(wù)與監(jiān)督能力。通過院所兩級(jí)管理預(yù)算管理實(shí)現(xiàn)預(yù)算整體規(guī)劃、分所下發(fā),各所實(shí)現(xiàn)按部門二次分解預(yù)算,達(dá)到各所按經(jīng)濟(jì)科目精細(xì)化控制預(yù)算的目標(biāo);各所領(lǐng)導(dǎo)可以實(shí)時(shí)掌控預(yù)算執(zhí)行進(jìn)度及資金流向,院級(jí)領(lǐng)導(dǎo)可以縱觀全院預(yù)算執(zhí)行,為決策分析做數(shù)據(jù)支撐。
令z2=Y(n),可得振動(dòng)臺(tái)系統(tǒng)的離散公式:
文中仿真以北京工業(yè)大學(xué)3×3 m水平雙向地震模擬振動(dòng)臺(tái)的單軸特性為例,確定其參數(shù)為:kq=0.017 795、M=6 000、Ap=0.011 9、V=0.003 403 4、β=7×10-8、kc=2.5×10-11,Cc=7.553×10-15。
作為地震模擬振動(dòng)臺(tái)常用的控制算法,三參量控制主要包括三參量反饋和三參量前饋環(huán)節(jié)。對(duì)于整個(gè)振動(dòng)臺(tái)三參量控制系統(tǒng),可以通過各部分傳遞函數(shù)進(jìn)行串聯(lián)、并聯(lián)、反饋形成整個(gè)系統(tǒng)的傳遞函數(shù)。三參量控制下的系統(tǒng)整體模型如圖所示:
圖4中,GAC、GVC、GDC分別表示三參量發(fā)生器的加速度、速度、位移分量所代表的傳遞函數(shù),并且包含對(duì)應(yīng)分量的控制增益。Gq表示伺服閥二階特性,在初步分析中可以假定Gv=1,GT表示振動(dòng)臺(tái)開環(huán)傳遞函數(shù),GAf、GVf、GDf分別表示加速度、速度、位移反饋環(huán)節(jié)的傳遞函數(shù),并且包含對(duì)應(yīng)分量的反饋增益。經(jīng)過參數(shù)整定,確定其前饋控制增益為:kac=0.0107,kvc=-0.0351,kdc=0.375,反饋控制增益確定為:kaf=-0.125,kvf=0,kdf=0.375。
圖4 振動(dòng)臺(tái)三參量閉環(huán)控制模型Fig.4 Three variable closed loop control model of shaking table
通過MATLAB中的SIMULINK模塊搭建地震模擬振動(dòng)臺(tái)的三參量閉環(huán)控制仿真模型,經(jīng)參數(shù)整定保證系統(tǒng)能以較高的精度再現(xiàn)地震波形。隨機(jī)選取20條地震波作為輸入指令信號(hào)進(jìn)行仿真,包括15條天然地震動(dòng)和5條人工地震動(dòng),將其按照6:1:3的比例劃分為訓(xùn)練集(12條)、驗(yàn)證集(2條)和測(cè)試集(6條)。其中訓(xùn)練集用于模型的監(jiān)督式訓(xùn)練,驗(yàn)證集用于網(wǎng)絡(luò)訓(xùn)練完成后的初步驗(yàn)證,并以此作為依據(jù)進(jìn)行超參數(shù)的調(diào)整,測(cè)試集用于網(wǎng)絡(luò)的最終測(cè)試以確定模型的泛化性。如圖5所示,對(duì)所選20條地震波進(jìn)行仿真時(shí),采集每條地震波加速度指令信號(hào)、加速度反饋信號(hào)、速度反饋信號(hào)和位移反饋信號(hào)作為深度學(xué)習(xí)控制器的輸入信號(hào),采集整個(gè)三參量控制器的控制信號(hào)作為深度學(xué)習(xí)控制器的輸出標(biāo)簽,采樣時(shí)間為0.005 s。
經(jīng)過對(duì)比與測(cè)試,最終選用4層網(wǎng)絡(luò)結(jié)構(gòu)的LSTM模型作為深度學(xué)習(xí)控制器,包括輸入層、兩個(gè)隱藏層和輸出層。其中,輸入層設(shè)為4個(gè)節(jié)點(diǎn)(包含1個(gè)輸入信號(hào)節(jié)點(diǎn)和3個(gè)反饋信號(hào)節(jié)點(diǎn)),輸出層設(shè)為1個(gè)節(jié)點(diǎn),兩個(gè)隱藏層分別設(shè)為30、60個(gè)節(jié)點(diǎn),網(wǎng)絡(luò)整體結(jié)構(gòu)為(4,30,60,1),學(xué)習(xí)率隨著訓(xùn)練過程從1×10-3逐漸降至1×10-5,優(yōu)化器選用Adam,損失函數(shù)選用MSE。
其中,ADAM是一種優(yōu)于梯度下降法的網(wǎng)絡(luò)參數(shù)更新算法,它結(jié)合了AdaGrad和RMSProp算法的優(yōu)點(diǎn),能通過計(jì)算梯度的一階矩估計(jì)和二階矩估計(jì)為不同的參數(shù)設(shè)計(jì)獨(dú)立的學(xué)習(xí)率,并提供了解決稀疏梯度和噪聲問題的優(yōu)化途徑。損失函數(shù)MSE指模型預(yù)測(cè)值f(x)與樣本真實(shí)值y對(duì)應(yīng)點(diǎn)誤差的平方和的均值,其值越小表明精度越高。MSE可表示為:
如圖5所示,深度學(xué)習(xí)控制器以訓(xùn)練集(12條)地震波的加速度指令信號(hào)、加速度反饋、速度反饋和位移反饋信號(hào)作為輸入,以三參量控制器輸出的控制信號(hào)yi作為標(biāo)簽,以標(biāo)簽與深度學(xué)習(xí)控制器輸出f(xi)的差值作為損失函數(shù),通過Adam優(yōu)化算法更新網(wǎng)絡(luò)參數(shù),從而使深度學(xué)習(xí)控制器最終逼近三參量控制器的控制性能。
圖5 深度學(xué)習(xí)控制器訓(xùn)練示意圖Fig.5 Training diagram of deep learning controller
監(jiān)督學(xué)習(xí)訓(xùn)練完成后,將深度學(xué)習(xí)控制器與振動(dòng)臺(tái)系統(tǒng)對(duì)接進(jìn)行仿真測(cè)試。選取加速度峰值為0.8 g的El Centro、CAPE MENDOCINO和EAR等6條地震波作為輸入指令信號(hào)對(duì)深度學(xué)習(xí)控制器的性能進(jìn)行測(cè)試,并與三參量控制器進(jìn)行對(duì)比。在分別使用深度學(xué)習(xí)控制器和三參量控制器的情況下,振動(dòng)臺(tái)系統(tǒng)輸出與輸入的波形對(duì)比如圖6所示(僅展示3條波)。
圖6 深度學(xué)習(xí)控制器和三參量控制器性能對(duì)比圖Fig.6 Performance comparison diagram of deep learning controller and three variable controller
為對(duì)比深度學(xué)習(xí)控制器和三參量控制器的性能,選用系統(tǒng)輸入輸出波形的相關(guān)系數(shù)和最大峰值誤差作為對(duì)比指標(biāo)。其中,相關(guān)系數(shù)又稱為皮爾遜系數(shù)r,定義為:
如表1所示,在分別使用深度學(xué)習(xí)控制器和三參量控制器的情況下,二者的差值基本保持在5%以下。仿真結(jié)果表明:基于LSTM搭建的深度學(xué)習(xí)控制器在經(jīng)過監(jiān)督學(xué)習(xí)后,擁有逼近三參量控制器的性能,可以較為精準(zhǔn)地再現(xiàn)地震波加速度時(shí)程曲線。
表1 深度學(xué)習(xí)控制器和三參量控制器的性能對(duì)比Table 1 Performance comparison between deep learning controller and three-variable controller
在使用深度學(xué)習(xí)控制器的情況下,系統(tǒng)輸出的位移響應(yīng)如圖7所示。從振動(dòng)臺(tái)系統(tǒng)輸出的位移曲線來看,位移曲線的變化基本保持在零位軸線附近,并未因?yàn)榉e分而出現(xiàn)趨勢(shì)走向,可以滿足振動(dòng)臺(tái)對(duì)輸出波形位移量程需求。
圖7 振動(dòng)臺(tái)輸出位移波形Fig.7 Displacement waveform output of shaking table
文中以振動(dòng)臺(tái)的智能控制為研究對(duì)象,提出了一種基于LSTM的振動(dòng)臺(tái)深度學(xué)習(xí)控制器框架和對(duì)應(yīng)閉環(huán)控制方法,并利用LSTM模型對(duì)三參量控制算法的輸入輸出關(guān)系進(jìn)行學(xué)習(xí)和模擬,驗(yàn)證了該控制器的可行性和有效性。經(jīng)仿真驗(yàn)證:通過監(jiān)督學(xué)習(xí)的方式,深度學(xué)習(xí)控制器能夠有效逼近三參量控制器的控制性能,具有較好的再現(xiàn)地震波加速度時(shí)程曲線,這說明深度學(xué)習(xí)控制器在處理非線性控制問題上具備足夠的潛能。
但是,僅通過監(jiān)督學(xué)習(xí)的方式并不能讓深度學(xué)習(xí)控制器擁有超越傳統(tǒng)三參量控制的性能,為進(jìn)一步提升深度學(xué)習(xí)控制器的性能,文中的后續(xù)工作將會(huì)從以下幾個(gè)方向開展:
(1)在深度學(xué)習(xí)控制器的基礎(chǔ)上結(jié)合具備自主學(xué)習(xí)能力的強(qiáng)化學(xué)習(xí),從而增強(qiáng)控制器對(duì)不確定性和各種擾動(dòng)的自適應(yīng)能力,以實(shí)現(xiàn)深度學(xué)習(xí)控制器的進(jìn)一步升級(jí);
(2)從地震模擬振動(dòng)臺(tái)的單軸控制推廣到三向六自由度的控制問題;
(3)開展深度學(xué)習(xí)控制器的實(shí)驗(yàn)驗(yàn)證和測(cè)試,落實(shí)深度學(xué)習(xí)控制器的實(shí)際應(yīng)用,包括算法的硬件實(shí)現(xiàn)和平臺(tái)移植問題。