梁 彪,黃 濤,袁 鵬,劉永超,王 博,*,譚思超
(1.哈爾濱工程大學(xué),黑龍江省核動力裝置性能與設(shè)備重點(diǎn)實驗室,黑龍江 哈爾濱 150001;2.中國核動力設(shè)計研究院核反應(yīng)堆系統(tǒng)設(shè)計重點(diǎn)實驗室,四川 成都 610213)
核動力系統(tǒng)使用需求與運(yùn)行環(huán)境復(fù)雜多樣,設(shè)計過程中需考慮在長時間運(yùn)行中可能出現(xiàn)偏離穩(wěn)態(tài)的變工況(正常運(yùn)行瞬變與事故變工況)運(yùn)行,傳統(tǒng)的核動力系統(tǒng)運(yùn)行工況判斷主要依賴于運(yùn)行規(guī)程、操作人員經(jīng)驗及專家知識。大多數(shù)情況下需要變工況發(fā)展至一定程度,且相應(yīng)參數(shù)變化至參考閾值后才能進(jìn)行有效判別。變工況的初始階段引起的參數(shù)微小變化往往很難被有效識別,診斷的及時性與可靠性方面存在欠缺。此外,目前的運(yùn)行無法做到對系統(tǒng)監(jiān)測參數(shù)變化趨勢的超前預(yù)測感知。
近年來,基于數(shù)據(jù)驅(qū)動的智能算法輔助核系統(tǒng)運(yùn)行的研究增多。喻海滔、SHI Xiao-Cheng、頡利東[1-3]等分別使用多層前饋(BP)、徑向基(RBF)、卷積(CNN)神經(jīng)網(wǎng)絡(luò)模型對核動力裝置多類運(yùn)行工況進(jìn)行了識別。相比傳統(tǒng)的基于樹模型[4]等診斷方法,故障診斷的準(zhǔn)確率與自適應(yīng)性得到了提高;宋梅村[5]等基于所選定的15 種熱工參數(shù)使用BP 神經(jīng)網(wǎng)絡(luò)較好地預(yù)測了多種故障模式下的船舶反應(yīng)堆裝置功率;張奧鑫[6]等采用某CANDU 重水堆核電廠真實運(yùn)行數(shù)據(jù),使用長短期記憶(LSTM)和CNN 網(wǎng)絡(luò)有效預(yù)測了堆芯短期熱功率值;曾聿赟[7]等通過支持向量回歸(SVR)訓(xùn)練得到了下一時刻反應(yīng)堆功率與冷卻劑溫度的機(jī)器學(xué)習(xí)預(yù)測模型。盡管如此,目前相關(guān)的反應(yīng)堆事故診斷研究在判別精度上與工程應(yīng)用需求尚存在一定差距,同時運(yùn)行參數(shù)預(yù)測研究大多局限于單個時間步、某一時刻的單個參數(shù),缺乏對未來長時間內(nèi)多參數(shù)變化趨勢的有效預(yù)測,算法在實際的工程應(yīng)用中存在著短板。
基于上述不足,本研究構(gòu)建了一種基于深度學(xué)習(xí)的核動力系統(tǒng)運(yùn)行工況高精度判別與監(jiān)測參數(shù)長時間超前預(yù)測的模型,邏輯結(jié)構(gòu)如圖1 所示,主要工作內(nèi)容如下:
圖1 核動力系統(tǒng)運(yùn)行工況預(yù)判模型結(jié)構(gòu)Fig.1 The structure of nuclear power system operation state identification and parameter prediction model
(1)本研究基于改進(jìn)循環(huán)神經(jīng)網(wǎng)絡(luò)模型,利用多參數(shù)融合方法,使用系統(tǒng)的多個參數(shù)的歷史變化趨勢來綜合判斷運(yùn)行工況,而不是使用單一時刻的參數(shù),大幅提高了運(yùn)行工況判別的準(zhǔn)確率;
(2)為提高模型對工況類型的判別精度,使用自動化的網(wǎng)格搜索算法(Grid Search)調(diào)整優(yōu)化工況判別模型的結(jié)構(gòu)參數(shù),而不是依賴于小區(qū)間范圍內(nèi)的人工試驗與經(jīng)驗選擇;
(3)本研究基于改進(jìn)的注意力機(jī)制模型實現(xiàn)了對核動力系統(tǒng)參數(shù)變化趨勢的長時間、多參數(shù)的有效并行預(yù)測。
核動力系統(tǒng)運(yùn)行數(shù)據(jù)來源于全范圍核動力仿真機(jī)計算[8],共包含10 種類型的運(yùn)行工況從開始至結(jié)束記錄的24 個熱工水力參數(shù)變化,具體如表1 所示。
表1 數(shù)據(jù)集參數(shù)說明Table 1 Data set parameters
為了尋找工況判別模型的最優(yōu)特征子集,剔除數(shù)據(jù)集中的冗余特征,降低模型復(fù)雜度、避免訓(xùn)練中的過擬合風(fēng)險,搭建神經(jīng)網(wǎng)絡(luò)模型前數(shù)據(jù)預(yù)處理中需進(jìn)行特征選擇??梢悦枋鰹椋杭僭O(shè)N個特征組成集合XN={Xi},依據(jù)目標(biāo)函數(shù)F,選取特征子集Y,使得F(Y) ≥F(T),T為X的任意子集。特征選擇的方法主要有封裝器法、過濾器法和嵌入法。首先利用皮爾遜系數(shù)(Pearson)對特征進(jìn)行過濾。Pearson 系數(shù)用于度量兩個變量之間的相關(guān)程度,介于 -1與1 之間,計算見式(1),繪制計算結(jié)果如圖2所示。
圖2 數(shù)據(jù)集原始特征相關(guān)性分析Fig.2 The correlation analysis of the data set original features
從圖2 可以看出,熱功率與電功率、SG 蒸汽出口流量三個特征之間彼此的Pearson 值均為1,有著強(qiáng)烈的線性關(guān)系,故僅保留熱功率特征;SG 出口蒸汽溫度與二次側(cè)壓力的相關(guān)系數(shù)為1,舍去SG 蒸汽出口溫度特征。
之后利用封裝器法對特征的重要性進(jìn)行簡單評估,隨機(jī)森林利用隨機(jī)重采樣技術(shù)(Bootstrap Aggregating),采用抽放放回的方法選擇n(n<N,N為樣本總數(shù))個樣本作為訓(xùn)練集數(shù)據(jù)基于CART 算法構(gòu)建k棵決策樹。假設(shè)特征X j的基于分類準(zhǔn)確率的變量重要性度量為,使用袋外數(shù)據(jù)(OOB)方法計算,基于決策樹模型的隨機(jī)森林集成算法對不同特征的重要性進(jìn)行排序[9],算法結(jié)構(gòu)如表2 所示,計算結(jié)果如圖3 所示。
表2 特征重要性排序算法結(jié)構(gòu)Table 2 The structure of feature importance ranking algorithm
特征Xj的特征重要性度量的計算公式為式(2),對應(yīng)特征加入隨機(jī)噪聲后,OOB 數(shù)據(jù)的準(zhǔn)確率下降越明顯,則該值越大,表明該特征對模型的影響很大,其重要性更高。
從圖3 中可以看出,不存在重要性度量指標(biāo)明顯過小的特征,為保證判別模型對工況的識別精度盡可能高,對剩余特征不再舍去。
核動力裝置系統(tǒng)復(fù)雜,監(jiān)測變量多,各個運(yùn)行工況下啟停階段熱工參數(shù)的差異并不明顯,因此不同工況下的數(shù)據(jù)映射在張量空間中無法避免地分布緊密或存在交集,傳統(tǒng)的支持向量機(jī)(SVM)、決策樹(RF)、貝葉斯(NBM)、BP 網(wǎng)絡(luò)等由于算法設(shè)計的限制,只能處理一維數(shù)據(jù),因此其對運(yùn)行工況的判別只能采用某一時刻的運(yùn)行數(shù)據(jù),針對復(fù)雜數(shù)據(jù)集在理論上無法達(dá)到較高的識別準(zhǔn)確率。
為了克服上述問題,本研究基于能夠有效提取運(yùn)行數(shù)據(jù)時間維度信息的LSTM(改進(jìn)循環(huán)網(wǎng)絡(luò))模型從根本上克服傳統(tǒng)算法單點(diǎn)診斷的弊端,利用多參數(shù)的時序趨勢進(jìn)行工況判斷。LSTM 模型通過引入狀態(tài)變量存儲過去一段時間內(nèi)的熱工參數(shù)變化趨勢信息,并用其與當(dāng)前時刻的參數(shù)共同決定當(dāng)前的運(yùn)行工況狀態(tài)輸出。
式中:模型的W與b為同一套權(quán)重與偏置矩陣,通過梯度下降法迭代更新。
LSTM 模型內(nèi)部節(jié)點(diǎn)的計算結(jié)構(gòu)如圖4 所示,當(dāng)前t時刻的熱工參數(shù)Xt與輸出tY的計算如式(3)所示。核動力系統(tǒng)運(yùn)行工況判斷模型的結(jié)構(gòu)如圖5 所示,其由一層LSTM 層與兩層前饋層構(gòu)成,該模型輸入的數(shù)據(jù)為三維張量[batch_size,seq_len,features_nums],三個維度分別表示數(shù)據(jù)批次大小、時間序列長度與運(yùn)行參數(shù),取LSTM 層輸出的最后一個時刻的參數(shù)傳至前饋層,經(jīng)兩層前饋層與sigmoid 激活函數(shù)非線性映射后,輸出的數(shù)據(jù)形狀為[batch_size,kinds_nums],第二個維度表示工況的類別數(shù),再經(jīng)過softmax 函數(shù)轉(zhuǎn)化為概率分布。訓(xùn)練使用one-hot 編碼將離散標(biāo)簽的均勻等距地擴(kuò)展到向量空間,損失函數(shù)使用交叉熵。
圖4 LSTM 網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)計算過程Fig.4 The calculation process of internal nodes in the LSTM network
圖5 核動力系統(tǒng)運(yùn)行工況判別模型結(jié)構(gòu)Fig.5 The structure of operating condition identification model for nuclear power system
為了提高模型判別工況的準(zhǔn)確率,首先對模型輸入選擇的不同時間步長下的識別結(jié)果進(jìn)行比較,結(jié)果如圖6 所示,最終選擇LSTM 層輸入的時間序列長度seq_len=15。
圖6 模型輸入時間步長搜索結(jié)果Fig.6 Search results of different model input time steps
之后對判別模型的內(nèi)部結(jié)構(gòu)進(jìn)行優(yōu)化,常見的方法有網(wǎng)格搜索、隨機(jī)搜索與貝葉斯優(yōu)化,后兩種方法對比網(wǎng)格搜索在計算速度方面占有優(yōu)勢,但無法取得最優(yōu)結(jié)果,故采用網(wǎng)格搜索算法在指定的參數(shù)范圍內(nèi),對LSTM 層的隱藏層節(jié)點(diǎn)與中間前饋層節(jié)點(diǎn)數(shù)進(jìn)行搜索,搜索空間共包含225 種網(wǎng)絡(luò)結(jié)構(gòu),得到的搜索結(jié)果如圖7 所示,最終選擇模型網(wǎng)絡(luò)中間兩層的節(jié)點(diǎn)數(shù)分別為22 與21,優(yōu)化前后模型對運(yùn)行工況的判別準(zhǔn)確率由0.90 提高至了0.99 以上。
圖7 模型結(jié)構(gòu)搜索結(jié)果Fig.7 Search results of different model structures
訓(xùn)練完成后,對于新輸入數(shù)據(jù),模型計算時間在毫秒級,測試工況上的判別輸出結(jié)果與真實結(jié)果對比展示如圖8 所示,工況類型1~10 如表1 所示??梢钥闯鼋⒌哪P蛯\(yùn)行工況識別的準(zhǔn)確率獲得了較大的提升。極小部分的判別錯誤集中于各運(yùn)行工況開始發(fā)生的極短時間內(nèi),主要是由于各種運(yùn)行工況在最初發(fā)展階段的運(yùn)行參數(shù)差異過小造成的。
圖8 運(yùn)行工況判別模型診斷結(jié)果混淆矩陣Fig.8 The output confusion matrix of the operation condition identification model
幾種經(jīng)典算法對相同測試工況的識別結(jié)果比較如表3 所示,同時考慮到核動力系統(tǒng)實際運(yùn)行中監(jiān)測系統(tǒng)的傳感器不可避免地會產(chǎn)生隨機(jī)測量誤差,對測試數(shù)據(jù)引入隨機(jī)噪聲,表3展示了各個模型的工況判別準(zhǔn)確率并未由于噪聲數(shù)據(jù)引入而顯著降低,表明了深度學(xué)習(xí)模型在工況判別中良好的泛化能力。
表3 不同模型對運(yùn)行工況判別的準(zhǔn)確率Table 3 The accuracy of different models in distinguishing
以歷史運(yùn)行數(shù)據(jù)預(yù)測未來運(yùn)行參數(shù)變化是序列數(shù)據(jù)預(yù)測(Sequence Prediction)問題。常用的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)隨著時間長度的增加,訓(xùn)練過程中梯度累計爆炸或消失[10]導(dǎo)致無法使用。本研究基于完全注意力機(jī)制(Transformer)模型對參數(shù)變化趨勢進(jìn)行預(yù)測,解決核動力系統(tǒng)運(yùn)行參數(shù)變化趨勢長時間捕捉的超前感知問題。
Transformer 模型的核心在于計算注意力[11](Attention),如式(4)所示,模型的整體結(jié)構(gòu)由編碼-解碼器(Encoder-Decoder)兩部分[12]組成,在鍵張量(key,K),值張量(value,V)中引入查詢張量(query,Q),計算過程為使用Q張量計算它和每個K點(diǎn)積的相似度作為權(quán)重,對所有的V進(jìn)行加權(quán)求和,防止點(diǎn)積計算結(jié)果過大導(dǎo)致梯度消失。解碼器選擇性地獲得編碼器的隱藏狀態(tài)信息。對比RNN 類模型,針對時序信息,Transformer 類模型在時間維度上解決了學(xué)習(xí)長期依賴性的挑戰(zhàn)。
式中:X——運(yùn)行時序數(shù)據(jù);
WK,WQ,WV——權(quán)重張量,在訓(xùn)練過程中迭代;
d——特征列數(shù)。
針對長時序數(shù)據(jù)處理問題對模型做出了部分改進(jìn)[13]。為了減小參數(shù)量,避免訓(xùn)練過擬合,通過在網(wǎng)絡(luò)內(nèi)部層之間疊加由一維卷積層與最大池化層組成的Distilling 模塊對時間序列的時間維度長度進(jìn)行降維,提取長時間序列輸入數(shù)據(jù)的特征,如式(5)。
循環(huán)網(wǎng)絡(luò)類預(yù)測模型是動態(tài)輸出的,過去時刻的輸出作為當(dāng)前時刻的輸入,按步迭代,依次向前滾動預(yù)測;本研究預(yù)測模型采用待預(yù)測序列之前的一個序列一步直接生成所有的預(yù)測結(jié)果[14],避免了RNN 類模型的預(yù)測誤差累積,同時加快了預(yù)測速度。
運(yùn)行參數(shù)預(yù)測模型結(jié)構(gòu)及數(shù)據(jù)維度的變化如圖9 所示,Encoder 的子模塊之間采用串聯(lián)計算,其內(nèi)部多個注意力模塊同時并行計算,增大模型寬度;時間序列數(shù)據(jù)輸入到Encoder 與Decoder 前都需經(jīng)過embedding 編碼操作,由輸入數(shù)據(jù)自身編碼、對應(yīng)時間序列([日,時,分,秒])編碼及位置編碼三部分相加構(gòu)成,由于預(yù)測模型中數(shù)據(jù)一起并行計算,丟失了時序信息,所以對數(shù)據(jù)必須進(jìn)行位置編碼,如式(6)所示。同時,區(qū)別于Encoder 輸入,Decoder 的輸入數(shù)據(jù)中的被預(yù)測部分X0需用0 替換覆蓋,即mask 操作。Attention 層計算后通過使用網(wǎng)絡(luò)的殘差連接結(jié)構(gòu)與每一個樣本上的歸一化操作,解決訓(xùn)練過程中由于多層堆疊造成的梯度消失問題。Decoder 同時接收自身mask 后的數(shù)據(jù)與Encoder 的輸出,Decoder 運(yùn)算后再經(jīng)前饋層映射一步輸出結(jié)果,損失函數(shù)為均方誤差。
圖9 參數(shù)預(yù)測模型結(jié)構(gòu)Fig.9 The structure of the parameter prediction model
式中:pos——序列中的位置編號;
dmodel——位置向量的維度,數(shù)值為512。
以預(yù)測SGTR 事故為例,冷卻劑由傳熱管破口位置流向二回路側(cè),穩(wěn)壓器水位與壓力降低補(bǔ)償一回路的壓力損失。選取事故進(jìn)行中的時刻T0與T1,使用過去192 與384 個時間步的歷史數(shù)據(jù)預(yù)測之后穩(wěn)壓器壓力48 與96 個時間步內(nèi)的變化趨勢,多種模型計算用時均在毫秒級,超前預(yù)測的標(biāo)準(zhǔn)化結(jié)果對比如圖10 與圖11 所示。
圖10 T0 時刻預(yù)測48 個采樣步長的穩(wěn)壓器壓力變化Fig.10 The pressure change of regulator with 48 sampling steps predicted at T0
圖11 T1 時刻預(yù)測96 個采樣步長的穩(wěn)壓器壓力變化Fig.11 The pressure change of regulator with 96 sampling steps predicted at T1
對比分析可知,RNN、GRU 等幾種循環(huán)神經(jīng)網(wǎng)絡(luò),在初始的5 個采樣步長內(nèi)對穩(wěn)壓器壓力的預(yù)測精度較高,但對于長時間序列下的熱工參數(shù)變化趨勢無法預(yù)測;BP 網(wǎng)絡(luò)能夠粗略預(yù)測長時間序列下的變化趨勢,但由于模型的動態(tài)輸出機(jī)制導(dǎo)致誤差不斷累加,整體的預(yù)測誤差很大;注意力機(jī)制模型可以較為準(zhǔn)確地預(yù)測穩(wěn)壓器壓力的長期變化趨勢,在比較的幾種模型中效果最好。
由于不同工況下的進(jìn)程和事故序列不同,選擇另外幾種運(yùn)行工況發(fā)展下的預(yù)測繼續(xù)驗證模型。由圖12 所示,基于數(shù)據(jù)驅(qū)動的神經(jīng)網(wǎng)絡(luò)模型能夠很好學(xué)習(xí)到數(shù)據(jù)的統(tǒng)計分布規(guī)律,對不同的運(yùn)行工況依然適用,泛化性很好。由于受所使用訓(xùn)練數(shù)據(jù)集的影響,在準(zhǔn)確捕捉變化趨勢的前提下,預(yù)測結(jié)果出現(xiàn)極值小波動問題還存在不足,需進(jìn)一步改進(jìn)模型與實驗對比觀測。
圖12 幾種不同的運(yùn)行工況下堆芯熱功率值預(yù)測Fig.12 The core thermal power prediction under several different operating conditions
本研究提供了一種基于數(shù)據(jù)驅(qū)動的運(yùn)行工況實時識別與超實時感知的通用方法。在通過特征選擇實現(xiàn)數(shù)據(jù)降維的基礎(chǔ)上,兩種模型的計算時間均在毫秒數(shù)量級,滿足工程應(yīng)用中實時判別與預(yù)測的要求,可為運(yùn)行人員提供全流程的運(yùn)行工況識別輔助與運(yùn)行參數(shù)變化趨勢超前感知,降低人因失誤概率,為核動力系統(tǒng)的自主運(yùn)行與控制技術(shù)提供參考。本研究的進(jìn)一步工作方向主要為算法的集成開發(fā)。