杜宇,嚴萌,武昕
(華北電力大學 電氣與電子工程學院,北京 102206)
隨著我國能源改革的推進[1],需求側管理的重要性日益凸顯。作為需求側管理的基礎,用戶用電數據質量決定著需求側管理的精細程度。通過對用戶負荷進行監測,獲取用戶實時用電數據,可以為相關電力政策的制定提供數據支撐,為用戶改善用電行為提供建議[2],引導用戶合理規劃用電時間,進而實現高效的需求側管理。
負荷監測技術分為侵入式和非侵入式兩大類。侵入式負荷監測主要是通過對用戶的每個用電器安裝信息采集設備,獲取電器用電信息。雖然該技術得到的數據準確可靠,但是耗資巨大,不利于推廣[3]。相較于侵入式負荷監測,非侵入式負荷監測(Non-Intrusive Load Monitoring,NILM)對于用戶影響小,成本低更具有實用性。負荷辨識是負荷監測中重要的一環,傳統負荷辨識算法都需要從采集到的電流電壓信號中提取先驗數據。如文獻[4]中基于有功和無功功率進行負荷辨識,文獻[5]中根據動態時間彎曲算法計算實測數據和先驗數據的距離來完成負荷辨識。隨著智能算法的發展,大量研究以人工提取特征作為訓練數據,通過構建分類模型進行負荷辨識。文獻[6]中提出一種基于滑動窗的雙邊累積和變點檢測算法,但沒有具體提出檢測暫態過程后的負荷識別方法。文獻[7]中提出基于全局與滑動窗口相結合的注意力機制的負荷分解模型。文獻[8]中提出一種利用粒子群優化(Particle Swarm Optimization,PSO)優化神經網絡參數的方法,提高神經網絡的NILM 精度。文獻[9]中將電流信號進行小波變換從中提取特征作為神經網絡的訓練數據,并用構建的神經網絡對負荷進行辨識。文獻[10]中利用多層神經網絡對采集到的電流和功率信息進行分析,實現負荷辨識。文獻[11]中針對低頻采樣下的負荷特征問題,提出了一種可自動提取激活特征并識別類型的卷積神經網絡(Convolution Neural Network,CNN)架構。文獻[12]中將有功功率和無功功率作為訓練數據訓練K近鄰(K-Nearest Neighbor,KNN)算法模型完成負荷辨識。文獻[13]中提出了融合暫態電流波形和時域特征的改進方法,將暫態電流值均方根融合到電流波形圖像以提升相似波形特征負荷的辨識正確率。文獻[14]中結合居民用電行為與外部非電力負荷特征相關特性,建立一種基于隨機森林的家庭負荷監測模型。文獻[15]中將家電的運行電流數據轉換成圖片形式,建立了能夠處理二維圖像數據的卷積神經網絡模型,達到了負荷辨識的目的。文獻[16]中通過一維卷積神經網絡(One-Dimensional CNN,1D-CNN)對時序特征進行提取,結合貝葉斯神經網絡,對光伏出力進行時序預測。文獻[17]中利用1D-CNN 對軸承故障特征隨機信號進行特征提取,并對齒輪箱軸承故障進行辨識。文獻[18]中建立1D-CNN 的鉆桿故障診斷模型,根據鉆桿的加速度信號對鉆桿工作狀態進行識別。1D-CNN 在訓練過程中只利用了高級信號特征,對低級信號特征表現不足,如何自動全面地利用信號特征進行分類是一個研究難點。在實際應用中,由于受到存儲技術的限制,在長期的負荷數據采樣過程中無法實現實時高頻采集,得到的負荷數據往往缺乏時序性。存儲的數據量遠遠小于負荷正常運行時的數據量,由于負荷電流是隨時間變化的,當負荷在某時刻發生投切,負荷狀態不僅與當前時刻有關,還與其投切發生之前的狀態信息有關,因此解決數據的時序性問題至關重要。
針對上述兩個問題,本文提出了一種基于上采樣金字塔結構的1D-CNN 非侵入負荷辨識算法,主要有三個關鍵部分:1)本文立足于實際應用場景,提出非侵入式負荷監測系統架構。該架構采用端側數據采集,云側模型訓練,邊側模型部署結構,實現非侵入式負荷的快速辨識。2)針對一維向量型數據樣本,在時間維度進行上采樣,擴展數據在時間維度上的相關特征信息,解決采集數據時序性缺失的問題。3)利用雙向金字塔結構對傳統1D-CNN 進行優化,使得負荷特征利用更加全面,進一步提高算法的運行效率與準確率。所提算法在實驗室中進行測試,驗證其有效性。
非侵入式負荷監測系統通過在用戶電力入口處安裝數據采集裝置獲取用戶混合用電信息,并將采集到的混合信號分解為多個獨立未知負荷信號,最終通過負荷辨識算法實現對未知負荷的識別,獲取用戶內部不同負荷的能耗信息與運行規律。由于該系統不需要在每一個負荷端口放置采集裝置,安裝成本大大降低,而且該系統不會對用戶造成影響。
對于非侵入式負荷監測問題,傳統機器學習模型雖然在處理時序負荷數據取得了較大的進展,但是將特征提取與分類作為兩個獨立部分進行處理,難以得出最優解。卷積神經網絡通過卷積層自動提取負荷特征,全連接層實現負荷分類將特征提取與分類過程融合到一起,使得求最優解變得容易。傳統CNN 與1D-CNN 的不同之處在于卷積核的尺寸不同。1D-CNN 在處理時序數據時無需將其轉化為二維圖像數據,對于處理一維時序數據更加適用,效率更高。如圖1 所示,一維卷積核是通過卷積神經網絡算法的不斷迭代得到。利用最優一維卷積核,通過不斷滑動對原始一維信號進行卷積運算,得到能夠表征此類信號的時域特征。一維卷積核在運算過程中無需進行復雜的矩陣運算,產生的參數較少,能夠在訓練樣本和迭代次數更少的情況下得到最優的結果。
端云協同的非侵入式負荷監測系統首先通過NILM 裝置采集負荷獨立運行的負荷信號,并通過通信網將數據傳輸到云端數據庫進行儲存。由于云端算力資源豐富,利用云端數據庫對上采樣金字塔結構的1D-CNN 算法進行訓練,將訓練好的算法利用通信網下發部署到端側的設備中。在實際負荷監測過程中,通過采集混疊的負荷數據,結合負荷分解算法進行負荷分解,最后利用在端側部署好的辨識算法實現負荷的快速辨識。圖2 所示為非侵入式負荷監測系統。
相較于辨識任務,卷積網絡計算的特征提取方法逐漸取代傳統機器學習的特征提取方法,由于卷積神經網絡能夠表示更高級別的負荷特征,不同層的特征尺度也不同,從而有助于從單一輸出尺度上計算特征,但是這種做法的缺點在于只使用了高級分辨率特征,對低分辨率的特征表現不足。為了改善這種情況,在傳統特征金字塔結構基礎上增加遞推的自底向上(Bottom-up)路徑,有效地利用底層特征信息,使網絡特征融合更加充分,大大減少了特征信息的損耗。具體雙向金字塔結構如圖3 所示。
Bottom-up 路徑運算過程中三個相鄰階段特征圖同時輸入到模塊中。第一個來自網絡的較低層級,此特征圖尺寸較大但通道較淺,具有豐富的細節信息,設特征圖的尺度為H1×W1×C1。第二個特征圖來自網絡的中間層,此特征圖尺寸和通道數都處于中間位置,設其特征圖尺度為H2×W2×C2。最上層特征圖來自網絡的較高層,此特征圖尺寸較小但通道較深,包含豐富的類別信息,設其特征圖尺度為H3×W3×C3。三個特征圖尺寸之間的關系為H1=2 ×H2,W1=2×W2,C1=2×C2,H2=2×H3,W2=2×W3,C2=2×C3。
具體融合過程如圖4 所示。首先,低層級特征圖輸入到由5×5 卷積核組成的卷積層進行特征圖調整,中層級特征圖輸入到3×3 卷積核組成的卷積層進行特征圖調整,低層卷積層輸出的特征圖尺寸與高層級特征圖尺寸對等;然后,中層級特征圖與高層級特征圖分別經過全局平均池化,1×1 卷積運算,并分別與5×5 卷積層處理過的低層特征圖和3×3 卷積層處理過的中層特征圖進行加權運算;最后,加權過的低層級特征圖、中層級特征圖和高層級特征圖進行元素相加,完成最后的特征融合。
作為一種深度學習模型,卷積神經網絡(CNN)廣泛應用于圖像識別、視頻檢測等領域,具有從復雜耦合的數據集中自動提取高級特征的能力,消除了傳統方法中復雜的特征提取過程。CNN 的結構采用局部連接和權重共享的方法,大幅減小了網絡參數的數量和降低了訓練難度,顯著提高了網絡的泛化能力。在非侵入式負荷辨識問題中,由于采集的電壓、電流信號為一維數據,將其轉換成圖像數據,耗時耗力不利于負荷的快速辨識。因此,本文提出一種用于特征提取的一維卷積層,與傳統的二維卷積層相比,一維卷積層減少了參數數量,節省了負荷辨識的時間和存儲空間。
上采樣需要對數字信號進行重采樣,重采樣的采樣率與原來獲得該數字信號的采樣率比較,大于原信號采樣率的稱為上采樣,上采樣的實質也就是內插或插值。通過對負荷數據進行上采樣處理,將負荷一維向量型數據升維成二維網格型數據,從而擴展負荷數據在時間維度上有價值的相關特征信息。
本文通過對獨立負荷數據在時間維度上進行上采樣,將負荷一維向量型數據升維成二維網格型數據,從而擴展負荷數據在時間維度上相關特征信息。該上采樣網絡結構主要包括輸入層、重構層、時間上采樣層,具體網絡結構如圖5所示。
重構層將輸入層輸入的負荷一維電流數據∈Rfr,重構成二維網格型數據,如式(1)~(2)所示,其中fI表示變量總數,使用Xi替代。
對于第TSj層的時間上采樣層,根據式(3)對每個特征的時間序列進行全連接操作:
對于特征提取模塊,由3 個一維卷積(Conv1D)和3 個平均池化層級聯構成,并采用雙向金字塔形式設計模型中每層卷積核的個數。為更好地適應時序數據的矢量特性和加快卷積運算,采用一維卷積而不是二維卷積(Conv2D),Conv1D的輸入和輸出數據是二維的,而Conv2D 則應對三維輸入輸出,更適用于圖像數據。Conv1D 主要通過數據與卷積核的卷積運算來提取數據高維特征,且卷積核的方向是Conv1D層輸出的,如式(4)所示:
為降低下一層輸入數據長度和擴大感受野的范圍,使用平均池pool(·)來計算輸入特征矢量的平均值,第l+1 層的第i個神經元平均池化輸出為:
為了簡化表示特征雙向傳遞的過程,如圖6 所示,虛線箭頭表示低層和中層特征進行雙向傳播的過程,其中較長的虛線①代表低層級特征圖傳遞到高層級的過程,較短的虛線②代表中層級特征圖傳遞到高層級的過程。
從特征提取模塊到分類器模塊,需要采用Flatten 層將二維輸出特征圖展平壓縮成一維特征矢量。分類器模塊包括1 個全連接層和1 個輸出層,其中輸出層采用Softmax 激活函數,全連接層中采用ReLU 激活函數,神經元節點數為128,Flatten 層的輸出數據為yl1,全連接層的輸出特征矢量為:
其中:Wl2和bl2分別表示權重矩陣和偏置。Softmax 層將yl2轉換為1×9 的概率矢量P=(p1,p2,…,p9),對應識別9 種負荷概率,且概率之和為1,Softmax 層的第j個輸出概率為:
影響模型泛化性的主要因素是ReLU 函數在反向傳播時會出現梯度消失、過擬合等問題,即模型在學習負荷特征的同時也會從數據中學習噪聲或人為特征,因此,本文在模型中引入正則化處理,從而降低模型復雜度和不穩定程度,避免過擬合的問題。常用的正則化方法有L1 和L2 正則化,分別如式(8)~(9)所示:
L1 正則化:
L2 正則化:
相較于L1 正則化,L2 正則化具有處處可導、便于優化的特點,適合應用于本文提出的模型。因此,在更新卷積神經網絡全連接層和Softmax 層的權值時加入L2 正則化。
在實際的負荷辨識過程中“誤判”對模型的整體性能影響較大;例如將電器A 誤判成電器B、電器OFF 誤判成ON時,導致用戶實時掌握的負荷用電情況不夠準確。本文采用2 個標準指標來評估模型的識別性能,分別為:準確率ACC(Accuracy)和F-score。準確率的計算公式如式(10)所示:
其中:真正例TP(True Positive)表示模型將正類預測為正類的樣本數;假正例FP(False Positive)表示模型將負類預測為正類的樣本數;真反例TN(True Negative)表示模型將負類預測為負類的樣本數;假反例FN(False Negative)表示模型將正類預測為負類的樣本數。
F-score可根據精確率P(Precision)和召回率R(Recall)計算得到,其中,精確率代表對正結果識別正確的數目在所有識別為正的結果中的比例,如式(11)所示;召回率則為對正結果識別正確的數目在所有正確識別結果中的比率,如式(12)所示。
F-score是對P和R的平衡,如式(13)所示:
為了驗證本文算法的有效性,利用數據采集裝置從實驗室獲取實際負荷的運行數據,構建測試數據集。該裝置通過電壓電流互感器將電壓電流信號強度降低,并采用數據采集卡進行高頻數據采集,最后將數據傳輸到服務器上進行后續處理。
具體實驗參數為:采集裝置接入電壓220 V,采樣頻率10 kHz。辨識對象包括:電磁爐(Induction Cooker,IC)、電熨斗(Electric Iron,EI)、冰 箱(Refrigerator,RE)、電飯煲(Electric Cooker,EC)、電 視(Television,TV)、電水壺(Electric Kettle,EK)、電烤箱(Electronic Oven,EO)、飲水機(Water Dispenser,WD)和空調(Air-Conditioning,AC)。當上述負荷單獨運行時周期電流信號如圖7 所示。
本文以2∶1 的比例將樣本集分為訓練集和測試集,各子集通過均勻隨機抽樣從總樣本集中取出。訓練集用于對模型參數進行尋優,測試集用于驗證模型的泛化性。雙向特征金字塔多層卷積池化結構可提升網絡性能,但是隨著層數的增多,模型中的參數呈指數增長,極大地增加了模型復雜度。因此,本文根據樣本長度、網絡性能、模型復雜度,采用3 層卷積池化網絡結構。
首先,利用上采樣網絡對負荷的一維數據進行升維操作,將一維時序數據轉化為二維網格數據再將網格型數據進行轉置,并作為輸入到雙向金字塔神經網絡中;然后,卷積層通過一系列的卷積核,對輸入層的二維網格型數據進行掃描和運算,組合得到高維特征。如圖8 所示,網絡迭代到90 次以后,雙向金字塔-1D-CNN 損失值趨近于最小,收斂速度較快;在迭代240 次以后傳統的LeNet-1D-CNN[19]損失值才趨于最小,收斂速度相對較慢。通過對比可以看出,經過優化后的雙向金字塔-1D-CNN 的損失值下降更快,在性能上優于傳統的LeNet-1D-CNN。
為了更好地展示神經網絡的內部參數,選取第2 個卷積層的權重Kernel-1 和偏差Bias-1 以及第3 個卷積層的權重Kernel-2 和偏差Bias-2 進行展示,如圖9 所示,卷積核內部參數、偏置內部參數在迭代過程中逐漸收斂到穩定。進一步分析可以看出,當迭代到90 次左右時,各個參數相對趨于穩定,進一步說明本文算法在收斂速度、算法效率等方面優于傳統的1D-CNN。
將最后輸出的向量中數值作為判斷負荷類別概率,輸出的概率值保留小數點后2 位。如圖10 所示,混淆矩陣的每一行代表了預測類別的概率,每一列代表了數據的真實類別。對角線上的值表示負荷被正確分類的概率,顏色越深代表概率值越大,作為此種負荷的可能性就越高。每個混淆對角線矩陣顯示了9 類中每類負荷的預測精度。本文算法的識別精度較高,這意味著該算法可以學習更高級別和更多的特征,以提高預測性能。
為了驗證本文算法的有效性,選取了以下4 種算法作為對比。
1)文獻[20]中采用4 種負荷特征參數(電流、有功功率、無功功率、功率因素)作為算法的觀測向量,通過算法學習和多次迭代得到多參數的隱馬爾可夫模型(Multi-Parameter Hidden Markov Model,MPHMM),完成對負荷的最終辨識。
2)LeNet-1D-CNN 算法[19]首先是對傳統的LeNet 神經網絡卷積層進行降維,但在辨識階段表現不是很好,主要原因是LeNet 神經網絡在最初設計時適用于圖像辨識領域。
3)文獻[15]中利用局部平均分解算法對采集到的混合信號進行負荷分離,并提取獨立負荷特征,建立了能夠處理二維圖像數據的卷積神經網絡模型,該模型將一維電流數據轉化為二維圖像數據的過程繁瑣,不能快速地進行負荷辨識。
4)文獻[13]中提出了融合暫態電流波形和時域特征的改進方法,將暫態電流值均方根融合到電流波形圖像中,該方法在文獻[15]的基礎上融合暫態特征,但是并沒有解決數據轉化繁瑣、辨識效率較低的問題。
本文提出上采樣雙向金字塔卷積神經網絡算法,通過上采樣來彌補數據時序性缺失,結合上采樣雙向金字塔來優化傳統LeNet-1D-CNN 結構。從圖11 中可以看出,隨著迭代次數的增加,5 種算法的識別準確率都在不斷提高。但本文算法的準確率始終高于其他4 種算法。同時,在相同迭代次數下,其他評價指標的對比如表1 所示,從表1 中也可以看出本文算法的識別準確率達到了95.21%,F-score達到了94.93%,相較于對比算法,在準確率和F-score上都有優勢。

表1 不同算法的評價指標對比 單位:%Tab.1 Comparison of evaluation indexes of different algorithms unit:%
本文立足實際情況,結合云側算力資源豐富與端側設備性能良好的優點提出了一種端云協同的非侵入式負荷監測架構;基于非侵入式負荷監測理論和卷積神經網絡原理,結合負荷信號的一維特點與雙向金字塔結構,提出了一種基于上采樣金字塔結構的卷積神經網絡非侵入負荷辨識算法。通過對原始單點一維向量型數據進行重構升維,在時序維度進行上采樣,擴展負荷數據在時間維度上有價值的相關特征信息,來彌補數據時序性的缺失;通過雙向金字塔來優化傳統LeNet-1D-CNN 結構,增加網絡對負荷低級特征的利用。實驗結果表明,本文所提的上采樣金字塔結構的1D-CNN 非侵入負荷辨識算法,在數據時序缺失的條件下,性能優于其他方法,提高了負荷辨識準確率,縮短了負荷辨識時間,進一步實現了負荷的實時監測。未來工作中將會進一步增加負荷類別,對算法進行優化以提高運行效率與準確率,實現負荷能耗的動態監測。