• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于一維卷積神經網絡的負荷分解方法

      2021-10-08 08:32孫本亮王寶珠郭志濤
      現代電子技術 2021年19期
      關鍵詞:特征提取用電卷積

      孫本亮,王寶珠,郭志濤

      (河北工業(yè)大學 電子信息工程學院,天津300401)

      0 引言

      負荷分解是非侵入式負荷監(jiān)測(Non-Intrusive Load Monitoring,NILM)的關鍵步驟,其主要目的就是將時序下的各種用電設備的總負荷分解為單個用電設備的負荷[1]。通過NILM,人們能夠了解到自身的用電信息,進而優(yōu)化用電管理、改善用電習慣[2-3]。

      自麻省理工的Hart教授提出非侵入式負荷監(jiān)測這個概念以來,NILM受到了廣泛的關注。2015年,Kelly首次將深度學習應用于NILM問題[4],并分別基于遞歸神經網絡、自動去噪編碼器、深度神經網絡搭建了三種不同的深度學習網絡框架,證明了深度學習在處理NILM問題上具有良好的性能。文獻[5]對文獻[4]自動去噪編碼器進行了優(yōu)化,同時與加性因子最大后驗算法進行了對比,證明了自動去噪編碼器在有噪聲的情況下具有更高的魯棒性。文獻[6]中綜合考慮了用電設備的功率、狀態(tài)和時間等信息,并將這些信息作為深度神經網絡的輸入來證明其可行性。文獻[7]提出了端到點(Sequence-to-Point,Seq2point)網絡,并證明了在相同的網絡體系下,Seq2point網絡輸出的結果比端到端(Sequence-to-Sequence,Seq2seq)網絡更接近目標分布。文獻[8]在小窗口條件下基于端到點結構搭建了長短期記憶網絡、門控循環(huán)單元網絡、一維卷積神經網絡(One-Dimensional Convolution Neural Network,1D-CNN)三種深度學習網絡,實驗結果表明三種網絡能夠有效分解多種用電設備,但分解精度較低,分解性能還有待提升。

      為了提升負荷分解的性能,得到較高的分解精度,本文提出一種基于一維卷積神經網絡的負荷分解方法。所提方法以滑動窗口讀取總負荷的時間序列生成輸入序列,以1D-CNN自動提取輸入序列特征從而實現負荷分解。在公開的數據集UK_DALE上的實驗結果顯示,所提出的基于一維卷積神經網絡的負荷分解方法與現有方法[8-9]相比,F1得分更高,性能更佳。

      1 基于一維卷積神經網絡的負荷分解方法

      本文所提出的基于一維卷積神經網絡的負荷分解方法流程如圖1所示。

      圖1 負荷分解方法流程圖

      通過滑動窗口讀取總負荷時間序列生成輸入序列,使用一維卷積神經網絡提取輸入序列特征和分解負荷。其中,一維卷積神經網絡由序列擴展模塊和特征提取模塊組成,序列擴展模塊能夠自動提取輸入序列的特征并重構為擴展序列,特征提取模塊采用Seq2point結構分解擴展序列預測目標用電設備的負荷。

      1.1 滑動窗口

      滑動窗口主要用于處理長序列數據,減少網絡模型訓練過程中序列過長帶來的梯度消失、難以計算等問題。其本質是一個濾波器,只讀取指定長度的序列,其功能可由函數fw(i,W)表示。

      式中:i表示滑動窗口移動的步數;W表示滑動窗口的長度;e(i)表示階躍函數,其表達式為:

      在負荷分解任務中,滑動窗口讀取總負荷序列和用電設備負荷序列生成相應的輸入和標簽。為了綜合預測點的上下文關系,減少窗口邊緣信息的影響,本文選擇將用電設備窗口的中點值作為標簽。

      若序列長度為N,總負荷序列為Y={y1,y2,…,yN},與之在時間上對應的用電設備負荷序列為X={x1,x2,…,xN},那么t(t≥W2)時刻對應的標簽和輸入序列分別是xt和Yt,Yt的讀取為:

      1.2 一維卷積神經網絡

      一維卷積神經網絡是一種專門應用于序列型數據的卷積神經網絡,其操作僅在一維尺度上,數學模型為:

      式中:Gi表示第i層的輸出特征量;W i,bi分別表示第i層的卷積核的權重矩陣和偏重向量;?表示卷積運算符;f表示激活函數,用以對網絡進行非線性計算,提高網絡的表達能力,本文使用的激活函數皆為ReLU函數,表示如下:

      本文提出的1D-CNN網絡模型由序列擴展模塊和特征提取模塊構成。

      1.2.1 序列擴展模塊

      總負荷時間序列是多種用電設備在時間上的線性聚合數據,信噪比較小。為了優(yōu)化輸入序列,提高有用信息在輸入序列中的占比,傳統的方法有中值濾波[10]、小波變換[11]、粒子群算法[12]。但是,這些方法只是減少了噪音并不能增大有用信息的總量,為此本文提出序列擴展模塊,其結構如圖2所示。

      圖2 序列擴展模塊

      在序列擴展模塊中,首先使用4個連續(xù)的卷積層和1個批標準化層(Batch Normalization,BN)提取輸入序列Yt的特征得到中間序列Ytc,其過程用函數fad(x)表示。而后將Yt和Ytc進行拼接得到擴展序列Yt*,那么Yt*可表示為:

      其中,BN層的作用是將輸入的值縮小到0和1之間,從而降低連接層輸入之間的分布差異。

      假設Yt中總信息量是I,有用信息總量是C,Ytc中總信息量是Ic,有用信息總量是Cc,Y*t中總信息量是I*,有用信息總量是C*,那么在理想情況下有Cc Ic≥C I,故可計算出擴展序列Y*t的有用信息占比為:

      由I≥0,Ic≥0,CcI≥CIc,可得C*I*≥C I。又C*=Cc+C≥C,可知輸入序列經過序列擴展模塊處理后不僅提高了序列中有用信息的占比,而且還增大了有用信息的總量。

      1.2.2 特征提取模塊

      特征提取模塊主要用于學習序列特征和輸出預測結果,采用Seq2point結構,輸入是一個序列而輸出為一個點。相較于Seq2seq,Seq2point的優(yōu)勢是不會對同一個負荷多次預測從而產生輸出平滑的問題[7]。

      為了體現本文所提方法的優(yōu)越性,特征提取模塊的結構同文獻[8]中1D-CNN網絡一致,如圖3所示。

      圖3 特征提取模塊

      圖3中,數字“0.5”表示計算時會隨機舍去50%的輸入特征量,目的是提高網絡的泛化性。

      若特征提取模塊的功能表示為函數fs2p(x),那么將擴展序列Y*t輸入到網絡后的輸出為:

      式中xtp為負荷分解的結果;以Yt*作為特征提取模塊的輸入會使得Yt的特征被學習兩次;yt:1~k-1表示Yt前k-1個序列,k表示特征提取模塊中第一個卷積核尺寸;b表示全連接層輸出結果時產生的偏重。

      1.2.3 1D-CNN網絡模型

      本文提出的1D-CNN結構如圖2和圖3所示,序列擴展模塊的輸出將作為特征提取模塊的輸入,網絡層參數設置如表1所示。

      表1 網絡層參數設置

      網絡模型訓練過程中采用自適應矩估計(Adaptive Moment Estimation,Adam)方法作為優(yōu)化器,學習率為0.001。以均方誤差(MSE)函數作為損失函數,表達式為:

      式中:xip代表i時刻的預測值;xi代表i時刻的真實負荷;T為樣本總數。

      2 實驗分析

      2.1 數據集介紹

      為了體現所提出的基于一維卷積神經網絡的負荷分解方法的有效性和可比性,本文選擇公開的數據集UK-DALE[13]用作實驗。該數據集來源于英國能源研究中心能源數據中心,包含英國5個家庭的用電負荷數據,采樣周期是6 s,采集時間接近3年。

      2.2 用電設備選擇與預處理

      由于微波爐、洗衣機、冰箱、洗碗機這4種用電設備都至少在3個家庭中有記錄,且方便與現有方法進行比較,故本文選擇這4種用電設備用于實驗研究。4種用電設備訓練和測試的家庭如表2所示,在每個訓練家庭中采集20萬個樣本用于訓練模型,在每個測試家庭中采集10萬個樣本用于測試和評估模型。

      表2 用于訓練和測試的家庭

      由于用電設備的運行情況不同,4種用電設備設置滑動窗口長度和啟動功率也不同,如表3所示。其中,滑動窗口用以讀取總負荷時間序列,啟動功率用以評估模型時降低噪音的干擾。

      表3 窗口長度和啟動功率設置

      此外,為提高模型訓練時的收斂速度,對輸入的數據進行最大最小歸一化,數學表達式如下:

      2.3 評價標準

      為了體現實驗結果的有效性,本文選擇召回率recall、精確率precision、準確率accuracy、F1得分F1_score、平均絕對誤差(MAE)等5種常用的評價指標,計算方法如式(11)~式(15)所示。其中,F1_score是一種綜合了recall的precision的評價指標,其值越大代表模型的分類效果越好。

      將設備的開啟狀態(tài)視為正樣本,關閉狀態(tài)視為負樣本。上面公式中,T為總樣本數,TP代表預測值和真實值都為正的樣本數;TN代表預測值和真實值都為負的樣本數;FP代表預測值為負、真實值為正的樣本數;FN代表預測值為正、真實值為負的樣本數。

      2.4 實驗分析

      本文實驗的軟件平臺為Ubuntu 18.04操作系統,Python 3.7.6(64位),開發(fā)環(huán)境為Tensorflow和Keras,編譯IDE為Pycharm。

      為了體現本文所提基于一維卷積神經網絡的負荷分解方法的有效性,基于上節(jié)所述評價指標,將本文模型同文獻[8]和文獻[9]中基于1D-CNN搭建的深度負荷分解網絡模型進行比較,實驗結果如圖4所示。其中,文獻[9]提出的1D-CNN網絡模型是NILM領域最新的研究成果之一,在多個數據集上的負荷分解性能突出。

      觀察圖4可知,相較于另外兩種模型,本文所提出的一維卷積神經網絡模型在準確率、F1得分、平均絕對誤差3種評價指標上都取得了最優(yōu)的表現,說明了所提模型在負荷分解問題上具有更高的準確性和泛化性。由于文獻[8]的1D-CNN結構同所提模型的特征提取模塊一致,相當于所提模型去掉了序列擴展模塊,通過實驗結果比較,驗證了擴展序列模塊具有優(yōu)化輸入序列的能力。

      圖4 本文模型與文獻模型對比

      值得關注的還有所提模型在微波爐上的負荷分解,相較于文獻[8]的分解失敗,文獻[9]的F1得分僅為0.17,所提模型在微波爐上的F1得分超過了0.3,這表明本文所提出的網絡結構對微波爐有更強的特征提取能力。為了了解用電設備的運行方式對負荷分解的影響,在圖5中展示了四種用電設備的負荷分解結果。

      由圖5可觀察到,微波爐是一種短時運行的電器,每次開啟的時間在2 min左右,這使得輸入序列中有用信息總量很少,分解難度較大。本文網絡結構中的序列擴展模塊能夠增加序列中有用信息總量,進而提高微波爐的分解精度。此外,冰箱因為其運行時的功率相對較低,更易受到其他用電設備的干擾,具體表現是在關閉狀態(tài)更容易被誤判為開啟狀態(tài),應設置較大的啟動功率來減少誤判。洗衣機因為運行時功率波動劇烈,可以在訓練前進行平滑處理;洗碗機因為存在低功率運行的狀態(tài),所以設置的啟動功率不宜過大。

      圖5 四種用電設備的負荷分解效果

      3 結語

      本文提出了一種基于一維卷積神經網絡的負荷分解方法,旨在提升負荷分解的性能,提高分解精度。該方法以滑動窗口讀取總負荷時間序列,以一維卷積神經網絡分解負荷。其中,一維卷積神經網絡由序列擴展模塊和特征提取模塊兩部分組成,分別用以優(yōu)化輸入和分解負荷。與現有方法相比,本文所提出的一維卷積神經網絡基于多種評價指標都取得了較為突出的表現,證明了該方法在負荷分解任務中的有效性和先進性。

      用電設備因其運行狀態(tài)的不同,在負荷分解上的表現不一致。如何根據用電設備運行狀態(tài)的不同做針對性處理,進而提高負荷分解精度,將作為未來工作的重點。

      猜你喜歡
      特征提取用電卷積
      用電安全
      基于3D-Winograd的快速卷積算法設計及FPGA實現
      用煤用電用氣保障工作的通知
      安全用電知識多
      從濾波器理解卷積
      用電安全要注意
      基于Daubechies(dbN)的飛行器音頻特征提取
      基于傅里葉域卷積表示的目標跟蹤算法
      Bagging RCSP腦電特征提取算法
      基于MED和循環(huán)域解調的多故障特征提取
      贵港市| 龙泉市| 甘孜县| 秭归县| 云龙县| 新建县| 沙坪坝区| 平遥县| 肇州县| 宜昌市| 西贡区| 洪泽县| 遵化市| 邳州市| 建平县| 合山市| 尚志市| 开化县| 隆德县| 灵台县| 嘉兴市| 宜君县| 邛崃市| 桓仁| 阿巴嘎旗| 冕宁县| 哈巴河县| 深州市| 府谷县| 绥芬河市| 仪征市| 宜黄县| 吴堡县| 巴青县| 铜陵市| 舒兰市| 白水县| 延川县| 台东市| 镇巴县| 西林县|