周 鵬
(南京郵電大學 自動化學院,江蘇 南京 210000)
PTA生產(chǎn)過程中,精制單元的晶體粒徑大小是一個非常重要的質(zhì)量控制指標。PTA粒徑控制得好,有利于聚酯生產(chǎn)的穩(wěn)定,還能提高聚酯產(chǎn)品的質(zhì)量及可紡性[1]。然而,根據(jù)現(xiàn)有技術,PTA的平均粒徑無法用常規(guī)的傳感器在線測量,而是通過實驗室分析化驗得來。實驗室分析所需成本高,化驗時間長,無法對平均粒徑的大小實時閉環(huán)控制,但可以采用軟測量技術來解決PTA平均粒徑不能在線測量的問題。
已有的PTA平均粒徑的軟測量模型大多數(shù)是建立在有監(jiān)督的淺層網(wǎng)絡算法基礎上。PCA、PLS和BP等算法已經(jīng)是較為成熟的PTA平均粒徑軟測量模型[2-3],但上述算法都是淺層結(jié)構(gòu),其局限性在于對于樣本數(shù)量不大的情況下,函數(shù)的表示能力有限,其泛化能力受到制約,容易陷入局部最優(yōu),而且這些方法大都是基于靜態(tài)模型,當工況發(fā)生變化時,模型精度會降低,魯棒性較差。為了克服這些算法的缺點,本文提出基于卷積神經(jīng)網(wǎng)絡和XGBoost(eXtreme Gradient Boosting)的PTA平均粒徑的動態(tài)軟測量模型。
卷積神經(jīng)網(wǎng)絡是深度學習中的一個重要算法,已經(jīng)被廣泛應用在自然語言處理[4]、人臉識別[5]和語音識別[6]等領域,取得了顯著的效果。此外,卷積神經(jīng)網(wǎng)絡也被用于軟測量領域,預測球磨機料位[7]。本文利用卷積神經(jīng)網(wǎng)絡學習PTA平均粒徑數(shù)據(jù)的動態(tài)特性,提取出動態(tài)特征;使用XGBoost進行回歸預測,建立一個深層的、精度更高的PTA平均粒徑軟測量模型。
卷積神經(jīng)網(wǎng)絡是典型的深度學習算法,一般由卷積層、池化層、全連接層、輸出層組成。卷積層是由前一層的特征圖與可學習的卷積核進行卷積,再加上偏置經(jīng)過激活函數(shù)得到的輸出結(jié)果組成的。前一層的特征圖經(jīng)過卷積后形成卷積層的特征圖j,且卷積層的每個特征圖j可能與前一層的多個特征圖相連接,一般地,卷積層計算公式為:
(1)
池化層能夠有效地縮小輸入矩陣的大小,從而減少最后全連接層中的參數(shù),使用池化層可以加快計算速度也可以降低過擬合。常用的池化方法有隨機池化[8]、最大池化、平均池化、空金字塔池化[9]等。該層是由卷積層的特征圖通過池化,再加上偏置經(jīng)激活函數(shù)得到的。卷積層的特征圖經(jīng)過池化得到池化層的特征圖j,池化層的計算公式為:
(2)
(3)
得到卷積層的誤差靈敏度后,更新卷積層的卷積核和偏置,公式如下:
(4)
(5)
同樣地,池化層與卷積層類似,其后可以是卷積層l+1,也可以是全連接層,當為全連接層時誤差靈敏度由BP算法求得,當為卷積層時,誤差靈敏度為:
(6)
其中,conv代表反卷積操作,“°”表示點乘。
(7)
(8)
XGBoost是陳天奇博士[10-11]提出的一種基于Gradient Boosting的集成學習算法,其是在梯度提升決策樹(GBDT)算法[12]的基礎上進行改進的。傳統(tǒng)的GBDT算法只利用了一階的導數(shù)信息,XGBoost算法則對代價函數(shù)使用二階泰勒展開,利用了一階導數(shù)和二階導數(shù)信息,并在損失函數(shù)之外加入了樹模型的復雜度作為正則項,用于控制模型的復雜度,避免過擬合。此外它采用了多線程的方法,可以充分利用機器的CPU內(nèi)核,從而提高速度和性能。XGBoost作為一種新興的機器學習算法,對比于其他淺層算法,運算速度更快,精度更高。
目前來說,大多數(shù)軟測量方法都是靜態(tài)的,不能把工業(yè)生產(chǎn)中的動態(tài)特性引入模型[13]。因此為了將工業(yè)生產(chǎn)中的動態(tài)特性引入模型中,模型的輸入由影響k時刻輸出的輸入和未完成過渡過程的輸入組成。未完成過渡過程的輸入需要進行滯后處理,滯后時間采用最大相關系數(shù)法進行計算[14]。如下所示,x為模型輸入。
(9)
其中xn為采集的數(shù)據(jù)的第n個變量,T為過渡時間長度,τn為第n個變量的滯后時間,τ1,τ2,…,τn不相等。
CNN-XGBoost模型如圖1所示,從整體上來看,模型由CNN特征提取器和XGBoost線性回歸器兩部分組成。首先,在訓練階段,將經(jīng)過預處理的樣本數(shù)據(jù)塊輸入到卷積神經(jīng)網(wǎng)絡中,待訓練結(jié)束后,提取該網(wǎng)絡第4層的特征并用XGBoost回歸訓練;在測試階段,樣本數(shù)據(jù)經(jīng)過與訓練階段一樣的預處理,CNN特征提取,將提取出的特征作為已經(jīng)訓練完成的XGBoost的輸入,其輸出就是預測的PTA平均粒徑大小。
圖1 軟測量模型結(jié)構(gòu)
由于采集到的數(shù)據(jù)具有很大的冗余,為了減少冗余信息,對卷積神經(jīng)網(wǎng)絡采用降維處理,即令卷積核個數(shù)逐步減少。本文所使用的卷積神經(jīng)網(wǎng)絡有3個卷積層、3個池化層和3個全連接層。由表1的參數(shù)可知,將樣本經(jīng)過預處理后,在第一個卷積層中使用64個不同的大小為3×3的卷積核進行卷積,得到第一層卷積層提取的特征圖后,進行池化操作,采用池化大小為5×5的最大池化。第二層卷積采用32個不同的大小為3×3的卷積核進行卷積。第三層的卷積采用8個不同的大小為2×2的卷積核進行卷積。對每個卷積層都進行池化操作,其中第二層和第三層都進行參數(shù)一樣的池化操作,池化方式均采用最大池化。緊接著的第四層是第一個全連接層,將第三層所得的特征圖轉(zhuǎn)化為一維列向量,通過第四層全連接計算后得到第五層的特征向量,第六層是BP輸出層,輸出預測結(jié)果。
表1 本文卷積神經(jīng)網(wǎng)絡的結(jié)構(gòu)
本文使用卷積神經(jīng)網(wǎng)絡降維的方法,能夠去除樣本的冗余信息,提高網(wǎng)絡的性能。此外為了防止過擬合,在全連接層Full5后面連接dropout層[15],提高網(wǎng)絡的泛化能力。
本文采用的數(shù)據(jù)來自于某化工廠,共收集了173組數(shù)據(jù)樣本,選取其中138組數(shù)據(jù)為模型的訓練樣本,35組數(shù)據(jù)為模型的測試樣本。PTA生產(chǎn)中,影響PTA晶體生長的因素較多,根據(jù)現(xiàn)場經(jīng)驗,初步選擇漿料密度、進料溫度、漿料罐總進水量、塔釜采出流量、回流流量、回流流量調(diào)節(jié)、蒸汽流量、閥位第一至第四結(jié)晶器的液位、第一至第四結(jié)晶器的液位調(diào)節(jié)和第一至第五結(jié)晶器的壓力共20個過程變量作為軟測量模型的輸入變量。模型的輸入選取為滯后時間為1 h~2 h之間的數(shù)據(jù),由于每30 s采集一次數(shù)據(jù),因此數(shù)據(jù)塊的尺寸大小為120×20。
本文采用相對平均誤差作為性能的指標,具體計算公式為:
(10)
為了驗證本文提出的基于卷積神經(jīng)網(wǎng)絡和XGBoost的動態(tài)軟測量模型(簡稱CNN-XGBoost)的算法性能,分別與BP算法模型、XGBoost算法模型進行比較。其中,BP算法模型和XGBoost算法模型建立的是靜態(tài)軟測量模型。使用138組訓練樣本進行模型訓練,訓練結(jié)果如圖2所示,三種軟測量模型實驗結(jié)果非常接近于真實值。
圖2 動態(tài)軟測量模型訓練結(jié)果
為了比較實驗結(jié)果的泛化性能,本文將剩余的35組測試樣本用于模型的預測。圖3是三種軟測量模型的預測結(jié)果。比較圖3曲線,可以大致得出:本文提出的CNN-XGBoost算法的預測結(jié)果相比于其他兩種算法更接近于真實值。
圖3 動態(tài)軟測量模型預測結(jié)果
根據(jù)Python仿真結(jié)果,本文計算的三種模型的相對平均誤差如表2所示。從表2中可以看出,本文提出的CNN-XGBoost算法的動態(tài)軟測量模型的測試誤差和訓練誤差均為最小,而且兩者數(shù)值接近。因此可以得出如下結(jié)論:CNN-XGBoost算法建立的動態(tài)軟測量模型的泛化能力比BP神經(jīng)網(wǎng)絡軟測量模型強,而且CNN-XGBoost的預測精度比XGBoost和BP要高。
本文利用卷積神經(jīng)網(wǎng)絡提取特征、XGBoost進行訓練的混合方法用于PTA的平均粒徑預測,并將預測結(jié)果與BP等軟測量模型進行了比較,不僅驗證了該方法在平均粒徑的預測上有較高的精度,也說明了卷積神經(jīng)網(wǎng)絡在PTA平均粒徑預測上具有較好的特征提取能力。但是,卷積神經(jīng)網(wǎng)絡的訓練過程非常依靠經(jīng)驗,例如卷積核的大小、池化的方法、卷的層數(shù)等方面的確定,所以基于卷積神經(jīng)網(wǎng)絡的軟測量的建模可以在模型結(jié)構(gòu)選擇和參數(shù)的確定等方面加以研究。
表2 不同方法建立的軟測量模型結(jié)果對比