周桂, 王航, 彭敏俊
(哈爾濱工程大學 核安全與仿真技術重點學科實驗室,黑龍江 哈爾濱 150001)
核電站作為一個復雜非線性系統,當系統發生故障時,系統參數變化復雜,大量的數據信息會導致操作員難以及時、準確地進行決策。早期的核電站檢測和診斷主要通過專家知識判斷,然而該方法嚴重依賴專家經驗,分析精度和穩定性較差[1]。隨著人工智能技術的高速發展,為了提升分析的精度和穩定性,減少人為因素的影響,人工智能技術被應用于核電站的檢測和診斷[2]。基于人工智能技術的故障檢測和診斷方法已在核電站基準事故分類[3]、典型故障狀態診斷[4]、時間序列分類[5]、故障程度預測[6]等方面開展了廣泛研究。研究結果表明,基于人工智能的故障診斷技術具有較高的分析精度和效率。然而,在構建人工智能模型時,為了滿足分析需求,仍需要進行大量的超參數選擇。現階段常用的超參數選擇方法主要有:人工經驗法、隨機搜索法和網格法[7],但其難以滿足高精度快速建模需求。為了彌補不足,群體智能優化算法被應用于機器學習超參數優化領域。常見的算法有粒子群算法(particle swarm optimization algorithm,PSO)和遺傳算法(genetic algorithm, GA)等。GA自身的超參數選擇對精度影響很大且分析結果穩定性較差[8]。因此本文采用PSO方法進行超參數優化。PSO受初始值影響較大并且容易陷入局部最優[9]。為了彌補該缺陷,本文提出了一種改進的粒子群優化算法(improved particle swarm optimization algorithm, IPSO)。該算法通過動態調整慣性權重因子及融合變異算法提升優化效果。
為了準確評估當前超參數下模型的泛化性能。本文采用交叉驗證的方法對模型泛化性能進行驗證。交叉驗證法包括簡單交叉驗證、K折交叉驗證、留一法交叉驗證(leave-one-out cross validation, LOOCV)等[10]。簡單交叉驗證簡單直觀,計算成本較低。然而,該方法對劃分方式和樣本選擇敏感。K折交叉驗證可以減少因單次劃分而引入的隨機性和偏差,對于評估模型的泛化能力和選擇最佳超參數組合具有較好的效果。LOOCV是一種特殊的K折交叉驗證,在數據樣本容量較小時具有更好的效果[11]。由于核電站具有故障數據少、運行數據敏感的特點,因此本文采用LOOCV分析模型泛化性能。
本文提出了一種基于IPSO和留一交叉驗證法的深度學習超參數選擇方法。以核電站冷卻劑系統失水事故為研究對象,通過IPSO和LOOCV結合的方法確定了基于混合神經網絡的LOCA破口程度評估模型的超參數。為了驗證該方法的有效性和適用性,利用測試函數對IPSO與經典的PSO算法進行測試。在此基礎上,將LOOCV與簡單交叉驗證方法進行對比。并利用35%破口尺寸對模型進行測試驗證。
PSO是一種基于種群迭代搜索的自適應優化算法。隨機初始化N個粒子,每個粒子都是搜索空間中待求解問題的一個潛在解。每次迭代完采用個體最佳值pb和全局最佳值gb更新粒子的速度和位置[12]。假設在d維搜索空間中有N個粒子,第i個粒子在迭代t處的速度v和位置x分別為:
vi(t)=[vi1(t)vi2(t) …vid(t)]T
(1)
xi(t)=[xi1(t)xi2(t) …xid(t)]T
(2)
在迭代t處粒子的個體最佳值p和全局最佳值g為:
pbi(t)=[pi1(t)pi2(t) …pid(t)]T
(3)
gb(t)=[g1(t)g2(t) …gd(t)]T
(4)
在t+1代時,粒子的位置和速度更新為:
vi(t+1)=wvi(t)+c1r1(pbi(t)-xi(t))+
c2r2(gb(t)-xi(t))
(5)
xi(t+1)=xi(t)+vi(t+1)
(6)
式中:w為慣性權重因子;c1和c2是學習因子;r1和r2是均勻分布在[0,1]隨機變量;t為當前時刻的迭代次數。
為了提升超參數優化的效率和精度,本文以標準粒子群優化算法(standard particle swarm optimization algorithm,SPSO)為基礎,提出了一種IPSO方法。本文針對經典粒子群算法受初值影響較大,容易過早收斂和易于陷入局部最優等缺陷,提出了慣性權重因子非線性調整、粒子柯西變異的改進策略。
為了解決粒子群算法早熟的問題,本文采用非線性動態調整策略,慣性權重變化為[13]:
(7)
式中:M為最大迭代次數;wstart與wend與分別為慣性權重的初始值和最終值,通常情況下為0.9和0.4;k為控制因子,常用值為3。
相比于線性慣性權重變化方案,該策略更加符合實際迭代過程,能夠有效提高算法的收斂性。本文在SPSO的基礎上融合了遺傳算法(genetic algorithm,GA)的變異操作,以一定的概率對粒子進行柯西變異[14]:
xi=xi+η·C(0,1)
(8)
式中:η為一個控制變異步長的常數;C(0,1)是一個由柯西分布函數產生的隨機數。
在機器學習中,LOOCV使用原始樣本中的單個觀察值作為驗證數據,其余觀察值作為訓練數據[15]。重復此操作,直到樣本中的每個觀察值均用作驗證數據。由于每個樣本均作為驗證集進行驗證,因此模型具有更好的分析性能。LOOCV的步驟如圖1所示。對于包含N個樣本的數據集,其將訓練集分為N個大小相等的部分。當訓練集的一部分都被視為驗證集,剩余的N-1個部分被認為是新的訓練集。對建立的N個模型,進行逐個驗證。對于每個驗證集,將模型的預測結果與真實標簽進行比較,通過對比性能指標完成模型性能評估。最后,根據模型在留一交叉驗證中的性能表現,選擇最佳的超參數設置。

