王 端,王威策,潘翠杰,王東東
(1.核工業研究生部,北京 102413;2.核工業西南物理研究院,四川 成都 610041;3.中國原子能科學研究院,北京 102413)
壓水堆核電站堆芯換料設計與核電廠的經濟性和安全性密切相關,一個優選的堆芯裝載方案,可較好地展平堆芯功率分布,增加卸料燃耗深度,延長堆芯換料周期,從而提高燃料利用率和核電廠安全性。堆芯優化裝載方案的搜索是一項十分費時費力的工作,目前國內工程設計單位通常采用手工搜索的做法。隨著中國核電迅速發展,核電運行機組增多,欲在短時間內優選換料方案,換料工程師將承受較大的壓力和困難。因此,研發高效實用的堆芯換料設計軟件具有很高的工程應用價值和實際意義。
壓水堆堆芯換料設計是在眾多換料方案中選擇最優換料方案,本質上是屬于多變量、非線性的動態優化問題,現代數學理論已證明這類問題是NP-難問題[1-2]。目前,國內外已圍繞該問題利用各種優化方法開展了大量的研究,主要分為確定性優化方法——線性規劃、非線性規劃、動態規劃、直接搜索、專家系統等[3-4],以及隨機優化算法——模擬退火算法、遺傳算法、粒子群算法等[5-10]。但迄今為止,尚無快速搜索出全局最優解的通用方法。其中1個主要的困難是,在每種換料方案下,堆芯參數的取得需調用專用的物理和熱工耦合程序,計算量大、耗時多。如果能開發出快速預測壓水堆堆芯參數的程序,對于節約最優方案的搜索時間,具有非常重要的意義。
另一方面,核電廠在正常運行和運行瞬變中,堆芯的運行工況處于經常變化的狀態(如負荷追隨運行),這些變化導致實際運行中的堆芯狀態與裝料方案中的計算結果發生偏離,操縱員需及時準確地了解堆芯功率因子等參數狀況。因此,研制一種能快速判斷壓水堆堆芯參數的計算機實時預測程序也是十分必要的。
在20世紀90年代,研究者開始使用各種人工智能算法進行堆芯參數的預測。Kim等[11]開發出了基于BP(back propagation)人工神經網絡的高麗一號壓水堆堆芯參數預測程序,且相對誤差在10%以內,引起了后續研究者的興趣[12]。BP人工神經網絡是一種無反饋前向網絡[13],一般由輸入層、隱含層和輸出層構成。作為人工神經網絡的重要模型之一,BP神經網絡能將給定的輸入輸出數據對中的映射關系經過訓練學習得到,對于未學習過的數據依然能做出非常不錯的預測,理論上具有實現任何復雜非線性映射功能的特點,因而成為較成功的預測方法。但網絡本身存在一些缺點需進一步改進,包括神經元節點數難以確定、傳統梯度下降算法效率不高等,這也是本次工作的重點。
綜上所述,基于BP神經網絡的預測方法能快速準確地獲得核電廠堆芯換料關鍵參數,減少最優換料方案的搜索時間,是一個具有重大研究意義的課題。但傳統的BP神經網絡存在一些問題,影響了預測的精度。本文基于秦山二期壓水堆堆芯參數預測問題,在傳統神經網絡上引入自適應方法,通過調整學習率、權重和網絡節點數,得到優化的網絡結構,提高預測精度,旨為人工智能在核工業領域的進一步應用做出探索。


對于隱含層的第j個節點有:
(1)
(2)
對于輸出層的第j個節點有:
(3)
(4)
然后定義1個損失函數E:
(5)
式中,di為輸出層第i個節點期望輸出。

