侯 婕,田學法,孔淑麒
(1.海軍研究院,北京 100161;2.北方工業大學 信息學院,北京 100144)
鋁電解槽對于鋁冶煉工業來說是其最為重要的主體設備。在我們國家的鋁工業發展初始階段,使用過電流為4~8 kA小型預焙陽極電解槽[1]。對于現階段比較大型的電解槽它的電流很多已經達到了300~500 kA,在大型預焙槽中電耗已經減少到了13,500 kWh/t-Al。鋁電解槽的電流效率也有了很大的提高,提高到90%~95%。
鋁電解槽由槽體、陽極以及陰極構成,熔鹽電解槽在高溫、強腐蝕性的環境中工作,在炭素體陽極發生氧化反應,陰極發生還原反應產出鋁液。工作電壓、電解溫度、電解質水平、鋁水平、分子比、爐底壓降等技術參數對電解槽高效、穩定生產產生作用,它們之間既相互聯系又相互制約。獲取各項技術參數比直接探測槽狀態更容易,所以利用采集到的技術參數結合機器學習方法可以有效預測鋁電解槽的狀態。
本文選擇使用在時間序列預測任務中具有良好表現的LSTM網絡來對鋁電解槽況預測,這能夠使工藝人員提前了解槽況的變化,能夠提前避免槽況變壞帶來的損失,所以本文研究內容在鋁電解工業上有很大潛在應用價值。
鋁電解槽的生產數據是一種時間序列而且具有數據維度高的特點?,F有針對時間序列數據的預測算法有多種模型,比如人工神經網絡、自回歸移動平均、小波神經網絡等[2-3]。時間序列預測的研究始于一個回歸方程[4],它在數據分析中預測了一年中太陽黑子的數量。自回歸移動平均模型(ARMA)和自回歸綜合移動平均模型(ARIMA)[5]表明,基于回歸方法的時間序列預測模型正變得越來越流行。因此,這些模型也成為時間序列預測中最簡單,也是最重要的模型。但由于實際數據的復雜性、不規則性、隨機性和非線性,很難通過復雜模型實現高精度預測。采用機器學習方法,可以建立基于大量歷史數據的非線性預測模型。事實上,通過反復的訓練迭代和學習近似,機器學習模型可以比傳統的基于統計的模型獲得更準確的預測。典型的方法有支持向量回歸[6]或基于核的分類,人工神經多階(ANN)[7]與強非線性函數逼近和基于樹的集成學習方法,如梯度增強回歸或決策樹(GBRT, GBDT)[8-9]。但是,由于上述方法缺乏對輸入變量之間序列依賴關系的有效處理,因此在時間序列預測任務[10]中效果有限。
伴隨不斷地深入研究深度學習算法,發現深度學習算法可以適用于預測時間序列數據的問題,該算法先逐步分析輸入的數據信息,然后對有效特征進行提取,將隱含關系從數據序列中提取出來。為了讓RNN網絡能夠更有效的處理時間序列數據,在RNN的神經網絡架構中引入時間序列概念。RNN的一種改進算法是長短期記憶神經網絡,改進了在RNN網絡結構中存在的梯度爆炸、梯度消失、長時間序列數據的記憶等問題,對于長時間的序列信息能夠有效地處理[11]。LSTM模型應用在了很多領域例如語音識別、股票價格預測、降雨量預測、交通流預測、圖像文字識別等,并且都取得了不錯的應用效果[12]。
就目前而言,雖然在鋁電解生產的研究與應用中,數據挖掘等技術得到了廣泛的應用,用于鋁電解槽的槽狀態判斷,但是對于鋁電解槽的槽狀態預測方面一直欠缺研究,本文在對鋁電解槽進行聚類分析后,將時間序列的預測研究應用到鋁電解槽的槽狀態預測中。
長短時記憶(long short term memory,LSTM)網絡是一種結合梯度學習算法的網絡結構,是循環神經網絡(recurrent neural network,RNN)的改進模型。LSTM所具有的兩個特殊的結構記憶門和遺忘門使得該網絡能夠充分的利用數據中帶有的時間屬性。傳統的RNN網絡在訓練網絡時會存在梯度消失的問題,梯度消失也叫做長期依賴問題,LSTM依靠改進RNN加入的記憶單元,能夠有效規避梯度消失的問題,并在眾多領域取得了巨大的成功[13]。LSTM結構圖如圖1所示。LSTM神經元通過“門”結構有選擇性地傳遞消息,從而達到控制信息的目的。與RNN相比兩者的共同點是LSTM在訓練網絡時利用反向傳播算法。當網絡反向傳播對參數進行更新時,LSTM誤差項的反向傳播包括兩個方向:一個是沿著時間方向反向傳播,即從當前時刻開始,計算每個時刻的誤差項;另一個是將誤差項向上一層傳播,根據相應的誤差項,計算每個權重的梯度。LSTM的改進結構增加了三個‘門’結構,分別是‘輸入門’‘輸出門’、‘遺忘門’[14]。輸入門是用來處理當前時刻的輸入值和上一時刻的輸出值當做總的輸入信息。輸出門是用來決定下一個時刻所要傳遞的信息。遺忘門則是用來判斷前面的記憶信息要丟棄的信息,通過sigmoid函數把數值壓縮在[0,1]之間,取值越接近1,表示當前細胞狀態中要保留的信息越多,相反的,當取值越接近0時,則表示選擇遺忘的信息越多。

