張彭輝,肖攸安,趙建倉,丁康康,侯健
(1.中國船舶重工集團公司第七二五研究所 海洋腐蝕與防護重點實驗室,山東 青島 266101; 2.武漢理工大學,武漢 430063)
海洋是一種非常嚴苛的腐蝕環(huán)境,各種材料在海水環(huán)境中均存在不同程度的腐蝕。材料的耐海水腐蝕性能關系到各類船舶、海上平臺、跨海大橋等海洋裝備及工程設施的安全問題,因此,有必要研究各類材料在海水中的腐蝕規(guī)律,并準確預測材料的服役壽命[1-10]。由于海水成分復雜,各環(huán)境因素的協(xié)同作用機制不明朗,與材料的腐蝕結果也并非簡單的線性關系,傳統(tǒng)的回歸分析法難以適用。BP(Back Propagation)人工神經網絡是目前使用最廣泛的神經網絡算法,通過誤差逆向傳播算法訓練對非線性、不確定性數(shù)據(jù)進行高精度擬合。近年來,BP神經網絡被廣泛應用于材料在海洋環(huán)境中的腐蝕規(guī)律預測[11-16]。但是,在具體使用過程中,發(fā)現(xiàn)BP神經網絡存在收斂速度慢、易陷入局部極小值等問題。因此,為提高BP神經網絡的適用度,需要通過其他方法對其進行優(yōu)化。遺傳算法(Genetic Algorithm)也屬于人工智能算法的范疇,是通過模擬自然進化的過程搜索最優(yōu)解。遺傳算法可優(yōu)化BP神經網絡的初始權值和閾值,有效克服BP神經網絡的缺陷,并提高擬合效率和算法穩(wěn)定性[17]。
文中采用GA-BP神經網絡,以銅合金在海洋環(huán)境中的長期腐蝕數(shù)據(jù)為樣本,通過設計自動訓練的流程,輸入?yún)?shù)自動選擇樣本數(shù)據(jù)并調整相關參數(shù),建立腐蝕預測模型,并對自動建模的可行性和可用性進行驗證。
人工神經網絡(Artificial Neural Networks, ANN)是一種模擬生物神經系統(tǒng)信號處理和運行機制的人工智能分析方法,在非線性、不確定系統(tǒng)的數(shù)據(jù)處理方面具有較高的適應能力。BP(Back Propagation)神經網絡是目前應用最廣泛的神經網絡模型之一,通過誤差逆?zhèn)鞑ニ惴ㄓ柧殞W絡進行優(yōu)化,實現(xiàn)對數(shù)據(jù)的精確擬合。BP神經網絡包括輸入層、隱藏層和輸出層,其基本結構如圖1所示。BP神經網絡的基本原理是:由輸入層接收輸入信號,經隱含層計算后傳播至輸出層,再由輸出層后處理計算結果,最后逆推,對神經網中的權重進行反饋修正,從而增強整個網絡的適應能力。
圖1 BP神經網絡基本結構 Fig.1 Typical structure of BP neural network
與傳統(tǒng)的分析方法相比,BP神經網絡具有較強的非線性映射能力、較高的自學習和自適應能力以及一定的容錯能力,在非線性、不確定數(shù)據(jù)的規(guī)律分析方面具有較大的優(yōu)勢。然而,由于算法的固有缺陷,導致BP神經網絡在實際使用過程中存在局限。例如,由于網絡的初始閾值和權值是隨機生成的,缺乏依據(jù),可能導致生成的預測結果不穩(wěn)定;由于權值及閾值的修正是基于梯度下降法,不同的權值和閾值可能導致網絡不收斂或陷入局部極值點,導致BP神經網絡訓練時間長、學習效率低、過擬合等問題[18-19]。因此,考慮將遺傳算法和BP人工神經網絡結合,用全局搜索算法優(yōu)化BP神經網絡的初始閾值和權值,使整個搜索的過程更加靈活,提高搜索效率,最終提高BP神經網絡的泛化性,提升預測的準確性。
遺傳算法(Genetic Algorithm, GA)是一種通過模擬自然進化過程來尋找最優(yōu)解的方法。其基本原理是模擬自然界優(yōu)勝劣汰的進化現(xiàn)象,把搜索空間映射為遺傳空間,把搜索空間內可能的解編碼成一個向量,對應生物染色體,向量的每個元素對應生物基因;通過不斷計算各染色體的適應值,選擇最好的染色體,從而獲得最優(yōu)解。遺傳算法的主要特點是直接對結構對象進行運算,不受求導和函數(shù)連續(xù)性的限定;具有內在的隱式并行性和更好的全局尋優(yōu)能力;采用概率化的尋優(yōu)方法,能自動獲取和引導優(yōu)化搜索空間;自適應地調整搜索方向,不需要確定的規(guī)則[20-21]。遺傳算法可以很好地克服BP人工神經網絡的局部最優(yōu)缺陷,優(yōu)化BP人工神經網絡的初始權值和閾值,提高其穩(wěn)定性。
遺傳算法的基本流程如圖2所示。在預設范圍內隨機生成一定數(shù)量的初始解并進行編碼,生成初始種 群,即第一代染色體;計算每一條染色體的適應度,適應度越高則被選擇的概率越大;選擇適應度高的染色體進行保留,然后通過一定的交叉和變異概率生成新一代染色體,即完成一次“進化”;對新生成的染色體進行新一輪“進化”,通過反復迭代預算直至滿足停止條件,獲得最優(yōu)解。
圖2 遺傳算法流程 Fig.2 Algorithm flow of genetic algorithm
遺傳算法的全局最優(yōu)解可以很好地優(yōu)化BP神經網絡的初始權值和閾值,克服局部最優(yōu)等缺陷,提高網絡收斂速度和穩(wěn)定性。GA-BP神經網絡的算法流程如圖3所示。首先,初始化BP神經網絡,并根據(jù)網絡結構確定GA染色體的編碼長度;然后,以BP神經網絡計算誤差作為構建適應度評價函數(shù)的依據(jù),通過遺傳操作獲取優(yōu)化后BP神經網絡的初始權值和閾值;最后,執(zhí)行BP神經網絡運算,獲得計算結果。
圖3 GA-BP神經網絡運算流程 Fig.3 Algorithm flow of GA-BP neural network
建模的數(shù)據(jù)主要來自中國腐蝕與防護網,數(shù)據(jù)種類包括材料類別、牌號、地點、區(qū)帶、材料屬性、加工工藝、試驗時長、腐蝕情況等。對原始數(shù)據(jù)進行清洗,去除重復、異常、不合規(guī)的數(shù)據(jù),然后對材料的類別、牌號、地點、區(qū)段等信息進行數(shù)字化處理,具體方法如下。
1)在以年為單位的尺度范圍內,同一個地點和區(qū)帶的海洋環(huán)境因素數(shù)據(jù)(如溫度、鹽度、溶解氧、PH值等)是基本不變的。這樣,海洋環(huán)境類型參數(shù)僅與地點和區(qū)帶相關,可以用“地點+區(qū)帶”對應的數(shù)字代碼進行替代。按從北向南,分別以1—5的數(shù)字替代青島、舟山、廈門、榆林、三亞共5個地點;按高度,分別以1—4的數(shù)字替代潮差區(qū)、飛濺區(qū)、大氣區(qū)、全浸區(qū)共4個區(qū)帶。
2)考慮到材料屬性、加工工藝、材料類別與牌號密切相關、一一對應,故采用“材料類別+牌號”對應的數(shù)字代碼進行替代,即將銅合金材料牌號按字母順序,分別以數(shù)字進行替代。
3)考慮到部分實驗結果的輸出參數(shù)缺失或者包含非數(shù)值內容,如:“—”或“蝕光”等,將這些數(shù)據(jù)作為離群數(shù)據(jù)處理。如果數(shù)據(jù)為“無明顯腐蝕”等,則以數(shù)值0進行替代。變量的最大值為1,對替代后的數(shù)據(jù)進行歸一化處理,處理后的數(shù)據(jù)表中各類數(shù)據(jù)的數(shù)量見表1。
表1 數(shù)據(jù)處理結果 Tab.1 Results of corrosion data processing
研究表明三層BP神經網絡可以解決絕大部分的數(shù)據(jù)分析問題,且誤差精度可以通過增加隱含層的神經元數(shù)量進行調整[21]。因此,文中GA-BP神經網絡結構設計為三層。
經處理后,模型的輸入量可簡化為“材料類別+牌號”、“試驗地點+區(qū)段”、試驗時長這3個參數(shù),故輸入層的神經元數(shù)量確定為3個;輸出變量包括腐蝕速率、平均點蝕深度、最大點蝕深度、縫隙腐蝕深度這4個參數(shù),故輸出層的神經元數(shù)量確定為4個。隱含層節(jié)點數(shù)由式(1)確定:
式中:m代表本系統(tǒng)輸入節(jié)點數(shù);n代表本系統(tǒng)輸出節(jié)點數(shù);a代表[1,10]之間的調節(jié)常數(shù)。計算可知,隱含層神經元數(shù)量的取值范圍為[4,13]。通過試錯法對隱含層神經元在不同取值時的擬合情況進行分析,當隱含層神經元數(shù)量為10,網絡較穩(wěn)定且擬合情況較好。因此,本文BP神經網絡結構設計為3-10-4。
金屬材料在海水環(huán)境中進行腐蝕試驗,所得到的相關數(shù)據(jù)在經過歸一化處理后大多是小數(shù),因此可以采用實數(shù)編碼的方式對染色體個體進行編碼。根據(jù)網絡結構確定編碼長度為3×10+10×4+10+4,其中3×10對應連接輸入層和隱含層的節(jié)點權值矩陣,10×4對應連接隱含層和輸出層的節(jié)點權值矩陣,10對應隱含層神經元節(jié)點閾值矩陣,4對應輸出層神經元節(jié)點閾值矩陣。由此,種群中的每一個個體均為包含了海洋腐蝕預測神經網絡的全部權值和閾值的實數(shù)串,在神經網絡結構確定的情況下,每一個個體均可重構為一個神經網絡。
式中:fi代表第i個染色體個體的適應度值;dk和ok代表根據(jù)這個個體生成的海洋腐蝕神經網絡的 預測值和實際值;θ是為了保證分母不為0而取的一個數(shù)值較小且大于0的偏移量。fi越大說明誤差越小,染色體的適應度越高。
按8∶2的比例將原始數(shù)據(jù)集劃分為樣本集和測試集,使用樣本集建立腐蝕模型,采用MATLAB軟件進行運算,得到連接輸入層和隱藏層的節(jié)點權值矩陣win,hidden0如下:
連接輸入層和隱藏層的節(jié)點閾值矩陣bin,hidden0如下:
連接隱藏層和輸出層的節(jié)點權重矩陣whidden0,out如下:
連接隱藏層和輸出層的節(jié)點閾值矩陣bhidden0,out如下:
對于建模得到的神經網絡模型,分別使用樣本數(shù)據(jù)集和測試集數(shù)據(jù),以極差、方差、決定系數(shù)等為評估指標,對建模結果進行分析,結果見表2。
表2 預測結果分析 Tab.2 Prediction results analysis
為了進一步統(tǒng)計分析偏差/誤差的分布情況,所有偏差絕對值的分布情況如圖4所示。樣本集數(shù)據(jù)中,偏差值最大為7.3046%,最小為0.0634%;測試集數(shù)據(jù)中,偏差值最大為7.2897%,最小值為0.0063%,所有數(shù)據(jù)的偏差均低于10%。這些數(shù)據(jù)說明,本模型的泛化能力較好,預測精度較高。
圖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人工神經網絡的原理及構建方法,并將其應用于銅合金海洋腐蝕預測。基于實際樣本數(shù)據(jù)的試驗結果表明,該建模方法是可行的、有效的,所得到的模型具有較好的泛化能力,能較好地滿足要求。