圖1 神經網絡結構、參數示意圖Fig.1 Schematic diagram of neural network structure and parameter
傳統的BP神經網絡的學習過程就是以降低損失函數E為目標,不斷調整輸入、輸出層的權值w,令期望輸出和實際輸出靠近的迭代過程。這是一個優化問題,通常采用梯度下降算法來優化權值。梯度下降算法使用如下公式:
(6)
式中:n為迭代次數;ε為固定學習率,ε的取值對算法的收斂性和收斂速度有較大的影響。
傳統的BP網絡結構簡單,工作方式穩定,理論上可實現高精度非線性擬合,對于簡單分類、非線性映射、模式識別等問題有一定的應用空間[14]。但傳統BP神經網絡也有幾個較為明顯的不足,包括易陷入局部極值、學習率不可調、隱含層節點數難以確定及訓練效果嚴重依賴樣本數量等。下面的研究運用了一些優化策略,令網絡通過自適應調整一定程度上避免了上述缺陷。
1) 輸入與輸出向量的確定
BP神經網絡需將原始數據轉化為標準的訓練集。假設有N個訓練樣本,則每個訓練樣本應為Tk=(Xk,Yk)(k=0,1,2,…,N-1),其中,Xk=[xk1,xk2,…,xki],Yk=[yk1,yk2,…,ykj],式中,i、j分別為輸入、輸出維度。
現有1 000組秦山二期壓水堆1/8對稱排布的反應堆堆芯數據,是通過方形組件堆芯燃料管理程序系統CMS計算得出,精度較高。每組數據樣本由堆芯排布方式與3個堆芯參數(有效增殖因數keff、組件功率峰因子RPF、棒功率峰因子FΔH)組成。輸入維度由反應堆堆芯排布決定,輸出維度為堆芯參數。反應堆堆芯排布如圖2所示。圖中每個方形位置代表1個燃耗組件,燃耗組件分為A、B、C、D 4種,分別代表新燃料燃耗組件、1次、2次、3次燃料燃耗組件,燃耗組件不可為空。共有21個組件,所以輸入維度為21。

圖2 堆芯燃耗組件排布示意圖Fig.2 Schematic diagram of core burnup assembly layout
將裝載方式轉換為向量。為保證歸一化以及形式上的對稱,在[-1,1]取等間距的4個點,用-1表示A,-1/3表示B,1/3表示C,1表示D,組件讀入順序為先從上到下,再從左到右。以圖2為例,輸入向量X=[-1,1/3,-1,1/3,1,1,-1,-1,-1/3,1,1,-1/3,-1,1,1/3,-1/3,-1/3,-1,1,-1,-1]。為保證精度,訓練時分別用3套獨立的網絡預測3個參數,因此輸出維度為1。
2) 數據集分類
原始數據樣本的排布具有一定的規律性,局部特征較為明顯。為避免網絡過多地學習局部特征(噪聲),每次訓練開始前均對1 000個數據隨機打亂順序,得到1個重新隨機排列的數據集A,A=[[X0,Y0],[X1,Y1],[X2,Y2],…,[X999,Y999]]。
取A的前970組數據構成1個訓練集T,最后30組構成測試集B。再抽取T中的前30組數據構成1個對照集C。網絡訓練過程中只有訓練集T參與網絡訓練,測試集B只用于預測和誤差分析。對照集C參加訓練,樣本數量與測試集B相同,其功能為分析過擬合程度。網絡訓練過程中將會對比測試集B與對照集C的預測結果從而監視過擬合情況。
BP神經網絡的算法流程如圖3所示。

圖3 BP神經網絡算法流程圖Fig.3 Algorithm flow chart of BP neural network
整個網絡的搭建基于python上的開源框架tensorflow。
1) 權重、偏置的初始化與激勵函數選取
由式(6),初始權重的值如果相同,初始輸入差別就會很小,為加速收斂,使用tensorflow內置的truncated_normal函數,產生[-2,2]范圍中服從標準正態分布的隨機值作為權重的初始值。
神經網絡的偏置一般設置為0.1~1[15],結合國外關于壓水堆的神經網絡研究[11]和數值實驗,設置偏置為b=0.1。
由于本次實驗的輸入向量歸一化后處于區間[-1,1],所以選擇映射到[-1,1]之間并且具有對稱性的tanh函數作為激勵函數。
2) 梯度下降算法的改進與自適應學習率優化器的選取
自適應學習率相對于固定學習率優勢明顯,其能根據損失函數的變化合理調整大小,加速搜索速度。tensorflow中優化器集成了梯度下降算法與權重更新的功能,通過實驗比較,在眾多優化算法中選擇損失函數最小且下降最快的AdamOptimizer算法。
AdamOptimizer是常規梯度下降算法的改進算法。AdamOptimizer的權重更新方式如下:
(7)

