張彭輝,肖攸安,趙建倉,丁康康,侯健
(1.中國船舶重工集團公司第七二五研究所 海洋腐蝕與防護重點實驗室,山東 青島 266101; 2.武漢理工大學,武漢 430063)
海洋是一種非常嚴苛的腐蝕環境,各種材料在海水環境中均存在不同程度的腐蝕。材料的耐海水腐蝕性能關系到各類船舶、海上平臺、跨海大橋等海洋裝備及工程設施的安全問題,因此,有必要研究各類材料在海水中的腐蝕規律,并準確預測材料的服役壽命[1-10]。由于海水成分復雜,各環境因素的協同作用機制不明朗,與材料的腐蝕結果也并非簡單的線性關系,傳統的回歸分析法難以適用。BP(Back Propagation)人工神經網絡是目前使用最廣泛的神經網絡算法,通過誤差逆向傳播算法訓練對非線性、不確定性數據進行高精度擬合。近年來,BP神經網絡被廣泛應用于材料在海洋環境中的腐蝕規律預測[11-16]。但是,在具體使用過程中,發現BP神經網絡存在收斂速度慢、易陷入局部極小值等問題。因此,為提高BP神經網絡的適用度,需要通過其他方法對其進行優化。遺傳算法(Genetic Algorithm)也屬于人工智能算法的范疇,是通過模擬自然進化的過程搜索最優解。遺傳算法可優化BP神經網絡的初始權值和閾值,有效克服BP神經網絡的缺陷,并提高擬合效率和算法穩定性[17]。
文中采用GA-BP神經網絡,以銅合金在海洋環境中的長期腐蝕數據為樣本,通過設計自動訓練的流程,輸入參數自動選擇樣本數據并調整相關參數,建立腐蝕預測模型,并對自動建模的可行性和可用性進行驗證。
人工神經網絡(Artificial Neural Networks, ANN)是一種模擬生物神經系統信號處理和運行機制的人工智能分析方法,在非線性、不確定系統的數據處理方面具有較高的適應能力。BP(Back Propagation)神經網絡是目前應用最廣泛的神經網絡模型之一,通過誤差逆傳播算法訓練對網絡進行優化,實現對數據的精確擬合。BP神經網絡包括輸入層、隱藏層和輸出層,其基本結構如圖1所示。BP神經網絡的基本原理是:由輸入層接收輸入信號,經隱含層計算后傳播至輸出層,再由輸出層后處理計算結果,最后逆推,對神經網中的權重進行反饋修正,從而增強整個網絡的適應能力。

圖1 BP神經網絡基本結構 Fig.1 Typical structure of BP neural network
與傳統的分析方法相比,BP神經網絡具有較強的非線性映射能力、較高的自學習和自適應能力以及一定的容錯能力,在非線性、不確定數據的規律分析方面具有較大的優勢。然而,由于算法的固有缺陷,導致BP神經網絡在實際使用過程中存在局限。例如,由于網絡的初始閾值和權值是隨機生成的,缺乏依據,可能導致生成的預測結果不穩定;由于權值及閾值的修正是基于梯度下降法,不同的權值和閾值可能導致網絡不收斂或陷入局部極值點,導致BP神經網絡訓練時間長、學習效率低、過擬合等問題[18-19]。因此,考慮將遺傳算法和BP人工神經網絡結合,用全局搜索算法優化BP神經網絡的初始閾值和權值,使整個搜索的過程更加靈活,提高搜索效率,最終提高BP神經網絡的泛化性,提升預測的準確性。
遺傳算法(Genetic Algorithm, GA)是一種通過模擬自然進化過程來尋找最優解的方法。其基本原理是模擬自然界優勝劣汰的進化現象,把搜索空間映射為遺傳空間,把搜索空間內可能的解編碼成一個向量,對應生物染色體,向量的每個元素對應生物基因;通過不斷計算各染色體的適應值,選擇最好的染色體,從而獲得最優解。遺傳算法的主要特點是直接對結構對象進行運算,不受求導和函數連續性的限定;具有內在的隱式并行性和更好的全局尋優能力;采用概率化的尋優方法,能自動獲取和引導優化搜索空間;自適應地調整搜索方向,不需要確定的規則[20-21]。遺傳算法可以很好地克服BP人工神經網絡的局部最優缺陷,優化BP人工神經網絡的初始權值和閾值,提高其穩定性。
遺傳算法的基本流程如圖2所示。在預設范圍內隨機生成一定數量的初始解并進行編碼,生成初始種 群,即第一代染色體;計算每一條染色體的適應度,適應度越高則被選擇的概率越大;選擇適應度高的染色體進行保留,然后通過一定的交叉和變異概率生成新一代染色體,即完成一次“進化”;對新生成的染色體進行新一輪“進化”,通過反復迭代預算直至滿足停止條件,獲得最優解。

圖2 遺傳算法流程 Fig.2 Algorithm flow of genetic algorithm
遺傳算法的全局最優解可以很好地優化BP神經網絡的初始權值和閾值,克服局部最優等缺陷,提高網絡收斂速度和穩定性。GA-BP神經網絡的算法流程如圖3所示。首先,初始化BP神經網絡,并根據網絡結構確定GA染色體的編碼長度;然后,以BP神經網絡計算誤差作為構建適應度評價函數的依據,通過遺傳操作獲取優化后BP神經網絡的初始權值和閾值;最后,執行BP神經網絡運算,獲得計算結果。

