任智仁, 湯 博, 周 弼, 薛 雷, 易靈芝, 劉西蒙
(1.威勝集團(tuán)有限公司,湖南 長(zhǎng)沙 410129;2.湘潭大學(xué) 自動(dòng)化與電子信息學(xué)院,湖南 湘潭 411105)
非侵入式負(fù)荷監(jiān)測(cè)(NILM)也稱(chēng)負(fù)荷分解,通過(guò)一定區(qū)域內(nèi)總功率數(shù)據(jù)分析出各個(gè)負(fù)荷的相關(guān)信息,進(jìn)而通過(guò)分析得到的數(shù)據(jù)了解用戶(hù)的用電習(xí)慣以及各設(shè)備能耗的具體情況。在用戶(hù)用電舒適情況下,對(duì)用戶(hù)的可控負(fù)荷進(jìn)行優(yōu)化調(diào)度,實(shí)現(xiàn)節(jié)能降耗,節(jié)省電費(fèi)開(kāi)支[1]。
NILM最早由Hart[2]提出,之后,國(guó)內(nèi)外便興起了對(duì)NILM領(lǐng)域的相關(guān)研究。文獻(xiàn)[3]利用低頻數(shù)據(jù)基于因子隱馬爾可夫模型(FHMM)的非侵入式負(fù)荷分解方法,將負(fù)荷分解轉(zhuǎn)化為概率最大的優(yōu)化問(wèn)題。文獻(xiàn)[4]設(shè)計(jì)了一種基于穩(wěn)態(tài)分割的事件檢測(cè)器和一種基于多特征全局相似度的線(xiàn)性判別分類(lèi)器組,利用綜合特征對(duì)一個(gè)周期內(nèi)的獨(dú)立未知電器的功耗曲線(xiàn)進(jìn)行分解,但分解的準(zhǔn)確率較低。文獻(xiàn)[5]提出新的負(fù)載分解方法功率簽名符號(hào),同時(shí)利用狀態(tài)機(jī)來(lái)檢測(cè)設(shè)備的開(kāi)關(guān)狀態(tài),機(jī)器學(xué)習(xí)用來(lái)識(shí)別設(shè)備,但該方法需要提前獲取設(shè)備信息。
近年來(lái),深度學(xué)習(xí)在語(yǔ)音識(shí)別[6]、圖像識(shí)別[7]、自然語(yǔ)言[8]處理等方面取得了優(yōu)異的識(shí)別效果,具有計(jì)算復(fù)雜度固定以及不需要人工提取特征的優(yōu)勢(shì)。深度學(xué)習(xí)網(wǎng)絡(luò)模型得到了迅速發(fā)展,應(yīng)用在非侵入式負(fù)荷分解中,大大提高了分解準(zhǔn)確度。文獻(xiàn)[9]提出一種基于圖信號(hào)處理的非侵入式分解方法,但是分解的速度較慢。文獻(xiàn)[10]通過(guò)卷積深度神經(jīng)網(wǎng)絡(luò)識(shí)別設(shè)備的激活狀態(tài),不僅可以識(shí)別家用電器的激活狀態(tài),還能估計(jì)消耗從而獲得高性能。文獻(xiàn)[11]為提高分解模型的準(zhǔn)確率,提出了一種復(fù)合的深度長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)的負(fù)荷分解方法,該方法提高了分解的效率和事件檢測(cè)的綜合性能。文獻(xiàn)[12]研究了注意力機(jī)制對(duì)負(fù)載分解的影響,并將注意模塊添加到常用的負(fù)載分解模型中,將負(fù)載分解問(wèn)題轉(zhuǎn)化為求解最優(yōu)組合的過(guò)程。文獻(xiàn)[13]采用了一種基于深度學(xué)習(xí)的有效且適用的解決方案。該方法采用層對(duì)層結(jié)構(gòu),提取各家電的功耗曲線(xiàn)特征,能夠檢測(cè)和區(qū)分電器的類(lèi)型,提高了分解的準(zhǔn)確度和分解速度。文獻(xiàn)[14]提出了基于批量規(guī)范化和爬山算法的卷積神經(jīng)網(wǎng)絡(luò)(CNN)自編碼器,通過(guò)公共數(shù)據(jù)集redd驗(yàn)證了有效性。
本文對(duì)CNN模型進(jìn)行改進(jìn),提出了將CNN與雙向門(mén)控循環(huán)單元(BiGRU)相結(jié)合的混合深度學(xué)習(xí)模型,進(jìn)一步提取輸入序列的空間特性和時(shí)間特性,并且加入了注意力機(jī)制,提取有利特征,丟棄無(wú)用特征,不僅有效減少了訓(xùn)練時(shí)間而且顯著提升了非侵入式負(fù)荷分解的準(zhǔn)確率。最后采用國(guó)內(nèi)自測(cè)數(shù)據(jù)集進(jìn)行試驗(yàn),試驗(yàn)結(jié)果表明,該方法能夠取得較為優(yōu)異的分解性能。
非侵入式負(fù)荷分解以功率為研究對(duì)象,所探討的內(nèi)容涉及到時(shí)序分析。以分解一戶(hù)家庭在某一時(shí)刻的總表功率為例,該時(shí)刻投入使用的所有負(fù)荷所消耗的功率決定總表功率。簡(jiǎn)而言之,假設(shè)有M個(gè)只有簡(jiǎn)單投切二狀態(tài)的負(fù)荷與總電表相連,并且設(shè)備投入時(shí)所消耗的功率保持不變,則時(shí)刻t下的總表功率可表示為
(1)
式中:am(t)表示設(shè)備m在t時(shí)刻的狀態(tài),如果設(shè)備m在t時(shí)刻處于工作狀態(tài),則am(t)=1,否則am(t)=0;Pm表示設(shè)備m處于工作狀態(tài)時(shí)的功率;e(t)表示噪聲或誤差量。
(2)
本文在編碼-解碼部分采用Seq2Seq模型。常見(jiàn)的Seq2Seq模型使用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)進(jìn)行編碼和解碼。但是,由于RNN結(jié)構(gòu)復(fù)雜、訓(xùn)練參數(shù)多,容易造成梯度爆炸、梯度消失、訓(xùn)練速度慢等問(wèn)題。為了解決這些問(wèn)題,本文在編碼部分采用CNN,提高了模型的訓(xùn)練速度,在解碼部分采用BiGRU。BiGRU是LSTM的變體,可以有效地提取時(shí)間特征解決梯度消失問(wèn)題,減少參數(shù)數(shù)量,提高訓(xùn)練速度。Seq2seq模型使用一個(gè)滑動(dòng)窗口大小作為一層神經(jīng)網(wǎng)絡(luò)的輸入,根據(jù)不同的負(fù)荷類(lèi)型設(shè)定不同的窗口大小,將每個(gè)時(shí)刻輸出的窗口預(yù)測(cè)值的平均值作為預(yù)測(cè)結(jié)果。試驗(yàn)結(jié)果表明,該方法可以更好地提取特征,減少消耗的時(shí)間。
CNN屬于典型前饋神經(jīng)網(wǎng)絡(luò),包括輸入層、隱藏層、輸出層,其本質(zhì)是通過(guò)建立多個(gè)濾波器提取輸入數(shù)據(jù)的特征。這些濾波器對(duì)輸入數(shù)據(jù)進(jìn)行逐層卷積和池化,層層提取蘊(yùn)含在輸入數(shù)據(jù)中的拓?fù)浣Y(jié)構(gòu)特征。其中隱藏層又可分為卷積層、池化層與全連接層。卷積層可通過(guò)不斷地迭代模型參數(shù)獲取最優(yōu)卷積核,并對(duì)卷積核進(jìn)行自動(dòng)特征提取。池化層通過(guò)在時(shí)間層次上的降維操作抽取最重要的特性。常用的池化操作有最大值池化、平均池化。卷積層和池化層的堆積產(chǎn)生深度網(wǎng)絡(luò)結(jié)構(gòu),再通過(guò)逐層抽象化獲得更高級(jí)的特性。通過(guò)卷積層與池化層處理,將輸出數(shù)據(jù)通過(guò)全連接層映射至分類(lèi)標(biāo)記空間,最后將全連接層的輸出用Softmax函數(shù)轉(zhuǎn)換為分類(lèi)標(biāo)記。
RNN和普通前饋神經(jīng)網(wǎng)絡(luò)的不同之處在于將輸入的時(shí)序類(lèi)型信息納入考慮,常用于語(yǔ)音識(shí)別和圖像分類(lèi)等領(lǐng)域。為了解決RNN中的梯度消失問(wèn)題,Hochreite和Sshmidhuber提出LSTM。LSTM由多個(gè)相同的細(xì)胞結(jié)構(gòu)構(gòu)成,每個(gè)細(xì)胞結(jié)構(gòu)由遺忘門(mén)、輸入門(mén)、輸出門(mén)組成。LSTM網(wǎng)絡(luò)參數(shù)過(guò)多,導(dǎo)致模型的速度慢、效率低。因此,通過(guò)將LSTM中的輸入門(mén)和遺忘門(mén)合并為更新門(mén),衍生出了收斂速度更快的門(mén)控循環(huán)單元。
門(mén)限回歸單元(GRU)就是 LSTM 的一種變體,其細(xì)胞結(jié)構(gòu)如圖1所示。GRU具有2個(gè)控制門(mén)單元,分別是重置門(mén)和更新門(mén),去除了記憶單元,減少了參數(shù),提高了模型的計(jì)算速度。GRU的單位神經(jīng)元通過(guò)更新門(mén)和重置門(mén)來(lái)處理上一時(shí)刻輸出的信息,更新門(mén)處理上一時(shí)刻的信息,重置門(mén)移除上一時(shí)刻的無(wú)用信息。
圖1 GRU基本結(jié)構(gòu)圖
BiGRU在GRU的基礎(chǔ)上改進(jìn)了結(jié)構(gòu),其由兩層GRU 組成,一層正向傳播,一層反向傳播,最終將兩層的輸出結(jié)果進(jìn)行擬合得到分解結(jié)果,提高模型的分解精度,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 BiGRU網(wǎng)絡(luò)結(jié)構(gòu)圖
注意力機(jī)制類(lèi)似于大腦對(duì)物體的觀測(cè)模式,當(dāng)處理接受到的信息時(shí),將目光聚焦于重點(diǎn)地方。注意力機(jī)制采用了分配信息權(quán)重的方法,篩選重要信息,舍棄無(wú)用信息。將注意力機(jī)制導(dǎo)入神經(jīng)網(wǎng)絡(luò)中,就能夠降低干擾信息,從而提升模型的性能,具體結(jié)構(gòu)如圖3所示。其中,x1~xn為預(yù)測(cè)模型的輸入;h1~hn為每一個(gè)輸入對(duì)應(yīng)的隱藏層的輸出;α1~αn為每個(gè)隱藏層輸出的注意力概率分布值;y為經(jīng)過(guò)注意力機(jī)制處理后的模型輸出值。
圖3 注意力單元結(jié)構(gòu)圖
本文采用有功功率作為研究對(duì)象,通過(guò)對(duì)原始數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,劃分?jǐn)?shù)據(jù)集。使用滑動(dòng)窗口將輸入電力數(shù)據(jù)進(jìn)一步處理成相同尺寸的數(shù)據(jù),同時(shí)將總功率序列和單個(gè)電器序列輸入深度學(xué)習(xí)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,得到單個(gè)模型的預(yù)測(cè)值,通過(guò)Adam優(yōu)化器對(duì)輸出的損失值進(jìn)行參數(shù)優(yōu)化,不斷調(diào)節(jié)模型參數(shù),進(jìn)一步優(yōu)化模型。最后將測(cè)試樣本中的總功率數(shù)據(jù),輸入訓(xùn)練好的模型中即可得到網(wǎng)絡(luò)的輸出,即單個(gè)目標(biāo)電器的消耗功率。非侵入式負(fù)荷分解流程圖如圖4所示。
圖4 非侵入式負(fù)荷分解流程圖
訓(xùn)練網(wǎng)絡(luò)模型需要大量的數(shù)據(jù),然而測(cè)量大量數(shù)據(jù)需要投入很多時(shí)間成本,為了解決這個(gè)問(wèn)題,本文使用原始數(shù)據(jù)去構(gòu)造訓(xùn)練數(shù)據(jù),使用大量的訓(xùn)練數(shù)據(jù)訓(xùn)練分解模型,提高分解模型的性能。具體步驟如下:
(1) 選取一種用電器作為主電器,根據(jù)主電器深度學(xué)習(xí)模型的輸入序列長(zhǎng)度構(gòu)建輸入序列兩倍大小的全零序列,其中主電器的輸入序列長(zhǎng)度由其激活狀態(tài)的長(zhǎng)度決定。若用電器有多個(gè)激活狀態(tài),選取激活狀態(tài)最長(zhǎng)序列構(gòu)建全零序列。
(2) 任意選取主電器的一次負(fù)荷激活狀態(tài),并且保證該激活狀態(tài)可以完整放入新建的全零序列之中。除此之外,在50%的概率下,放入主電器的激活狀態(tài)。
(3) 任意選取其他非主電器的一次負(fù)荷激活序列任意起點(diǎn)疊加其中,并且非主電器序列的疊加以25%的概率即可。
(4) 重復(fù)(1)~(3),得到N條數(shù)據(jù)的測(cè)試集。
分解模型如圖5所示,輸入是有功功率序列,通過(guò)多層CNN對(duì)輸入序列進(jìn)行編碼,提取輸入序列的空間特性。然后再經(jīng)過(guò)BiGRU進(jìn)行解碼,進(jìn)一步提取時(shí)間特性,由于功率數(shù)據(jù)是一種典型的時(shí)間序列信息,BiGRU在對(duì)其進(jìn)行學(xué)習(xí)時(shí)采用雙層循環(huán)單元,并借鑒“跨層連接”的思想,將前后特征進(jìn)行組合復(fù)用輸出到多個(gè)負(fù)荷分支,減少大量的參數(shù),提高了訓(xùn)練速度,節(jié)約計(jì)算成本,加強(qiáng)了網(wǎng)絡(luò)對(duì)用電數(shù)據(jù)的表征能力。同時(shí)引入注意力機(jī)制,關(guān)注重要信息,剔除冗余信息,提高了分解模型的準(zhǔn)確度。該分解模型具有較強(qiáng)的負(fù)荷分解能力。
圖5 分解網(wǎng)絡(luò)結(jié)構(gòu)
對(duì)網(wǎng)絡(luò)分解性能及訓(xùn)練時(shí)長(zhǎng)綜合衡量,網(wǎng)絡(luò)結(jié)構(gòu)及對(duì)應(yīng)參數(shù)設(shè)置如表1所示。在對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),將Batchsize設(shè)置為256,迭代次數(shù)設(shè)為50,激活函數(shù)采用Relu,學(xué)習(xí)率為0.001,優(yōu)化策略采用Adam優(yōu)化器。
表1 網(wǎng)絡(luò)結(jié)構(gòu)與對(duì)應(yīng)參數(shù)
本文采用國(guó)內(nèi)自測(cè)數(shù)據(jù)集進(jìn)行試驗(yàn),數(shù)據(jù)集包含3個(gè)總表數(shù)據(jù),每個(gè)總表數(shù)據(jù)下含有3個(gè)用電器,數(shù)據(jù)集的采樣頻率為1 s,即每1 s采樣一個(gè)功率點(diǎn)。
本文采用的硬件環(huán)境為內(nèi)置Window10操作系統(tǒng)和16 G內(nèi)存的64位計(jì)算機(jī),軟件使用python3.7。
為了對(duì)所提模型進(jìn)行負(fù)荷分解性能評(píng)估,本文選取其中兩類(lèi)評(píng)估指標(biāo),即均值絕對(duì)誤差(MAE)與絕對(duì)誤差和(SAE),以此對(duì)模型進(jìn)行評(píng)估。相關(guān)計(jì)算公式如下:
(3)
(4)
本小節(jié)采用的數(shù)據(jù)為國(guó)內(nèi)3個(gè)家庭的總表數(shù)據(jù)及其對(duì)應(yīng)的分表數(shù)據(jù),具體為:總表1對(duì)應(yīng)的分表為微波爐、水壺、電飯煲;總表2對(duì)應(yīng)的分表為電磁爐、電飯煲、微波爐;總表3對(duì)應(yīng)的分表為電磁爐、電飯煲、空調(diào)。
本小節(jié)將FHMM、組合優(yōu)化算法(COA)、去噪自動(dòng)編碼器(DAE)、LSTM作為對(duì)比模型,試驗(yàn)結(jié)果對(duì)比如表2、表3所示。
分析表2和表3可知,相較于其他算法,F(xiàn)HMM和COA的MAE和SAE較高,而深度學(xué)習(xí)算法相較于前者M(jìn)AE和SAE有所降低,相較于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),本文模型性能有較為顯著的提高。本文模型對(duì)電磁爐、電飯煲、微波爐3種電器的MAE和SAE的值降低明顯,表明該模型具有良好的分解效果。
表2 不同算法的MAE對(duì)比
表3 不同算法的SAE對(duì)比
由表2和表3數(shù)據(jù)可知,本文模型對(duì)總表下的大部分電器能夠取得較為優(yōu)異的分解效果,其對(duì)于總表對(duì)應(yīng)下的各類(lèi)電器分解圖如圖6~圖8所示。由圖6~圖8可以看出,本文模型不僅對(duì)于真實(shí)值的擬合效果較好,而且分解的準(zhǔn)確度較高。對(duì)水壺的分解在部分時(shí)間區(qū)域出現(xiàn)了偏差,但是分解的功率值仍較為準(zhǔn)確。
圖6 總表1對(duì)應(yīng)的各類(lèi)電器分解圖
圖7 總表2對(duì)應(yīng)的各類(lèi)電器分解圖
圖8 總表3對(duì)應(yīng)的各類(lèi)電器分解圖
同時(shí)由表4的模型訓(xùn)練時(shí)間對(duì)比可知,相比于其他分解算法,本文所提的方法可以減少模型訓(xùn)練時(shí)間,使模型學(xué)習(xí)訓(xùn)練更加快捷高效。
表4 模型訓(xùn)練時(shí)間對(duì)比 min
為進(jìn)一步提升負(fù)荷辨識(shí)的準(zhǔn)確率,通過(guò)CNN對(duì)輸入功率序列進(jìn)行空間特征提取,將其作為BiGRU的輸入,通過(guò)BiGRU進(jìn)一步提取其時(shí)間特性,并且引入注意力機(jī)制,使該模型更加關(guān)注重要特征,剔除干擾因素,提高模型分解的準(zhǔn)確度。為驗(yàn)證所提方法的優(yōu)越性,在國(guó)內(nèi)自測(cè)數(shù)據(jù)集上進(jìn)行試驗(yàn)。對(duì)比結(jié)果表明,本文所提非侵入式負(fù)荷分解模型比其他算法更佳,該模型降低了MAE、SAE,其分解算法的準(zhǔn)確率比其他算法更高。相關(guān)結(jié)論如下:
(1) CNN與BiGRU相結(jié)合的混合深度學(xué)習(xí)模型,對(duì)數(shù)據(jù)的空間特性和時(shí)序特性進(jìn)行充分提取,提高了模型的分解準(zhǔn)確度。
(2) 注意力機(jī)制的引入使神經(jīng)網(wǎng)絡(luò)在對(duì)于某些特征向量的識(shí)別中具有良好的補(bǔ)足效用,使模型更加關(guān)注重要部分,剔除不必要的因素,提高了其分解性能。
(3) 在進(jìn)行實(shí)際負(fù)荷監(jiān)測(cè)時(shí),所提算法具有較好的分解性能,能夠很好地應(yīng)用于實(shí)際用電場(chǎng)景。