mt=β1mt-1+(1-β1)gt
(8)
(9)
(10)
(11)
(12)
(13)
式中:β1、β2為衰減速率,一般設置β1=0.9,β2=0.999;gt為梯度;lr0為初始學習率,實驗設置lr0=0.03。當mt與vt被初始化為0向量,則它們就會向0偏置,所以做了偏差校正,即式(10)、(11),從數學上來講,mt、vt實際就是梯度的一階、二階矩估計。
AdamOptimizer相較于傳統學習率固定的梯度算法,通過式(12)令學習率自適應變化,同時優化了梯度下降算法,令整體收斂效率相對傳統算法得到提升,并且提高網絡的預測精確性。
3) 隱含層神經元節點數的選取
隱含層節點數的選擇對于神經網絡的優化至關重要,隱含層節點數會直接影響網絡的性能。一個基本原則是,應選擇合理的隱含層節點數,使網絡的整體自由度與數據樣本數相當。選用AdamOptimizer,迭代8 000次,測試神經元數在70~400范圍內的誤差變化。每間隔10個神經元統計1次測試集30組數據樣本的平均相對誤差與最大相對誤差,如圖4所示。

圖4 神經元數-誤差曲線Fig.4 Curve of neuron number and error
從圖4可得,神經元數在[300,350]范圍內有較好的預測精度,根據網絡結構盡量緊湊的原則,選取神經元節點數為300。
4) dropout方法動態調整節點數
當模型復雜而訓練樣本數量不足時,網絡會在學習全局特征的同時也將局部特征或噪聲特性一起學習,出現過擬合,導致網絡失真、預測精度下降。在迭代次數8 000次的實驗條件下,每50次記錄對照集和測試集30組數據的平均相對誤差,分析過擬合情況,繪制成圖5。
從圖5可發現,迭代次數大于1 000次后,對照集與測試集的平均相對誤差出現了明顯的差距,兩個數據集之間結果的差距接近2%,出現過擬合現象。采用dropout方法降低過擬合危害。對于BP神經網絡,dropout方法在每次迭代優化器更新權重后,隨機將一部分神經元節點對應權重重置為0,實際達到了動態神經元節點的效果。dropout方法的優勢可總結為以下3點:1) 每次迭代時各神經元節點均與不同的神經元一起訓練,削弱了各神經元之間的耦合性,增強了網絡的泛化;2) 增強了數據的特征提高了網絡的稀疏度;3) 每個神經元沒有百分百參與學習,使得節點不會過度學習。實驗中設置dropout重置權重比率為20%,在其他條件與圖5實驗條件一致的情況下,重新進行實驗,繪制曲線示于圖6。

圖5 過擬合下測試集、對照集誤差對比Fig.5 Error comparison of test set and contrast set under overflow

圖6 dropout修正后測試集、對照集誤差對比Fig.6 Error comparison of test set and contrast set after dropout modification
由圖6可明顯看到對照集與測試集的平均相對誤差曲線相對于圖5有了很大的接近。測試集與對照集的差距在1%左右,相對于不使用dropout的方法差距縮小了60%以上,說明dropout方法有效地改善了過擬合現象。
對3個參數的預測情況進行了數值實驗,結果列于表1。實驗條件設置為迭代次數為8 000次,初始學習率為0.03,神經元節點數為300。獨立重復進行10次實驗,統計測試集30組數據樣本的預測結果與原始數據對比后的最小相對誤差、最大相對誤差、平均相對誤差(MRE)、均方誤差(MSE),以及相對誤差小于1%的樣本數與相對誤差大于5%的樣本數。MSE與MRE由下式給出:
(14)
(15)
式中:fi為預測值;yi為實際值;n為樣本數量。MSE與MRE越小,預測效果越好。
從表1發現,每個參數的平均相對誤差均小于2%,均方誤差均小于0.003,最大相對誤差在5%附近,說明預測誤差小、精度較高。圖7統計了3個參數的誤差分布情況,84%的數據相對誤差均在2%以下,說明預測可靠性較高。

表1 誤差分析Table 1 Error analysis

圖7 誤差分布餅圖Fig.7 Pie chart of error distribution
本文運用新型人工智能方法——BP神經網絡方法,通過自適應調整網絡結構和參數,相對于傳統方法,快速準確地預測了秦山二期壓水堆堆芯燃料換料3個關鍵參數,其結果可推廣至任意堆芯堆型、任意關鍵參數預測。該方法不需特定領域的專業知識,只要有足夠多的數據,即可實現精度較高的快速預測,有很好的應用前景。在核工業領域,對于神經網絡方法的理論研究和應用拓展,還需進一步進行研究。