倪小峰,曹 斌
(1 貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽(yáng) 550025;2 中鋁智能科技發(fā)展有限公司,杭州 310000)
隨著現(xiàn)代信息化水平和大數(shù)據(jù)相關(guān)技術(shù)的發(fā)展,“數(shù)化世界,萬(wàn)物互聯(lián)”已成為時(shí)代發(fā)展的必然趨勢(shì)[1]。在鋁電解工藝中,電解流程中產(chǎn)生的各種參數(shù)并不都是能夠?qū)崟r(shí)監(jiān)控的。因此,從已知的參數(shù)中發(fā)現(xiàn)數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系及規(guī)律,進(jìn)行動(dòng)態(tài)分析及預(yù)測(cè)成為極其重要和亟待解決的問(wèn)題。
鋁電解槽由槽體、陽(yáng)極以及陰極構(gòu)成。熔鹽電解槽在高溫、強(qiáng)腐蝕的環(huán)境中工作,在炭素體陽(yáng)極發(fā)生氧化反應(yīng),陰極發(fā)生還原反應(yīng)產(chǎn)出鋁液[2],積存于電解底部,車(chē)間操作人員定期出鋁,鑄造成鋁產(chǎn)品。鋁電解生產(chǎn)是一個(gè)多變量耦合、大延遲以及非線(xiàn)性工藝生產(chǎn)過(guò)程。維持電解過(guò)程的兩大平衡(能量和物料平衡),是保障其生產(chǎn)高效穩(wěn)定運(yùn)行的關(guān)鍵因素。然而,鋁電解的兩大平衡受多種因素、指標(biāo)的共同影響,耦合關(guān)系復(fù)雜,對(duì)氧化鋁添加量和出鋁量的正確決策是維持兩大平衡,保證經(jīng)濟(jì)效益最直接、有效地途徑[3-4]。本文將鋁電解工藝生產(chǎn)過(guò)程中所產(chǎn)生的各種參數(shù)進(jìn)行分析,利用歷史生產(chǎn)數(shù)據(jù),將特征選擇得到的強(qiáng)特征作為MLP 神經(jīng)網(wǎng)絡(luò)的輸入,出鋁量作為輸出對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過(guò)訓(xùn)練、測(cè)試和驗(yàn)證,最后得出一個(gè)預(yù)測(cè)模型,為一線(xiàn)工作人員提供槽作業(yè)的指導(dǎo)作用。
數(shù)據(jù)預(yù)處理是實(shí)驗(yàn)的前提,包括了數(shù)據(jù)的缺失值處理、規(guī)一化處理、特征選擇等內(nèi)容。對(duì)于鋁電解工業(yè),影響其生產(chǎn)過(guò)程的參數(shù)眾多,而且各個(gè)槽控系統(tǒng)參數(shù)之間存在著極其復(fù)雜的關(guān)聯(lián)關(guān)系。如:電解槽工作電壓、氧化鋁下料量、氟化鋁下料量、電解質(zhì)水平、鋁水平、分子比等多達(dá)十幾項(xiàng)指標(biāo),若其中任何一個(gè)發(fā)生變化,都可能導(dǎo)致其它參數(shù)隨之發(fā)生相應(yīng)的變化。所以為了使實(shí)驗(yàn)結(jié)果具有可靠性,數(shù)據(jù)特征處理至關(guān)重要,需根據(jù)步驟依次進(jìn)行。
本次實(shí)驗(yàn)數(shù)據(jù)來(lái)源于中鋁集團(tuán)貴州某鋁廠槽控機(jī)系統(tǒng)監(jiān)控的實(shí)時(shí)數(shù)據(jù)和人工采集的每日真實(shí)鋁電解槽生產(chǎn)數(shù)據(jù)。每個(gè)電解槽的相關(guān)參數(shù)包括鐵含量、硅含量、電解質(zhì)水平以及鋁水平等,總計(jì)10 維2 000多條特征數(shù)據(jù)。通過(guò)所采集的數(shù)據(jù)進(jìn)行觀察,分子比和氧化鋁濃度數(shù)據(jù)缺失過(guò)多,因此后續(xù)實(shí)驗(yàn)和分析不考慮這兩個(gè)參數(shù)。之后,再利用XGBoost[5]機(jī)器學(xué)習(xí)算法將剩余參數(shù)進(jìn)行重要性排序。
實(shí)驗(yàn)數(shù)據(jù)集有10 個(gè)參數(shù),并且各個(gè)參數(shù)指標(biāo)的數(shù)據(jù)量級(jí)有著非常明顯的差異。如:每天出鋁量的平均值達(dá)到了2 850 kg,而鐵含量、硅含量、噪聲和氟化鋁下料量等數(shù)據(jù)的量級(jí)則比較小??紤]到實(shí)驗(yàn)數(shù)據(jù)在數(shù)量上存在著比較大的偏差,必須對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。本文采用的是Z-score 標(biāo)準(zhǔn)化。
利用Python 中自帶的“.describe()”函數(shù),可以從原始數(shù)據(jù)組中提取標(biāo)準(zhǔn)差和均值。將數(shù)據(jù)處理為符合正態(tài)分布的數(shù)據(jù)集,其平均值為0,標(biāo)準(zhǔn)差為1。這樣做有利于減小因數(shù)據(jù)差異太大而導(dǎo)致的結(jié)果誤差。轉(zhuǎn)化函數(shù)為:
其中,μ表示各個(gè)參數(shù)的均值,σ代表相關(guān)參數(shù)標(biāo)準(zhǔn)差。
Pearson 相關(guān)系數(shù)用于衡量?jī)蓚€(gè)變量之間的變化趨勢(shì)的方向及程度[6],計(jì)算表達(dá)式如下:
式中,μ為實(shí)驗(yàn)數(shù)據(jù)集的均值;σxy為參數(shù)x與y之間的協(xié)方差;r∈[-1,1]。通過(guò)r值的大小可以判斷相關(guān)參數(shù)之間的相關(guān)性強(qiáng)弱。若任意兩個(gè)參數(shù)之間的相關(guān)系數(shù)大于0,說(shuō)明兩個(gè)參數(shù)是正相關(guān)關(guān)系,當(dāng)兩個(gè)參數(shù)的相關(guān)系數(shù)小于0 時(shí),說(shuō)明兩個(gè)參數(shù)呈負(fù)相關(guān)狀態(tài)??偟膩?lái)說(shuō),r的絕對(duì)值越大,表示兩個(gè)參數(shù)之間的相關(guān)性越強(qiáng)。
Pearson 相關(guān)系數(shù)熱力圖如圖1 所示,F(xiàn)e含量與Si含量呈正相關(guān),鋁水平與電解質(zhì)水平呈正相關(guān),氧化鋁下料量與出鋁量呈正相關(guān)。在鋁電解過(guò)程中需要保證鋁水平和電解質(zhì)水平保持在一定范圍內(nèi),才能保證電解槽處于穩(wěn)定狀態(tài),以達(dá)到最佳的電解反應(yīng),獲得最優(yōu)的實(shí)際出鋁量。
圖1 相關(guān)系數(shù)熱力圖Fig.1 Heat map of correlation coefficient
MLP 神經(jīng)網(wǎng)絡(luò)的基本運(yùn)算單元是神經(jīng)元[7],如圖2 所示,x1、x2、…、xn為神經(jīng)元的輸入,y為神經(jīng)元的輸出。顯然,不同的輸入對(duì)神經(jīng)元的作用是不同的,因此用權(quán)值w1、w2、…、wn來(lái)表示影響程度的不同。神經(jīng)元內(nèi)部由兩部分組成;第一步是把所有的參數(shù)進(jìn)行求和,第二步負(fù)責(zé)對(duì)第一步的結(jié)果求和,最后“激活”求和結(jié)果,得到最終該神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果。
圖2 神經(jīng)元模型Fig.2 Neuron model
加權(quán)求和公式如下:
式中,b為偏移量,該偏移量也可以定義為輸入恒為1 的權(quán)值w0,即權(quán)值也包括偏移量,因此上式可以改寫(xiě)為:
且x0≡1,激活公式為:y =f(μ),f(.)稱(chēng)為激活函數(shù)。
多層感知器模型(Multi-Layer Perceptron,MLP)是人工神經(jīng)網(wǎng)絡(luò)模型中的一種,由一個(gè)輸入層、一個(gè)或多個(gè)隱含層、一個(gè)輸出層組成,能夠描述一組輸入變量到輸出變量之間復(fù)雜的映射[8]。本文設(shè)計(jì)的模型中,影響出鋁量的參數(shù)信息通過(guò)神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)進(jìn)入,輸入的數(shù)據(jù)參數(shù)信息及一系列復(fù)雜處理、加工通過(guò)輸出層和隱含層,借助權(quán)值w完成。同時(shí)對(duì)數(shù)據(jù)進(jìn)行反向傳播自動(dòng)更新權(quán)值和閾值,然后尋找整個(gè)過(guò)程的最優(yōu)解,最終出鋁預(yù)測(cè)值量由搭建模型的輸出節(jié)點(diǎn)得到,實(shí)現(xiàn)從歷史經(jīng)驗(yàn)數(shù)據(jù)來(lái)預(yù)測(cè)出鋁量的模型。
通過(guò)觀察操控系統(tǒng)各個(gè)相關(guān)參數(shù)的工藝曲線(xiàn)變化情況,輸入?yún)?shù)的選取必須是對(duì)出鋁量有著重要影響的。通過(guò)實(shí)地考察、查閱鋁電解的相關(guān)資料以及查看歷史生產(chǎn)相關(guān)參數(shù),分析得到電解質(zhì)水平是鋁電解槽的重要技術(shù)參數(shù)。電解質(zhì)水平應(yīng)該保持一定的高度,太高和太低都不利于電解的進(jìn)行,電解質(zhì)太高容易發(fā)生陰極的使用率,減低和降低電流效率,電解質(zhì)太低導(dǎo)致電解槽發(fā)熱,穩(wěn)定性差,最終會(huì)對(duì)出鋁量產(chǎn)生重大影響。鋁水平過(guò)高或者過(guò)低都會(huì)引起電解槽溫度不穩(wěn)定,從而影響電解過(guò)程導(dǎo)致出鋁不能達(dá)到最優(yōu)。另外,氧化鋁下料量也直接影響著氧化鋁的濃度,氧化鋁的濃度過(guò)高或過(guò)低都會(huì)導(dǎo)致電流工作效率不穩(wěn)定;Fe含量和Si含量也會(huì)影響電流的工作效率;工作電壓波動(dòng)會(huì)引起電解槽的穩(wěn)定,工作電壓如果出現(xiàn)急速上升或者下降會(huì)導(dǎo)致電解槽的溫度不穩(wěn)定和電解過(guò)程的不穩(wěn)定,最終影響出鋁量。
綜合工藝專(zhuān)家經(jīng)驗(yàn)、數(shù)據(jù)的相關(guān)性分析結(jié)果以及電解車(chē)間里技術(shù)人員經(jīng)驗(yàn)分析,最后選擇電解槽噪聲(Norse)、工作電壓(Work.V)、電解質(zhì)水平(Bath.L)、鋁水平(AL.L)、氧化鋁下料量(ALO)、氟化鋁下料量(ALF.Q)、電解質(zhì)溫度(Bath.T)、鐵含量(Fe)和硅含量(Si)作為神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),選擇實(shí)際出鋁量(Act.Tap)作為輸出結(jié)果。
在搭建神經(jīng)網(wǎng)絡(luò)時(shí)最重要的一點(diǎn)是神經(jīng)元個(gè)數(shù)和網(wǎng)絡(luò)參數(shù)的選擇,兩者之間有著密切的聯(lián)系。神經(jīng)網(wǎng)絡(luò)如果能夠確保隱含層有著足夠多的神經(jīng)元,所搭建的神經(jīng)網(wǎng)絡(luò)模型就可以實(shí)現(xiàn)復(fù)雜度較大的映射。在實(shí)際工業(yè)生產(chǎn)中,隱含神經(jīng)元個(gè)數(shù)一般是通過(guò)試錯(cuò)法來(lái)進(jìn)行調(diào)整的。MLP 網(wǎng)絡(luò)的搭建包括一個(gè)或多個(gè)隱含層,而神經(jīng)元個(gè)數(shù)需要根據(jù)公式(5)來(lái)確定,然后不斷進(jìn)行試錯(cuò)調(diào)整,直到最終找到最優(yōu)參數(shù)為止。
式中,b為神經(jīng)元個(gè)數(shù),a為輸入節(jié)點(diǎn)數(shù)。
經(jīng)過(guò)反復(fù)實(shí)驗(yàn)及對(duì)結(jié)果的分析,出鋁量預(yù)測(cè)模型輸入?yún)?shù)是通過(guò)Python 中自帶的相關(guān)分析函數(shù)“DataFrame.corr()”而得。其計(jì)算出參數(shù)之間的相關(guān)度,并且把相關(guān)度從高低排序后,選取相關(guān)度高的參數(shù)作為模型的輸入?yún)?shù)。最終確定神經(jīng)網(wǎng)絡(luò)模型的輸入層為9 個(gè)輸入變量、隱含層有17 個(gè)神經(jīng)元,輸出層為電解槽實(shí)際的出鋁量;激活函數(shù)為Sigmoid,表達(dá)式如下;
本次實(shí)驗(yàn)在Tensorflow[9]的環(huán)境下使用Python語(yǔ)言編寫(xiě)程序[9],并在CPU2.50 GHz、內(nèi)存4 Gb、Windows10 操作系統(tǒng)的計(jì)算機(jī)上進(jìn)行電解槽出鋁量預(yù)測(cè)實(shí)驗(yàn)。該實(shí)驗(yàn)采用貴州某鋁廠350KA 系列電解槽的歷史數(shù)據(jù),表1 中展示了部分?jǐn)?shù)據(jù)集;工作電壓(Work.V)、噪聲(Norse)、氟化鋁下料量(ALF.Q)、氧化鋁下料量(ALO)、電解質(zhì)溫度(Bath.T)、電解質(zhì)水平(Bath.L)、鋁水平(AL.L)、鐵含量(Fe)和硅含量(Si)作為神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),實(shí)際出鋁量(Act.Tap)為預(yù)測(cè)結(jié)果。MLP 神經(jīng)網(wǎng)絡(luò)的實(shí)驗(yàn)步驟如下:
表1 數(shù)據(jù)集部分樣本Tab.1 Data set partial sample
Step 1輸入和輸出的數(shù)據(jù)集Z-score 標(biāo)準(zhǔn)化處理。
Step 2數(shù)據(jù)集進(jìn)行隨機(jī)劃分,將20%的數(shù)據(jù)作為測(cè)試集,80%的數(shù)據(jù)集作為訓(xùn)練模型的訓(xùn)練集。最后再選取60 天的數(shù)據(jù)對(duì)MLP 模型預(yù)測(cè)效果進(jìn)行驗(yàn)證。
Step 3使用搭建好的神經(jīng)網(wǎng)絡(luò)模型對(duì)訓(xùn)練集的輸入和輸出參數(shù)進(jìn)行訓(xùn)練。
Step 4使用MLP 出鋁量預(yù)測(cè)模型對(duì)測(cè)試集的輸入?yún)?shù)進(jìn)行預(yù)測(cè)。
Step 5將預(yù)測(cè)值與真實(shí)值進(jìn)行反歸一化處理,得出MAE(平均絕對(duì)誤差),最后再畫(huà)出預(yù)測(cè)值和實(shí)際值之間曲線(xiàn)對(duì)比圖進(jìn)行分析。MAE計(jì)算公式如下:
式中:n、yi、分別代表測(cè)試集數(shù)據(jù)數(shù)量、第i行真實(shí)值和第i行預(yù)測(cè)值。
損失函數(shù)衰減過(guò)程如圖3 所示。訓(xùn)練集數(shù)據(jù)在迭代25 次之后,測(cè)試集的損失函數(shù)穩(wěn)定在5.0~7.5左右。
圖3 損失函數(shù)衰減圖Fig.3 Attenuation diagram of loss function
使用測(cè)試集數(shù)據(jù)進(jìn)行出鋁量預(yù)測(cè)時(shí),將測(cè)試數(shù)據(jù)集各相關(guān)參數(shù)通過(guò)神經(jīng)網(wǎng)絡(luò)模型得到預(yù)測(cè)值曲線(xiàn),然后再與每日出鋁量實(shí)際值曲線(xiàn)進(jìn)行比較擬合,如圖4 所示。通過(guò)比對(duì)兩條曲線(xiàn)的變化趨勢(shì),出鋁量的平均絕對(duì)誤差MAE =35.8,該誤差均在鋁電解工業(yè)誤差允許范圍之內(nèi),MLP 神經(jīng)網(wǎng)絡(luò)對(duì)鋁電解生產(chǎn)過(guò)程中所產(chǎn)生的歷史數(shù)據(jù)進(jìn)行擬合回歸后,該模型利用經(jīng)驗(yàn)數(shù)據(jù)中所含有的規(guī)律完成對(duì)數(shù)據(jù)的學(xué)習(xí)訓(xùn)練,然后在一定誤差范圍內(nèi)作出出鋁量的預(yù)測(cè)。
圖4 預(yù)測(cè)值和測(cè)試值曲線(xiàn)圖Fig.4 Predicted and tested value curves
本文利用tensorflow 機(jī)器學(xué)習(xí)框架,結(jié)合Python編程語(yǔ)言搭建了鋁電解槽的出鋁預(yù)測(cè)模型。針對(duì)貴州某鋁廠350KA 一產(chǎn)區(qū)某電解槽的生產(chǎn)歷史數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,從鋁電解工藝生產(chǎn)過(guò)程中產(chǎn)生的一系列參數(shù)中,篩選出9 個(gè)主要參數(shù),用搭建的神經(jīng)網(wǎng)絡(luò)對(duì)電解槽的出鋁量進(jìn)行預(yù)測(cè)。通過(guò)多次輸入不同時(shí)期的數(shù)據(jù)得到神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的值和實(shí)際的出鋁量對(duì)比驗(yàn)證了該模型的可行性。在實(shí)際生產(chǎn)過(guò)程中,將該模型應(yīng)用到鋁電解的生產(chǎn)分析中,不僅對(duì)操作人員進(jìn)行槽作業(yè)時(shí)有一定的指導(dǎo)作用,而且減少了電解原料的損失。實(shí)驗(yàn)證明,該模型在鋁電解工業(yè)上有一定的參考價(jià)值,算法具有一定的實(shí)用性。