蔡起衡,李光海,王 強,曹邏煒
(1. 中國計量大學質量與安全工程學院,杭州 310018; 2. 中國特種設備檢測研究院,北京 100029)
不銹鋼因其優越的耐熱、耐腐蝕以及力學性能,被廣泛應用于核電、石化、建筑等行業。但在工程應用中,由于部分不銹鋼設備長期處于惡劣的工作環境,其腐蝕失效引發的安全事故時有發生,尤其是破壞性大且易被忽視的應力腐蝕開裂(SCC)問題[1]。SCC是指材料在應力和環境聯合作用下的失效開裂,SCC形成極其復雜且易突發,通常在沒有明顯跡象的低應力狀態下發生,會造成災難性的后果[2]。因此,研究并預測SCC具有重要意義,其結果能夠警示企業采取相應的安全措施,減少事故發生,保衛國民生命和財產安全。
從20世紀60年代起,SCC逐漸成為國內外學者研究不銹鋼材料的重要方向,相較于基于裂紋擴展機理提出的模型,如滑移氧化膜破裂模型、形變/氧化交互作用模型、耦合環境斷裂模型等[3],機器學習憑借其無需確切的物理模型、無需厘清各因素間的復雜關系等優點,成為SCC預測方法新的選擇,有著良好的發展前景。
目前,機器學習雖已被國內外大量學者應用于腐蝕預測。駱正山等[4]將灰色關聯分析(GRA)與隨機森林回歸算法(RFR)相結合,提出了基于GRA-RFR的油氣集輸管道內腐蝕速率預測模型;李易安等[5]將KPCA-ICS-ELM算法用于預測埋地管線土壤腐蝕深度;者娜等[6]提出KPCA-SVM模型,用于解決有限樣本數據下工藝管道腐蝕速率的預測問題。然而,關于應力腐蝕預測的研究仍較少,特別是SCC敏感性方面,SMET等[7]采用四層神經網絡預測304不銹鋼在含氯離子溶液中的SCC敏感性;趙景茂等[8]則在前人的基礎上提出了基于三層結構神經網絡的SCC敏感性預測模型;郭浩等[9]提出了Elman反饋神經網絡模型來定性預測不銹鋼SCC行為;江鵬等[10]提出了PCA-SVM模型來預測煤礦井下錨桿應力腐蝕失效風險。以上研究均取得了不錯的預測效果,但分析方法較為單一。因此可將不同流派、不同特點的機器學習算法結合在一起,探究其對SCC敏感性預測效果的影響。
本工作基于主成分分析(PCA)提取出影響不銹鋼SCC敏感性的主要因素作為模型輸入,將不同流派算法混合成Hybrid模型,并使用粒子群優化(PSO)算法進行優化,以期提高不銹鋼SCC敏感性預測的準確度和穩定性。
在機器學習的發展歷程中形成了五大流派,分別是符號主義、貝葉斯派、聯結主義、進化主義和行為類推主義[11],每個流派都有其各自的核心思想以及相應的算法。
決策樹(DT)是符號主義的代表算法,該算法雖然在小樣本上表現良好、可解釋性強,但易發生過擬合。因此為克服單一DT算法的缺點,本工作以DT為基礎,引入了集成學習。所謂集成學習就是將多個弱學習器按一定的策略組成強學習器,相較于單一的弱學習器,強學習器往往有著更加優越的性能。Bagging和Boosting是集成學習中較為流行的兩種算法[12]。
隨機森林(RF)是基于Bagging算法,以DT為弱學習器的集成模型,由Leo Breiman于2001年提出[13]。在分類問題上,RF的核心思想是最終的輸出由組成RF的多棵DT的預測結果以硬投票的方式決定,即少數服從多數,其具體模型結構參照圖1。RF的優點是不易過擬合且泛化能力強,計算速率快,但每棵樹對最終結果的影響權重相同,可能會負優化預測效果。

圖1 隨機森林模型結構
與Bagging算法的并行理念不同,Boosting算法中的弱學習器是按順序串行生成的,且在生成每個弱學習器時都會根據上一個弱學習器的表現來不斷更新樣本數據與該弱學習器所占的權重。CHEN等[14]在2016年首次提出了XGBoost,這既是Boosting思想的擴展,也是對梯度提升樹算法的優化,其與梯度提升樹最大的區別在于XGBoost將二階導數和正則化項應用到目標函數中,以此減弱決策樹易過擬合的缺點。
XGBoost算法的目標函數與正則化項如式(1)~(2)所示。

(1)

(2)
式中:Ω(f)為正則化項;T為基決策樹的葉子節點總數;ωt為基決策樹的第t個葉子節點的輸出值;γ、ω為正則化項系數,屬于超參數。
XGBoost被廣泛應用于眾多機器學習競賽中并取得了不錯的成績,其優點可歸納為:(1) 效率高、耗能低;(2) 不易過擬合且泛化能力強;(3) 可調參數多,模型上升空間大。但XGBoost需要遍歷數據集來尋找最佳分割點,若數據集過大則會耗費大量資源。
樸素貝葉斯(NB)分類算法是貝葉斯派最主要的算法[15],其基礎是英國學者貝葉斯于18世紀提出的貝葉斯定理。貝葉斯分類算法按式(3)計算,arg max(f(x))函數的作用是當f(x)取得最大值時對應的變量x,即分類結果。

