王 寧,劉毅敏
(武漢科技大學 信息科學與工程系,武漢430081)
在當前鋼鐵行業(yè)攻堅發(fā)展的關(guān)鍵時期,加強控制帶鋼產(chǎn)品的質(zhì)量水平顯得分外重要。表面缺陷是影響鋼材質(zhì)量的重要因素,其中主要以氧化鐵皮為主,工廠一般通過酸洗來進行清除。酸洗是軋鋼生產(chǎn)過程中至關(guān)重要的一步[1],要使軋鋼成品表面質(zhì)量好,就必須對酸洗液中的酸濃度和鐵離子濃度進行控制,使其保持在最合適的范圍之內(nèi)。而精準的測量是控制的重要保證, 因此在軋鋼生產(chǎn)過程中,準確測量酸濃度和鐵離子濃度,對保障產(chǎn)品質(zhì)量有著非常重要意義。
酸濃度測量主要包括在線測量和離線測量2種方法。離線測量方法在測量和控制方面存在滯后性,自動化程度不高,帶鋼的酸洗質(zhì)量得不到保障。目前在線檢測主要以軟測量為主[2],該方法具備變量可測量、模型可控制以及實時性較高的優(yōu)勢。
近年來,隨著機器學習、神經(jīng)網(wǎng)絡(luò)的快速興起和蓬勃發(fā)展,神經(jīng)網(wǎng)絡(luò)被越來越多地運用在不同領(lǐng)域的參數(shù)預測中。其中,針對時間序列數(shù)據(jù)在不同領(lǐng)域的研究已經(jīng)取得了不少成果,包括股票價格預測[3]、電力負荷預測[4]、空氣質(zhì)量[5]等方面。在此針對某鋼廠酸洗濃度的時間序列數(shù)據(jù),提出了一種基于長短期記憶LSTM 神經(jīng)網(wǎng)絡(luò)的酸濃度預測方法,首先對LSTM 神經(jīng)網(wǎng)絡(luò)模型進行訓練, 然后將待測數(shù)據(jù)輸入網(wǎng)絡(luò)模型后進行預測。
循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(recurrent neural network)又稱遞歸神經(jīng)網(wǎng)絡(luò)[6],是一種針對時間序列問題的深度神經(jīng)網(wǎng)絡(luò),在近年來的深度學習領(lǐng)域中得到了廣泛運用并在短時間內(nèi)取得了顯著成果。
與一般的神經(jīng)網(wǎng)絡(luò)相比,RNN 最為特別的地方就是它對隱藏層進行跨時間點的連接, 如圖1所示,隱藏層不僅給輸出層傳輸信息,而且還與下一時刻的隱藏層建立了聯(lián)系,將信息傳遞給下一時刻的隱藏層。這意味著當前時刻的輸出取決于歷史輸入序列和網(wǎng)絡(luò)工作狀態(tài)信息[7]。
圖1 RNN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 RNN network structure
將單個網(wǎng)絡(luò)單元展開,具體如圖2所示,其中U,V,W 為權(quán)重系數(shù)矩陣;O 為輸出變量;X 為輸入變量;S 為狀態(tài)變量。t 時刻的輸入和t-1 時刻的輸出同時確定t 時刻的節(jié)點輸出。每個隱藏層的輸入都包含著當前時刻的輸入和前一時刻隱藏層的輸出。
圖2 RNN 單個隱藏層單元展開圖Fig.2 RNN single hidden layer unit expansion diagram
由此可見,RNN 網(wǎng)絡(luò)相比于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)所擁有的特別之處, 就是在RNN 中每一步輸入及每一層均共享參數(shù), 這種共享性表明RNN 在每一步都在做相同的操作,因此極大地減少了對模型學習參數(shù)的需求,從而降低模型復雜度,縮短訓練周期,又可以保障較高的精度。但同時,梯度消失的問題常發(fā)生于RNN 模型訓練的后期即當間隔不斷增大時,RNN 可能會失去學習相對久遠的信息的能力[8]。
節(jié)點記憶快速衰弱是普通的循環(huán)神經(jīng)網(wǎng)絡(luò)存在的問題, 這個問題在LSTM 網(wǎng)絡(luò)模型中得到了很好的解決。為了解決梯度消失的問題,LSTM 應運而生,它是在RNN 基礎(chǔ)上的進行改進和優(yōu)化的。LSTM比普通RNN 訓練更加容易, 原因是其模型結(jié)構(gòu)中包含著一組記憶模塊,它們彼此關(guān)聯(lián)從而取代普通RNN 中的記憶單元。與此同時,LSTM 可以學習比較久遠的依賴信息,避免梯度消失問題[9]。
在圖3所示LSTM 神經(jīng)元內(nèi)部結(jié)構(gòu)隱藏層的神經(jīng)節(jié)點中,添加了一種被稱為記憶單元的結(jié)構(gòu)來記憶過去的信息,并增加了輸入門、遺忘門和輸出門3種門[10]結(jié)構(gòu)以控制歷史信息的使用。遺忘門的作用為決定是否以一定的概率來控制遺忘上一層的隱藏細胞狀態(tài),通常采用激活函數(shù)來對遺忘門輸出值進行控制,使其輸出值在0 到1 之間,0 表示完全舍棄,1 表示全部保留。輸入門控制信息的輸入;輸出門確定輸出哪些信息。
圖3 LSTM 網(wǎng)絡(luò)單元Fig.3 LSTM network unit
該過程可表示為
式中:xt,ht分別為輸入序列、 輸出序列;it為輸入門的輸出;ft為遺忘門, 決定從之前狀態(tài)中丟棄的信息內(nèi)容;ct為當前時刻t 的狀態(tài);ot為輸出門的輸出;W,b 為參數(shù)矩陣。
在此,擬將溫度T,溶液密度D,電導率C 作為酸濃度的預測影響變量,通過結(jié)合長短時記憶神經(jīng)網(wǎng)絡(luò)來訓練上述多維時序變量模型。在此,LSTM 時序信號預測網(wǎng)絡(luò)模型如圖4所示。該網(wǎng)絡(luò)模型分為3 個層次:輸入層、隱藏層和輸出層。其中,輸入層控制進入網(wǎng)絡(luò)的數(shù)據(jù)格式; 隱藏層是包含了若干LSTM 單元的結(jié)構(gòu),為整個預測模型的核心;輸出層則是一個全連接層,以獲得下一狀態(tài)的預測值。
圖4 LSTM 酸濃度預測模型結(jié)構(gòu)Fig.4 LSTM acid concentration prediction model structure
在學習階段,將歷史生產(chǎn)階段采集到的T,D,C等傳感器值,以時間步為索引組織后作為網(wǎng)絡(luò)的學習樣本,同時鹽酸HCl 濃度H 和鐵離子濃度F 作為整個LSTM 預測網(wǎng)絡(luò)的目標值 (監(jiān)督值)。因為LSTM 網(wǎng)絡(luò)具有結(jié)構(gòu)遞歸的特點, 所以在上述時序?qū)W習樣本的作用下,LSTM 預測網(wǎng)絡(luò)將根據(jù)當前輸入Xi=[Ti,Di,Ci], 以及其前N 個狀態(tài)的輸入Xi-N,Xi-N+1,…,Xi-1,預測出下一個狀態(tài)(或下幾個狀態(tài))下的鹽酸濃度預測值H?i-1。而后,將預測值H?i-1與鹽酸濃度實際值Hi+1之間的平均絕對誤差MAE(mean absolute error) 作為學習過程的損失函數(shù), 并結(jié)合Adam 算法在每次迭代過程做參數(shù)優(yōu)化, 直至損失函數(shù)MAE 收斂。同時,還需要考慮過擬合,過擬合是多變量多參數(shù)深度神經(jīng)網(wǎng)絡(luò)訓練過程中容易出現(xiàn)并嚴重影響網(wǎng)絡(luò)適應性的一個關(guān)鍵性問題。為此在設(shè)計3 層隱藏層的基礎(chǔ)上同時引入Dropout[11]算法。該算法是在訓練學習階段隨機丟棄一些單元及其連接,從而有效地緩解過擬合的問題。
輸出層計算預測輸出y?i與實際輸出yi的平均絕對值誤差,并將計算結(jié)果作為損失函數(shù)。平均絕對誤差是平均誤差幅度的明確度量,適用于大多數(shù)模型的平均誤差比較。隱藏層計算出損失函數(shù)的梯度,然后反向傳播來調(diào)整公式中的所有權(quán)值,在每一次迭代學習時,采用Adam[12]算法來生成優(yōu)化參數(shù),直到損失函數(shù)收斂。
試驗操作系統(tǒng)為Ubuntu1 6.04 長期維護版,編程語言為python 3.5, 算法庫采用了較為主流的Tensorflow,集成開發(fā)環(huán)境是PyCharm;硬件配置為CPU intel i7,內(nèi)存8 GB。
所用試驗數(shù)據(jù)的來源為某鋼廠酸洗線1 號酸洗罐。其中,溫度、密度、電導率為現(xiàn)場傳感器所得,鹽酸和鐵離子濃度為實驗室滴定數(shù)據(jù), 采用2018年9月至11月共102 組數(shù)據(jù)。
所提出的基于長短時記憶神經(jīng)網(wǎng)絡(luò)的酸濃度預測步驟如下:
步驟1數(shù)據(jù)預處理。
1)對酸濃度時序數(shù)據(jù)進行偏差判斷及處理。
2)采用min-max 標準化法對數(shù)據(jù)進行標準化處理,即
式中:Xnorm為數(shù)據(jù)標準化后對應的值;Xmax為數(shù)據(jù)集中的最大值;Xmin為數(shù)據(jù)集中的最小值。
3)構(gòu)造樣本集并分為訓練樣本集和測試樣本集。
步驟2模型參數(shù)設(shè)置,建立模型。
1)關(guān)于LSTM 神經(jīng)網(wǎng)絡(luò)模型的參數(shù)設(shè)定,目前尚未統(tǒng)一可遵循的方法。在此,采用試湊法結(jié)合多次試驗結(jié)果,探尋效果最好、最合適的參數(shù)。模型的具體參數(shù)見表1。由表可知,隱藏層數(shù)為3,設(shè)置每層的神經(jīng)單元數(shù)均為128; 考慮到樣本數(shù)可能會導致過擬合問題, 故在每層隱藏層后均加入Dropout算法以進行優(yōu)化; 在訓練集時間窗的大小選擇上,經(jīng)過多次試驗后發(fā)現(xiàn)訓練集時間窗以10 的效果為最好。另外,由于預測值包含酸濃度和鐵離子濃度,故在全連接層的輸出維度設(shè)置為Dense(2)。
表1 LSTM 網(wǎng)絡(luò)模型參數(shù)Tab.1 Parameters of LSTM network model
2)將訓練集輸入到設(shè)置好的LSTM 網(wǎng)絡(luò)模型中去進行訓練。
3)迭代完畢,訓練完成保存網(wǎng)絡(luò)模型。
步驟3測試模型,輸出結(jié)果。
1) 將測試數(shù)據(jù)集輸入到訓練完成的網(wǎng)絡(luò)模型中得到模型預測結(jié)果。
2)將模型預測結(jié)果進行反歸一化得到預測值,與真實值進行比較并繪制結(jié)果圖及誤差圖。
酸濃度預測的具體流程如圖5所示。
圖5 酸濃度預測流程Fig.5 Acid concentration prediction flow chart
損失函數(shù)趨勢如圖6所示。由圖可見,Epoch 約為600,模型的損失函數(shù)趨于穩(wěn)定。結(jié)合試驗中其他參數(shù)的設(shè)定, 最終確定Epoch 為1000 時模型的平均絕對差MAE 最小,即預測效果最好。
圖6 損失函數(shù)趨勢Fig.6 Loss function trend graph
將訓練好的模型對樣本數(shù)據(jù)中最后9 個樣本點進行預測。鹽酸、鐵離子濃度預測效果如圖7所示。由預測圖可見,預測值與實際值擬合效果較好。
圖7 LSTM 酸濃度模型的鹽酸、鐵離子濃度預測效果Fig.7 Predictive effect of LSTM acid concentration model on hydrochloric acid and iron ion concentration
鹽酸、 鐵離子濃度預測的絕對誤差如圖8所示,圖中所示虛線為±10 g/L 鋼鐵行業(yè)內(nèi)誤差標準規(guī)范,由圖可見鹽酸、鐵離子濃度預測誤差均在標準規(guī)范之內(nèi)。
LSTM 模型的預測值與真實數(shù)據(jù)的對比見表2。由表可知,鹽酸、鐵離子質(zhì)量濃度的預測絕對誤差值最大分別為6.25 g/L 和6.69 g/L,符合鋼鐵行業(yè)濃度誤差在-10~10 g/L 以內(nèi)的規(guī)范要求。
圖8 LSTM 鹽酸、鐵離子濃度模型的預測誤差Fig.8 Prediction error of LSTM model for hydrochloric acid and iron ion concentration
表2 LSTM 模型的預測值與真實數(shù)據(jù)對比Tab.2 Comparison of LSTM model predicted values with actual data
2 種不同模型的預測效果見表3。由表可知,在此LSTM 模型預測效果,比最小二乘法OLS 求得的傳統(tǒng)回歸分析模型,預測的效果更好。
表3 不同模型的預測效果Tab.3 Prediction effects of different models
針對帶鋼酸洗酸濃度的時序數(shù)據(jù)特點, 以及當前鋼鐵行業(yè)對軋鋼成品表面質(zhì)量要求越來越高的現(xiàn)狀,提出了基于LSTM 的帶鋼酸洗酸濃度預測模型,實現(xiàn)了對酸洗液濃度的有效預測。以某鋼廠酸洗線的歷史數(shù)據(jù)為對象進行了實例驗證,結(jié)果顯示:基于LSTM 的帶鋼酸洗濃度預測模型具有較高的預測精度,LSTM 適用于酸濃度的預測研究,可有效提高酸濃度的預測精度;與傳統(tǒng)的回歸分析模型相比, 擁有更好的預測精度和更好的適用性。