圖1 LSTM結構圖
其中各個門控單元的計算過程如下所示:
ft=sigmoid(Wf·[ht-1,xt]+bf)
(1)
it=sigmoid(Wi·[ht-1,xt]+bi)
(2)

(3)

(4)
ot=sigmoid(Wo[ht-1,xt]+bo)
(5)
ht=ot×tanh(Ct)
(6)
算法流程如表1所示:

表1 算法流程表
本數據來源于某鋁廠300 kA系列采集到的真實鋁電解槽生產數據,其中每個電解槽每天包含Fe含量、鋁水平、分子比、Si含量、氧化鋁濃度、電解質水平、電解溫度等13個特征數據,采集周期為一天。通過對上述數據的觀察,結合鋁電解生產的工業特點,可以總結出電解鋁生產過程中的實驗數據的特點:
(1)數據的維度非常高:采集到的鋁電解槽的生產數據中每天都存在多個互相關聯的生產數據,所以數據的維度非常高;
(2)數據中的一些特征有空缺值:空缺值存在的原因是在采樣過程中,會因為環境、人為失誤、設備故障等造成一定的數據缺失;
(3)數據中存在噪聲數據:在采集數據過程中因為環境和人為因素等會造成采集的數據存在噪聲;
(4)時間序列數據:采集到的生產數據都是以時間為索引,例如:采集到的鋁電解槽的日報數據。隨著時間的改變,各個生產數據會出現波動變化。
(1)空缺值處理:
首先對于前期采集的數據中缺失值過多的特征刪除,按照缺失值超過數據總量一半的標準去除特征。如圖2所示,數值1表示數據全部缺失,數值0表示數據不缺失,介于0~1之間的部分缺失,其中氧化鋁濃度、效應系數、出鋁量數據全部缺失所以去除,其余特征均可保留。

圖2 數據缺失情況
在將缺失率過多的特征去除后,剩余特征的缺失值采取了線性插值的方法補全。線性插值是一種對于一維時間序列數據補全的方法,利用缺失值前后的數據變化情況,根據到相鄰數據點的距離分配比重補全缺失值。通過這種方法,對每一維的數據進行了補全。y值可通過式(7)求得:
(7)
(2)數據歸一化
因為采集到的數據維度較大,各維度量級都不相同且差異較大,這對于后續的數據分析非常不利,所以采用了min-max方法對數據進行數據歸一化,將數據歸一化到[0,1]區間。轉換函數如式(8)所示:
(8)
式中:max——樣本數據的最大值;
min——樣本數據的最小值。
(3)標記槽況
因為采集到的數據并沒有槽況標記,所以要在預測槽況之前,對采集的數據進行槽況分類,選擇了用具有軟聚類屬性的高斯混合模型聚類,聚類得出兩個類別:(0,1),劃分出不同的槽況,并且標記槽況,用于槽況預測。標記過槽況的數據格式如表2所示:

表2 數據格式表
本實驗使用Python語言編寫所有程序,并在CPU2.50GHz,內存8GB,Windows7操作系統的計算機上進行了槽況預測實驗。數據采用某鋁廠276臺電解槽五個月的全部歷史數據,并且將原始數據進行了空缺值處理、歸一化處理以及標記槽況等同時剔除了有問題的數據。
鑒于采集到的鋁電解槽數據是真實鋁電解廠數據,所以電解槽大部分都處于一個良好的工作狀態,在聚類階段僅能將槽況分為兩類。實驗用到的數據共十個屬性,將每天的十一個特征屬性數據值(通過聚類得到的類別也作為一個特征屬性)作為樣本數據,輸入的樣本數據形式記為:Xt=〔Xt(1),Xt(2),Xt(3),…,Xt(10),yt〕,t表示時間,y表示聚類類別,X表示采集到的10個屬性。按照時間序列展開數據格式如式(9)所示:
(9)
在預測槽況時,采用LSTM算法,該算法的步驟為:
(1)計算LSTM在神經網絡前向傳播時的輸入、輸出以及各個隱藏層的各個神經元的輸出值;
(2)通過交叉熵函數計算輸出誤差,誤差通過反向傳播算法反向傳播到各層神經元;
(3)根據梯度下降算法和傳播的誤差,更新各層的神經元參數;
(4)根據設置的迭代次數,重復(2)、(3)、(4),直到收斂,此時模型訓練完成。

圖3 LSTM算法流程圖
利用LSTM算法,設定滑動窗口m,根據滑動窗口構建訓練集和測試集,訓練模型,選擇交叉熵作為損失函數,用來反映預測數據和真實數據之間的偏差,最后用訓練好的模型對鋁電解槽狀態進行預測。利用LSTM算法對鋁電解槽況進行預測的流程如下:
(1)對數據進行歸一化處理;
(2)根據設定的滑動窗口大小m,構建訓練集和測試集;
(3)構建改進的LSTM模型,對模型的參數進行初始化設置;
(4)用訓練集對預測模型訓練,采用梯度下降的方法更新參數,迭代數次后直到達到精度要求;
(5)將測試集喂給訓練好的模型中,利用歷史數據預測t+1時刻的預測值。
本實驗按照8∶2的比例劃分了訓練集和測試集,訓練集用于訓練構建的LSTM模型,測試集用于驗證訓練出來的模型的算法準確性。對于滑動窗口和神經元個數的設定,通過實驗找到了最佳的選擇,如圖4所示,橫坐標為不同的神經元個數,分別為80、90、100、110、120,縱坐標為損失函數值,四個不同花紋的柱狀體表示四個不同的滑動窗口大小,分別為30、40、50、60。從圖中可以看到在滑動窗口大小為50以及隱含層神經元個數為100時,交叉熵值最小。所以選擇50和100作為滑動窗口大小和神經元個數。
構建基于LSTM的鋁電解槽況預測模型,使用此前構建的訓練數據集對模型進行迭代訓練,得到網絡參數和最小的損失函數,然后將測試數據集放入模型中驗證模型效果,查看準確率。在訓練好的模型中,準確率達到了91.6%??梢钥闯隼迷撃P皖A測槽況時,能夠較為準確的預測出槽況的變化情況。

圖4 模型參數對比實驗圖
將該算法應用到鋁電解槽況分析系統中,從而實現鋁電解槽況的預測,利用訓練好的模型,將結果展示在頁面中,方便專業人員查看槽況的變化情況。如圖5所示,可以看到在中間有槽況的突變;如圖6所示,鋁電解槽況突變時,LSTM算法分析預測出的槽況與真實槽況的對比。這在實際的生產過程中,專業人員就可根據預測的槽況變化,調整工藝參數的添加,使槽況變好,從而減少企業損失。

圖5 系統預測結果圖

圖6 預測結果與真實槽況對比圖
本文首先介紹了關于鋁電解的相關研究,包括研究鋁電解槽的相關信息以及現階段對于鋁電解槽況預測方面的研究情況,然后介紹了LSTM算法的相關知識。其次是數據的采集工作,本文描述了數據所具有的特點,并且對數據空缺值進行了剔除和線性插值兩種操作,因為數據量綱不一致問題,對數據歸一化處理,然后利用高斯混合模型對槽況標記。最后是利用準備好的數據對槽況變化利用LSTM模型進行預測。模型根據設定的滑動窗口大小將訓練集輸入模型訓練,訓練完成后利用測試集驗證模型的準確率,準確率達到了91.6%,能夠較為準確的預測出槽況的變化。并將該模型應用到鋁電解槽況分析系統中,方便專業人員查看槽況變化,及時作出調整,減少企業損失,對于鋁電解工業上有一定的參考價值。