董哲,陳玉梁,薛同來,邵若琦
(北方工業(yè)大學(xué),北京 100043)
有專家學(xué)者提出非侵入式負(fù)荷監(jiān)測(cè)[1-2],目的是將整體能耗分解為單個(gè)設(shè)備的能耗。由此可以通過幫助家庭了解具體單個(gè)設(shè)備的能耗情況,從而合理規(guī)劃家庭的整體能源使用[3-6],文獻(xiàn)[7]研究表明,分類信息可以幫助家庭減少多達(dá)5%~15%的能源消耗。除此以外,非侵入式負(fù)荷分解是配電網(wǎng)需求側(cè)精細(xì)化管理的關(guān)鍵技術(shù),同時(shí)也是人工智能技術(shù)在配電領(lǐng)域的重要應(yīng)用方向之一。相較于傳統(tǒng)的侵入式負(fù)荷分解,利用信號(hào)處理或人工智能等方法的非侵入式負(fù)荷分解成本更加低廉,也更加安全可靠。
NILM是從一個(gè)監(jiān)測(cè)的整體能耗中提取單個(gè)能耗信息,這屬于單通道盲源分離(a single-channel blind source separation,BSS)問題。通常人們可以從用電總負(fù)荷數(shù)據(jù)中識(shí)別出包含哪種具有豐富特征的用電設(shè)備,例如,冰箱的工作狀態(tài)(見圖1),但在分解過程中,還存在著一些不確定因素的干擾,包括采集功率數(shù)據(jù)中的噪聲,或多種相似工作狀態(tài),以及多個(gè)設(shè)備同時(shí)開啟或同時(shí)關(guān)閉的情況,所以僅憑經(jīng)驗(yàn)來對(duì)負(fù)荷進(jìn)行分解是很不可靠的。
圖1 冰箱的工作狀態(tài)
文獻(xiàn)[8-10]提出了加性階乘隱式馬爾可夫模型(AFHMM)是可以構(gòu)造NILM模型的自然方法,在此基礎(chǔ)上使用推理算法來預(yù)測(cè)設(shè)備信號(hào),但效果并不理想。為了解決可識(shí)別性問題,文獻(xiàn)[11]提出加入數(shù)據(jù)的本地信息(例如,設(shè)備功率水平,開關(guān)狀態(tài)變化和持續(xù)時(shí)間),文獻(xiàn)[12]在模型中納入了全局信息(例如循環(huán)總數(shù)和總能耗)。但是,這些方法所需的標(biāo)注需要手動(dòng)提取,這使得這些方法難以應(yīng)用。因此,使用深度學(xué)習(xí)在訓(xùn)練過程中自動(dòng)提取這些特征信息更為有效。
文獻(xiàn)[13]將深度學(xué)習(xí)方法應(yīng)用于NILM,文章中提出了三種深度學(xué)習(xí)方案,分別是卷積神經(jīng)網(wǎng)絡(luò)(CNN),長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)和堆疊式降噪自動(dòng)編碼器,并在UK-DALE[14]數(shù)據(jù)集上驗(yàn)證了深度學(xué)習(xí)方法應(yīng)用在NILM的。文獻(xiàn)[15]在提取單個(gè)負(fù)荷激活特征時(shí),采用了具有兩層的雙向長(zhǎng)短期記憶(LSTM)單元的遞歸神經(jīng)網(wǎng)絡(luò)架構(gòu),并在數(shù)據(jù)集(REDD)上測(cè)試了其模型[16]。這些方法學(xué)習(xí)具有相同時(shí)間戳的總負(fù)荷功率和單個(gè)負(fù)荷功率之間的非線性回歸,但是這些方法存在著分解功率滯后,變化速度較慢,沒有對(duì)于真實(shí)功率保持良好的跟蹤性的問題。
為此,本文采用深度學(xué)習(xí)框架,提出一種基于全局與滑動(dòng)窗口結(jié)合的Attention機(jī)制的負(fù)荷分解的方法,利用文獻(xiàn)[17]發(fā)布的 REFIT數(shù)據(jù)集進(jìn)行模型的訓(xùn)練與測(cè)試,并與文獻(xiàn)[13]提出的基于CNN 和長(zhǎng)短時(shí)記憶模型 (Long Short Term Memory,LSTM)的模型進(jìn)行對(duì)比,驗(yàn)證本文所提模型的優(yōu)越性。
模型由6個(gè)部分組成,分別是輸入層、功率嵌入層、雙向LSTM組成的編碼層、Attention層、單向LSTM的解碼層、和輸出層(見圖2)。并加入Dropout等方法以解決可能出現(xiàn)的過擬合問題。
圖2 系統(tǒng)結(jié)構(gòu)框圖
低頻數(shù)據(jù)集采樣的總用電功率數(shù)據(jù)可能記錄了幾個(gè)月甚至幾年的時(shí)間,而一整天的采樣點(diǎn)就成千上萬條,模型的輸入長(zhǎng)度是有限的且固定,所以對(duì)數(shù)據(jù)進(jìn)行分段是必不可少的。對(duì)于m種用電負(fù)荷設(shè)定其輸入深度學(xué)習(xí)模型的長(zhǎng)度分別為N1,N2…Nm。
(1)
相較于自然語言處理中的詞嵌入,通過捕捉不同的語言信息或依靠語法語義以及相似度的方法來構(gòu)造詞嵌入矩陣,本文采用均勻分布的初始化矩陣作為功率嵌入矩陣E=[v_s×e_s],v_s的大小取決于可能出現(xiàn)的總功率最大值,若取值不夠大則可能會(huì)導(dǎo)致某些功率值沒有對(duì)應(yīng)映射向量的情況。e_s為單類功率值經(jīng)由功率嵌入矩陣映射后的序列長(zhǎng)度。
(2)
從功率序列到功率矩陣的映射保證了功率與高維向量的對(duì)應(yīng)關(guān)系,有利于編碼器抽取功率序列的時(shí)序信息,且可以有效降低深度學(xué)習(xí)模型的運(yùn)算量以及提高分解功率的準(zhǔn)確性。
序列到序列(sequence to sequence,Seq2seq)是一種編碼-解碼(encoder-decoder)結(jié)構(gòu)的模型,模型結(jié)構(gòu)如圖3所示,其中,Encoder部分是將輸入的序列壓縮成指定長(zhǎng)度的向量,稱其為向量C,Decoder部分負(fù)責(zé)將向量C解碼成輸出序列。
圖3 Seq2seq模型
但隨著輸入序列長(zhǎng)度的增加,編碼器難以將所有輸入信息編碼為單一向量,編碼信息缺失,難以完成高質(zhì)量的解碼。Bahdanau attention是一種加性Attention機(jī)制,如圖4所示,將Decoder的隱藏狀態(tài)和Encoder所有位置輸出通過線性組合對(duì)齊,并計(jì)算相關(guān)權(quán)重得到向量C,進(jìn)而保證用于解碼的信息的完整性。
(3)
將每一時(shí)刻的ai與前一時(shí)刻解碼層的隱藏狀態(tài)st-1拼接,然后將其輸入到全連接層并采用Softmax激活函數(shù)得到對(duì)于當(dāng)前時(shí)刻的權(quán)重,計(jì)算公式如下:
et,i=Softmax(tanh(st-1Wdecoder+XWencoder)Wdense)
(4)
(5)
在解碼過程中,在時(shí)間步t時(shí),將語義向量C、前一時(shí)刻的隱藏狀態(tài)st-1和輸出yt-1作為輸入,計(jì)算公式如下:
st=f(C,st-1,yt-1),t=1,2,…,Nm
(6)
再得到從d1到dNm的分解功率概率分布序列:
dt=g(st),t=1,2,…,Nm
(7)
式中g(shù)為從隱藏狀態(tài)st到dt=[v_s*1]的分解功率概率密度分布的映射函數(shù)。由功率嵌入可得,v_s代表可能出現(xiàn)的總功率大值,那么dt即為分解功率在各個(gè)整數(shù)功率值的概率密度分布,選取其中概率大的功率值作為t時(shí)刻分解功率輸出yt。
yt=ArgMax(dt)
(8)
Attention的計(jì)算方法時(shí)間和空間復(fù)雜度都是O(n2),這使得難以在長(zhǎng)序列上進(jìn)行訓(xùn)練。比如洗衣機(jī),洗碗機(jī)等電器負(fù)荷激活時(shí)間一般較長(zhǎng),在訓(xùn)練模型的時(shí)候會(huì)有較大的計(jì)算量。因此本文采用全局注意力機(jī)制結(jié)合滑動(dòng)窗口注意力機(jī)制(GSWA,global+sliding window attention)的方法來降低模型的運(yùn)算量。
1.3.1 滑動(dòng)窗口注意力機(jī)制
局部注意力機(jī)制(local attention)是一種介于soft attention和hard attention之間的一種attention方式,可以將注意力定位在關(guān)鍵數(shù)據(jù)附近,進(jìn)而減少attention機(jī)制的運(yùn)算量。local attention首先會(huì)為decoder端當(dāng)前的詞,預(yù)測(cè)一個(gè)Encoder端對(duì)齊位置(aligned position)pt,然后基于pt選擇一個(gè)窗口,用于計(jì)算向量C。其中位置向量pt預(yù)測(cè)的準(zhǔn)確率直接影響到最終結(jié)果。然而在功率預(yù)測(cè)模型中,輸入和輸出是在相同時(shí)間戳下的總負(fù)荷功率和單負(fù)荷功率,其中位置向量pt就是當(dāng)前t時(shí)刻的位置,故采用滑動(dòng)窗口注意力機(jī)制(SWA,sliding window attention)可以在保證結(jié)果準(zhǔn)確率的情況下提升attention 機(jī)制的運(yùn)算效率。選擇滑動(dòng)窗口的范圍(見圖5)。
圖5 滑動(dòng)窗口的選取
計(jì)算公式如下:
(9)
1.3.2 空洞滑動(dòng)窗口注意力機(jī)制
為了進(jìn)一步增加提取特征的范圍而不增加計(jì)算量,可以將滑動(dòng)窗口“擴(kuò)大”。本文在滑動(dòng)窗口上加入空洞以此來增加提取功率變化特征的范圍,即空洞滑動(dòng)窗口注意力機(jī)制(DSWA,dilated sliding window attention),類似于空洞卷積神經(jīng)網(wǎng)絡(luò)(dilated/atrous convolution)[18-20],是在標(biāo)準(zhǔn)的卷積層(convolution map)里注入空洞,以此來增加感受野(reception field)。相比原來的正常卷積層,dilated convolution 多了一個(gè)超參數(shù),稱之為空洞率,指的是卷積核之間的間隔數(shù)量。本文在滑動(dòng)窗口上加入擴(kuò)張大小為d=1的間隙,窗口范圍選擇計(jì)算公式如下:
(10)
式中在范圍內(nèi)每個(gè)點(diǎn)相隔d個(gè)點(diǎn),則每一層注意力區(qū)域約為d×w,即使d的值很小,也可以讓提取信息的區(qū)域成倍增加。
1.3.3 全局與滑動(dòng)窗口結(jié)合的注意力機(jī)制
DSWA相較于SWA雖然擴(kuò)大了信息提取的區(qū)域,但不夠靈活,空洞的加入也可能會(huì)漏掉功率變化的特征信息。因此,本文提出全局注意力機(jī)制與滑動(dòng)窗口注意力機(jī)制相結(jié)合的方法,對(duì)功率輸入序列進(jìn)行處理,在功率值變化較大的地方加上標(biāo)簽,標(biāo)簽處采用全局注意力機(jī)制(global Attention)用于更好的關(guān)注功率序列的整體信息。其中標(biāo)簽的數(shù)量與電器的工作狀態(tài)有關(guān),而與輸入序列的長(zhǎng)度無關(guān),故全局和滑動(dòng)窗口組合的注意力機(jī)制在計(jì)算復(fù)雜度上仍為O(Nm)。
由于本文模型將分解功率的值回歸問題轉(zhuǎn)換為了求取功率分解值在各個(gè)離散整數(shù)功率值下概率的多分類問題,故采用多分類交叉熵作為模型的損失函數(shù),其定義如下:
(11)
式中Nm是單個(gè)用電負(fù)荷序列長(zhǎng)度;v_s代表總負(fù)荷功率可能出現(xiàn)的類數(shù);yt,i為t時(shí)刻真實(shí)功率為j的概率,該概率僅在j與t時(shí)刻真實(shí)功率相等時(shí)為 1,其余時(shí)刻為 0;ft,i(x) 為t時(shí)刻模型輸出分解功率為j的概率。
本文選取了文獻(xiàn)[17]于2015 年發(fā)布的REFIT (Cleaned)數(shù)據(jù)集進(jìn)行模型的訓(xùn)練與測(cè)試,其中包含20戶家庭的單個(gè)負(fù)荷有功功率及家庭總負(fù)荷有功功率信息,有功功率的采樣間隔為8 s。數(shù)據(jù)集的采集時(shí)間跨度從2013年持續(xù)到2015年,并對(duì)其中的數(shù)據(jù)進(jìn)行了清洗:對(duì)于重復(fù)的時(shí)間戳進(jìn)行合并,單個(gè)設(shè)備出現(xiàn)超過4 000 W的功率置零,對(duì)于缺失的數(shù)據(jù)進(jìn)行填充。
本文選取冰箱、熱水壺、微波爐、洗衣機(jī)及洗碗機(jī)這5種常見用電器作為研究對(duì)象(見表1)。這5種用電器具有不同的工作狀態(tài),其中冰箱是周期性運(yùn)行用電器,熱水壺是大功率用電器,微波爐運(yùn)行時(shí)間短且功率變化頻率高,洗衣機(jī)和洗碗機(jī)是的長(zhǎng)時(shí)間多狀態(tài)用電器,可以全面驗(yàn)證本文所提模型的負(fù)荷分解性能。
表1 電器數(shù)據(jù)選擇
根據(jù)每種用電電器的實(shí)際工作狀態(tài),從數(shù)據(jù)集中提取它們?cè)谶\(yùn)行時(shí)的功率數(shù)據(jù),稱為提取負(fù)荷激活特征,負(fù)荷激活特征參數(shù)與數(shù)量如表2所示。
表2 負(fù)荷激活特征提取的參數(shù)
在提取負(fù)荷激活特征后,構(gòu)造訓(xùn)練數(shù)據(jù)集。在本文模型中,每種負(fù)荷模型的輸入為固定長(zhǎng)度的序列,其輸入的序列長(zhǎng)度如表2所示。對(duì)于5種用電器,分別按照下列步驟構(gòu)造其對(duì)應(yīng)訓(xùn)練數(shù)據(jù):
1)根據(jù)該用電器模型的輸入序列長(zhǎng)度Nm創(chuàng)建兩個(gè)全零序列,一個(gè)用作存儲(chǔ)輸入的總用電功率,一個(gè)用作存儲(chǔ)模型輸出的單負(fù)荷功率;
2)在50%概率下,從該用電器的負(fù)荷激活特征中隨機(jī)選取,即某次運(yùn)行階段的功率消耗數(shù)據(jù),并在保證該段負(fù)荷激活可以完全放入序列的前提下,隨機(jī)選取起點(diǎn)將放入序列中;在另外50%概率下,保持全零序列不變;
3)將其它四個(gè)用電器作為干擾電器,均以25%的概率隨機(jī)選取一次負(fù)荷激活(無需保證序列的完整),隨機(jī)選擇起點(diǎn)放入序列中。
根據(jù)實(shí)際多種用電器同時(shí)工作的情況,調(diào)整訓(xùn)練集中干擾電器的選取概率,使得模型更符合實(shí)際的負(fù)荷分解情境。本文對(duì)于每種電器構(gòu)造400萬條數(shù)據(jù)用作訓(xùn)練數(shù)據(jù)集。
本文選擇準(zhǔn)確率、召回率、F1值、平均絕對(duì)誤差作為評(píng)價(jià)模型的指標(biāo),計(jì)算方法如下:
(12)
式中Precision為準(zhǔn)確率;Recll為召回率;F1代表F1分?jǐn)?shù),又稱平衡F分?jǐn)?shù);TP表示用電器實(shí)際處于工作狀態(tài)且模型分解結(jié)果也為工作狀態(tài)的序列點(diǎn)總數(shù);FP表示用電器實(shí)際處于工作狀態(tài)但模型分解結(jié)果為非工作狀態(tài)的序列點(diǎn)總數(shù);FN表示用電器實(shí)際未工作但模型分解結(jié)果為在工作狀態(tài)的序列點(diǎn)總數(shù);yt為時(shí)刻用電器真實(shí)功率;ft(x)為t時(shí)刻模型分解功率,MAE為時(shí)間段T0到T1內(nèi)功率分解值的平均絕對(duì)誤差。Precision反映了模型預(yù)測(cè)用電器處于工作狀態(tài)的精確度;Recall代表著正確召回用電器處于工作狀態(tài)的概率;F1分?jǐn)?shù)綜合Precision和Recall反映模型判斷用電器是否處于工作狀態(tài)的準(zhǔn)確度,是負(fù)荷分解的基本指標(biāo),前人的研究已經(jīng)將其做到了較高的水平。MAE可以反映模型每時(shí)刻分解功率值的準(zhǔn)確性,其值越低,則功率分解值的準(zhǔn)確性越高。
總功率經(jīng)模型預(yù)測(cè)輸出的分解功率與真實(shí)功率如圖6所示,對(duì)于功率的跟蹤效果比較好,僅在起始點(diǎn)與終止點(diǎn)的定位有所偏差,故分解功率值仍是非常高的。這也說明對(duì)于不同工作狀態(tài)的電器具有良好的負(fù)荷分解能力。
圖6 各電器真實(shí)功率與模型分解功率對(duì)比
選取文獻(xiàn)[13]所提出的LSTM模型與本文模型做訓(xùn)練時(shí)間上的對(duì)比,如表3所示,可以看出本文模型可以大幅度降低模型的訓(xùn)練時(shí)間測(cè)試結(jié)果總體如圖7所示。
表3 模型訓(xùn)練耗時(shí)
圖7 測(cè)試結(jié)果
本文與文獻(xiàn)[13]所提出的LSTM模型對(duì)比,準(zhǔn)確率上有著較大的提高,可見本文所提模型對(duì)于多種工作狀態(tài)的電器均有著優(yōu)秀的建模能力。從滑動(dòng)窗口,空洞滑動(dòng)窗口,全局與滑動(dòng)窗口結(jié)合的三種注意力機(jī)制來看,雖均有著較好的提升,但在全局與滑動(dòng)窗口相結(jié)合的注意力機(jī)制更能全面而有效的提取長(zhǎng)序列信息。
本文采用基于GSWA和Seq2seq的非侵入式負(fù)荷分解模型。該模型對(duì)Attention機(jī)制進(jìn)行改善,將解碼集中注意在與當(dāng)前時(shí)刻相關(guān)度最高的編碼層隱藏狀態(tài),在大幅提高模型分解功率準(zhǔn)確值的同時(shí),降低了模型計(jì)算量,加快了訓(xùn)練網(wǎng)絡(luò)的速率。本文模型在準(zhǔn)確率,召回率,F1值等指標(biāo)上較前人均有提升,并顯著降低訓(xùn)練時(shí)間。未來在對(duì)于提升網(wǎng)絡(luò)的泛化能力以及對(duì)于小功率噪聲的處理能力上開展研究。