張振兵,曾水平
(北方工業(yè)大學(xué),北京 100144)
關(guān)鍵字:鋁電解;氧化鋁濃度;BP神經(jīng)網(wǎng)絡(luò);L-M優(yōu)化算法
鋁電解過程是一個非常復(fù)雜的生產(chǎn)過程。由于系統(tǒng)存在非線性和鋁電解過程中不可預(yù)測的因素,難以建立精確的數(shù)學(xué)模型。鋁電解槽中氧化鋁的濃度關(guān)系到鋁電解槽生產(chǎn)的順利進(jìn)行以及電解槽電流效率,采用有效的方法對鋁電解槽中氧化鋁濃度做出預(yù)測是至關(guān)重要的。
氧化鋁濃度是鋁電解過程中很重要的運(yùn)行參數(shù),是鋁電解槽下料的重要依據(jù),影響鋁電解槽的物料以及能量平衡[1]。將氧化鋁濃度控制在較低的范圍能夠滿足現(xiàn)代各種氧化鋁濃度控制技術(shù)的要求,同時也能夠?qū)崿F(xiàn)對當(dāng)今鋁電解槽行業(yè)節(jié)約能源、提高電流效率的需求。由于鋁電解槽的高溫、強(qiáng)磁場、強(qiáng)腐蝕等特點(diǎn),檢測儀器無法在線檢測氧化鋁濃度,嚴(yán)重影響了對鋁電解過程穩(wěn)定運(yùn)行的準(zhǔn)確判斷。本文提出基于數(shù)據(jù)驅(qū)動的預(yù)測方法,利用電解槽中運(yùn)行的參數(shù)數(shù)據(jù)來對氧化鋁濃度進(jìn)行預(yù)測,通過建立BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型并對預(yù)測模型進(jìn)行L-M算法優(yōu)化訓(xùn)練有效提高模型的訓(xùn)練速度和預(yù)測精度。預(yù)測結(jié)果表明預(yù)測模型能夠有效預(yù)測出氧化鋁濃度。
氧化鋁是鋁電解槽的主要原料,它能否溶解在電解液中對電解槽的順利生產(chǎn)、生產(chǎn)過程的穩(wěn)定以及電解過程中的電流效率、電能和物料平衡都非常重要。加入電解質(zhì)的大部分氧化鋁溶解在電解槽中,一些氧化鋁形成電解槽的表面殼和爐壁,一些氧化鋁形成電解槽的底部沉積物。氧化鋁在電解槽中的溶解狀況將影響到電解槽的穩(wěn)定性和電解槽中電流效率和能耗的高低,因此保持電解槽中氧化鋁的良好的溶解狀態(tài)至關(guān)重要[2]。
在鋁電解槽的運(yùn)行過程中,鋁電解槽中的氧化鋁濃度受到許多因素的影響,鋁電解槽中其它參數(shù)的變化可能導(dǎo)致氧化鋁濃度的變化。如果鋁電解槽要平穩(wěn)高效地運(yùn)行,氧化鋁濃度須保持在1.5%-3.5%濃度之間[3]。
電流效率:電流效率是單位時間電解生產(chǎn)出鋁的質(zhì)量與計算的理論產(chǎn)出量的比值,即:
式中:I表示電流,A;
t表示時間,h;
0.3356 代表鋁的電化學(xué)當(dāng)量。
電解質(zhì)水平:電解液水平是指槽內(nèi)電解質(zhì)中液體的高度,維持適當(dāng)?shù)碾娊赓|(zhì)水平對電解槽的平穩(wěn)和高效運(yùn)行起著重要作用。
分子比:氟化鈉與氟化鋁的摩爾比定義為分子比。將分子比保持在合適的值有助于提高電流效率。低分子比會增加電解質(zhì)的粘度,降低氧化鋁的溶解度,增加電阻,降低電流效率[4]。
槽電阻:電解槽中的電阻在一定的程度上反映電解槽運(yùn)行的狀況,傳統(tǒng)電解槽氧化鋁濃度預(yù)測根據(jù)電阻的變化判斷氧化鋁濃度的動態(tài)變化。
神經(jīng)網(wǎng)絡(luò)是模擬生物神經(jīng)網(wǎng)絡(luò)處理信息的數(shù)學(xué)模型[5]。神經(jīng)網(wǎng)絡(luò)以并行處理、分布式存儲、強(qiáng)優(yōu)化能力和強(qiáng)魯棒性等特點(diǎn)在控制領(lǐng)域被廣泛應(yīng)用。BP神經(jīng)網(wǎng)絡(luò)主要由三層結(jié)構(gòu)組成:輸入層、隱層和輸出層。神經(jīng)網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)量將根據(jù)實(shí)際應(yīng)用來選擇。BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)如下圖所示:
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)包括信號的正向傳播和誤差的反向傳播。在正向傳播中,輸入信號由隱藏層處理,然后傳輸?shù)捷敵鰧?。若輸出層?jié)點(diǎn)數(shù)未達(dá)到預(yù)期的輸出,將誤差將轉(zhuǎn)移到反向傳播的階段。
BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法為δ學(xué)習(xí)規(guī)則,目標(biāo)函數(shù)采用[6]:
(1)輸入層節(jié)點(diǎn)數(shù):通過對鋁電解槽運(yùn)行特點(diǎn)的分析,結(jié)合專家知識選取電解槽中氧化鋁濃度影響較大的8個參數(shù)數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)預(yù)測的輸入。選定的輸入變量為:電流、工作電壓、下料量、出鋁量、鋁水平、電阻、分子比、電解質(zhì)水平x(1-8)。
(2)輸出層節(jié)點(diǎn)數(shù):由于是預(yù)測氧化鋁濃度的值,故神經(jīng)網(wǎng)絡(luò)的輸出為氧化鋁濃度一個參數(shù)值。
(3)隱含層節(jié)點(diǎn)數(shù):通常神經(jīng)網(wǎng)絡(luò)中隱藏的節(jié)點(diǎn)越多,神經(jīng)網(wǎng)絡(luò)的預(yù)測精度越高。隱含層節(jié)點(diǎn)數(shù)根據(jù)下面公式得出:
其中ni為神經(jīng)元輸入節(jié)點(diǎn)數(shù),n0為輸出節(jié)點(diǎn)數(shù);將輸入節(jié)點(diǎn)8,輸出節(jié)點(diǎn)1帶入上式得4.5≤n≤19,經(jīng)過模型驗(yàn)證隱含層節(jié)點(diǎn)數(shù)確定為19。
BP神經(jīng)網(wǎng)絡(luò)一般選用Sigmoid函數(shù)和線性函數(shù)作為網(wǎng)絡(luò)的激勵函數(shù),本文對輸入輸出數(shù)據(jù)進(jìn)行歸一化后的數(shù)據(jù)均在[-1,1]之間,正切S型tansig函數(shù)的輸出范圍為[-1,1],故選取正切S型函數(shù)tansig函數(shù)。
不同的訓(xùn)練函數(shù)影響訓(xùn)練算法的迭代次數(shù)、搜索方法、計算速度和收斂速度。對于本文所建立的對于電解槽氧化鋁濃度的BP神經(jīng)網(wǎng)絡(luò)預(yù)測來說,Levenberg-Marquardt算法能夠滿足對神經(jīng)網(wǎng)絡(luò)訓(xùn)練的需求,將trainlm用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練。
BP神經(jīng)網(wǎng)絡(luò)算法是基于梯度下降算法所建立,采取有導(dǎo)師的學(xué)習(xí),通過網(wǎng)絡(luò)輸出與期望輸出的誤差不斷修正網(wǎng)絡(luò)的權(quán)值和閾值使誤差沿負(fù)梯度方向下降從而逼近期望輸出。神經(jīng)網(wǎng)絡(luò)的預(yù)測模型選用Matlab實(shí)現(xiàn),BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的訓(xùn)練數(shù)據(jù)選取1560組數(shù)據(jù)進(jìn)行訓(xùn)練,其中訓(xùn)練集、驗(yàn)證集和測試集分別為70%、15%、15%。網(wǎng)絡(luò)實(shí)現(xiàn)的具體步驟如下:
(1)根據(jù)對電解槽參數(shù)對氧化鋁濃度的影響的分析,決定神經(jīng)網(wǎng)絡(luò)的輸入和輸出變量;
(2)給出BP神經(jīng)網(wǎng)絡(luò)的層數(shù)以及神經(jīng)元節(jié)點(diǎn)數(shù)的數(shù)目,確定出BP神經(jīng)網(wǎng)絡(luò)各參數(shù)值和神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu);
(3)準(zhǔn)備神經(jīng)網(wǎng)絡(luò)預(yù)測模型的訓(xùn)練數(shù)據(jù)以及檢驗(yàn)樣本數(shù)據(jù),同時對數(shù)據(jù)進(jìn)行規(guī)范化處理;
(4)訓(xùn)練樣本數(shù)據(jù)用于訓(xùn)練和學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。L-M算法對訓(xùn)練神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,控制訓(xùn)練均方誤差,使神經(jīng)網(wǎng)絡(luò)的訓(xùn)練停止在一定范圍內(nèi)。
(5)利用樣本數(shù)據(jù)來檢驗(yàn)預(yù)測網(wǎng)絡(luò)模型,驗(yàn)證網(wǎng)絡(luò)預(yù)測的泛化能力;將已知的數(shù)據(jù)輸入已經(jīng)檢驗(yàn)好的網(wǎng)絡(luò)中,進(jìn)行實(shí)際的網(wǎng)絡(luò)預(yù)測得到神經(jīng)網(wǎng)絡(luò)預(yù)測模型的輸出值;
(6)判斷輸出的結(jié)果的誤差是否滿足需求或者訓(xùn)練次數(shù)達(dá)到預(yù)先設(shè)置的次數(shù)后結(jié)束訓(xùn)練。網(wǎng)絡(luò)參數(shù)設(shè)置如下表1所示:
表1 訓(xùn)練網(wǎng)絡(luò)參數(shù)設(shè)置
模型評價指標(biāo)均方誤差MSE:
在上式中:MSE表示均方差;Ei表示第i個實(shí)際值與預(yù)測值的絕對誤差;Yi表示第i個實(shí)際值;表示第i個預(yù)測值。
圖2 神經(jīng)網(wǎng)絡(luò)均方誤差圖
由神經(jīng)網(wǎng)絡(luò)預(yù)測誤差結(jié)果圖可知使用L-M算法訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)有效的提高了網(wǎng)絡(luò)的訓(xùn)練速度,通過上圖神經(jīng)網(wǎng)絡(luò)預(yù)測模型的均方誤差圖可知驗(yàn)證集均方誤差為0.01455。
通過對BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的L-M優(yōu)化訓(xùn)練模型的預(yù)測均方誤差處于較小值,以下為模型的測試集數(shù)據(jù)和驗(yàn)證集數(shù)據(jù)結(jié)果圖和誤差圖:
圖3 驗(yàn)證集的預(yù)測結(jié)果與誤差
圖4 測試集的預(yù)測結(jié)果以及誤差
通過對上圖模型驗(yàn)證集與測試集的預(yù)測結(jié)果和誤差的分析,預(yù)測模型的預(yù)測精度達(dá)到預(yù)期的要求。
需要說明的是,本文選定的輸入變量為日報數(shù)據(jù),預(yù)測的氧化鋁濃度不是實(shí)時濃度,需要用這個參數(shù)作為氧化鋁濃度控制,還需要做進(jìn)一步的濃度變化處理。
本文針對氧化鋁濃度的預(yù)測問題提出了BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型來預(yù)測電解槽中的氧化鋁濃度,采用L-M優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,提高神經(jīng)網(wǎng)絡(luò)的預(yù)測精度和訓(xùn)練速度。
通過對預(yù)測模型的驗(yàn)證與測試集的結(jié)果得知模型在達(dá)到對氧化鋁濃度預(yù)測的期望,但在對氧化鋁濃度預(yù)測模型輸入?yún)?shù)的選取上還需要實(shí)際的工業(yè)過程來實(shí)際的驗(yàn)證。