秦子實

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