圖1 留一交叉驗證法原理Fig.1 The principle of the leave-one-out cross verification
為了使得預測模型更加接近核電站實際運行情況,本文利用多個關鍵參數在事故初期的變化趨勢作為神經網絡的輸入數據。基于該需求,預測模型需要能夠處理高維度問題,并且具有空間和時間數據特征提取的能力。因此,針對該問題本文采用CNN與長短期記憶(long short term memory,LSTM)相結合的混合神經網絡進行故障程度評估模型建模。該混合神經網絡的模型示意圖如圖2所示。

圖2 混合神經網絡示意Fig.2 The diagram of the hybrid neural network
其中CNN具備局部連接、權值共享和不變性3個主要特征。相對于傳統的全連接神經網絡,采用局部連接的CNN具備更強的局部特征提取能力。權值共享有效地降低了網絡的復雜程度,提高了網絡分析效率。不變性使得CNN在處理變形數據時有很強的適應性[16]。為了進一步提升網絡對時間相關信息的捕捉,本文將LSTM網絡與CNN網絡進行混合。LSTM是一種先進的循環神經網絡,能夠有效處理數據之間的事件相關性[17]。相對于傳統的遞歸神經網絡,LSTM能夠更好地處理長時間序列問題,不容易出現“梯度消失”和“梯度爆炸”。
輸入數據經輸入層進入卷積層提取數據局部特征和空間特性后,再在LSTM層中對數據之間的時間相關性進行處理。經過空間和時間相關性處理的數據經由全連接層進入輸出層并輸出預測結果。
為了實現在樣本數量較小的情況下,準確選擇合適的混合神經網絡超參數,構建高精度預測模型,本文提出了一種基于IPSO和LOOCV的超參數優化方法。為了提升整體建模效率,消除人為因素對建模過程的影響,該方法首先通過IPSO方法對混合神經網絡的超參數空間進行搜索優化。在此基礎上,使用LOOCV對每個超參數組合進行模型性能評估。最后,根據評估結果確定混合神經網絡的一組最優的超參數。主要包括以下幾部分內容:
1)數據集構建。
對于發生頻次較高的故障或者事故,充足的運行數據能夠為深度學習預測模型建模提高足夠的支持。然而,類似LOCA等事故發生頻率很低,數據集樣本數量十分有限。由于核電運行數據的保密性和事故數據的有限性,常用系統仿真模擬數據代替實際電廠運行數據進行研究。因此本文利用仿真模型生成有限樣本數據,以驗證該方法在核電站有限樣本情況下進行機器學習模型超參數優化的能力。本文研究的輸入數據存在較大的量級差距,為了避免出現“奇異現象”,數據需要進行歸一化處理,為后續深度學習模型建模做準備。
2)深度學習模型建模。
本文基于pytroch深度學習模塊完成了CNN-LSTM的混合神經網絡開發,網絡模型示意圖如圖2所示。本文設置了1個輸入層,2層CNN,3層LSTM,3個全連接層和1個輸出層。為防止深度學習模型出現過擬合現象,在3層LSTM層后均設置了dropout層[18]。
完成了深度學習模型架構搭建后需要選擇模型的損失函數,激活函數和優化函數。本文關注的評價指標為故障程度評估的精度和穩定性,因此采用均方誤差(mean-square error, MSE)作為損失函數。線性整流函數(rectified linear unit,ReLU)是本文混合神經網絡的激活函數。相比于其他常用的激活函數,該函數梯度平滑,適用范圍廣,分析效率較高。為了優化CNN-LSTM中的權重和偏置,使用自適應矩陣優化算法(adaptive moment estimation,ADAM)最小化損失函數的值[19]。該算法能夠避免隨機梯度下降分析中可能出現的不收斂現象,具備更平滑的優化效果。
3)深度學習模型優化。
由于隨機選擇的深度學習模型超參數難以具有較高的預測精度和穩定性,因此需要對超參數進行優化。本文優化的超參數為每個卷積層的卷積核數、每個LSTM層的節點數、每個全連接層的節點數、總迭代次數、批處理大小和初始學習率。針對這種高緯度、復雜非線性優化問題,本文采用IPSO進行分析。IPSO的優化目標為LOOCV計算的最小MSE,因此適應度函數為CNN-LSTM模型故障程度評估結果的MSE。首先,隨機初始化粒子的位置和速度,計算粒子適應度。判斷粒子當前位置是否滿足需求,如果滿足需求則直接結束計算,輸出超參數組合。如果不滿足則執行后續計算。根據式(5)和(6)更新粒子的位置和速度,計算每個粒子的適應度。重新對粒子位置是否滿足需求進行判斷,如果不滿足需求則繼續計算,直到滿足需求輸出對應超參數優化結果。
本文以系統仿真程序RELAP5仿真結果作為實驗數據,構建學習數據集。采用Sun的模型進行失水事故模擬[20]。該模型主要由反應堆堆芯、主泵、穩壓器、蒸汽發生器、安全殼、環路內部管道和應急堆芯冷卻系統等組成,能夠對LOCA進程進行準確的模擬。核電站作為一個復雜的非線性系統,LOCA進程中系統內部物理、熱工參數變化非常復雜。因此,不可能對LOCA進程中所有參數進行分析。本文參考文獻[21],選取18個LOCA進程中關鍵的運行參數進行分析。具體的關鍵參數清單如表1所示。

