顧茜,錢繼春
廈門煙草工業(yè)有限責任公司,信息技術部,福建省廈門市海滄新陽工業(yè)區(qū)新陽路1號 361022
葉絲干燥作為制絲過程的一道重要工序,其加工強度直接影響卷煙的感官質量[1]。相對于滾筒干燥,氣流干燥由于加工時間短,加工穩(wěn)定性要明顯低于滾筒干燥。某卷煙工廠的新型氣流式烘絲機為CDT-5L,工序的設備運行參數(shù)超過50項,生產(chǎn)過程中氣流干燥出口葉絲含水率波動大,造成后續(xù)工序的物料含水率不穩(wěn)定,成品煙絲質量下降。近年來,針對氣流干燥階段水分控制的問題已進行了較多研究[2-6],其中,許冰洋等通過收縮特性分析準確表征了葉絲脫水過程中的干燥動力學特性[2];張二強等通過氣固流動數(shù)值模擬,提出添加弧形導流板結構使得煙絲顆粒在干燥塔內的分布更為均勻[3];周冰等基于貝葉斯網(wǎng)絡分析方法構建了以工藝參數(shù)為節(jié)點、影響關系為路徑、影響大小為路徑參數(shù)的網(wǎng)絡模型,通過定量分析工藝參數(shù)間的關系,對關鍵控制參數(shù)進行優(yōu)化調整[5]。上述研究成果有效指導了氣流干燥的生產(chǎn)過程控制,但對于加工過程細粒度控制尤其是干燥料頭關鍵控制的研究較少,實際生產(chǎn)過程中嚴重依賴基于人工經(jīng)驗的決策。
制絲生產(chǎn)的過程數(shù)據(jù)是典型的時序數(shù)據(jù),常見的時間序列預測模型包括指數(shù)平滑、移動平均自回歸(ARIMA)模型等基于統(tǒng)計方法的預測。近年來,深度學習技術在時序數(shù)據(jù)上的應用研究也不斷深入,循環(huán)神經(jīng)網(wǎng)絡模型(RNN)已被證明能較好地捕捉事物的時間規(guī)律,被廣泛應用于機器翻譯、語音識別等問題中[7-9]。RNN中最常使用的兩種結構是LSTM和Seq2Seq[10-11],關于RNN在時序數(shù)據(jù)上的應用,國內外學者進行了廣泛的研究[12-18],如張建晉等提出LSTM針對時序數(shù)據(jù)擴展到網(wǎng)絡節(jié)點單元實現(xiàn)短期趨勢特征和歷史周期特征的統(tǒng)一建模[12],Srivastava等基于Seq2Seq模型對時空數(shù)據(jù)進行預測[13],毛鶯池等提出時序降噪自動編碼器(TSDA)壓縮高維檢測數(shù)據(jù),表征傳感器測點時空特征[14],丁小歐等通過建立時序相關圖模型,對傳感器設備采集數(shù)據(jù)進行異常檢測[16]。
因此,本文以出口葉絲含水率實時趨勢預測為研究對象,通過將工業(yè)物聯(lián)網(wǎng)的時間序列數(shù)據(jù)處理技術引入制絲線葉絲干燥生產(chǎn)控制過程,設計實驗對比三次指數(shù)平滑、LSTM和Seq2Seq算法對出口葉絲含水率實時趨勢模擬效果,對生產(chǎn)場景的算法選擇進行優(yōu)化,從而輔助葉絲干燥工序的人工決策,以提高氣流干燥生產(chǎn)過程的控制能力,穩(wěn)定葉絲質量。
卷煙制絲工藝所產(chǎn)生的實時數(shù)據(jù)主要包括三類:設備狀態(tài)數(shù)據(jù)、生產(chǎn)運行數(shù)據(jù)、生產(chǎn)操作數(shù)據(jù),這些數(shù)據(jù)都是時刻變化的,具有很強的時間屬性。該卷煙工廠的SCADA系統(tǒng)比較完整地采集了設備狀態(tài)數(shù)據(jù)、關鍵生產(chǎn)運行數(shù)據(jù)和部分生產(chǎn)操作數(shù)據(jù),以一系列時間戳連續(xù)的形式存儲在Wonderware的歷史數(shù)據(jù)庫中。
制絲生產(chǎn)數(shù)據(jù)具有明顯的周期性特征,事實上,很多生產(chǎn)操作都涉及延遲反饋下的序列決策。例如,葉絲干燥料頭的控制操作呈現(xiàn)明顯的時間變化規(guī)律;生產(chǎn)操作人員需要根據(jù)一段時間內的葉絲含水率變化情況,調整烘絲機參數(shù)設置。
本實驗所使用的數(shù)據(jù)為CDT-5L氣流式烘絲機葉絲干燥工序2019年1月起連續(xù)6個月的生產(chǎn)監(jiān)控數(shù)據(jù),數(shù)據(jù)采集時間間隔為10s,有效數(shù)據(jù)48萬余條。
本實驗所使用的CPU環(huán)境為Intel Core i5-7200U,具有8GB RAM和128 GB SSD,用于研究普通硬件配置下時序數(shù)據(jù)庫和算法的表現(xiàn)。
本實驗所使用的GPU環(huán)境為云端V100服務器,顯存為16GB,可以支撐深度神經(jīng)網(wǎng)絡計算。
本實驗所使用的軟件平臺為開源深度學習引擎Tensorflow 1.6,開源時間序列數(shù)據(jù)庫InfluxDB 1.7,Python版本為3.6。Tensorflow在CPU和GPU環(huán)境下都能實現(xiàn)神經(jīng)網(wǎng)絡計算加速,具有良好的平臺適應性。InfluxDB是當前比較流行的時間序列數(shù)據(jù)庫,廣泛應用于DevOps監(jiān)控和IoT傳感器等大規(guī)模的時序數(shù)據(jù)存儲與實時分析場景。
根據(jù)實時生產(chǎn)參數(shù)的變化情況,葉絲干燥生產(chǎn)一般分為三個階段:料頭、料中和料尾。料頭料尾階段,烘絲機內部的葉絲流量遠小于料中正常生產(chǎn)時物料流量,產(chǎn)生“干頭干尾”煙絲[19],需要手動操作隨時調整相應的控制參數(shù)。料中階段,葉絲流量比較平穩(wěn),控制參數(shù)變化主要通過烘絲機內部PID自動調節(jié),此階段進行精準的手動“微調”可以有效提升葉絲干燥質量。出口葉絲含水率是衡量干燥工序生產(chǎn)質量的重要指標,但是,氣流干燥加工穩(wěn)定性較差,導致出口葉絲含水率指標實時波動較大,由于PID自動調節(jié)的存在,這種波動往往呈現(xiàn)比較明顯的周期性,我們基于三次指數(shù)平滑算法實時提煉出參數(shù)指標的整體變化趨勢并進行預測,為烘絲機控制調整提供參考。
指數(shù)平滑法的基本思想是隨機事件對當前參數(shù)值預測結果的影響隨時間間隔增大呈指數(shù)衰減,同時,時間序列還經(jīng)常呈現(xiàn)出周期性變化的事件[20]。三次指數(shù)平滑算法是指數(shù)平滑的擴展,由Holt和Winters提出,明確地增加了對單變量時間序列的周期性支持。
三次指數(shù)平滑算法由一個預測方程和三個平滑方程——關于水平 、趨勢 和周期 ,對應三個平滑參數(shù):水平因子 、趨勢因子 、周期因子 ,每隔時間段就開始周期性重復的行為被稱為“季節(jié)”,季節(jié)性的實現(xiàn)分為加法方法和乘法方法兩種。
(1)加法方法表示具有線性季節(jié)性的三次指數(shù)平滑算法即季節(jié)變化在整個系列中大致恒定。它的實現(xiàn)方程為:
其k是(h-1)/m的整數(shù)部分,確保用于預測的季節(jié)性指數(shù)的估計值來自樣本的最后一點。
(2)乘法方法表示具有指數(shù)季節(jié)性的三次指數(shù)平滑算法即表示季節(jié)變化與系列水平呈比例變化:
相比主要由PID進行調控的料中生產(chǎn),葉絲干燥的料頭生產(chǎn)需要大量的人工操作交互,最基本的操作方式,就是結合前幾個時刻的生產(chǎn)參數(shù)指標,根據(jù)經(jīng)驗推斷出下一時刻最合適的調整策略。模仿學習(Imitation Learning)是從歷史數(shù)據(jù)中學習出策略的一種有效方法[21],在葉絲干燥料頭操作這一場景中,引入記憶機制的RNN相比傳統(tǒng)神經(jīng)網(wǎng)絡更接近人的思維習慣,適合作為模仿學習的建模方向。
傳統(tǒng)RNN多采用反向傳播時間(BPTT)算法,隨時間增加,網(wǎng)絡層數(shù)增多,會產(chǎn)生梯度消失或梯度爆炸的問題[10]。LSTM算法針對這些缺陷進行了改進,引入三個控制門:輸入門 ,遺忘門 和輸出門 ,產(chǎn)生讓梯度得以長時間可持續(xù)流動的路徑。LSTM模型增加了記憶單元 專門進行線性的循環(huán)信息傳遞,同時將非線性的輸出信息傳遞給短期記憶單元 。在每一個時刻,遺忘門 控制上一時刻記憶 的遺忘程度,輸入門 控制當前時刻候選狀態(tài) 有多少信息需要寫入長期記憶,輸出門 控制當前時刻內部狀態(tài) 需要輸出多少信息給 。整個網(wǎng)絡可以描述為:
其中 σ為logistic函數(shù),其輸出區(qū)間為(0,1),描述了信息能夠通過的比例,?為向量元素乘,為當前時刻輸入,ht-1為上一時刻的外部狀態(tài),W為神經(jīng)網(wǎng)絡的權重,b為神經(jīng)網(wǎng)絡的偏置。
圖1 LSTM模型結構Fig.1 LSTM structure
本文采用的模型評估標準為均方根誤差(RMSE):
圖2 LSTM模型評估階段計算圖Fig.2 Evaluation phase dataflow graph based on LSTM model
在出口葉絲含水率預測的場景中,影響的結果并非只是前幾個時刻出口葉絲含水率,還有工藝氣溫度、循環(huán)熱風溫度、干燥塔出口氣流流量、膨脹單元入口氣流流量等等,本文嘗試用Seq2Seq模型進行多變量序列預估。
Seq2Seq是一個編碼—解碼(Encoder-Decoder)的網(wǎng)絡,處理的是序列到序列映射的任務 ,Encoder將輸入的序列編碼映射到語義空間,變?yōu)楣潭ㄩL度的向量表達;Decoder將這個語義向量解碼,變成可變長度的目標的信號序列。在引入注意力機制后,輸出網(wǎng)絡會自動學習與其對應的輸入關系的權重[11]。Seq2Seq結構最靈活的地方在于輸入序列和輸出序列的長度是可變的,可以用于翻譯,聊天機器人,句法分析,文本摘要等,也適用于序列預估的場景。
在本文中,我們以 個時間點的數(shù)據(jù)作為輸入,之后 個時間點的數(shù)據(jù)作為輸出,這個長度為 的窗口可以滑動構建出一批批的樣本。Encoder和Decoder的結構采用RNN的LSTM模型。整個網(wǎng)絡可以描述為:
在RNN中,當前時間的隱藏狀態(tài)是由上一時間的狀態(tài)ht-1和當前時間的輸入xt共同決定的,因此在Encoder階段:
同樣在Decoder階段,隱藏狀態(tài)輸出有:
對于Decoder的第i個時刻,對應的語義向量ci表示為:
其中 是每一個Encoder的隱藏狀態(tài)對應的權重:
通過Decoder的隱藏狀態(tài)加上Encoder的隱藏狀態(tài)來計算分數(shù)用于計算權重 的 表示為:
將語義向量和Decoder的隱藏狀態(tài)串起來:
最后通過一個激活函數(shù)計算輸出的目標值yt。
圖3 Seq2Seq計算圖Fig.3 Seq2Seq dataflow graph
阻礙時間序列預測在制絲實時生產(chǎn)應用的一個主要障礙是,當前的時間序列算法通常需要在離線數(shù)據(jù)集上進行訓練,而在SCADA/HMI中直接應用算法耗時耗力,工控系統(tǒng)升級昂貴、風險高,在實時數(shù)據(jù)監(jiān)控領域,遠不及快速迭代的互聯(lián)網(wǎng)架構。
InfluxDB是一款在互聯(lián)網(wǎng)行業(yè)廣泛使用的開源時序數(shù)據(jù)庫,是開源實時數(shù)據(jù)處理框架TICK(Telegraf,InfluxDB,Kapacitor,Chronograf)的核心,支持對實時數(shù)據(jù)進行存儲、統(tǒng)計分析和可視化展現(xiàn),前端可視化也可用開源組件Grafana替換Chronograf。TICK或TIGK框架通過Restful API輸入輸出,支持容器化和分布式部署。我們根據(jù)實際情況對TICK架構進行了改進,跳過Telegraf將葉絲干燥生產(chǎn)實時數(shù)據(jù)通過現(xiàn)有數(shù)據(jù)采集手段直接存儲到InfluxDB中,歷史數(shù)據(jù)則從Wonderware中導出,采用離線數(shù)據(jù)導入方案存儲到InfluxDB;提供Chronograf或Grafana兩種可視化方案,然后連接開源深度學習框架Tensorflow或Pytorch在線或離線嘗試各種時間序列預測算法,希望可以打造一個面向云端、擴展性強、自主可控的秒級端到端時間序列數(shù)據(jù)應用框架,為氣流烘絲機操作提供有效參考。
圖4 基于時間序列數(shù)據(jù)庫的實時數(shù)據(jù)分析系統(tǒng)設計Fig.4 Real-time data analysis system design based on TSDB
該實時數(shù)據(jù)分析系統(tǒng)有以下優(yōu)勢:
(1)提供了基于Python的標準數(shù)據(jù)傳輸模塊,從Wonderware中導出的離線歷史數(shù)據(jù)通過簡單的數(shù)據(jù)處理,可以整合牌號、批次等信息后再快速寫入InfluxDB,便于進一步篩選數(shù)據(jù);
(2)基于企業(yè)已有的批次管理系統(tǒng),可將實時數(shù)據(jù)寫入InfluxDB,不需要過多改造;
(3)實現(xiàn)參數(shù)趨勢實時預測,報警和數(shù)據(jù)查詢、統(tǒng)計、可視化配置簡單,可以快速遷移、推廣到其它場景;
(4)與深度學習平臺打通,實時在線完成耗時最長、最為繁瑣的數(shù)據(jù)預處理過程。
將歷史生產(chǎn)數(shù)據(jù)從離線模塊導入InfluxDB中,首先選定某批次前40分鐘的生產(chǎn)數(shù)據(jù),通過InfluxQL將劇烈波動的出口葉絲含水率數(shù)據(jù)按分鐘聚合,然后用三次指數(shù)平滑算法擬合并預測,實驗結果列在表1中:
表1 某批次氣流烘絲出口葉絲含水率三次指數(shù)平滑算法預測Tab. 1 Cubic exponential smoothing algorithm for predicting moisture content of tobacco leaf (batch No. 20190406021) at the outlet of air flow drying machine
圖5 基于三次指數(shù)平滑算法的某批次出口葉絲含水率預測Fig.5 Prediction of moisture content of tobacco leaf from a certain batch based on cubic exponential smoothing algorithm
圖5是三次指數(shù)平滑模型預測值和實際值的擬合與預測曲線??梢钥闯?,分組聚合后出口葉絲含水率指標整體趨勢比較平穩(wěn),三次指數(shù)平滑算法對該批次數(shù)據(jù)中段擬合效果較好,前段、后段誤差相對較大,RMSE為0.0179,總體上比較準確地反映了出口葉絲含水率的變化趨勢。數(shù)據(jù)庫提供的InfluxQL實現(xiàn)了時間序列數(shù)據(jù)的實時聚合和算法調參,在Grafana或Chronograf上操作簡單易行,操作人員可以根據(jù)指標趨勢隨時季節(jié)數(shù),直至得到理想的預測趨勢;提供報警規(guī)則配置界面,顯示在可視化UI的報警日志界面可通過Restful API傳遞給其它系統(tǒng)。圖6是在Grafana中搭建的制絲生產(chǎn)實時數(shù)據(jù)模擬可視化界面,在時序數(shù)據(jù)庫中集成了制絲生產(chǎn)數(shù)據(jù)和現(xiàn)場環(huán)境溫濕度數(shù)據(jù),可實現(xiàn)參數(shù)實時告警監(jiān)控。
圖6 制絲生產(chǎn)實時數(shù)據(jù)看板Fig.6 Real-time data dashboard for tobacco primary processing base on Grafana
工作時工藝氣溫度是葉絲干燥工序料頭最頻繁調整的參數(shù),因此可以分析料頭階段工作時工藝氣溫度隨時間的變化,通過深度神經(jīng)網(wǎng)絡進行表達。我們編寫Python程序訪問InfluxDB,獲得2018年6月至2019年4月某牌號的葉絲干燥工序工作時工藝氣溫度參數(shù)生產(chǎn)數(shù)據(jù),用Pandas工具庫進行處理,將每批次前150 s工作時工藝氣溫度數(shù)據(jù)送入模型中訓練。
從圖7看出擬合效果非常顯著,模型基本學習到該牌號葉絲干燥料頭的工藝氣溫度變化規(guī)律,并且在測試批次上的泛化效果良好,成功模仿了料頭工藝氣溫度趨勢。
圖7 基于LSTM的某牌號工作時工藝氣溫度料頭預測Fig.7 Process gas temperature prediction based on LSTM
圖8 LSTM網(wǎng)絡的學習過程Fig.8 Learing process of LSTM Network
圖8描述的是在普通CPU上,LSTM模型訓練耗時1 min 10 s,整個端到端的機器學習過程在3 min內完成,可以及時有效為生產(chǎn)操作提供參考。
進一步地,我們對該方法的應用進行嘗試,根據(jù)現(xiàn)有工藝指標綜合評價,選取四個主要品牌,篩選出每個牌號葉絲干燥的料頭階段處理最好的20個批次,利用LSTM模型按時間順序擬合,圖9黑色曲線顯示各品牌后8批表現(xiàn)良好的料頭曲線趨勢,紅色曲線是LSTM模型的擬合效果,藍色曲線是模型生成的指導各牌號葉絲干燥料頭工藝氣溫度控制參考趨勢。在LSTM模型中,距離預測時間點更近的料頭趨勢影響權重越高,因而該模型也能比較好地模擬配方微調等因素對葉絲干燥生產(chǎn)過程的影響,從而使預測的參考料頭趨勢遵循一定的操作慣性,提高模仿學習的準確性與輔助生產(chǎn)的可操作性。
Seq2Seq Attention模型對設備的性能要求較高,要在內存足夠的單機或集群上訓練。由于硬件資源限制,本文的Seq2Seq Attention模型只在離線數(shù)據(jù)上完成訓練。我們選取CTD入口物料流量、入口葉絲含水率、工作時干燥塔氣流流量、塔內含氧量、工藝氣溫度、排潮氣體流量、出口葉絲含水率、出口葉絲溫度等參數(shù)作為多變量輸入,預測出口葉絲含水率變化趨勢。
如圖10所示,由于本身就帶有滑窗的性質,生產(chǎn)實時數(shù)據(jù)即使不經(jīng)過聚合預測曲線也相對平滑,但該模型存在一些缺陷:
(1)模型收斂緩慢、訓練時間長,對硬件資源要求比較高
(2)模型預測曲線會逐漸向訓練集的平均值靠近,卻對實時的輸入變量變化反應遲鈍
圖9 各牌號葉絲干燥工藝氣溫度料頭參考趨勢Fig.9 Reference trend of air temperature in tobacco leaf drying process
圖10 基于Seq2Seq的某牌號出口葉絲含水率預測Fig.10 Prediction of moisture content of tobacco leaf at the outlet of air flow drying machine based on Seq2Seq
為進一步量化以上三種算法的性能評估,我們選取2018年6月至2019年4月某牌號的葉絲干燥工序生產(chǎn)數(shù)據(jù),對料頭生產(chǎn)階段工藝氣溫度和料中出口葉絲含水率趨勢進行預測,結果如下:
葉絲干燥料頭模仿學習階段,三次指數(shù)平滑、LSTM、Seq2Seq三種算法性能對比見表2。從表2可以看出,LSTM模型訓練在CPU環(huán)境下收斂速度比GPU環(huán)境下的Seq2Seq算法更快,測試集上誤差最低,整體性能最好。
對料中出口葉絲含水率趨勢進行預測時,三次指數(shù)平滑算法具有顯著優(yōu)勢,尤其是預測時間僅0.8 s左右,可實現(xiàn)準實時預測,見表3。兩次實驗中Seq2Seq模型在測試集上表現(xiàn)都不如LSTM,原因可能是因為該模型使用多層全連接層對時序數(shù)據(jù)進行壓縮時,時序數(shù)據(jù)中相當一部分信息在壓縮過程中被丟棄,對模型效果造成了一定影響。
表2 葉絲干燥料頭階段算法對比分析結果Tab. 2 Comparison of algorithm performance in cut tobacco drying start stage
表3 出口葉絲含水率趨勢預測算法對比分析結果Tab. 3 Comparison of algorithm performance in prediction of tobacco leaf moisture content
在本文中我們提出了一套在線可行的端到端制絲實時數(shù)據(jù)應用解決方案,通過集成時間序列數(shù)據(jù)庫與深度學習算法建立生產(chǎn)指標實時趨勢預測、料頭生產(chǎn)模仿學習、多變量參數(shù)趨勢模型,最優(yōu)模型預測誤差都在2%以內,完成了在最大化利用現(xiàn)有系統(tǒng)前提下的邊緣計算初步探索。料頭操作輔助和實時指數(shù)平滑預測應用試運行階段,烘絲機出口煙絲含水率的穩(wěn)定性得到了明顯提高,SD均值由原來的0.35下降到到0.271,CPK均值由0.78提高到0.837,提高了產(chǎn)品工藝質量的穩(wěn)定性。
本文通過對葉絲干燥的場景進行拆解,將傳統(tǒng)LSTM和Seq2Seq模型針對生產(chǎn)時序數(shù)據(jù)進行改進、將三次指數(shù)平滑算法構建在時序數(shù)據(jù)庫上,充分利用了時序特征,橫向集成最優(yōu)算法模型,可視化體驗和預測精度良好,提升了解決方案在葉絲干燥工序整體的應用效果,并為大數(shù)據(jù)分析和算法開發(fā)奠定基礎。
研究結果表明:
(1)三次指數(shù)平滑算法集成在時序數(shù)據(jù)庫中,可實現(xiàn)精度良好、準實時的葉絲出口含水率趨勢預測,有效輔助生產(chǎn)作業(yè)。
(2)在料頭生產(chǎn)關鍵參數(shù)模仿學習方面,LSTM模型在整體性能上具有顯著優(yōu)勢。
最后,結合經(jīng)驗與思考,我們認為制絲實時數(shù)據(jù)應用下一階段的重點研究方向主要有以下幾點:
(1)打通邊緣計算“最后一公里”,實現(xiàn)適配多場景的低延遲數(shù)據(jù)采集、高可靠性分布式存儲與行業(yè)工業(yè)互聯(lián)網(wǎng)平臺的實時對標;
(2)結合數(shù)字孿生或增強視覺技術的可視化實時數(shù)據(jù)應用;
(3)挖掘生產(chǎn)監(jiān)控視頻數(shù)據(jù)的價值,基于計算機視覺技術實現(xiàn)實時缺陷檢測與報警。