劉洋,王劍,唐明,張宇棟
(1.中國民用航空飛行學(xué)院 航空電子電氣學(xué)院,廣漢 618307;2.清華四川能源互聯(lián)網(wǎng)研究院,成都 610200;3.國家電網(wǎng)公司西南分部,成都 610095)
電力物聯(lián)網(wǎng)是推動發(fā)電、售電、用電等多環(huán)節(jié)全時空全面互聯(lián),打造出的一個智慧電網(wǎng)共享平臺[1]。該平臺充分利用“大云物移智鏈邊”等新技術(shù),將所有與電相關(guān)的設(shè)備連接起來,既包含了電力能源的互聯(lián)互通,又包含了通信數(shù)據(jù)的互聯(lián)互通[2]。
電力物聯(lián)網(wǎng)將會連接海量的電力實(shí)體,在感知層利用各種傳感器采集與電力相關(guān)的信息與狀態(tài),可以預(yù)見數(shù)據(jù)的體量以及維度將呈爆炸增長趨勢;應(yīng)用層作為電力物聯(lián)網(wǎng)的核心目標(biāo),需要從海量的數(shù)據(jù)中,及時、準(zhǔn)確地提取出有效信息,為電力用戶、售電公司、發(fā)電企業(yè)等提供控制與決策支持[3]。面對海量數(shù)據(jù)的快速存儲與高效分析,需要先進(jìn)的通信技術(shù)、大數(shù)據(jù)技術(shù)以及人工智能方法等作為支撐。隨著電力物聯(lián)網(wǎng)建設(shè)不斷深入,應(yīng)用層對用戶的管理日趨精細(xì)化,從海量用電數(shù)據(jù)中挖掘電力用戶的用電模式,針對普通用戶提供智慧用電解決方案,有助于售電公司建立基于電力物聯(lián)網(wǎng)的全新營銷服務(wù)模式,并提升用戶側(cè)在電力市場行為交易的參與深度以及互動程度[4-5]。
用電模式提取作為負(fù)荷數(shù)據(jù)挖掘領(lǐng)域的一個傳統(tǒng)研究方向,長久以來專家學(xué)者對此已開展了大量研究,并取得豐碩成果。傳統(tǒng)方法分為無監(jiān)督聚類與有監(jiān)督分類,前者多采用K-means、模糊C均值(fuzzy c-means, FCM)等各種聚類方法為基礎(chǔ),后者較常用人工智能神經(jīng)網(wǎng)絡(luò)作為負(fù)荷分類方法[6-9]。聚類算法不適用于異常值較多的數(shù)據(jù)類型劃分,且往往需要根據(jù)經(jīng)驗(yàn)指定類別數(shù)目,缺乏有效依據(jù);BP(back propagation)神經(jīng)網(wǎng)絡(luò)雖然具有較好的效果,但是這些分類方法僅從數(shù)學(xué)層面訓(xùn)練了負(fù)荷曲線與類別標(biāo)簽之間的映射關(guān)系,而忽略了負(fù)荷數(shù)據(jù)的時序相關(guān)性。此外,神經(jīng)網(wǎng)絡(luò)在面對海量數(shù)據(jù)的時候,分類效率將受到嚴(yán)重影響。
為此,采用分布式存儲、并行計算方式處理電力物聯(lián)網(wǎng)背景下的海量數(shù)據(jù),提出一種基于Hadoop分布式計算平臺的混合神經(jīng)網(wǎng)絡(luò)分類模型??紤]到負(fù)荷數(shù)據(jù)的時序特性,使用一維卷積神經(jīng)網(wǎng)絡(luò)(one-dimensional convolutional neural network,1DCNN)搭建“負(fù)荷特征提取器”,使用長短期記憶網(wǎng)絡(luò)(long-short-term memory network,LSTM)搭建“序列分類器”,二者共同構(gòu)成“混合神經(jīng)網(wǎng)絡(luò)負(fù)荷分類模型”,解決負(fù)荷分類效率低、精度低等問題,以應(yīng)對爆炸式增長的電力負(fù)荷數(shù)據(jù)帶來的挑戰(zhàn)。
電力負(fù)荷數(shù)據(jù)屬于時間序列數(shù)據(jù),智能測量儀表以特定的時間間隔采集電力數(shù)據(jù),如1 d采集24個數(shù)據(jù)或者96個數(shù)據(jù),甚至更多。因此,負(fù)荷曲線的表示形式可以用式(1)表示,數(shù)據(jù)具有明顯的時序特性。
(1)
式(1)中:xk為第k條負(fù)荷數(shù)據(jù);上標(biāo)m為一條曲線共采集m個負(fù)荷數(shù)據(jù)點(diǎn);上標(biāo)i為1 d中采集的第i個電力數(shù)據(jù)。
對于每一條負(fù)荷曲線,包含一個類別標(biāo)簽。
yi={c}
(2)
式(2)中:yi為第i條負(fù)荷曲線所屬的類別;c是一個實(shí)數(shù),表示負(fù)荷類別,取值范圍是[1,n],其中n為負(fù)荷類別數(shù)。
時間序列分類是時序數(shù)據(jù)挖掘研究的熱點(diǎn)問題。不同于傳統(tǒng)分類研究,由于時間序列數(shù)據(jù)具有非離散性以及時序相關(guān)性等特點(diǎn),時序分類研究需要考慮序列元素的前后依賴關(guān)系[10]。常規(guī)的時序數(shù)據(jù)分類方法通常需要進(jìn)行復(fù)雜煩瑣的特征工程處理,對提取的序列特征再進(jìn)行分類。
近年來,深度學(xué)習(xí)技術(shù)發(fā)展迅猛,不少學(xué)者將卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)與循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)進(jìn)行結(jié)合,用于處理序列數(shù)據(jù),并取得了良好的效果[11-12]。在機(jī)器學(xué)習(xí)領(lǐng)域,研究人員提出一種CNN-RNN網(wǎng)絡(luò)模型,使用CNN提取圖片特征,再利用RNN生成圖片文字序列[13]?;诖耍岢鲆环N“1DCNN-LSTM混合神經(jīng)網(wǎng)絡(luò)分類模型”用于時序負(fù)荷數(shù)據(jù)分類。
卷積神經(jīng)網(wǎng)絡(luò)是一種用于處理具有類似網(wǎng)狀結(jié)構(gòu)數(shù)據(jù)專用的神經(jīng)網(wǎng)絡(luò),如時間軸上進(jìn)行采樣形成的一維時序網(wǎng)格和二維圖像像素網(wǎng)格[14-15]。卷積神經(jīng)網(wǎng)絡(luò)的一個重要應(yīng)用領(lǐng)域?yàn)閳D片分類,該模型利用疊加卷積層(Conv)與池化層(Pool)提取圖像特征,全連接層(FC)根據(jù)所提取的特征對圖像進(jìn)行分類,如圖1所示。
Reshape為整形
一維與二維卷積網(wǎng)絡(luò)類似,其主要區(qū)別在于一維卷積網(wǎng)絡(luò)對應(yīng)輸入一維序列數(shù)據(jù),使用一維卷積核,只在一個維度上進(jìn)行卷積操作,如圖2所示。使用1DCNN構(gòu)建負(fù)荷“特征提取器”,用于提取負(fù)荷數(shù)據(jù)的分類特征,后續(xù)用于循環(huán)神經(jīng)網(wǎng)絡(luò)“分類器”,對時序負(fù)荷曲線進(jìn)行分類。
圖2 一維卷積操作
普通的循環(huán)神經(jīng)網(wǎng)絡(luò)在用于處理序列數(shù)據(jù)時,無法解決長期依賴問題,并且由于梯度彌散問題使得模型難以訓(xùn)練[16]。而為此所提出的LSTM網(wǎng)絡(luò),解決了此問題并且使網(wǎng)絡(luò)容易訓(xùn)練[15]。
LSTM網(wǎng)絡(luò)在普通RNN的基礎(chǔ)上,引入了“門”機(jī)制,來選擇“記住”或者“遺忘”某個時刻的狀態(tài)信息。LSTM神經(jīng)網(wǎng)絡(luò)的細(xì)胞單元由“遺忘門”“輸入門”和“輸出門”組成[2]。
(1)遺忘門。遺忘門對前一個時刻傳遞進(jìn)來的細(xì)胞狀態(tài)進(jìn)行選擇性遺忘。如圖3所示,根據(jù)t-1時刻的隱藏狀態(tài)ht-1以及t時刻的輸入向量xt計算遺忘門ft(使用σ函數(shù)獲得0~1的取值,1表示“完全記憶”,0表示“徹底遺忘”),由ft控制更新t-1時刻的細(xì)胞狀態(tài)Ct-1。
ft=σ[Wf(ht-1,xt)+bf]
(3)
it=σ[Wi(ht-1,xt)+bi]
(4)
(5)
遺忘門處理后的細(xì)胞狀態(tài)與輸入門選擇后的細(xì)胞狀態(tài)進(jìn)行合并,作為t時刻的最終細(xì)胞狀態(tài)Ct,并傳遞給下一時刻。
(6)
(3)輸出門。LSTM細(xì)胞單元t時刻的輸出ht由細(xì)胞狀態(tài)Ct與輸出門ot共同決定。
ot=σ[Wo(ht-1,xt)+bo]
(7)
ht=ottanhCt
(8)
式中:Wi、Wo、Wf、WC為不同門控機(jī)制對輸入向量xt的權(quán)重;bi、bo、bf、bC為偏置向量。
所提的1DCNN-LSTM混合神經(jīng)網(wǎng)絡(luò)如圖3所示,模型的核心為卷積層和LSTM層,卷積層與后接的全連接層組成一個“1DCNN特征提取器”,用于從原始負(fù)荷曲線中提取負(fù)荷特征;LSTM層與后接的全連接層構(gòu)成一個“LSTM序列分類器”,根據(jù)提取的負(fù)荷特征進(jìn)行分類,得到負(fù)荷曲線的分類結(jié)果。
圖3 1DCNN-LSTM混合神經(jīng)網(wǎng)絡(luò)模型
2.3.1 1DCNN特征提取器
所用一維卷積神經(jīng)結(jié)構(gòu)如圖4所示,輸入的序列數(shù)據(jù)經(jīng)過兩次卷積(Conv)、最大池化(MaxPool)操作,整形(Reshape)為一維特征向量,最后使用一個全連接層(FC)進(jìn)行降維處理。每個卷積步驟中,還包含了一個批量標(biāo)準(zhǔn)化(batch-normalization, BN)操作與ReLU激活函數(shù)[17-18]。
圖4 1DCNN特征提取器
(1)batch-Normalization。batch-Normalization算法對中間計算數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,加速網(wǎng)絡(luò)收斂速度,降低網(wǎng)絡(luò)對權(quán)值初始化的敏感度,算法描述如下。
輸入:小批次輸入X={x1,x2,…,xbatch-size}待學(xué)習(xí)的參數(shù):γ、β輸出:{yi=BNγ,β(xi)}μX←1batch-size∑batch-sizei=1xiσ2X=1batch-size∑batch-sizei=1(xi-μX)2^xi=xi-μXσ2X+εyi=γ^xi+β≡BNγ,β(xi)
(2)ReLU。為避免出現(xiàn)梯度消失或是梯度爆炸,采用ReLU激活函數(shù)對Batch-Normalization后的數(shù)據(jù)進(jìn)行處理,ReLU激活函數(shù)可表示為
(9)
2.3.2 LSTM序列分類器
LSTM序列分類器結(jié)構(gòu)示意圖如圖5所示,使用單層的LSTM網(wǎng)絡(luò)結(jié)構(gòu),輸入1DCNN提取的序列特征,在最后一個隱藏單元輸出分類結(jié)果。
圖5 LSTM序列分類器
隨著電力數(shù)據(jù)體量的急劇增長,為了處理呈爆炸增長的負(fù)荷數(shù)據(jù),特選用分布式大數(shù)據(jù)平臺Hadoop作為計算框架。將混合神經(jīng)網(wǎng)絡(luò)分類算法在Hadoop平臺并行化,使得所提分類算法具備更加高效的大體量數(shù)據(jù)計算能力。
3.1.1 Hadoop分布式文件系統(tǒng)(HDFS)
HDFS(Hadoop distributed file system)是Google文件系統(tǒng)(google file system,GFS)的實(shí)現(xiàn),是基礎(chǔ)分布式計算數(shù)據(jù)存儲管理系統(tǒng)。該系統(tǒng)采用流式文件訪問方式,具有高容錯性、高可靠性、高吞吐量等特點(diǎn),該系統(tǒng)結(jié)構(gòu)如圖6所示。
圖6 HDFS結(jié)構(gòu)
HDFS是一種主從存儲結(jié)構(gòu),其NameNode管理整個系統(tǒng)的命名空間、管理數(shù)據(jù)塊映射信息并處理Client讀寫請求;DataNode則負(fù)責(zé)存儲數(shù)據(jù)塊,并執(zhí)行讀/寫操作。
3.1.2 MapReduce工作流程
MapReduce計算過程分為Map階段和Reduce階段,計算模型如圖7所示。該計算框架對輸入數(shù)據(jù)進(jìn)行劃分(split),不同的數(shù)據(jù)分塊交由對應(yīng)的“Map作業(yè)”進(jìn)行計算處理,“Reduce作業(yè)”對“Map作業(yè)”的結(jié)果進(jìn)行匯總、排序處理,得到最終計算結(jié)果(Final result)。
圖7 MapReduce計算模型
將所述的混合分類模型在Hadoop平臺并行化。采用隨機(jī)抽樣方式,將負(fù)荷數(shù)據(jù)分塊存儲到分布式文件系統(tǒng);基于MapReduce計算模式,“Map作業(yè)”在各節(jié)點(diǎn)并行訓(xùn)練子分類模型,“Reduce作業(yè)”則根據(jù)各子分類器的分類結(jié)果,使用“多數(shù)投票方式”得到最終的負(fù)荷曲線分類結(jié)果。該分布式集成分類模型結(jié)構(gòu)如圖8所示。
圖8 分布式集成分類模型
首先在單機(jī)實(shí)驗(yàn)環(huán)境對“混合神經(jīng)網(wǎng)絡(luò)”分類方法的正確性進(jìn)行驗(yàn)證,并對比傳統(tǒng)方法分類效果,驗(yàn)證該方法的優(yōu)越性。其次,在分布式實(shí)驗(yàn)環(huán)境對基于Hadoop平臺的分布式集成分類模型的有效性以及高效性進(jìn)行測試。
測試環(huán)境分為單機(jī)環(huán)境以及分布式環(huán)境,單機(jī)環(huán)境為單臺普通PC;分布式環(huán)境為3臺虛擬機(jī)配置的Hadoop平臺,所用Hadoop版本為2.9.1。實(shí)驗(yàn)硬件配置如表1所示。
表1 實(shí)驗(yàn)硬件配置
在單機(jī)模式下使用標(biāo)準(zhǔn)數(shù)據(jù)集以及少量真實(shí)負(fù)荷數(shù)據(jù)對本文所提分類模型的效果進(jìn)行測試。
4.1.1 UCR時間序列分類實(shí)驗(yàn)
(1)UCR時間序列數(shù)據(jù)。使用帶類別標(biāo)簽的UCR時間序列數(shù)據(jù)來驗(yàn)證所提混合神經(jīng)網(wǎng)絡(luò)分類模型的有效性以及高效性。UCR時間序列數(shù)據(jù)包含了多個領(lǐng)域的時間序列基準(zhǔn)數(shù)據(jù)集,是時序數(shù)據(jù)分類領(lǐng)域的標(biāo)準(zhǔn)數(shù)據(jù)集之一,采用其中與電力負(fù)荷有關(guān)的兩個數(shù)據(jù)集(ItalyPowerDemand、PowerCons)進(jìn)行實(shí)驗(yàn)。這兩個數(shù)據(jù)集的數(shù)據(jù)格式如表2所示。兩個數(shù)據(jù)集的平均數(shù)據(jù)曲線如圖9所示。
圖9 UCR平均數(shù)據(jù)曲線
表2 UCR數(shù)據(jù)集
(2)實(shí)驗(yàn)結(jié)果。使用ItalyPowerDemand(簡稱IPD)與PowerCons(簡稱PC)兩個標(biāo)準(zhǔn)時序數(shù)據(jù)集測試本文所提的混合分類模型,對比普通一維時序CNN和LSTM分類模型的分類精度與模型訓(xùn)練效率,實(shí)驗(yàn)結(jié)果如表3所示。
表3 UCR數(shù)據(jù)實(shí)驗(yàn)結(jié)果
對比CNN和LSTM分類模型,在UCR標(biāo)準(zhǔn)時序數(shù)據(jù)集上,混合神經(jīng)網(wǎng)絡(luò)模型在準(zhǔn)確率以及模型訓(xùn)練迭代次數(shù)兩方面都有較明顯的優(yōu)勢。
4.1.2 愛爾蘭負(fù)荷數(shù)據(jù)實(shí)驗(yàn)
(1)數(shù)據(jù)預(yù)處理。愛爾蘭用戶用電數(shù)據(jù)是由愛爾蘭可持續(xù)能源管理局(Sustainable Energy Authority of Ireland, SEAI)所發(fā)布的實(shí)測用電數(shù)據(jù)。對愛爾蘭負(fù)荷曲線進(jìn)行標(biāo)準(zhǔn)化處理,并采取均勻采樣的方式從負(fù)荷曲線中抽取24個負(fù)荷數(shù)據(jù)。由于愛爾蘭開源負(fù)荷數(shù)據(jù)缺乏原類別標(biāo)簽,采用典型聚類方法對愛爾蘭負(fù)荷數(shù)據(jù)進(jìn)行劃分,選取5類負(fù)荷曲線分別記為“類別1”“類別2”“類別3”“類別4”“類別5”,以此構(gòu)成算例所用帶標(biāo)簽的愛爾蘭負(fù)荷數(shù)據(jù),并按7∶3的比例劃分訓(xùn)練集與測試集,各類別負(fù)荷曲線趨勢如圖10(a)所示。
使用提取的部分愛爾蘭負(fù)荷數(shù)據(jù)進(jìn)行實(shí)驗(yàn),測試本文所提混合神經(jīng)網(wǎng)絡(luò)模型的有效性,并與普通CNN與LSTM進(jìn)行對比。
(2)1DCNN負(fù)荷特征提取器。將經(jīng)過預(yù)處理的愛爾蘭負(fù)荷數(shù)據(jù)輸入混合神經(jīng)網(wǎng)絡(luò)訓(xùn)練分類模型。負(fù)荷數(shù)據(jù)首先經(jīng)過一個一維時序卷積神經(jīng)網(wǎng)絡(luò)處理,提取時序負(fù)荷數(shù)據(jù)的分類特征,5個類別的負(fù)荷曲線及其所對應(yīng)的分類特征如圖10(b)所示。
圖10 負(fù)荷曲線及其分類特征
負(fù)荷曲線數(shù)據(jù)經(jīng)過1DCNN處理之后,得到的特征曲線在時間維度上具有了更為明顯的分類特征,有利于LSTM分類器進(jìn)行分類。
(3)1DCNN-LSTM分類效果。使用1DCNN、LSTM以及所提的混合神經(jīng)網(wǎng)絡(luò)分類模型分別對提取的愛爾蘭負(fù)荷數(shù)據(jù)進(jìn)行分類實(shí)驗(yàn)。對比3種模型在模型訓(xùn)練迭代過程中的誤差與準(zhǔn)確率變化趨勢,并使用混淆矩陣作為混合神經(jīng)網(wǎng)絡(luò)模型在測試集上的評價標(biāo)準(zhǔn)。
訓(xùn)練誤差變化:3種分類方法訓(xùn)練階段誤差與迭代次數(shù)變化關(guān)系如圖11所示。3種分類模型的訓(xùn)練誤差都能在有限的步驟內(nèi)收斂,其中1DCNN和混合模型網(wǎng)絡(luò)模型的誤差波動范圍相較LSTM更小,混合模型具有最快的誤差收斂速度。
圖11 訓(xùn)練誤差對比
訓(xùn)練準(zhǔn)確率變化:3種分類方法訓(xùn)練過程的分類準(zhǔn)確率與迭代次數(shù)變化關(guān)系如圖12所示。3種方法經(jīng)過訓(xùn)練都能得到非常好的分類精度,然而1DCNN與LSTM的準(zhǔn)確率具有較大的波動性,收斂迭代次數(shù)也明顯高于混合模型。
圖12 訓(xùn)練準(zhǔn)確率對比
測試集混淆矩陣:混淆矩陣是表示和評估分類算法準(zhǔn)確度的一種常用形式,其對角線元素表示預(yù)測類別等于真實(shí)類別的樣本數(shù)目,非對角線元素是分類算法錯誤標(biāo)記的樣本數(shù)目;對角線元素數(shù)值越大、非對角線元素數(shù)值越小則表明分類模型的分類效果越好。所提的混合神經(jīng)網(wǎng)絡(luò)分類模型應(yīng)用于愛爾蘭負(fù)荷數(shù)據(jù)測試集的混淆矩陣如圖13所示??梢钥闯?,分類結(jié)果中,類別1和類別3各錯分一條負(fù)荷曲線,分類準(zhǔn)確率為99%。
圖13 混淆矩陣
在Hadoop平臺使用海量負(fù)荷測試集成分布式分類方法的有效性。從類別1、類別2、類別3、類別4、類別5共5類負(fù)荷中選取10 000條曲線用于算法測試,其余曲線用于算法訓(xùn)練。在單機(jī)計算與分布式計算模式下分別進(jìn)行負(fù)荷分類,測試集在單機(jī)模式下的分類準(zhǔn)確率為94.23%,在分布式計算模式下分類準(zhǔn)確率為95.78%。并行化方法不僅能夠提高負(fù)荷數(shù)據(jù)的分類精度,并在計算效率上有著極大的提升。
4.2.1 并行訓(xùn)練結(jié)果
該集成分布式分類模型在計算過程分配了4個“Map作業(yè)”,訓(xùn)練出了4個子分類器,各分類器的分類準(zhǔn)確率為95.28%、95.76%、95.84%、94.80%。
由于采取隨機(jī)抽樣將愛爾蘭負(fù)荷存儲到HDFS上,數(shù)據(jù)塊之間的差異性不大,因此每一個“Map作業(yè)”所訓(xùn)練的子分類模型的誤差精度差別較小,且都保持較高的分類精度。實(shí)驗(yàn)表明該混合神經(jīng)網(wǎng)絡(luò)分類方法在Hadoop平臺并行化之后,對于海量負(fù)荷數(shù)據(jù)具有較好的分類效果。
4.2.2 計算效率對比
為了對分布式并行化計算的效率進(jìn)行測試,使用等量的海量負(fù)荷數(shù)據(jù)、相同的分類模型,分別在“單機(jī)串行計算模式”與“Hadoop分布式并行計算模式”下分別進(jìn)行實(shí)驗(yàn),統(tǒng)計不同模式下計算所用時間,實(shí)驗(yàn)結(jié)果如圖14所示。
在數(shù)據(jù)體量較小時,由于Hadoop平臺存在通信延遲以及固有系統(tǒng)開銷,兩者的計算時間花銷均很低且差異不大,串行計算效率甚至?xí)哂诓⑿杏嬎阈?;但隨著數(shù)據(jù)量的擴(kuò)增,并行計算效率優(yōu)勢逐漸顯現(xiàn),當(dāng)數(shù)據(jù)達(dá)到一定體量時,串行計算無法繼續(xù)進(jìn)行;此外,通過合理設(shè)置Hadoop集群節(jié)點(diǎn)數(shù)量,計算效率優(yōu)勢將會更加明顯。
提出一種基于Hadoop分布式計算平臺的混合神經(jīng)網(wǎng)絡(luò)分類模型,基于1DCNN搭建“負(fù)荷特征提取器”,使用LSTM搭建“序列分類器”,提出了一種時序負(fù)荷數(shù)據(jù)分類方法;在Hadoop平臺上將該分類模型并行化,為電力物聯(lián)網(wǎng)背景下的海量負(fù)荷的快速存儲與高效分析提供一種解決思路。
通過算例分析,本文所提分類方法對于時序負(fù)荷分類有著良好的效果,能夠高效處理海量負(fù)荷數(shù)據(jù),并且并行化分類結(jié)果有著較高的可信度。