秦子實
摘要:在材料試驗過程中,由于每組試驗價格較為昂貴,且采集到的試驗數(shù)據(jù)存在環(huán)境噪音,這種狀況使得能夠獲得的數(shù)據(jù)較少,且數(shù)據(jù)存在一定的誤差。因此,在處理試驗結(jié)果時,需要一種能夠通過少量數(shù)據(jù)擬合一定區(qū)間內(nèi)所有試驗變量對應(yīng)結(jié)果的算法。該場景對算法的實時性要求較低,而對算法擬合結(jié)果要求較高,此外,由于試驗數(shù)據(jù)可能存在的誤差,對擬合算法的數(shù)據(jù)容錯性也有較高要求。本文將采用全連接前饋神經(jīng)網(wǎng)絡(luò),直接在試驗原始數(shù)據(jù)上進行擬合,通過梯度下降算法迭代提高擬合效果,最終獲得收斂的擬合結(jié)果。
關(guān)鍵詞:前饋神經(jīng)網(wǎng)絡(luò);全連接層;縮放指數(shù)線性單元;數(shù)據(jù)擬合
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2019)04-0174-02
1 概述
現(xiàn)代材料試驗為多場耦合類型,通常包含兩個或兩個以上的試驗變量,而由于成本原因,每個試驗件每組試驗?zāi)軌蜻M行的測試次數(shù)有限(通常為5-6次),數(shù)據(jù)量較少。此外,試驗采集到的數(shù)據(jù)會因為每次試驗試驗件狀態(tài)、設(shè)備調(diào)試狀態(tài)的細微變化而存在誤差。這種誤差在數(shù)據(jù)上的具體體現(xiàn)為,同一組試驗變量的測試結(jié)果,在不同次試驗下的試驗結(jié)果略有不同,導(dǎo)致同一組變量出現(xiàn)多個測量值。因此,通常用于擬合多維數(shù)據(jù)的Gridfit一類算法并不能夠完全適用于這種存在誤差的環(huán)境。由于材料試驗有一定的時間周期,對算法擬合的實時性要求較低,而對擬合過程的可視化以及擬合結(jié)果的準確性要求較高。
本文將使用基于全連接神經(jīng)網(wǎng)絡(luò)的線性模型,通過多輪梯度下降,對多維試驗數(shù)據(jù)進行迭代擬合,在迭代過程中輸出擬合過程值并進行可視化,在擬合完成時輸出模型擬合結(jié)果。
2 全連接前饋神經(jīng)網(wǎng)絡(luò)簡介
全連接前饋神經(jīng)網(wǎng)絡(luò)也被稱作多層感知器,由全連接層線性堆疊而成。全連接層是神經(jīng)網(wǎng)絡(luò)算法中最早出現(xiàn)的計算結(jié)構(gòu)之一,具有原理簡單、易于實現(xiàn)、調(diào)試方便等優(yōu)點,被廣泛應(yīng)用在各類神經(jīng)網(wǎng)絡(luò)計算架構(gòu)中,通常被用在局部或全局的節(jié)點匯總及特征抽取等業(yè)務(wù)中。
全連接前饋神經(jīng)網(wǎng)絡(luò)通常由一個輸入層、若干隱藏層和一個輸出層組成,輸入層負責(zé)展開特征,隱藏層負責(zé)對數(shù)據(jù)進行復(fù)雜的非線性變換,輸出層負責(zé)匯總特征。一般的,隱藏層層數(shù)越多,模型的非線性能力越強,而隱藏層參數(shù)越多,模型能夠擬合的結(jié)果越復(fù)雜。
3 算法實現(xiàn)
3.1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本文將使用可縮放指數(shù)型線性單元(scaled exponential linear units,下文簡稱selu)作為全連接前饋神經(jīng)網(wǎng)絡(luò)的激活函數(shù),為神經(jīng)網(wǎng)絡(luò)引入自歸一化特性,使學(xué)習(xí)過程更快收斂且更具魯棒性[1]。
與使用SELU的自歸一化網(wǎng)絡(luò)不同的是,本文要做的是盡可能地擬合試驗數(shù)據(jù)。當遇到試驗數(shù)據(jù)中因現(xiàn)實原因出現(xiàn)的一點多值情況時,模型盡量避免此類干擾,保證模型對數(shù)據(jù)的近似程度已經(jīng)模型整體的平滑性。因此,本文使用的神經(jīng)網(wǎng)絡(luò)將去掉用于控制擬合水平的Alpha Dropout層[1],直接通過selu的全連接神經(jīng)網(wǎng)絡(luò)的線性堆疊來組織模型。
模型損失函數(shù)采用傳統(tǒng)的最小均方誤差(mean squared error,下文簡稱mse),梯度下降算法采用默認參數(shù)的RMSprop,批梯度下降大小為每批10樣本,訓(xùn)練集與驗證集比值為9:1。
3.2 神經(jīng)網(wǎng)絡(luò)實現(xiàn)
后文將以一套由2個測試維度、429條測試點組成的試驗測試數(shù)據(jù)集為例,說明擬合實現(xiàn)過程。
本文使用的計算平臺為TensorFlow,使用的神經(jīng)網(wǎng)絡(luò)實現(xiàn)及訓(xùn)練庫為Keras,使用的數(shù)據(jù)預(yù)處理庫為sklearn。實現(xiàn)一個由1個64參數(shù)的輸入層、9個64參數(shù)隱藏層、1個輸出層組成的前饋神經(jīng)網(wǎng)絡(luò)模型,并設(shè)置損失函數(shù)為mse、梯度下降算法為RMSprop的核心代碼如下:
擬合目標完成時,即第100次迭代完成時的擬合狀態(tài),圖7、圖8中的藍色網(wǎng)格所示:
從數(shù)據(jù)的三維可視化中可以明顯看出,模型計算出的藍色網(wǎng)格對試驗數(shù)據(jù)的紅色曲線擬合效果良好,達到了預(yù)期的目的。
5 結(jié)束語
本文介紹了基于全連接前饋神經(jīng)網(wǎng)絡(luò)的多維試驗數(shù)據(jù)擬合算法的原理及實現(xiàn)。該方法原理簡單且易于實現(xiàn),總體計算量較小,且具有較高的數(shù)據(jù)容錯特性,可以針對試驗數(shù)據(jù)的誤差自動調(diào)整擬合結(jié)果。該方法有效地降低試驗成本,提高了科研效率,是一種易于實踐、效果明顯的多維試驗數(shù)據(jù)擬合算法。
參考文獻:
[1] Klambauer, Günter. Self-normalizing neural networks[J].Advances in Neural Information Processing Systems, 2017.
【通聯(lián)編輯:梁書】