楊訓政, 柯余洋, 梁肖, 熊焰
(1.中國科學技術大學計算機學院,安徽 合肥 230027; 2.安徽省電力公司調度控制中心,安徽 合肥 230022)
基于LSTM的發(fā)電機組污染物排放預測研究
楊訓政1, 柯余洋1, 梁肖2, 熊焰1
(1.中國科學技術大學計算機學院,安徽 合肥 230027; 2.安徽省電力公司調度控制中心,安徽 合肥 230022)
為了利用電力公司積累的海量歷史污染物排放數據,形成可以減少污染物排放的調度框架。采用遞歸神經網絡,結合發(fā)電機組輸出功率與污染物排放量之間的關系,并使用批規(guī)范化等深度學習技術,對數據和模型進行學習和訓練。實驗結果表明,可以有效預測發(fā)電機組污染物排放量,解決傳統回歸分析方法無法適用的難以提取有效特征的問題。
機器學習;深度學習;遞歸神經網絡;批規(guī)范化;回歸分析
近年來,隨著社會對電力需求的不斷增加,與之相關的污染問題也愈加嚴重。通過對電力公司積累的海量歷史污染物排放數據進行研究,以達到減少污染物排放的目的成為新的研究熱點。研究者通過使用傳統統計學方法、機器學習方法等手段取得了一定的成果。
本文認為之前基于傳統方法的方案,沒有考慮到實際條件下數據復雜性產生的難以提取有效特征的問題,而深度學習較傳統方法具有不依賴高質量特征的優(yōu)勢[1]。預測或回歸分析本質上就是曲線的擬合,很多預測方法都是獲得與特征相擬合的曲線,如支持向量機回歸(SVR)[2]。回歸分析在數據研究與機器學習中一直是核心問題[3],然而當特征的維度非常大或難以有效提取高質量特征時,傳統的方法就難以獲得良好的效果[4]。
針對以上問題,本文首次采用深度學習技術而非傳統方法對發(fā)電機組污染物排放量預測問題進行研究。通過基于長短期記憶(LSTM)的模型,結合批規(guī)范化(Batch Normalization)等深度學習技術,對電力公司積累的海量歷史數據進行建模和訓練,達到了預測污染物排放量的目的。實驗證明基于LSTM的方法可以克服傳統回歸方法對于特征質量高度依賴的問題,并且通過對模型進行Batch Normalization、timesteps選取等優(yōu)化,可以顯著提高模型的預測精度和訓練速度。
RNN是一種強大的深度神經網絡,在學習具有長期依賴性的時序數據上效果顯著[5],近些年在語音識別[6]、機器翻譯[7-8]等領域獲得良好的效果。
1.1 Simple-RNN
簡單的遞歸神經網絡(RNN)和一般的深度神經網絡(DNN)區(qū)別在于神經元直接連接的架構不同:DNN的信息從輸出層到隱含層到連接層單向流動; RNN的信息傳遞存在定向的循環(huán),這也與我們大腦的神經元連接結構相符。
圖1 RNN網絡結構
如圖1所示,RNN的隱含層有一條自循環(huán)的邊,t時刻節(jié)點的輸出由t時刻的輸入與t-1時刻的輸出共同決定。假設一個輸入序列為(x1,x2,…,xT),序列(h1,h2,…,hT)為隱藏層狀態(tài),Wx代表輸入層到隱含層的權重,Wh代表隱含層自循環(huán)的權重,φ為激活函數。則t時刻有:
ht=φ(Whht-1+WxXt)
(1)
多個遞歸神經層組合起來可以構建深度遞歸神經網絡結構[8],設l為隱含層層數,則t時刻有:
(2)
1.2 LSTM
普通RNN(Simple-RNN)相當于在時間序列上展開的多層的DNN,這種模型很容易出現梯度消失或梯度爆炸的問題[9]。
圖2 LSTM神經元內部結構
長短期記憶(LSTM)網絡是一種特殊的RNN。該模型可以學習長期的依賴信息,同時避免梯度消失問題[10]。LSTM在RNN的隱藏層的神經節(jié)點中,增加了一種被稱為記憶單元(Memory Cell)的結構用來記憶過去的信息,并增加了三種門(Input、Forget、Output)結構來控制歷史信息的使用。
如圖2所示,設輸入序列為(x1,x2,…,xT), 隱藏層狀態(tài)為(h1,h2,…,hT),則在t時刻有:
it=sigmoid(Whiht-1+WxiXt)
(3)
ft=sigmoid(Whfht-1+WhfXt)
(4)
ct=ftct-1+ittanh(Whcht-1+WxcXt)
(5)
ot=sigmoid(Whoht-1+WhxXt+Wcoct)
(6)
ht=ottanh (ct)
(7)
其中it、ft、ot代表 input門、forget門和output門,ct代表cell單元,Wh代表遞歸連接的權重,Wx代表輸入層到隱含層的權重,sigmoid與tanh為兩種激活函數。
RNN需要高昂的計算代價,訓練時間通常比一般DNN模型高一個數量級[11]。近期有許多利用并行計算減少RNN計算時間的研究[12],但由于RNN訓練的是序列數據,增加計算單元并不能獲得同比率的計算速度提升。
另一種常見的加速收斂方法是通過受限制的優(yōu)化方法,如標準化或白化輸入數據,然而標準化或白化操作本身就需要大量的計算。針對這個問題,谷歌在2015年提出了批規(guī)范化(Batch Norma- lization,BN)對白化進行化簡[13],主要的簡化方法有兩點:(1)對輸入數據的每一維多進行規(guī)范化(normalize)操作;(2)normalize操作的對象不再是整體訓練集,而是當前迭代中的batch集,因此這個方法被叫做Batch Normalization。
2.1 Batch Normalization原理
(8)
(9)
(10)
ε為一個防止分母為0極小的常數。如果簡單的將公式(10)得到的分布作為輸入,則容易破壞輸入原本的分布,因此BN加入了兩個可學習的參數,γ和β,得到規(guī)范化后的結果為:
(11)
設W為權重矩陣,φ為激活函數,則輸出y為:
y=φ(BN(Wxk))
(12)
2.2 BN-RNN
在RNN中,目前Batch Normalization 只能加入在層與層之間,不能在遞歸連接上加入BN操作[15]。因此BN-RNN推導如下:
由公式(1)與公式(12)可得t時刻有
ht=φ(BN(Whht-1+WxXt))
(13)
由于在遞歸連接上加入BN會增加訓練時間,因此將Whht-1從BN()中拿出,得:
(14)
與Simple-RNN相比,BN-RNN可以使用較高的初始學習速率,加快收斂速度;同時BN-RNN具有較高的泛化能力,因此可以不使用Dropout[16]等帶來額外計算開銷的抗擬合技術。
3.1 指標選取與數據處理
本文實驗的數據來自安徽省電力公司的30臺機組,數據內容為t時刻的發(fā)電輸出功率序列Wt與污染物排放量序列Pt,每臺機組數據集大小為8萬條。由于前文提到的數據特征難以提取,因此只采用原始數據作為特征,輸出功率序列Wt為輸入數據(Input),污染物排放量預測值為RNN的輸出數據(Output)。如圖3所示為合肥一廠數據,由圖可以看出,輸出功率與污染物排放量之間的對應關系并不明顯,難以提取有效特征。
圖3 合肥一廠發(fā)電機組功率與污染物排放二維散點圖
實驗結果的評價標準,即目標函數,主要選擇均方誤差(Mean Squared Error,簡稱MSE)。這是回歸分析中普遍采用的評價標準。在具體分析LSTM的性能指標時,會采用一些深度學習研究中普遍采用的評價標準,如收斂速度等。均方誤差,其算數平方根為均方根誤差。均方誤差公式如下:
(15)
3.2 最小二乘法(LSM)、SVM與LSTM
實驗使用Python編程語言,LSTM模型由Keras等深度學習類庫實現,包含5個LSTM層,每層128個節(jié)點。模型采用隨機梯度下降(SGD)優(yōu)化方法,初始學習率設為千分之一,batch size設為128。最小二乘法擬合的目標函數選擇為二次多項式函數。
如圖4所示,LSTM-RNN代表基于LSTM的RNN模型,SVR代表支持向量機回歸,LSM代表傳統的最小二乘法。三種擬合方法在30臺機組的測試集數據上的實驗結果表明:LSTM模型預測的精度大大高于其他兩種方法,在30個測試集上的MSE平均值沒有超過0.04,證明該預測方法在實踐上具有有效性。如前文所述,基于最小二乘法的擬合方法并不適合不能提取明顯特征的數據,而支持向量回歸SVR可以將低維度的數據映射到高維度空間,使得數據集的特征變得明顯,但是在本次實驗中的準確度依然較低。
圖4 三種擬合方法預測結果對比圖
3.3 Simple-RNN與BN-RNN
Simple-RNN的訓練時間很長,加上輸入數據白化、dropout抗擬合技術等提高模型精度的處理,一個模型的訓練時間從數小時到數十小時不等。BN技術可以有效減少訓練時間,并提高訓練精度。實驗采用的Simple-RNN與BN-RNN模型均由5層各128節(jié)點的LSTM單元組成,采用SGD優(yōu)化,BN-RNN中BN處理在層與層之間。Simple-RNN采用 dropout抗擬合技術增加精度。測試集大小為訓練集的5%。
圖5 simple-RNN與BN-RNN對比圖
實驗結果如圖5所示:加入BN操作的模型在收斂時間取得了顯著提升,收斂速度幾乎提高了一半。這主要是因為BN-RNN可以使用更高的學習率,BN使得每層輸入的分布相同,這樣不用使用更小的學習率保證loss下降,因此獲得更高的收斂速度。此外因為BN-RNN不需要使用dropout或其他抗擬合技術,減少大量額外計算開銷使得迭代時間變短。
在模型精度上BN-RNN也取得了優(yōu)勢,原因可能在于Simple-RNN沒有使用白化等手段初始化輸入數據。因為白化等方法將增加大量計算時間,使得本來就收斂較慢的模型更難訓練,甚至出現無法收斂的情況。
3.4 不同timesteps下的結果比較
RNN與一般深度神經網絡(DNN)的不同之處在于,RNN可以訓練時間序列上的數據,利用數據在時間上的相關性使得訓練結果更加精確。因此在語音識別、語言模型、視頻音頻分辨[17-18]等上下文時序相關的模型上取得了驚人成果,效果超過了傳統的隱馬爾可夫模型以及一般的DNN模型。timesteps代表RNN能夠利用的時間序列長度。特別的,當timesteps=1時,RNN與一般的DNN沒有區(qū)別。本文中的實驗數據為每隔單位時間從發(fā)電機組上采集到的輸出功率與污染物排放數據。因為機組的工作狀態(tài)前后之間具有關聯性,因此該數據在時間上具有天然的連續(xù)性。具體采用的timesteps的大小應由生產過程中的客觀因素決定,當天氣、溫度、煤的質量、機組工作狀態(tài)等條件改變時,數據前后之間的關聯性便會隨之發(fā)生變化。
圖6 三種timesteps對比圖
實驗結果如圖6所示:當timesteps=1收斂速度最快,收斂速度與timesteps的大小成反比。原因是當timesteps增加時,同樣的輸出結果(output)對應輸入數據(input)增多,增加了大量計算開銷。例如time step=1時,時刻t的輸入數據為發(fā)電功率xt,輸出結果為污染物排放量yt;而當timesteps=32時,輸出結果還是yt,輸入數據為序列(xt-31,xt-30,….,xt),輸入數據的改變大大增加了矩陣運算的難度。此外,由于timesteps=1時RNN相當于普通DNN,也證明了前文中所說的“RNN模型訓練所需的時間通常比一般的DNN模型高一個數量級”。
同時可以看到,當timesteps=128時,模型精度反而比timesteps=32時降低。這說明timestep是并不是越大越好,過大的timesteps不僅會增加收斂時間、提高模型訓練難度,同時有可能降低模型精度。因為當數據在時間序列上的長度過長時,前后之間的關聯性可能就逐漸減低甚至失去關聯性。因此建議將timesteps設置為可以被學習的參數,當模型的訓練精度不再下降甚至反而上升時,便可以進行參數學習更改,取得更優(yōu)的訓練效果。
本文實現了一種基于LSTM的發(fā)電機組污染物排放預測方法,解決了傳統最小二乘法和機器學習方法難以從發(fā)電機組數據中提取有效特征的問題。證明了該預測方法在實踐上具有有效性,并可解決傳統方法難以解決的問題。同時本文采用BN等深度學習方法,結合RNN 的模型特點對模型的訓練方法進行優(yōu)化,大大縮短了RNN模型的訓練時間,深度學習模型的訓練時間普遍從數小時到數天都有可能,優(yōu)化收斂時間對于電力調度等時效性嚴格的問題具有重要意義。
本文所采用的優(yōu)化收斂時間的方法Batch Normalization目前在RNN上的使用還局限于每一層之間,無法在RNN的遞歸連接上加入BN,否則效果大打折扣。學術界正在對這個問題的原因進行研究,目前已有研究者在語音識別的RNN模型上部分解決了這個問題。下一步工作的目標之一便是在本文的模型上解決這個問題,進一步提高模型的收斂速度與精度。
[1] LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[2] BASAK D, PAL S, PATRANABIS D C. Support vector regression[J]. Neural Information Processing-Letters and Reviews, 2007, 11(10): 203-224.
[3] HUANG G B, ZHOU H, DING X, et al. Extreme learning machine for regression and multiclass classification[J]. Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, 2012, 42(2): 513-529.
[4] SMOLA A J, SCHOLKOPF B. A tutorial on support vector regression[J]. Statistics and Computing, 2004, 14(3): 199-222.
[5] GRAVES A, MOHAMED A, HINTON G. Speech recognition with deep recurrent neural networks[C]//Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on. IEEE, 2013: 6645-6649.
[6] LEE T, CHING P C, CHAN L W. Recurrent neural networks for speech modeling and speech recognition[C]//Acoustics, Speech, and Signal Processing, 1995. ICASSP-95., 1995 International Conference on. IEEE, 1995, 5: 3319-3322.
[7] SUTSKEVER I, VINYALS O, LE Q V. Sequence to sequence learning with neural networks[C]//Advances in neural information processing systems. 2014: 3104-3112.
[8] IRSOY O, CARDIE C. Deep recursive neural networks for compositionality in language[C]//Advances in Neural Information Processing Systems. 2014: 2096-2104.
[9] PASCANU R, MIKOLOV T, BENGIO Y. On the difficulty of training recurrent neural networks[C]//Proceedings of the 30th International Conference on Machine Learning (ICML-13). 2013: 1310-1318.
[10] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural computation, 1997, 9(8): 1735-1780.
[11] WILLIAMS W, PRASAD N, MRVA D, et al. Scaling recurrent neural network language models[C]//Acoustics, Speech and Signal Processing (ICASSP), 2015 IEEE International Conference on. IEEE, 2015: 5391-5395.
[12] YU D, YAO K, ZHANG Y. The computational network toolkit [Best of the Web][J]. Signal Processing Magazine, IEEE, 2015, 32(6): 123-126.
[13] IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift[C]//Proceedings of The 32nd International Conference on Machine Learning. 2015: 448-456.
[14] SHIMODAIRA H. Improving predictive inference under covariate shift by weighting the log-likelihood function[J]. Journal of Statistical Planning and Inference, 2000, 90(2): 227-244.
[15] NISHIDA N, NAKAYAMA H. Multimodal gesture recognition using multi-stream recurrent neural network[M]//Image and Video Technology. Springer International Publishing, 2015: 682-694
[16] SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al. Dropout: A simple way to prevent neural networks from overfitting[J]. The Journal of Machine Learning Research, 2014, 15(1): 1929-1958.
[17] XU K, BA J, KIROS R, et al. Show, attend and tell: neural image caption generation with visual attention[C]//Proceedings of the 32nd International Conference on Machine Learning (ICML-15). 2015: 2048-2057.
[18] YAO L, TORABI A, CHO K, et al. Describing videos by exploiting temporal structure[C]//Proceedings of the IEEE International Conference on Computer Vision. 2015: 4507-4515.
A Study on the Prediction of Generator Set Pollutant Emissions Based on LSTM
Yang Xunzheng1, Ke Yuyang1, Liang Xiao2, Xiong Yan1
(1.School of Computer Science, University of Science and Technology of China, Hefei 230027, China;2.Anhui Electric Power Company Dispatch Control Center, Hefei Anhui 230022, China)
To take advantage of the massive historical pollutant emission data accumulated by power companies to build up a scheduling framework for reduction of pollutant emission, this paper adopts a recurrent neural network, as well as deep learning technologies like batch normalization, combined with the relationship between the generator set output power and pollutant emissions, to implement learning and training of data and models. Experimental results show that this method can effectively predict pollutant emissions from generator sets to solve the problem of difficult extraction of effective characteristics through traditional regression analysis.
machine learning; deep learning; recurrent neural network; batch normalization; regression analysis
國網安徽省電力公司科技項目(52120015007W)
10.3969/j.issn.1000-3886.2016.05.007
TP391
A
1000-3886(2016)05-0022-04
楊訓政(1990-),男,安徽人,碩士,主要研究方向:機器學習、深度學習。
定稿日期: 2016-06-03