(3)
式中:K為類數;P(ck)為樣本中ck類出現的概率;P(xi|ck)為在屬于ck類的前提下,xj特征的條件概率。
NB分類算法簡單,在小樣本上也能有良好表現。但由于貝葉斯定理的前提假設是條件獨立,因此當樣本屬性之間有關聯時,會降低算法的分類性能。另外,NB分類算法的可調參數過少,模型的提升空間不大。
極限學習機(ELM)最早由黃廣斌等[16]于2004年提出,是屬于聯結主義的基于前饋神經網絡構建的算法,其網絡結構見圖2。ELM的優勢在于學習速率快,泛化能力強。但是其在處理問題時為黑箱過程,可解釋性差。

圖2 ELM網絡結構
支持向量機(SVM)源于統計學習理論,最早由VAPNIK和CORTES等于1995年提出,是行為類推主義的代表算法[17]。對于分類問題,其主要思想是找到能區分不同類別的最大邊距超平面,圖3為SVM處理二分類問題的過程,法向量ω和常量b分別代表超平面的方向與其到原點的距離。

圖3 最大邊距超平面
SVM善于處理小樣本、高維度的數據集和非線性問題,泛化能力強。但在處理大樣本和多類別的問題上有明顯的不足。此外,參數和核函數的選擇對SVM性能有較大影響。
SVM分類模型的函數如式(4)所示。

(4)
式中:n為維數;ai,ai*為拉格朗日乘子;b為擬合偏差;k(xi,xj)為SVM的核函數,如多項式、徑向基和Sigmoid核函數等,本研究采用較常用的徑向基核函數[18]。
許多優化算法的靈感來源于自然界現象,PSO是一種模仿鳥群等群集行為提出的基于種群的優化技術,其核心是群體間的信息共享。
在標準PSO應用中,一群隨機初始化的粒子,在搜索空間中不斷運動,直到達到指定的迭代次數或其他終止條件[19]。群體中第i個粒子的速率和位置的迭代公式見式(5)~(6)。
vin=ωvin-1+c1r1[p(best)in-xin-1]+
c2r2[g(best)n-xin-1]
(5)
xin=xin-1+vin
(6)
式中:vin與xin分別為第i個粒子在第n次迭代時的速率和位置;ω為慣性權重因子;c1、c2分別為局部和全局的加速度因子;r1與r2是在[0,1]上的隨機數;p(best)in為第i個粒子在第n次迭代時的歷史最優解;g(best)n為整個粒子群在第n次迭代時的全局最優解。
本工作優化了標準PSO中的單一粒子適應度評估,分別選擇了準確度(ACC)和馬修斯相關系數(MCC)作為PSO的主、次適應度函數。在尋優過程中,不同粒子在滿足相同ACC的前提下,會優先選擇MCC最大的粒子作為最優解。以某次PSO優化SVM的過程為例,設置迭代次數為100,圖4為粒子群在初始化、第50次與迭代結束時的位置及相應的適應度變化過程,具體參數變化見表1。

表1 PSO優化SVM前后參數對比

(a) 粒子群初始化
綜合圖4與表1的結果可知,SVM模型經PSO優化尋得最佳參數后,性能得到了顯著提高,其在訓練集上的ACC從0.86提高至0.90,MCC提高了0.08,在測試集上的ACC與MCC分別提高了0.18和0.11。PSO-Hybrid預測模型的具體流程見圖5。

圖5 PSO-Hybrid模型流程
本工作選取ACC與MCC來驗證PSO-Hybrid模型的可行性和優劣性。ACC能夠直觀地體現樣本被分類正確的情況,MCC則是求解二分類中實際值和預測值之間的相關系數,其值范圍為[-1,1],數值越接近1,代表模型的性能越好,計算公式見式(7)~(8)。

(7)

(8)
式中:T1為正樣本預測正確的個數;T2為負樣本預測正確的個數;F1為負樣本預測錯誤的個數;F2是正樣本預測錯誤的個數。
本工作數據源于某奧氏體不銹鋼經退火工藝后在高溫水環境中發生SCC行為的71組試驗數據[20]。數據集有4個參數:溫度(241~350 ℃)、氯含量(0.001~3 000 mg/L)、氧含量(0.01~1 200 mg/L)以及是否發生SCC。
為了消除不同量綱對模型訓練的影響,數據預處理是有必要的。根據電化學腐蝕的基本原理,離子含量對腐蝕行為的影響一般呈指數型[8],故先對氯、氧含量取對數,然后對所有樣本作歸一化處理,預處理后的部分樣本數據如表2所示,按照7∶3的比例,隨機抽取49組樣本數據用于訓練模型,剩下22組數據用于測試模型的性能。