表1 關鍵運行參數清單Table 1 List of key operating parameters
LOCA發生后,主冷卻劑回路完整性破壞,大量冷卻劑從破口處快速噴放到安全殼。該過程會導致環路內部壓力和堆芯液位迅速降低,安全殼內部快速升壓。環路內部的壓力下降會觸發應急堆芯冷卻系統進而實現堆芯冷卻。堆芯液位的快速下降特別是堆芯裸露后,包殼峰值溫度會快速上升,進而威脅堆芯完整性。內部冷卻劑循環的平衡打破會導致各個環路冷卻劑溫度和流量的變化,影響相應環路的蒸汽發生器狀態。綜上,表1所示的18個關鍵參數與破口尺寸大小有明顯的相關性,選擇這些參數預測破口尺寸具有重要的研究意義。
核電站破口故障程度評估問題中,混合神經網絡模型中輸入數據由上述18個參數組成,每組輸入參數包含18個參數各自的一個時間序列。為了能夠捕捉相同時間內更多的數據信息,每0.1 s采集一次數據。本文根據LOCA發生后70 s的瞬態數據進行破口尺寸預測,因此每個輸入參數對應700個數據點。假設事故發生時,學習數據庫內部僅有破口尺寸為0、20%、40%、60%、80%、100%的事故數據。其中0為環路沒有破口的情況,100%為冷管段環路發生雙端剪切斷裂事故。為了說明故障后參數的變化情況,圖3示出了在6種不同破口尺寸下主冷卻劑回路壓力變化趨勢。當發生LOCA時,大量冷卻劑從破口處快速噴放到安全殼。該過程會導致主冷卻劑回路壓力迅速降低。破裂尺寸越大,變化速度越快,壓力值越低。

