周任飛,湯鵬飛,劉三豐,李 欣,劉 猛
(武漢中原電子信息有限公司,湖北 武漢 430074)
在家庭能源管理中,設備負荷監測是一個研究課題,旨在監控電器的運行狀態和使用能耗。由于目的是監控家庭中的所有設備,因此需要記錄實時功率值。獲得這些功率值的最簡單方法就是為每個需要記錄功耗的電器安裝智能傳感器設備。這些數據可以用于監測用戶電器能耗的全部信息。但是,這種方法是一種侵入式負載監測方法,此外每臺設備安裝起來都很昂貴,而且難以同時維護。為了避免使用傳感器設備,HART G W[1]提出了一種稱為非侵入式負荷識別(NILM)的方法來監測每個設備的能量消耗。NILM的目的是僅通過使用電源讀數來提取家庭中每個設備的能耗。當NILM被用于家庭用戶時,它可以告知用戶實時功耗,從而可以幫助用戶減少能源消耗。研究表明,NILM可以幫助家庭用戶減少15%的能源消耗[2]。
現有的NILM算法大多都是基于特征提取和模式匹配,而手動選取多個電器特征值只能得到電器的幾個顯著的特性,對這些特征值的訓練很容易出現過擬合的問題,無法對眾多電器有很好的識別效果。電器的V-I軌跡[3]則可以很完整地反映出電器的負荷特性,通過卷積神經網絡[4]提取V-I軌跡的特征,則能夠提取出深層的潛在特征,從而能有效避免過擬合問題,而且在相似電器的負荷識別中能發揮很大的作用。
為了得到單個電器在一個周波內較為準確的電流值,需要對相鄰的兩個穩態進行電流分解計算出變化的電流值。本文研究出的電流分解過程如圖1所示。

圖1 兩段穩態的功率曲線
穩態1上t1周波電流、電壓和穩態2上t2周波電流、電壓通過FFT變換得到曲線方程,如圖2所示。

圖2 經過FFT變換出的曲線波形
對t2周波電壓和t1周波電壓計算相位差,通過相位差計算出t1周波電流在t2周波對應的電流波形,如圖3所示。
對圖3的波形使用電流分解公式,得到t2周波分解出的電流波形如圖4所示,實際測出的電流波形如圖5所示。

圖3 t1周波電流在t2周波對應的電流波形

圖4 t2周波分解的電流波形

圖5 實際測出的電流波形
在相鄰穩態之間電流相位差較大時,用上述電流分解方法得到的電器電流值比直接相減得到的電流值準確很多。
為了顯示出V-I軌跡中電器的電流幅值大小,將電流的向下取整值與顏色一一對應,從而使V-I軌跡圖像中包含電流大小信息[5],如圖6所示。

圖6 帶電流大小特征的V-I曲線