表2 部分預處理后的樣本(源于退火處理的不銹鋼)
主成分分析的目的是降維,它能夠在保留絕大部分樣本有效信息的同時降低數據的維數。對于機器學習而言,通過PCA提取出能夠代表整個數據集的主成分來訓練模型,可以減少訓練過程中耗費的資源,特別是對高維度、高數據量樣本的降維效果更為明顯。各主成分攜帶信息的多少與方差成正比,通常選取累積貢獻率高于80%的因素作為主成分[18]。應用SPSS軟件計算預處理后數據集的各成分特征值與貢獻率,如表3所示。

表3 主成分分析
由表3可知,溫度和氯含量的貢獻率相近,氧含量的貢獻率稍低一些。前2個成分的累積貢獻率僅有71.33%,不滿足高于80%的要求,因此數據集的3個成分都將用于訓練模型。在金屬腐蝕的相關理論中,奧氏體不銹鋼在氯化物溶液和含氧高溫純水等環境中會發生SCC[1],溫度、氯離子和溶解氧本身就是分析SCC不可缺少的因素,這也與PCA的結果相對應。
為驗證PSO-Hybrid模型的優劣性,循環代碼20次,觀察模型的表現。圖6為未經PSO優化的Hybrid模型及其部分基模型在循環過程中的表現(以ACC為例),表4為所有模型評估指標的詳細數據,方差越小代表模型表現越穩定。

表4 各預測模型的表現

圖6 Hybrid與其部分基模型準確度對比
由圖6和表4可知,未經PSO優化的Hybrid模型的ACC與MCC平均值分別為0.814和0.627,與組成Hybrid模型的5個基模型相比,其表現雖明顯優于SVM模型,但與XGBoost模型的性能相近,最可能的原因是SVM模型較差的表現在一定程度上拉低了Hybrid模型的性能。
圖7為經PSO優化前后Hybrid模型相應的評估指標值變化過程。綜合圖7與表4可知,PSO算法在一定程度上提升了RF、XGBoost與SVM模型的性能,其中SVM的性能提升尤為顯著,其ACC與MCC平均值分別提高了0.087和0.123,且更加穩定。另外,PSO-Hybrid模型的ACC與MCC平均值分別為0.841和0.678,與表4中的所有模型相比,其表現最為優越。

圖7 Hybrid與PSO-Hybrid模型評估指標值對比
為進一步驗證模型的可靠性,另外收集了38組敏化處理后的奧氏體不銹鋼在高溫水中的SCC行為試驗數據作為驗證集[20]。驗證集有4個參數:溫度(274~350 ℃)、氯含量(0.001~1 000 mg/L)、氧含量(0.01~200 mg/L)以及是否發生SCC,其數據預處理的步驟與上文相同,部分驗證集樣本數據見表5。

表5 部分預處理后的樣本(源于敏化處理的不銹鋼)
經檢驗,PSO-Hybrid模型在驗證集上也有不錯的表現,循環20次后ACC與MCC平均值分別為0.750和0.491。但其性能與前文的模型表現相比有明顯的下降,原因可能是材料的處理工藝不同,該驗證集數據源于敏化處理后的奧氏體不銹鋼,而前文材料經退火處理,敏化處理能夠讓材料不太容易發生晶間腐蝕促進的SCC。因此,為進一步探討模型的可靠性,隨機抽取30%的驗證集數據與前文的71條數據相組合,用于訓練PSO-Hybrid模型,觀察模型預測剩余70%驗證集數據的表現。
結果表明,將驗證集的部分數據組合用于訓練PSO-Hybrid模型可有效提高其在驗證集上的預測效果,其ACC與MCC平均值分別為0.833和0.672,這表明預測模型的建立是一個動態的、實時更新的過程,根據不同的材料、工藝、環境等影響因素,模型也需要實時調整來適應新的數據集,以取得良好的預測效果。圖8為在循環過程中,將驗證集的部分數據用于訓練前后的PSO-Hybrid模型預測效果表現情況。

圖8 部分驗證集用于訓練前后PSO-Hybrid模型的評估指標值對比
綜上所示可知,Hybrid思想為二分類問題拓寬了新思路,本工作所提出的PSO-Hybrid模型為預測不銹鋼應力腐蝕開裂敏感性提供了一種有效的分析方法,具有一定的可靠性與科學性。PSO-Hybrid模型是否適用于不同不銹鋼還有待進一步研究。另外,依靠機器學習來建立優秀的預測模型需要一定量的數據支撐,但SCC行為的數據量較少,獲取難度較高,未來若能建立腐蝕數據庫,實現數據共享,將會對腐蝕預測的研究起到很大的推動作用。
(1) 運用PCA提取出對不銹鋼發生SCC影響較大的因素,包括溫度、氯含量和氧含量,其中溫度的影響最大。
(2) 通過對比預測值與實際值可知,Hybrid思想有一定的可行性和科學性,且經PSO優化后,Hybrid模型的平均準確度與馬修斯相關系數各提高了3.3%與8.3%,表明PSO-Hybrid模型的預測準確度較高、穩定性好,這為預測不銹鋼SCC敏感性提供了技術支撐。