圖3 不同破口尺寸的主回路壓力Fig.3 Main circuit pressure for different break size
當各輸入數據之間數量級差距較大時,會出現“奇異現象”,嚴重影響建模的精度和效率。為了更有效地訓練神經網絡,需要對數據進行歸一化預處理。本文采用的Min-Max歸一化方法為:
(9)
式中:xi(t)為數據原始值;ximin(t)和ximax(t)為xi(t)的最小值和最大值;xi(t)′為歸一化后的數據。
為了驗證本文采用的CNN-LSTM混合神經網絡在破口尺寸預測上的優勢,將CNN-LSTM與CNN、LSTM的破口預測結果進行對比分析。由于深度學習模型的偏置和權重具有一定的隨機性,為保證預測結果具有更好的代表性,各模型在相同的超參數下進行了50次預測。圖4為各個模型在破口尺寸35%的50次故障程度評估結果。數據結果表明,LSTM評估精度最差,大部分評估結果都明顯偏離實際值。表2為各個模型的對比分析結果,CNN-LSTM相對于CNN和LSTM在評估精度上有明顯的提升。在評估穩定性上和CNN基本一致,明顯優于LSTM。

表2 破口尺寸35%預測對比分析結果

圖4 破口尺寸35%的50次預測結果Fig.4 50 predictions of the break size 35%
3.3.1 IPSO性能測試
為了全面評價IPSO的優化性能,本文選擇Sphere和Griewank測試函數對IPSO進行測試[22]。Sphere和Griewank的優化范圍分別為[-100,100]和[-600,600]。種群個數設置為15,最大迭代次數取300。利用SPSO和IPSO分別對2個10維測試函數獨立運行10次,測試函數的分析結果如表3所示。測試函數的尋優曲線如圖5所示,其中f為適應度值。

表3 測試函數優化數據Table 3 Test function optimization data

圖5 測試函數適應度Fig.5 Test function fitness
結果表明,IPSO在2個測試函數中均具有更好的尋優效果,其最優值和均值都明顯優于SPSO。由方差可知,IPSO的魯棒性同樣優于SPSO。SPSO的收斂速度較快,但會陷入局部最優且無法跳出。IPSO的自適應變異保證了種群的多樣性,并且采用動態調整慣性權重因子的手段,有利于粒子跳出局部最優。
3.3.2 驗證方法對比分析
為了準確評估LOOCV在小樣本條件下評估機器學習模型泛化性能的效果,本文利用IPSO對CNN-LSTM模型進行超參數優化,并分別用LOOCV和簡單交叉驗證進行模型泛化性能評估。為了保證預測結果具有廣泛的代表性,每種模型在確定的超參數下進行50次預測。圖6為模型在破口尺寸為35%的盲例下預測50次的結果。表4介紹了LOOCV和簡單交叉驗證的對比結果。數據結果表明,采用LOOCV方法評估選取的超參數組合具有更好的預測精度和穩定性。特別是預測過程中明顯減少了“奇異值”的出現,為破口尺寸預測提供了更加可信的預測結果。

表4 不同驗證方法分析結果Table 4 The results under different verification methods

圖6 不同驗證方法的50次預測結果Fig.6 50 prediction results using different validation methods
3.3.3 IPSO-LOOCV超參數優化結果分析
完成了前序分析后,本文采用IPSO-LOOCV對混合神經網絡模型進行超參數優化。為了驗證該方法的先進性,選擇SPSO-LOOCV方法進行對比。表5展示了2種方法的超參數優化結果。

表5 超參數優化結果Table 5 Hyperparameter optimization results
為了驗證IPSO對超參數優化的合理性,利用破口尺寸為35%進行測試。圖7為2種方案的預測結果。表6分析了各算法預測精度和穩定性。數據結果表明,IPSO-LOOCV相對于SPSO-LOOCV在各項評價指標上均有一定的優勢,因此IPSO-LOOCV方法確定的超參數具有更好的預測效果。

表6 不同超參數預測精度對比表

圖7 不同超參數破口尺寸35%預測結果Fig.7 35% prediction results of fracture sizes with different hyperparameters
1) 采用CNN-LSTM的混合神經網絡進行核電站故障程度評估,相對于傳統的LSTM和CNN具有更高的預測精度。預測穩定性與CNN一致,明顯優于LSTM。
2) 本文所提出的IPSO算法能夠很好地平衡粒子全局搜索和局部搜索能力。測試函數的結果表明,IPSO相對于傳統PSO方法分析精度和穩定性有明顯的提升。
3) 采用LOOCV方法進行超參數優化驗證能夠將預測精度由95.13%提升至97.61%。LOOCV方法相對于簡單交叉驗證方法在深度學習模型超參數優化過程中具有明顯的優勢。
4) 破口尺寸35%的測試結果驗證了本文提出的IPSO-LOOCV方法在混合神經網絡超參數優化上的有效性和可行性。這為進一步提高混合神經網絡的預測精度和泛化能力提供了有力指導。