任巍,翟博豪,彭煒淞
(1.山西太鋼不銹鋼股份有限公司冷軋廠,山西 太原 030003;2.天津電氣科學研究院有限公司,天津 300180)
在現代工業(yè)過程中,某些關鍵性指標的預測對安全、環(huán)保生產而言顯得越來越重要,其很大程度上決定著生產過程的規(guī)劃及產品的質量[1]。近年來,基于數據驅動的預測模型在冶金、生化工業(yè)等領域非常流行且有效,這主要得益于大量的過程歷史數據[2]。數據驅動模型無需對生產的物理化學過程進行深入了解,僅基于生產變量間的關系進行建模。與機理模型相比,其具有成本低、響應快、維護方便等優(yōu)點[3]。
過程數據的特征表示在建立精確的預測模型中起著不可或缺的作用[4]。由于過程數據的高維、大容量增長,在捕獲復雜數據特征方面受到限制。這使得傳統的特征學習方法,如典型相關分析(canonical correlation analysis,CCA),主成分分析(principal component analysis,PCA)和偏最小二乘(partial least squares,PLS)等淺層學習網絡模型,難以在現代大規(guī)模流程中描述數據。與淺層模型相比,多層神經網絡具有更強的非線性建模能力。由于多層非線性的堆疊結構,深度神經網絡能夠處理任何高度非線性的數據關系[5]。深度網絡主要以分層無監(jiān)督預訓練和有監(jiān)督微調的方式進行訓練,為此開發(fā)了深度信念網絡(deep belief network,DBN)、長短期記憶(long and short term memory,LSTM)、卷積神經網絡(convolutional neural network,CNN)、堆疊自編碼器(stack autoencoder,SAE)等深度學習模型。
在以上模型中,雖然分層預訓練方式可以從工業(yè)過程數據中學習到層次特征,但是大多數深度網絡主要基于無監(jiān)督訓練的方式對原始輸入數據進行特征表示,因此提取的特征可能不適合用于目標預測過程。以無監(jiān)督的方式進行預訓練往往會忽略引導特征學習重要參數。在實際應用中,只有從原始輸入數據中提取有用的信息,才能進行高精度預測。
為此,本文提出一種基于半監(jiān)督堆疊自編碼器(semi-supervised stacked autoencoder,SS-SAE)的深度分層預處理框架,用于軋制力預測建模研究。將半監(jiān)督自編碼器(semi-supervised autoencoder,SS-AE)的編碼器部分級聯起來,構建一個深度網絡,實現與預測目標相關的分層特征表示。通過改進特征學習的約束條件,使其在重構輸入的同時,預測目標數據。然后疊加多個SS-AE模型,對原始輸入數據進行連續(xù)提取,進而從低階特征中逐層提取高階目標相關特征。最后,將輸出層添加至SS-SAE的頂層特征層,對軋制力進行預測。
自編碼器是一個輸入層神經元數量等于輸出層數量的三層神經網絡。如圖1 所示,其網絡結構分為編碼層和解碼層兩部分。
圖1 自編碼器模型結構Fig.1 Structure of autoencoder
首先,輸入數據x經編碼層映射至隱藏層,以提取有效特征h。在解碼層中,有效特征h經非線性重構轉換為輸出數據z。通過設定損失函數,使輸出最大限度等于輸入。
編碼層訓練過程如下:
式中:N為訓練所需的總樣本數。
AE 是一個無監(jiān)督的自學習編解碼器網絡。編碼器將輸入層映射到隱藏層的特征,解碼器確保學習到的特征具有某些特定的屬性。由于AE的目標是通過重構輸入來學習特征,因此潛在特征需要可以在很大程度上重構其輸入數據。然而,對于回歸預測建模,重要的是學習有用的與預測目標相關特征。若學習具有較低相關性的特征,則會導致預測性能下降。AE 作為一種無監(jiān)督模型,不能保證特征與標簽值的相關性,在提取特征過程中,可能存在許多不利于目標預測的無關信息。針對這一問題,設計了一種半監(jiān)督自編碼器(SS-AE)網絡模型,用于預訓練階段學習與目標相關的特征,其網絡結構如圖2 所示。在SS-AE 網絡中,使用編碼器從輸入數據生成隱藏特性。然后,利用隱藏特征重構輸入數據的同時,預測輸出層的目標值。通過將標簽值信息加入到網絡中,并使用標簽數據進行訓練,可以提取與目標相關的特征,減少不相關信息。
圖2 半監(jiān)督自編碼器網絡結構Fig.2 Network structure of semi-supervised autoencoder
由SS-AE 的網絡結構圖可知,該模型的損失函數為
式中:y?為目標值y的預測值;λ為權重系數。
改進后的損失函數將標簽值信息加入至訓練過程中,使得訓練過程轉為半監(jiān)督模式,提高了特征提取的有效性。通過調整λ,可以改變標簽值信息對重構過程的影響。
傳統梯度下降方法中,每次迭代中使用所有樣本進行訓練。當訓練樣本較多時,訓練過程較慢。小批量梯度下降將輸入樣本分為若干個相同大小的子集。每次迭代中,僅使用單個子集進行訓練,提高了訓練過程的靈活性,特別適用于大樣本的訓練過程。為了加快網絡訓練過程,SS-AE模型使用小批量梯度下降的方式進行訓練,具體訓練過程如圖3所示。
圖3 單輪損失小批量梯度下降訓練過程Fig.3 Single epoch loss function calculation of mini-batch gradient descent
Adam 優(yōu)化算法為模型中的每個參數提供自適應的學習率,可進一步提高訓練效率,其過程如表1所示。為此,引入Adam優(yōu)化算法優(yōu)化模型的梯度下降過程。
表1 Adam優(yōu)化算法偽代碼Tab.1 Pseudocode of Adam optimization algorithm
為了逐步減少不相關信息,學習與目標相關的深層特征,將多個半監(jiān)督自編碼器堆疊設計,構成SS-SAE 的深層網絡結構。其結構如圖4 所示,前一個SS-AE 的隱藏層作為下一個SS-AE 的輸入層。通過改進損失函數,將標簽值信息加入到逐層的特征提取過程中。然后,學習到的深層特征可以用于目標值預測。
圖4 半監(jiān)督堆疊自編碼器結構圖Fig.4 Structure diagram of SS-SAE
SS-SAE使用貪婪逐層訓練的方式進行學習。對于一個Km層的堆疊結構SS-SAE,首先,對SSAE1進行訓練,將其輸入向量x1映射至隱藏層h1中,通過最小化其損失函數l1提取x1的特征h1。然后,將h1作為SS-AE2的輸入數據,用于提取高階數據h2。按以上步驟,逐個訓練每個SS-AE。因此,SS-SAE使用標簽值變量指導每一層的特征學習,可以提取對目標值預測更有用的層次特征。
軋制力的預報精度決定著最終成品的厚度及板形的平整度。準確的軋制力預報有助于提高成材率?;赟S-SAE 的軋制力預報模型可以從原始輸入數據中學習更深層次的與目標相關的特征。這些深度特征包含了大量標簽值變量的預測信息,非常適合預測回歸建模中。因此,只需在SS-SAE 網絡的最頂層增加一個用于預測目標值的輸出層,就可利用提取的深度相關特征直接構建預測模型?;赟S-SAE 的軋制力預報模型詳細過程描述如下:
1)根據軋制過程的機理模型確定軋制力預測建模所需的工藝變量,并劃分訓練集和測試集。
2)確定SS-SAE 的堆疊層數,假設在SS-SAE網絡中共有Km個隱藏特征提取層。從SS-AE1開始,使用改進的反向傳播算法對其進行訓練。然后,將SS-AE1的編碼層變量{W1,b1}及隱層特征向量h1保存下來,用于后續(xù)處理。
3)使用SS-AE1的隱層特征向量h1作為SSAE2的輸入數據,對SS-AE2進行訓練。訓練完成后,保存其編碼層變量{W2,b2}及隱層特征向量h2。
4)按以上方式,逐層訓練每個SS-AE 直至頂層。對于所有的SS-AE,其編碼層變量可以被定義為{Wk,bk},k=1,2,…,Km。
5)當SS-SAE特征學習網絡預訓練完成后,在最頂層的SS-AE隱藏層后添加目標輸出層。使用標簽數據,對網絡中的變量{W,b}進行微調。
6)在測試階段,首先,將測試數據集Xt輸入至SS-SAE 特征網絡中,經第1 層向頂層隱藏層的向前傳播,獲得目標相關的深層特征;然后,將頂層特征作為預測網絡的輸入,獲得測試數據集的預測值Yt。
Bland-Ford 軋制力計算公式[6]為冷軋軋制力計算基本公式,具體如下所示:
式中:P為軋制力;B為原件寬度;l′c為變形區(qū)接觸弧長;Qp為外摩擦應力狀態(tài)系數;Kt為張力影響系數;K為變形抗力。
通過對Bland-Ford 公式進行分析,最終選取原料寬度、原料厚度、進出口厚度、進出口張力、軋輥壓扁半徑和出料帶線速度作為模型的輸入參數。
本模型所需樣本數據選自山西太鋼不銹鋼股份有限公司冷軋廠的生產數據。取其軋制過程中1 000 條數據作為訓練集。同時,額外選擇200 條未參與訓練的數據為測試集,以驗證模型的精確性。
基于SS-SAE 的軋制力預報模型分為半監(jiān)督預訓練和有監(jiān)督微調兩部分。經重復實驗,最終選定模型中的超參數如表2所示。
表2 SS-SAE模型超參數設定值Tab.2 Hyper-parameter of SS-SAE model
為了獲得更好的函數逼近能力,使用5 個隱層數量為7 的SS-AE 堆疊組成軋制力預報模型,預測結果如圖5 所示。從圖中可以看出,該模型的預測值與實測值的擬合點基本位于±2%誤差線范圍內,實現了冷連軋軋制力的高精度預測,滿足生產要求。
圖5 基于SS-SAE的軋制力預報模型擬合效果圖Fig.5 Simulation diagram of rolling force prediction model based on SS-SAE
為驗證模型性能,將所提出的SS-SAE建模方法與其他兩種相關方法進行了比較。第一種方法是傳統的多層神經網絡,采用反向傳播算法對網絡參數進行隨機初始化和優(yōu)化。第二種方法是基于SAE 的深度網絡。SAE 是分層無監(jiān)督模型,通過構建多個AE 進行預訓練。兩種方法具有相同的結構,即[8,7,7,7,7,7,1]。
三種建模方法經過訓練后,可以用來預測測試數據集中的目標值。表3給出了基于多層神經網絡、SAE和SS-SAE預測模型的預測指標。對比均方根誤差(RMSE)、平均絕對百分比誤差(MAPE)和決定系數(R2),傳統多層神經網絡的預測性能最差。多層神經網絡雖然能夠模擬復雜的非線性關系,但其參數是隨機初始化的,因此,很容易進入局部最優(yōu)。對于SAE,采用分層預訓練技術從原始輸入數據中獲取深度特征,然后利用預先訓練好的網絡參數作為初始化參數,并對網絡進行微調,因此,該方法可以提高預測精度。然而,SAE 是一個無監(jiān)督的自學習網絡,其可以自行學習原始輸入數據的良好特性不能保證特征與目標相關,在深層特征中可能包含許多不相關的信息。與其相比,SS-SAE利用標簽值構建深度半監(jiān)督學習模型指導每個SS-AE的預訓練。深度特征的學習是為了在每個SS-AE中盡可能好地預測目標值,這樣可以把只有與質量數據相關的特征被保留下來。因此,SS-SAE可以學習深度目標相關特征,用于目標值的預測。此外,預訓練的參數可以用于基于SS-SAE 的深層網絡的良好初始化。因此,在三種方法中,SS-SAE 的預測性能最好,其RMSE,MAPE和R2指標均優(yōu)于其他方法。
表3 不同模型預測效果對比Tab.3 Comparison of prediction effects of different models
圖6 為三種方法在500 個訓練周期下的誤差曲線對比??梢钥闯?,由于多層神經網絡的網絡參數是隨機初始化的,所以其在訓練初始階段的訓練誤差最大;對于SAE,其初始訓練誤差較小,但是SAE 的預訓練只是通過對輸入數據的自重構來學習特征,不能保證特征與輸出的相關性,因此訓練誤差在起始階段較大;基于SS-SAE的預測模型在預訓練階段提取與質量相關的特征進行回歸,因此SS-SAE可以獲得更好的網絡初始參數,并且比多層神經網絡和SAE 具有更小的初始訓練誤差,此外,與多層神經網絡和SAE 模型相比,SS-SAE模型可以更快地逼近收斂狀態(tài)且收斂誤差較低。
圖6 不同模型訓練過程Fig.6 Training process of different models
圖7比較了三種方法對測試數據集的預測誤差。多層神經網絡的預測誤差較大。通過使用深度學習技術,SAE 可以減少許多測試樣本的偏差。在此基礎上,SS-SAE可以學習深度質量相關特征來預測軋制力,因此其預測誤差最小。對比三種方法在測試數據集中的詳細預測誤差曲線可以看出,大部分的預測誤差都在零附近。而且,在許多樣本點上,基于SS-SAE 方法的誤差值均小于其他兩種方法。
圖7 不同模型對測試集的預測誤差Fig.7 Prediction error of different models for the test sample
提出了一種新的半監(jiān)督預測模型,并用于軋制力預測建模研究。SS-SAE 模型能夠從原始輸入數據中學習深層與目標相關的特征。在SSSAE 中,通過構建多個SS-AE 模型逐層提取深層高階特征。與目標值相關的特征被依次學習,不相關的信息則通過層次化疊加的SS-AE 逐步減少。最后,通過冷連軋生產過程的軋制力預報實驗,驗證了SS-SAE模型的有效性和優(yōu)越性。