楊冠群,劉 蔭,鄭海杰,張聞彬,湯琳琳,王高洲
(國網(wǎng)山東省電力公司信息通信公司,山東濟(jì)南 250021)
隨著電力系統(tǒng)信息化水平的提高,電力行業(yè)積累了豐富的用戶用電數(shù)據(jù)。然而,由于輸變電設(shè)備故障、網(wǎng)絡(luò)波動、用戶竊電等原因,用電數(shù)據(jù)中存在大量異常數(shù)據(jù)。異常用電數(shù)據(jù)識別是指利用相關(guān)方法從海量數(shù)據(jù)中識別出異常數(shù)據(jù),幫助電力系統(tǒng)工程師快速定位故障原因、發(fā)現(xiàn)可疑的用電異常行為,進(jìn)而提高電力系統(tǒng)的穩(wěn)定性,避免異常用電行為對企業(yè)和社會造成更大損失。
異常用電數(shù)據(jù)識別是一種典型的二分類任務(wù),即基于給定的用戶用電輸入數(shù)據(jù)預(yù)測該用戶是否為異常用電用戶。數(shù)據(jù)驅(qū)動下的異常用電識別已成為當(dāng)前主流的研究方法,其中包括基于機(jī)器學(xué)習(xí)的識別方法和基于深度學(xué)習(xí)的識別方法。基于機(jī)器學(xué)習(xí)的識別方法首先從用戶用電數(shù)據(jù)中提取相關(guān)特征,然后基于提取的特征構(gòu)建異常識別模型[1-2]。盡管基于特征分析和機(jī)器學(xué)習(xí)的異常用電數(shù)據(jù)識別已取得成功,但是特征構(gòu)建需要專業(yè)的知識背景,且手工構(gòu)建的特征質(zhì)量對檢測結(jié)果會造成較大擾動。目前,深度學(xué)習(xí)技術(shù)已成功應(yīng)用于各個領(lǐng)域,基于深度學(xué)習(xí)的異常用電數(shù)據(jù)識別已成為電力行業(yè)數(shù)據(jù)分析的主要手段。與基于機(jī)器學(xué)習(xí)識別方法不同的是,基于深度學(xué)習(xí)的異常用電數(shù)據(jù)識別方法從原始的用戶用電數(shù)據(jù)中挖掘潛在的用電模式及其變化規(guī)律,不需要額外提取特征,減小了特征提取質(zhì)量對識別結(jié)果的擾動[3]。常用于用戶異常識別的深度學(xué)習(xí)算法包括卷積神經(jīng)網(wǎng)絡(luò)[4]、圖神經(jīng)網(wǎng)絡(luò)[5]、自注意力機(jī)制[6]等。
現(xiàn)有基于深度學(xué)習(xí)的異常用電數(shù)據(jù)識別方法要求將存儲在各個供電公司的用戶用電數(shù)據(jù)匯集起來,進(jìn)行模型的統(tǒng)一訓(xùn)練。然而,這種方式存在數(shù)據(jù)隱私泄露、數(shù)據(jù)傳輸困難等問題。為了解決該問題,本文提出一種基于信息熵的聯(lián)邦學(xué)習(xí)異常用電識別模型。該模型將聯(lián)邦學(xué)習(xí)引入到異常用電數(shù)據(jù)識別模型訓(xùn)練過程中,用于解決分公司之間存在的“數(shù)據(jù)孤島”問題。聯(lián)邦學(xué)習(xí)模型在訓(xùn)練過程中不需要將各客戶端中分散的原始數(shù)據(jù)收集起來,而是直接在各個客戶端進(jìn)行模型本地訓(xùn)練,只需匯集各個客戶端所產(chǎn)生的中間參數(shù),避免了因原始數(shù)據(jù)傳輸而出現(xiàn)數(shù)據(jù)泄露等問題。此外,由于經(jīng)濟(jì)發(fā)展水平不同,作為聯(lián)邦學(xué)習(xí)客戶端的各個供電公司中的用戶用電數(shù)據(jù)分布存在差異,可能會給模型性能帶來潛在影響。具體來說,在參數(shù)聚合過程中,數(shù)據(jù)質(zhì)量較高的客戶端中間參數(shù)對最終聚合參數(shù)的貢獻(xiàn)較大,反之亦然。為此,本文提出通過k-近鄰評估算法計算各個客戶端數(shù)據(jù)集的信息熵。信息熵作為數(shù)據(jù)集的一種統(tǒng)計量,能夠反映該數(shù)據(jù)集的分布質(zhì)量,用于表示各個客戶端中間參數(shù)在聚合過程中對模型最終參數(shù)的貢獻(xiàn)。
基于機(jī)器學(xué)習(xí)的異常用電數(shù)據(jù)識別方法主要包括聚類分析[7-8]、回歸分析、特征分解[9]等。文獻(xiàn)[10]提出一種基于回歸方法的用電數(shù)據(jù)異常檢測方法,該方法依據(jù)完整性、唯一性、一致性、準(zhǔn)確性等評價指標(biāo)對用電數(shù)據(jù)進(jìn)行回歸分析,實現(xiàn)對停上電數(shù)據(jù)缺陷進(jìn)行辨別與處理。文獻(xiàn)[11]提出一種基于線性判別分析和密度峰值聚類的雙判據(jù)無監(jiān)督異常用電檢測模型,該模型遵循“特征構(gòu)造—維度規(guī)約—聚類—異常檢測”的流程,借助聚類算法對用電模式不同的用戶分類后再進(jìn)行檢測,在維度規(guī)約模塊使用線性判別分析將用戶的臺區(qū)號輸入檢測模型,提升了模型的檢出率和精確率;在異常檢測模塊設(shè)置雙判據(jù)檢測標(biāo)準(zhǔn),減小了模型對參數(shù)攝動的敏感程度。文獻(xiàn)[12]針對無大量已知異常用電用戶樣本的情況,提出一種基于改進(jìn)模糊C 均值聚類的竊電行為檢測模型,該模型首先通過因子分析對用戶用電特征(包括用電負(fù)荷數(shù)據(jù)和電能表異常事件)進(jìn)行維度規(guī)約,提升模型檢測效率,再利用遺傳模擬退火算法對模糊C 均值聚類算法進(jìn)行改進(jìn),進(jìn)而實現(xiàn)對用戶用電特征進(jìn)行檢測。文獻(xiàn)[13]針對異常用電行為的時頻特性往往具有強(qiáng)隨機(jī)不確定性的情況,提出一種基于經(jīng)驗?zāi)J椒纸獾漠惓S秒姍z測方法,該方法首先進(jìn)行相關(guān)特征篩選,然后對用戶用電量和線損電量序列進(jìn)行自適應(yīng)分解,提取高頻分量,通過對其變化趨勢和相關(guān)性進(jìn)行分析,實現(xiàn)對異常用電行為的檢測與識別。
隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,深度學(xué)習(xí)技術(shù)在眾多領(lǐng)域得到了廣泛應(yīng)用,例如自然語言處理[14-15]、推薦系統(tǒng)[16-17]、計算機(jī)視覺[18-19]等。對于異常用電數(shù)據(jù)識別任務(wù),深度學(xué)習(xí)方法逐漸得到重視。例如,文獻(xiàn)[20]針對電網(wǎng)中的用電異常行為,提出一種基于時間卷積網(wǎng)絡(luò)的端到端用戶用電異常檢測模型,該模型主要包括數(shù)據(jù)預(yù)處理、卷積操作、殘差連接等模塊。通過在真實數(shù)據(jù)集上對模型性能進(jìn)行驗證,結(jié)果表明該模型表現(xiàn)優(yōu)于支持向量機(jī)、邏輯回歸等傳統(tǒng)檢測方法。文獻(xiàn)[21]提出一種基于強(qiáng)化學(xué)習(xí)的異常用電判決方法,該方法首先獲取分類器輸出的數(shù)個用戶短期行為的異常概率,然后輸入到強(qiáng)化學(xué)習(xí)模型深度遞歸Q網(wǎng)絡(luò)中,實驗結(jié)果表明,該模型具有較好的泛化性能。文獻(xiàn)[22]提出基于實值深度置信網(wǎng)絡(luò)的用戶側(cè)竊電行為檢測模型,該模型首先利用因子分析進(jìn)行數(shù)據(jù)降維,利用隨機(jī)欠采樣和套索算法應(yīng)對數(shù)據(jù)不平衡問題。同時該模型為了優(yōu)化實值深度置信網(wǎng)絡(luò)因隨機(jī)初始化產(chǎn)生的局部最優(yōu)化問題,通過螢火蟲算法對網(wǎng)絡(luò)參數(shù)進(jìn)行全局尋優(yōu)。文獻(xiàn)[23]提出基于數(shù)據(jù)內(nèi)在特性和長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)的用戶用電數(shù)據(jù)異常檢測算法,該算法使用多層LSTM神經(jīng)網(wǎng)絡(luò)實現(xiàn)高維數(shù)據(jù)特征提取,從而提高了異常用電數(shù)據(jù)識別的準(zhǔn)確率。文獻(xiàn)[24]提出一種基于主成分分析和深度循環(huán)神經(jīng)網(wǎng)絡(luò)的異常用電行為檢測方法,該方法首先利用核主成分分析方法對電力負(fù)荷數(shù)據(jù)進(jìn)行降維,生成主成分特征子集,然后基于LSTM和門控循環(huán)單元構(gòu)建深度循環(huán)神經(jīng)網(wǎng)絡(luò)模型,用于檢測異常用電行為。
然而,以上方法在構(gòu)建模型時,都未考慮對用戶用電數(shù)據(jù)隱私進(jìn)行保護(hù)。本文通過引入聯(lián)邦學(xué)習(xí)方法,進(jìn)行基于信息熵的聯(lián)邦學(xué)習(xí)異常用電識別研究,彌補(bǔ)了現(xiàn)有方法存在的隱私性問題,同時提出利用信息熵估算算法改進(jìn)聯(lián)邦學(xué)習(xí)中的梯度聚合,以提高模型準(zhǔn)確性。
如圖1所示,該模型主要包括以下3個模塊:
(1)基于Transformer 的客戶端模型訓(xùn)練模塊?;诟鱾€客戶端分布式存儲的私有數(shù)據(jù),分別在各個客戶端訓(xùn)練Transformer 異常識別神經(jīng)網(wǎng)絡(luò)模型,并且不同客戶端中的Transformer 神經(jīng)網(wǎng)絡(luò)具有相同的拓?fù)浣Y(jié)構(gòu)。
(2)基于差分隱私算法的客戶端梯度上傳模塊。利用局部差分隱私算法,將各個客戶端的Transformer 異常識別神經(jīng)網(wǎng)絡(luò)參數(shù)的梯度進(jìn)行加密,并上傳到服務(wù)器端中。與上傳模型參數(shù)不同的是,上傳參數(shù)梯度需要傳輸?shù)臄?shù)據(jù)量少,具有更高的通信效率。
(3)基于信息熵加權(quán)平均的服務(wù)器端梯度聚合模塊。在服務(wù)器端對來自不同客戶端的模型參數(shù)梯度進(jìn)行基于信息熵的加權(quán)平均聚合,得到包含各個客戶端訓(xùn)練信息的聚合梯度。基于得到的聚合梯度對模型參數(shù)進(jìn)行更新,隨后將服務(wù)器端更新后的模型分發(fā)到各個客戶端中,替換原有的神經(jīng)網(wǎng)絡(luò)模型。
重復(fù)以上步驟(1)-(3),直至模型收斂,完成最終的異常用電識別模型構(gòu)建。
Fig.1 Information entropy-based federal learning model for identifying abnormal electricity consumption圖1 基于信息熵的聯(lián)邦學(xué)習(xí)異常用電識別模型
Transformer[25]神經(jīng)網(wǎng)絡(luò)模型以其強(qiáng)大的序列建模能力在眾多任務(wù)上得到了廣泛應(yīng)用。在客戶端模型訓(xùn)練過程中,選擇Transformer 作為異常用電識別神經(jīng)網(wǎng)絡(luò),用于建模用戶用電序列。Transformer 神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示。
在第n個客戶端中,用戶u的用電序列記為X=[x1,x2,…,xl,…,xL]∈RL×D,其中L表示用電序列長度,D表示特征維度。Transformer 中的注意力機(jī)制采用查詢—鍵—值(Query-Key-Value,QKV)模式進(jìn)行注意力得分計算。對于輸入序列X,首先對其進(jìn)行線性變化,將其映射到不同的向量空間中,即:
式中,Wq∈RD×Dq,Wk∈RD×Dk,Wv∈RD×Dv分別為查詢—鍵—值的線性映射參數(shù)矩陣,且Dq=Dk=Dv;Q、K、V分別為查詢矩陣、鍵矩陣、值矩陣。采用縮放點(diǎn)積的形式進(jìn)行注意力計算,即:
式中,Softmax(·)表示歸一化函數(shù),H 表示注意力機(jī)制的輸出矩陣。在多頭注意力機(jī)制中,假設(shè)有H 個頭,則多頭注意力機(jī)制的輸出如下所示:
式中,Concat(·)表示向量拼接操作,Hh表示第h個注意力頭的輸出向量,Wm表示訓(xùn)練參數(shù),M 表示多頭注意力機(jī)制的輸出矩陣。為避免模型在訓(xùn)練過程中出現(xiàn)梯度消失的情況,將殘差連接和層歸一化作用于M,即:
Fig.2 Transformer neural networks圖2 Transformer神經(jīng)網(wǎng)絡(luò)
式中,LayerNorm(·)表示層歸一化操作,Mt表示中間向量。如圖2 所示,前饋神經(jīng)網(wǎng)絡(luò)用于解決層數(shù)加深所帶來的信息損失問題,即:
式中,Wt、Wr、bt、br表示可訓(xùn)練參數(shù),F(xiàn) 表示前饋神經(jīng)網(wǎng)絡(luò)輸出矩陣。之后再次進(jìn)行殘差連接和層歸一化操作,即:
式中,O 表示經(jīng)過殘差連接和層歸一化之后的輸出矩陣。將其輸入到輸出層為1 的單層感知機(jī)中,對用戶用電序列輸出矩陣進(jìn)行壓縮,得到用戶表示向量如下:
式中,Wp、bp表示可訓(xùn)練參數(shù)表示輸入用戶用電序列所對應(yīng)的異常概率值。在模型訓(xùn)練過程中,給定預(yù)測的異常概率值和真實值y,本文采用交叉熵?fù)p失構(gòu)建以下優(yōu)化目標(biāo)函數(shù),即:
式中,B表示客戶端訓(xùn)練批大小,L 表示損失值。
客戶端梯度上傳是指將各個客戶端中的模型參數(shù)梯度通過加密后上傳到服務(wù)器端,用于梯度聚合和模型更新。與傳統(tǒng)方法所要求的數(shù)據(jù)集中式存儲不同的是,基于聯(lián)邦學(xué)習(xí)的方法只需要服務(wù)器端收集加密之后的模型參數(shù)梯度,原始數(shù)據(jù)依舊分布式地存儲在各個客戶端,不進(jìn)行原始數(shù)據(jù)傳輸,從而大大提升了通信效率與安全性。以客戶端n為例,根據(jù)公式(10)計算其損失值Ln,客戶端中Transformer 神經(jīng)網(wǎng)絡(luò)模型的參數(shù)集合記為Φn=,則客戶端n的模型參數(shù)梯度gn可通過以下方式計算:
對于梯度gn,本模型采用局部差分隱私(Local Differential Privacy,LDP)[26]方法進(jìn)行梯度加密,以保證上傳梯度的安全性。局部差分隱私方法通過在模型參數(shù)上添加滿足差分隱私的噪聲數(shù)據(jù),以實現(xiàn)聯(lián)邦學(xué)習(xí)中的隱私保護(hù)目的。局部差分隱私是建立在嚴(yán)格數(shù)學(xué)理論基礎(chǔ)上的強(qiáng)隱私保護(hù)模型,目前已成為聯(lián)邦學(xué)習(xí)研究工作中一種主流的參數(shù)加密手段,其有效性得到了廣泛認(rèn)可[27]。LDP 加密方式可表示成以下形式:
式中,clip(gn,δ)利用縮放系數(shù)δ限制梯度gn的大小,以避免出現(xiàn)梯度爆炸的情況;Laplace(0,λ)表示均值為0的拉普拉斯噪聲,其中λ用于控制所施加噪聲的強(qiáng)度。聯(lián)邦學(xué)習(xí)中的差分隱私算法通過向梯度添加噪聲,不僅可保證梯度在傳遞過程中不被逆向破解,保證梯度的安全性,而且可將其看作一種梯度噪聲注入正則化手段,防止模型出現(xiàn)過擬合現(xiàn)象[28]。之后將客戶端n中加密后的梯度上傳到服務(wù)器端用于梯度聚合。
服務(wù)器端梯度聚合是指將客戶端上傳到服務(wù)器端的加密梯度按照某種方式聚合起來,以獲取包含全局梯度信息的聚合梯度,用來進(jìn)行梯度更新。聯(lián)邦學(xué)習(xí)的性能很大程度上取決于聚合策略。目前,研究者大多使用FedAvg[29]模型中的梯度聚合策略,即:
式中,wn表示第n個客戶端上傳的參數(shù),|Dn|表示第n個客戶端中數(shù)據(jù)塊n的數(shù)據(jù)量,|D|表示全局?jǐn)?shù)據(jù)量,w表示聚合之后的全局模型參數(shù)。
由于氣候差異、消費(fèi)水平及用電習(xí)慣的不同,作為聯(lián)邦學(xué)習(xí)客戶端的各個供電公司中的數(shù)據(jù)質(zhì)量存在差異,呈現(xiàn)出非獨(dú)立同分布的特點(diǎn)(Non-Independently and Identically Distributed,Non-IID),導(dǎo)致各個客戶端訓(xùn)練出來的模型性能也有所差異。如式(13)所示FedAvg 模型中的聚合策略僅根據(jù)各個客戶端上的數(shù)據(jù)量與全局?jǐn)?shù)據(jù)量之間的比值確定其參數(shù)在聚合過程中的權(quán)重,即數(shù)據(jù)量越大,該客戶端貢獻(xiàn)越大。然而,客戶端的數(shù)據(jù)量無法反映該客戶端中的模型性能,依據(jù)數(shù)據(jù)量比值確定其聚合權(quán)重,存在一定的不合理性。通常情況下,數(shù)據(jù)集的樣本分布情況往往反映出數(shù)據(jù)質(zhì)量,樣本分布規(guī)律性越強(qiáng),數(shù)據(jù)質(zhì)量越高,進(jìn)而訓(xùn)練出的模型性能越好[30]。
為解決上述問題,提出利用信息熵估算算法量化各個客戶端中的數(shù)據(jù)分布情況。信息熵是一種常用的衡量給定變量分布規(guī)律的統(tǒng)計量。如圖1 所示,本模型采用Kozachenko-Leonenko k 近鄰算法[31]估算數(shù)據(jù)集的信息熵,具體計算公式如下:
式中,εi是客戶端n中樣本ti到其第k個鄰居的歐式距離,本模型中k取為1;樣本ti為客戶端n中第i個用戶(樣本)用電序列的向量均值;D為樣本特征維度;M為樣本數(shù)量;cD=πD/2Γ(1 +D/2),其中Γ(·)為Gamma 函數(shù);ψ(·)為Digamma 函數(shù);Hn為估算得到的客戶端n數(shù)據(jù)集的信息熵。Γ(·)和ψ(·)函數(shù)定義如下:
信息熵越小的數(shù)據(jù)集,數(shù)據(jù)混亂程度越低,樣本分布規(guī)律性越強(qiáng)[32],進(jìn)而訓(xùn)練出來的模型性能越好,其模型參數(shù)聚合權(quán)重越高。因此,利用信息熵的倒數(shù)對相應(yīng)客戶端的梯度進(jìn)行加權(quán)聚合,聚合公式如下:
在服務(wù)器端中維護(hù)一個與各客戶端具有相同網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的Transformer 模型,該模型中的可訓(xùn)練參數(shù)集合為Φs。服務(wù)器端參數(shù)更新是指利用聚合梯度對可訓(xùn)練參數(shù)集合Φs進(jìn)行更新,更新方式如下:
式中,η表示學(xué)習(xí)率。將更新后的模型參數(shù)Φs更新到服務(wù)器端的模型中,并將更新后的模型分發(fā)到各個客戶端??蛻舳酥懈潞蟮哪P蜁诒镜財?shù)據(jù)進(jìn)行新一輪迭代訓(xùn)練。重復(fù)上述步驟直至模型收斂,完成模型訓(xùn)練。訓(xùn)練完成后,基于服務(wù)器端中更新的模型進(jìn)行異常用電數(shù)據(jù)識別與模型性能測試。
本文在真實數(shù)據(jù)集上進(jìn)行實驗,以驗證所提出方法的有效性。數(shù)據(jù)集來自于某電力總部的用戶用電信息采集系統(tǒng),數(shù)據(jù)統(tǒng)計如表1所示。
Table 1 Dataset description表1 數(shù)據(jù)集介紹
從系統(tǒng)中抽取來源于3 個不同供電公司共計996 個用戶(包括126 個異常用戶,870 個正常用戶)的用電數(shù)據(jù),采集頻率為24 次/天,采集范圍為2019 年9 月1 日-2019 年9月14 日,因此用戶序列長度為336。序列數(shù)據(jù)特征包含溫度、風(fēng)速、人口數(shù)、用電功率、電壓等信息,共計32 個特征維度。訓(xùn)練集和測試集的比例設(shè)置為3:1,即將各個客戶端中的數(shù)據(jù)按照3:1 的比例劃分為訓(xùn)練集和測試集。隨后匯總各個客戶端中的測試數(shù)據(jù),將其輸入到服務(wù)器端訓(xùn)練好的模型中進(jìn)行模型性能測試。
為驗證本文方法的有效性,本實驗選擇7 個常用的異常用電用戶識別模型作為基線模型與本文方法進(jìn)行對比?;€模型包括LDA+DPeaks[11]、FCM[12]、EMD[13]、TCN[20]、DRQN[21]、RDBN[22]、LSTM[23]。其中,LDA+DPeaks、FCM、EMD 為基于機(jī)器學(xué)習(xí)的異常數(shù)據(jù)檢測模型,TCN、DRQN、RDBN、LSTM 為基于深度學(xué)習(xí)的異常數(shù)據(jù)檢測模型。為全面評價模型性能,本實驗選用5 個評價指標(biāo)對模型性能進(jìn)行驗證,分別為:正確率(Accuracy)、召回率(Recall)、F1值、受試者工作特征曲線下面積(AUROC)與精確率—召回率曲線(AUPRC)。為保證實驗結(jié)果的準(zhǔn)確性,本文在測試數(shù)據(jù)集上對每個模型進(jìn)行了5 次實驗,實驗結(jié)果取平均值。
實驗運(yùn)行環(huán)境如下:操作系統(tǒng)為Ubuntu 18.04.3 LTS,隨機(jī)存儲器(RAM)為128 GB DDR4@3200MHz,中央處理器(CPU)為Intel(R)Core(TM)i9-9980XE CPU @ 3.00 GHz,圖形處理器(GPU)為2*NVIDIA TITAN RTX,主要環(huán)境庫為Scikit-learn 0.22、Python 3.7.0、Pytorch 1.10.1、Numpy 1.21.2、Pandas 1.1.5。
實驗超參數(shù)設(shè)置如下:序列長度為336,迭代次數(shù)為1 000,訓(xùn)練批大小為100,學(xué)習(xí)率為0.000 1,特征維度D、Dq、Dk、Dv為32,多頭注意力機(jī)制頭個數(shù)為4,縮放系數(shù)為0.005,噪聲強(qiáng)度為0.015。部分超參數(shù)采用網(wǎng)格搜索方式確定。
實驗結(jié)果如圖3、表2 所示。圖3 展示了各個客戶端中模型訓(xùn)練損失值變化曲線及其平均值曲線,表2 展示了本文模型與多種基線模型在5 種不同評價指標(biāo)下的異常用電用戶識別性能。
從圖3 可看出,當(dāng)更新次數(shù)達(dá)到200 次時,模型趨于收斂,此時模型在訓(xùn)練集上達(dá)到最優(yōu)性能。從表2 可看出,本文模型在5 個指標(biāo)上均達(dá)到最優(yōu)性能,其中Accuracy 為0.958 2,Recall 為0.454 3,F(xiàn)1 為0.535 4,AUROC 為0.692 6,AUPRC 為0.358 1。具體來說,以LDA+DPeaks、FCM、EMD為代表的機(jī)器學(xué)習(xí)異常用電檢測模型相對于TCN、DRQN、RDBN、LSTM 深度學(xué)習(xí)模型而言,缺乏挖掘序列數(shù)據(jù)中上下文關(guān)系的能力,因此基于機(jī)器學(xué)習(xí)算法的檢測模型整體表現(xiàn)不如深度學(xué)習(xí)模型。相比于TCN、DRQN、RDBN 等神經(jīng)網(wǎng)絡(luò)模型,LSTM 中的門控機(jī)制能夠捕獲用戶用電序列中的長程依賴信息,提高對序列數(shù)據(jù)的建模能力。以上實驗結(jié)果表明,本文提出的模型不僅在性能上優(yōu)于基線模型,同時能夠以聯(lián)邦學(xué)習(xí)的方式進(jìn)行模型構(gòu)建,保護(hù)數(shù)據(jù)隱私。
Fig.3 Model training loss curves圖3 模型訓(xùn)練損失曲線
Table 2 Comparison of experimental results表2 實驗結(jié)果對比
為驗證所提出的基于信息熵加權(quán)平均的服務(wù)器端梯度聚合方法的有效性,進(jìn)行以下消融實驗。在保證其他模塊不變的情況下,將本文提出的梯度聚合方法與FedAvg算法中的梯度聚合方法進(jìn)行對比,通過實驗驗證本文提出的基于信息熵加權(quán)平均梯度聚合方法的有效性。從表3的實驗結(jié)果可知,本文提出的基于信息熵加權(quán)平均的梯度聚合方法優(yōu)于FedAvg 中基于客戶端數(shù)據(jù)量比值的梯度聚合方法。
Table 3 Ablation for gradient aggregation method表3 梯度聚合方法消融實驗
為研究本文提出的基于信息熵的聯(lián)邦學(xué)習(xí)異常用電識別方法中參數(shù)的敏感性,分析模型在不同超參數(shù)設(shè)置下的異常識別性能,本文進(jìn)行了模型超參數(shù)分析實驗。本實驗對注意力機(jī)制參數(shù)矩陣的隱層特征維度Dk(Dk=Dq=Dv)和多頭注意力機(jī)制頭個數(shù)H進(jìn)行分析,實驗結(jié)果如圖4、圖5所示。
Fig.4 Sensitivity analysis for hidden feature dimension圖4 隱層特征維度敏感性分析
Fig.5 Sensitivity analysis for multi-head attention mechanism圖5 多頭注意力機(jī)制頭個數(shù)敏感性分析
由圖4 可知,隨著隱層特征維度的變化,異常識別性能會有不同程度的波動,當(dāng)維度為32 時,模型取得最佳性能。當(dāng)維度過小時,輸入數(shù)據(jù)包含的特征有限,因此性能出現(xiàn)衰退;當(dāng)維度增大時,容易導(dǎo)致模型出現(xiàn)過擬合的情況,使模型過度訓(xùn)練,無法獲得最佳異常用電用戶識別性能。由圖5 可知,設(shè)置不同的多頭注意力機(jī)制頭個數(shù),模型具有不同的性能表現(xiàn),表明本文提出的模型對多頭注意力機(jī)制頭個數(shù)具有一定程度的敏感性。具體地,當(dāng)H=4時,模型表現(xiàn)最佳;當(dāng)H>4 時,模型性能出現(xiàn)衰退。出現(xiàn)這種現(xiàn)象的一個潛在原因在于,當(dāng)多頭注意力機(jī)制頭個數(shù)增加時,模型參數(shù)增加,導(dǎo)致模型訓(xùn)練不夠充分。
為識別出異常用電數(shù)據(jù),同時保證用戶用電數(shù)據(jù)的隱私性,本文提出一種基于信息熵的聯(lián)邦學(xué)習(xí)異常用電識別模型。該模型引入聯(lián)邦學(xué)習(xí)到異常用電數(shù)據(jù)識別中,避免了集中式模型訓(xùn)練所帶來的潛在數(shù)據(jù)泄露的風(fēng)險。同時,為提高基于聯(lián)邦學(xué)習(xí)的服務(wù)器端梯度聚合效果,引入Kozachenko-Leonenko k 近鄰算法估算數(shù)據(jù)集的信息熵,根據(jù)信息熵進(jìn)行服務(wù)器端梯度加權(quán)聚合。實驗結(jié)果表明,本文提出的基于信息熵的聯(lián)邦學(xué)習(xí)異常用電識別模型能夠在保證數(shù)據(jù)隱私的情況下,取得比現(xiàn)有方法更優(yōu)異的異常用電用戶識別效果。
本文研究重點(diǎn)在于如何解決聯(lián)邦學(xué)習(xí)實際面臨的客戶端不均衡數(shù)據(jù)在服務(wù)器端參數(shù)梯度聚合過程中的貢獻(xiàn)評估問題。然而,在現(xiàn)實應(yīng)用中,客戶端數(shù)據(jù)所具有的不均衡特點(diǎn)可能會導(dǎo)致各個客戶端在本地模型訓(xùn)練時存在效率差異,進(jìn)而導(dǎo)致時延問題,影響總體模型訓(xùn)練效率,該問題是實現(xiàn)高效聯(lián)邦學(xué)習(xí)所面臨的重要挑戰(zhàn)。本文將在下一步研究中對該問題進(jìn)行研究,目前已形成初步的研究思路,即對各個客戶端的數(shù)據(jù)特點(diǎn)、計算能力、網(wǎng)絡(luò)通信等資源進(jìn)行全面量化,根據(jù)客戶端資源量化指標(biāo)對模型訓(xùn)練過程進(jìn)行反饋控制,以實現(xiàn)模型訓(xùn)練超參數(shù)的差異性配置,解決分布式客戶端所面臨的“木桶效應(yīng)”,提高聯(lián)邦學(xué)習(xí)模型的訓(xùn)練效率。