圖7 CNN結構
卷積神經網絡(Convolutional Neural Network,CNN)由LECUN Y等人于2015年提出,CNN是第一個真正多層結構學習算法,是一種前饋式神經網絡,相比于全連接的神經網絡泛化性能更好。
CNN由卷積層、池化層以及全連接層組成。一個經典的CNN結構(如圖7所示)是由一系列的過程組成的。最初的幾個階段是由卷積層和池化層組成的,卷積層的單元被組織在特征圖中,在特征圖中,每一個單元通過一組濾波器的權值被連接到上一層的特征圖的一個局部塊,然后這個局部加權和被傳給一個非線性函數。在一個特征圖中的全部單元享用相同的過濾器,不同層的特征圖使用不同的過濾器。
(1)卷積層:卷積層是一個卷積神經網絡中最重要的部分。和傳統全連接層不同,卷積層中的每一個節點的輸入只是上一層神經網絡中的一小塊,這個小塊的大小為3×3或者5×5。卷積層試圖將神經網絡中的每一個小塊進行更加深入的分析從而得到抽象程度更高的特征。一般來說,通過卷積層處理的節點矩陣會變得更深,所以在圖7中可以看到經過卷積層之后的節點矩陣的深度會增加。
(2)池化層:池化層神經網絡不會改變三維矩陣的深度,但是它可以縮小矩陣的大小。池化操作可以認為是將一張分辨率較高的圖片轉化為分辨率較低的圖片。通過池化層,可以進一步縮小最后全連接層中節點的個數,從而達到減少整個神經網絡中的參數的目的。
(3)全連接層:在經過多輪卷積層和池化層處理之后,在CNN的最后一般會由1到2個全連接層來給出最后的分類結果。經過幾輪的卷積層和池化層的處理之后,可以認為圖像中的信息已被抽象成了信息含量更高的特征。可以將卷積層和池化層看成自動圖像特征提取的過程。在特征提取完成之后,仍然需要使用全連接層來完成分類任務。
基于CNN的遷移學習是指將己經訓練好的CNN應用在新樣本的訓練及測試中,也可以稱之為網絡微調。由CNN結構可知,全連接層之前的網絡結構可被看作一個特征提取器,圖片經過該特征提取器后生成一定維度的特征向量,該特征提取器具有極高的泛化能力,可作為通用視覺特征提取器,而訓練好的網絡參數可視為一種圖像特征提取方法,將圖像特征提取的方法運用到新測試圖片上也可以很好地提取圖片特征。從CNN各層提取到的特征是逐步加強的,從底層特征到中層特征,深層特征具有較高的圖像表示能力及泛化能力,可以使用線性分類器將不同樣本深層特征區分,如本文所使用的支持向量機[6](Support Vector Machine,SVM)。
要實現基于遷移學習的V-I軌跡特征提取,本文使用Places365數據集[7],因此首先用Places365數據集對CNN網絡進行訓練。CNN網絡結構和參數可以分離,并以配置文件方式保存,使用預訓練的網絡時只需要利用參數文件初始化網絡即可進行網絡微調。CNN網絡可分為兩部分:特征提取器與分類器,特征提取器為網絡的卷積-池化疊加部分,分類器一般為網絡最后三層中全連接層+softmax層+輸出層。網絡微調的做法是將原網絡的特征提取器部分保留,刪去與預訓練樣本有關的分類器,因為絕大多數情況下預訓練樣本與當前訓練樣本類別數不同。因此需要重新訓練分類器。將新的分類器與預訓練網絡的特征提取器連接得到新的CNN。利用當前樣本對新網絡訓練即得到微調后的CNN。
選取Reference Energy Disaggregation Data Set (REDD)數據集驗證基于V-I軌跡特征的NILM算法。REDD數據集記錄了6個家庭在數天內的用電情況,該數據庫包括高頻數據(僅House 3及House 5)和低頻數據,其中高頻(16.5 kHz)數據為總電壓電流波形數據,低頻(1~3 Hz)數據包括總視在功率(1 Hz)以及安裝每個用電設備(負荷)上的電表測得的單個設備視在功率(3 Hz)。通過House 3數據驗證算法。House 3中共有22個設備,取一天內處于工作狀態的13個用電設備用于測試,利用數據集中上述設備除測試日之外的數據訓練。
對Redd數據集進行預處理,得到House 3和House 5中所有暫態事件的V-I軌跡,共得到House 3中18種電器特性共3 708個V-I軌跡樣本,得到House 5中與House 3相同的8個電器共380個V-I軌跡樣本。選取House 3中1 849個樣本(約50%)進行訓練,其余樣本用來測試。選取3種基于Places365數據集訓練的CNN模型分別進行訓練和測試并對比不同CNN模型的測試結果,分別為VggNet-16[9]、GoogleNet[10]、ResNet-152[11],結果如表1所示。

表1基于Places365的CNN模型識別結果 (%)
對于Electronics2和Kitchen_outlets1,二者的功率以及諧波電流值都非常相似,如圖8、圖9所示,二者V-I軌跡差別很小,用普通的模式識別方法很難將二者識別正確,而本實驗中二者識別率很高,說明卷積神經網絡對細微的顏色偏差和形狀偏差具有較高靈敏度。

圖8 Electronics2 V-I軌跡

圖9 Kitchen_outlets1 V-I軌跡
文獻[4]中的實驗是基于ImageNet數據集[12]訓練的CNN模型進行V-I軌跡特征提取,ImageNet和Places365數據集訓練的三種CNN模型的識別結果見表2。這說明本文中使用的Places365數據集訓練出來的網絡更適合Redd數據集的負荷識別。

表2 基于不同訓練集的CNN模型識別結果(%)
為了驗證卷積神經網絡在V-I軌跡特征提取實驗上具有魯棒性,將House 3中18類電器特性的V-I軌跡進行CNN特征提取作為訓練樣本,House 5中8種電器特性的V-I軌跡進行CNN特征提取作為測試樣本進行實驗,實驗結果如表3所示。從實驗結果可以看出卷積神經網絡具有較好的魯棒性,在避免過擬合問題上表現很好。

表3 用House 3中數據提取CNN特征用于House 5識別(%)
針對手動特征選取進行負荷識別存在的問題,本文研究了基于卷積神經網絡的V-I軌跡特征提取方法,為此提出了電流波形分解方法,得到較為準確的V-I軌跡圖像,從而通過卷積神經網絡特征提取到更為準確的特征。
本文還使用了比ImageNet數據集數據量更大的Places365數據集進行網絡訓練,得到了更好的識別效果。最后本文通過Redd數據集中不同家庭的相同電器進行負荷識別實驗,驗證了卷積神經網絡具有較好的魯棒性。