李志剛,張 鑫
(1.華北理工大學(xué)信息工程學(xué)院,河北 唐山 063210;2.華北理工大學(xué)電氣工程學(xué)院,河北 唐山 063210)
高爐煤氣是高爐煉鐵中的重要副產(chǎn)物,在生產(chǎn)鋼鐵的過程中,為了保障生產(chǎn)的正常運行,需要對高爐煤氣的產(chǎn)生量隨時有準確的預(yù)測[1]。實際采集到高爐煤氣數(shù)據(jù)具有非線性的特點往往難以準確預(yù)測,工廠生產(chǎn)日志數(shù)據(jù)往往都具有時序性,針對這兩個特點,對短期高爐煤氣產(chǎn)生量預(yù)測研究大體分為兩個方向,一個方向是針對時間序列分析,例如回歸分析法[2]和自回歸積分滑動平均(ARIMA)[3]等方法。時間序列分析方法的基本思想是從時間序列的過去值以及現(xiàn)在的數(shù)據(jù)值來預(yù)測未來的數(shù)據(jù)值,雖然考慮到了數(shù)據(jù)間的時序關(guān)系,但是忽略了對非線性數(shù)據(jù)的預(yù)測能力;另一個方向是機器學(xué)習(xí)分析,例如BP神經(jīng)網(wǎng)絡(luò)[4?5]、支持向量機算法[6]、專家系統(tǒng)法[7]等預(yù)測算法。以上這些算法的不足之處就在于忽略了時序性在預(yù)測中的作用。
針對序列化數(shù)據(jù),需要通過上一個時間點的數(shù)據(jù)來預(yù)測下一個時間點的數(shù)據(jù)結(jié)果,很依賴上一個輸入,因此網(wǎng)絡(luò)必須有一定的“記憶能力”。
為了賦予網(wǎng)絡(luò)這樣的記憶能力,就需要一種特殊結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)——循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network)[8]。RNN引入“記憶”的概念,每一個單元都執(zhí)行相同的任務(wù),稱其為遞歸,但是輸出依賴于輸入和“記憶”。由于RNN網(wǎng)絡(luò)對長期依賴信息的處理效果不夠好,體處理一種基于RNN改良的長短期記憶(LSTM)網(wǎng)絡(luò),適合于處理和預(yù)測時序數(shù)據(jù)中間隔和延遲相對較長的重要事件,并廣泛應(yīng)用在學(xué)習(xí)翻譯語言、圖像分析、文檔摘要、語音識別等領(lǐng)域[9]。GRU是能實現(xiàn)LSTM功能的另一效果更好的變體,它將LSTM模型中的三個門合并成更新門和重置門,結(jié)構(gòu)的更加的簡單,從而相對于LSTM提升了整體的訓(xùn)練速度[10]。GRU網(wǎng)絡(luò)模型可以充分的挖掘出長期歷史數(shù)據(jù)中的潛在聯(lián)系。
對數(shù)據(jù)提取的特征的質(zhì)量影響著機器學(xué)習(xí)的解決問題能力,然而,深度學(xué)習(xí)技術(shù)可以在沒有人工幫助下提取高質(zhì)量的特征向量。這里結(jié)合鋼鐵企業(yè)高爐煤氣數(shù)據(jù)的特點,提出一種改進的CNN?GRU 模型進行預(yù)測,它通過CNN 優(yōu)秀的特征提取能力為GRU提供高質(zhì)量的輸入特征向量進行時序性分析提高預(yù)測準確率。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種在深度學(xué)習(xí)領(lǐng)域廣泛使用的多層神經(jīng)網(wǎng)絡(luò)。通過共享權(quán)值來解決隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的加深而帶來的參數(shù)過多問題。它的網(wǎng)絡(luò)結(jié)構(gòu)由卷積層、池化層、全連接層和輸出層構(gòu)成。
卷積層中,通過多個不同的卷積核(filter)在卷積層進行卷積操作,從而得到和卷積核數(shù)量相同的特征圖(feature map),得到的特征圖將代表不同特征輸入到下一層。池化層通常在卷積層之后,用于降低特征圖的維度。卷積神經(jīng)網(wǎng)絡(luò)通過自動習(xí)得特征,而不是通過人工選取,提高了對復(fù)雜對象的適應(yīng)性。這里提出的預(yù)測模型使用CNN來提取數(shù)據(jù)的特征向量。
2.2.1 長短期記憶網(wǎng)絡(luò)
長短期記憶網(wǎng)絡(luò)(Long Short?Term Memory,LSTM),是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的變形結(jié)構(gòu),在RNN基礎(chǔ)上在隱層中增加了遺忘門,從而使網(wǎng)絡(luò)在長期記憶方面得到大步提高,使網(wǎng)絡(luò)的“記憶力”可控,在許多應(yīng)用場景中表現(xiàn)良好。LSTM網(wǎng)絡(luò)的基本單元是它的記憶單元,如圖1所示。記憶單元由“門”結(jié)構(gòu)構(gòu)成“。門”結(jié)構(gòu)包含輸入門、輸出門和遺忘門三大部分。
圖1 LSTM記憶單元結(jié)構(gòu)Fig.1 LSTM Memory Cell Structure
計算公式如下:
式中:遺忘門、輸入門、輸入節(jié)點、輸出門、中間輸出和狀態(tài)單元的狀態(tài)分別用ft,it,gt,ot,?t和St表示。向量中元素按位相乘用⊙表示;Sigmoid函數(shù)的變化值用σ表示;tanh函數(shù)變化用?表示;輸入xt和中間輸出?t?1相乘的矩陣權(quán)重用Wfx,Wf?,Wix,Wi?,Wgx,Wox和Wo?表示;各個門的偏置項用bf,bi,bg和bo。
2.2.2 GRU神經(jīng)網(wǎng)絡(luò)
GRU模型,如圖2所示。圖中的zt和rt分別表示更新門和重置門。用更新們來控制前一時刻的狀態(tài)信息有多少能夠被帶入到當前狀態(tài)中,更新門的值越大說明更多的前一時刻狀態(tài)信息被帶到當前時刻;用重置門控制有多少前一時刻的狀態(tài)信息需要被忽略,重置門的值越小說明需要忽略的狀態(tài)信息越多。
圖2 GRU記憶單元結(jié)構(gòu)Fig.2 GRU Memory Unit Structure
計算公式如下:
式中:兩個向量相連接用[]來表示,矩陣元素相乘用*表示。?t—中間變量,其中Wr,Wz,Wh,Wo—輸入xt和中間變量?t?1相乘的矩陣權(quán)重。tanh函數(shù)用于將值控制在?1到1之間,σ—Sigmod函數(shù)。
GRU 是能實現(xiàn)LSTM 功能的另一效果更好的變體,它將LSTM模型中的三個門合并成更新門和重置門,結(jié)構(gòu)的更加的簡單,從而相對于LSTM提升了整體的訓(xùn)練速度。GRU網(wǎng)絡(luò)模型可以充分的挖掘出長期歷史數(shù)據(jù)中的潛在聯(lián)系。
對復(fù)雜工業(yè)過程的建模,單一的神經(jīng)網(wǎng)絡(luò)往往存在局限和不足,而將多個神經(jīng)網(wǎng)絡(luò)進行結(jié)合可以實現(xiàn)取長補短,因此這里提出的CNN?GRU混合模型。此模型的預(yù)測過程分為三個階段實現(xiàn)。首先將在工廠采集到的溫度信息、壓力信息和含氧量信息等時間序列進行耦合作為CNN網(wǎng)絡(luò)的輸入量,為實現(xiàn)這個過程參考RNN網(wǎng)絡(luò)在處理自然語言中的詞向量方法。首先將每一時刻采集到的不同特征數(shù)據(jù)量串聯(lián)成一個向量,最終將得到我們需要的時間序列向量。每一時刻的高爐煤氣產(chǎn)生量數(shù)據(jù)與其同時刻的時間序列向量共同表示。為方便計算,選取從T時刻開始的連續(xù)12個時間序列向量作為一個元素,下一個元素為從T+1時刻開始的連續(xù)12個時間序列向量,以此類推形成模型的輸入,如圖3所示。
圖3 CNN?GRU網(wǎng)絡(luò)模型輸入數(shù)據(jù)結(jié)構(gòu)Fig.3 Input Data Structure of CNN?GRU Network Model
然后在CNN網(wǎng)絡(luò)中將生成的時間序列向量通過卷積層生成特征圖。CNN網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計為3層卷積層(Conv2d),兩層的卷積核數(shù)目選擇為32、64和128,卷積核的數(shù)目決定了特征向量的提取數(shù)量。在上一步我們得到了12*12的元素,卷積核尺寸選擇3*3,步長為1,進行全卷積。在池化層(Pooling2d)中,池化窗口尺寸選擇為2*2,將卷積層的輸出降低維度,池化層我們采用最大池化的方法。經(jīng)過卷積和池化將得到的輸出進行全連接,得到一維數(shù)據(jù)。最終得到的數(shù)據(jù)作為GRU網(wǎng)絡(luò)輸入的特征向量。最后通過GRU網(wǎng)絡(luò)的對時間序列處理能力的特點進行高爐煤氣產(chǎn)生量預(yù)測,為防止過擬合我們采用dropout的方法對GRU網(wǎng)絡(luò)進行處理。
經(jīng)過反復(fù)試驗發(fā)現(xiàn)增加GRU網(wǎng)絡(luò)的層數(shù)可以提高模型的預(yù)測精度,最終得到的CNN?GRU混合模型結(jié)構(gòu),如圖4所示。
圖4 CNN?GRU模型Fig.4 CNN?GRU Model
這里選用均方根誤差這種常用的預(yù)測模型評估指標對模型進行評估。公式如下:
式中:Xobs(i)、Xpred(i)—i時刻的觀測值和預(yù)測值。
以唐山某鋼鐵企業(yè)為例,使用2017年7月至10月的高爐生產(chǎn)中每2s采集一次而形成的數(shù)據(jù)集,用這里所搭建的CNN?GRU混合模型對高爐煤氣進行預(yù)測。將得到的預(yù)測結(jié)果和LSTM 模型和BP網(wǎng)絡(luò)模型的評價指標進行比較。通過比較結(jié)果可知,這里所提出的CNN?GRU混合網(wǎng)絡(luò)的預(yù)測效果更好。
3.1.1 異常數(shù)據(jù)處理
來自于實際生產(chǎn)的數(shù)據(jù),往往存在噪聲高的現(xiàn)象,為了降低噪聲的影響,找到并剔除數(shù)據(jù)中的異常值,這里采用箱線圖分析的方法,而對于缺失的數(shù)據(jù)采用插值法來進行填補。
3.1.2 數(shù)據(jù)歸一化
不同類型數(shù)據(jù)的數(shù)據(jù)區(qū)間差異過大會嚴重影響到不同數(shù)據(jù)間的關(guān)聯(lián)性度,為消除這方面干擾,這里采用Min?Max標準化方法將采集到的所有數(shù)據(jù)都約束在區(qū)間[0,1]之中。
式中:x?—我們希望得到的歸一化的值;數(shù)據(jù)中的最小值用xmin表示;數(shù)據(jù)中的最大值用xmax表示。
3.1.3 訓(xùn)練集和測試集劃分
在采集到的四個月數(shù)據(jù)中,把2017年7月至9月的數(shù)據(jù)作為訓(xùn)練集,將2017年10月的數(shù)據(jù)作為測試集。
高爐系統(tǒng)中的許多復(fù)雜的化學(xué)、物理反應(yīng)導(dǎo)致高爐煤氣產(chǎn)生過程受多方面因素影響,在我們采集到的多種數(shù)據(jù)中,找到最主要的影響因素。為了提高預(yù)測準確性,通過計算各個因素對高爐煤氣產(chǎn)生量的灰色關(guān)聯(lián)度,選取相關(guān)度高的影響因素進行下一步分析。
政治類課程的安排,目的是使學(xué)生提高政治意識,培養(yǎng)學(xué)生參政議政能力,了解和掌握國內(nèi)外政治經(jīng)濟發(fā)展動態(tài),深刻理解中國共產(chǎn)黨帶領(lǐng)全國人民從站起來、富起來到強起來的偉大歷程。調(diào)查結(jié)果顯示,大部分學(xué)生認為政治課的學(xué)習(xí)效果多依賴于教師上課的方法與技巧,希望任課教師在課上能夠多講一些與歷史有關(guān),與中共黨史有關(guān)的偉大事跡,以調(diào)動學(xué)生課上學(xué)習(xí)的積極性,激發(fā)學(xué)生的愛國情懷。
通過圖5可以看到高爐煤氣產(chǎn)生量的相關(guān)因素,本實驗選取關(guān)聯(lián)度大于0.6的影響因素作為預(yù)測的特征項,如表1所示。
圖5 影響因素關(guān)聯(lián)性分析圖Fig.5 Influential Factor Correlation Analysi s
表1 高爐煤氣產(chǎn)生量的相關(guān)影響因素Tab.1 Relevant Factors Affecting the Production of Blast Furnace Gas
本實驗的軟件框架選取Google的深度學(xué)習(xí)工具,TensorFlow框架。它由python編寫,并提供了CNN、GRU等深度神經(jīng)網(wǎng)絡(luò)的接口,可以實現(xiàn)模型的快速搭建和實驗的進行。
模型訓(xùn)練過程參數(shù)設(shè)置:網(wǎng)絡(luò)訓(xùn)練的指標是根均方誤差,損失函數(shù)loss選擇為均方誤差函數(shù)。優(yōu)化器選擇為Adam算法。
圖7 LSTM網(wǎng)絡(luò)模型預(yù)測結(jié)果Fig.7 LSTM Network Model Prediction Results
在固定CNN層提取特征不變的情況下,通過增加GRU網(wǎng)絡(luò)的層數(shù)來測試不同層數(shù)對網(wǎng)絡(luò)預(yù)測效果的影響。實驗結(jié)果,如表2所示。通過對表的觀察,很容易看出隨著層數(shù)的增加,可以提高模型的預(yù)測能力,但是當層數(shù)超過4時,訓(xùn)練誤差率上升,表明模型過渡學(xué)習(xí)。
表2 模型結(jié)構(gòu)組合實驗結(jié)果Tab.2 Model Structure Combination Experiment Results
確定了模型的結(jié)構(gòu)后就可以對模型進行訓(xùn)練,訓(xùn)練后的模型通過測試集來進行測試,并將測試結(jié)果對其他方法進行對比,觀察預(yù)測效果。各個模型最終預(yù)測結(jié)果,如圖6~圖8所示。通過圖6~圖8中各個模型的預(yù)測結(jié)果和真實結(jié)果對比曲線可以直觀的看出,BP網(wǎng)絡(luò)預(yù)測效果不理想。LSTM模型在波動較大的拐點處有嚴重的偏差。
圖6 BP網(wǎng)絡(luò)模型預(yù)測結(jié)果Fig.6 BP Network Model Prediction Results
圖8 CNN?GRU混合模型預(yù)測結(jié)果Fig.8 CNN?GRU Hybrid Model Prediction Results
選擇的性能指標為均方根誤差,計算三個模型的均方根誤差,如表3所示。
表3 各模型均方根誤差對比Tab.3 Comparison of Root Mean Square Error of Each Model
這里針對鋼鐵企業(yè)對高爐煤氣產(chǎn)生量的準確預(yù)測需求,提出了一種基于CNN?GRU網(wǎng)絡(luò)模型的短期預(yù)測方法,通過灰色關(guān)聯(lián)度分析的方法找出高爐煤氣產(chǎn)生量的主要影響因素,通過CNN網(wǎng)絡(luò)來在大量的影響因素中提取有效的特征向量,再使用GRU網(wǎng)絡(luò)挖掘出長期歷史數(shù)據(jù)中的潛在聯(lián)系,這里提出的模型優(yōu)點如下:
(1)利用CNN網(wǎng)絡(luò)優(yōu)秀的特征提取能力,避免了手動選取特征的局限性,通過自動學(xué)習(xí)獲得特征,在復(fù)雜環(huán)境下具有更好的適應(yīng)性,從而在海量數(shù)據(jù)中找到有效信息。
(2)將特征向量構(gòu)造成時序向量,利用GRU網(wǎng)絡(luò)對長期歷史數(shù)據(jù)的學(xué)習(xí)能力,能較好地預(yù)測出具有非線性和時序性特點的高爐系統(tǒng)數(shù)據(jù),并且較LSTM網(wǎng)絡(luò)有更快的處理速的。
(3)CNN?GRU網(wǎng)絡(luò)混合模型相較其它兩個模型大幅減小了預(yù)測結(jié)果的均方根誤差,有更高的預(yù)測精度,對實際生產(chǎn)有一定的指導(dǎo)意義。