圖3 GA-BP神經網絡運算流程 Fig.3 Algorithm flow of GA-BP neural network
建模的數據主要來自中國腐蝕與防護網,數據種類包括材料類別、牌號、地點、區帶、材料屬性、加工工藝、試驗時長、腐蝕情況等。對原始數據進行清洗,去除重復、異常、不合規的數據,然后對材料的類別、牌號、地點、區段等信息進行數字化處理,具體方法如下。
1)在以年為單位的尺度范圍內,同一個地點和區帶的海洋環境因素數據(如溫度、鹽度、溶解氧、PH值等)是基本不變的。這樣,海洋環境類型參數僅與地點和區帶相關,可以用“地點+區帶”對應的數字代碼進行替代。按從北向南,分別以1—5的數字替代青島、舟山、廈門、榆林、三亞共5個地點;按高度,分別以1—4的數字替代潮差區、飛濺區、大氣區、全浸區共4個區帶。
2)考慮到材料屬性、加工工藝、材料類別與牌號密切相關、一一對應,故采用“材料類別+牌號”對應的數字代碼進行替代,即將銅合金材料牌號按字母順序,分別以數字進行替代。
3)考慮到部分實驗結果的輸出參數缺失或者包含非數值內容,如:“—”或“蝕光”等,將這些數據作為離群數據處理。如果數據為“無明顯腐蝕”等,則以數值0進行替代。變量的最大值為1,對替代后的數據進行歸一化處理,處理后的數據表中各類數據的數量見表1。

表1 數據處理結果 Tab.1 Results of corrosion data processing
研究表明三層BP神經網絡可以解決絕大部分的數據分析問題,且誤差精度可以通過增加隱含層的神經元數量進行調整[21]。因此,文中GA-BP神經網絡結構設計為三層。
經處理后,模型的輸入量可簡化為“材料類別+牌號”、“試驗地點+區段”、試驗時長這3個參數,故輸入層的神經元數量確定為3個;輸出變量包括腐蝕速率、平均點蝕深度、最大點蝕深度、縫隙腐蝕深度這4個參數,故輸出層的神經元數量確定為4個。隱含層節點數由式(1)確定:

式中:m代表本系統輸入節點數;n代表本系統輸出節點數;a代表[1,10]之間的調節常數。計算可知,隱含層神經元數量的取值范圍為[4,13]。通過試錯法對隱含層神經元在不同取值時的擬合情況進行分析,當隱含層神經元數量為10,網絡較穩定且擬合情況較好。因此,本文BP神經網絡結構設計為3-10-4。
金屬材料在海水環境中進行腐蝕試驗,所得到的相關數據在經過歸一化處理后大多是小數,因此可以采用實數編碼的方式對染色體個體進行編碼。根據網絡結構確定編碼長度為3×10+10×4+10+4,其中3×10對應連接輸入層和隱含層的節點權值矩陣,10×4對應連接隱含層和輸出層的節點權值矩陣,10對應隱含層神經元節點閾值矩陣,4對應輸出層神經元節點閾值矩陣。由此,種群中的每一個個體均為包含了海洋腐蝕預測神經網絡的全部權值和閾值的實數串,在神經網絡結構確定的情況下,每一個個體均可重構為一個神經網絡。

式中:fi代表第i個染色體個體的適應度值;dk和ok代表根據這個個體生成的海洋腐蝕神經網絡的 預測值和實際值;θ是為了保證分母不為0而取的一個數值較小且大于0的偏移量。fi越大說明誤差越小,染色體的適應度越高。
按8∶2的比例將原始數據集劃分為樣本集和測試集,使用樣本集建立腐蝕模型,采用MATLAB軟件進行運算,得到連接輸入層和隱藏層的節點權值矩陣win,hidden0如下:

連接輸入層和隱藏層的節點閾值矩陣bin,hidden0如下:

連接隱藏層和輸出層的節點權重矩陣whidden0,out如下:

連接隱藏層和輸出層的節點閾值矩陣bhidden0,out如下:

對于建模得到的神經網絡模型,分別使用樣本數據集和測試集數據,以極差、方差、決定系數等為評估指標,對建模結果進行分析,結果見表2。

表2 預測結果分析 Tab.2 Prediction results analysis
為了進一步統計分析偏差/誤差的分布情況,所有偏差絕對值的分布情況如圖4所示。樣本集數據中,偏差值最大為7.3046%,最小為0.0634%;測試集數據中,偏差值最大為7.2897%,最小值為0.0063%,所有數據的偏差均低于10%。這些數據說明,本模型的泛化能力較好,預測精度較高。

圖4 銅合金海洋腐蝕預測偏差分布 Fig.4 Error distribution of marine corrosion prediction value of copper alloys: a) deviation distribution of sample set; b) deviation distribution of test set
討論了GA-BP人工神經網絡的原理及構建方法,并將其應用于銅合金海洋腐蝕預測。基于實際樣本數據的試驗結果表明,該建模方法是可行的、有效的,所得到的模型具有較好的泛化能力,能較好地滿足要求。