劉 新,常英賢,孫莉莉,張方哲
(1.國網山東省電力公司電力科學研究院,山東 濟南 250003;2.國網山東省電力公司,山東 濟南 250001)
信息物理系統[1-2](cyber physical system,CPS)致力于將物理世界與網絡世界相連,并廣泛應用于工業控制系統(industrial control system,ICS)、配電網、交通、能源等領域。CPS基于通信、計算機、網絡[3]等技術,使人們能夠實時掌握所需的各種信息。結合CPS的智能電網負責電力的傳輸、分配、監測和控制,可以顯著提高電力系統的效率和可靠性。然而,CPS存在一定網絡安全威脅。黑客可以釋放漏洞,故意造成分支過載跳閘,觸發級聯故障,從而對智能電網造成重大損害。這些損害輕則影響電力系統正常供電,重則導致重要基礎設施的快速崩潰。為此,有必要對智能電網的CPS網絡安全進行研究,從而為電力系統的安全運行提供保障。
隨著機器學習技術的不斷發展,許多學者將其引入電力網絡安全領域,充分挖掘其模式識別精度高、學習能力強和魯棒性強等優勢。文獻[4]從攻防2個角度對機器學習在電力CPS網絡安全領域的應用進行了歸納總結,探討了機器學習在電力CPS網絡安全中的應用。文獻[5]針對電力CPS中信息的網絡故障,利用潮流傳輸、故障潮流分布、系統安全影響3個指標提出電力節點辨識模型。文獻[6]提出了容忍階段性故障的協同網絡攻擊引發電網級聯故障預警方法。然而,目前大部分網絡安全檢查方法仍存在一些缺陷,如電力數據高緯度、數據不均衡等特點使得傳統機器學習方法無法直接應用于電力數據檢測。此外,現有方法的檢測性能仍有巨大提升空間。
本文設計了基于深度學習的電力系統網絡攻擊檢測模型。該模型主要通過學習歷史數據和相關日志信息來檢測系統中的異常信息。
電力系統網絡攻擊檢測模型主要包括4個部分,分別為特征選擇、數據處理、分類模型搭建和多層集成極限學習機(extreme learning machine,ELM)集成學習。電力系統網絡攻擊檢測模型如圖1所示。

特征重構的意義在于通過原始數據獲得更靈活的特征信息,從而提高數據的敏感性,并增強模型訓練和分類的分析能力。此外,在機器學習問題中,訓練如包含太多特征,將會消耗大量計算開銷,并且容易過度擬合,從而導致模型性能下降。為了減少高維學習問題帶來的影響,本文采用改進的自適應彈性網絡的方法來選擇特征。
令電力數據表示為(xi,yi),i=1,2,…,N。其中:xi=(xi1,xi2,…,xip)為電力變量信息;yi為類別標簽。此時,回歸模型可構建如下:
(1)
式中:β0和βj分別為截距系數和回歸系數。

(2)

(3)

(4)
式中:γ為正實數。
根據上述計算,可從大量特征中提取重要程度相對較高的重要特征。進一步將這些重要特征組成特征向量并代入深度網絡學習模型,可以在保證低計算和操作成本前提下,獲取更為精確的分類結果。
1.2.1 歸一化處理和數據填充
數據在送入深度學習模型之前需要進行預處理操作。數據歸一化是數據處理的基本操作。其優點是可以提高迭代的速度和精度,從而獲得梯度搜索的最優解。數據歸一化方法主要包括min-max和z-score歸一化操作。本文主要選取z-score歸一化操作,具體描述為:
(5)
式中:X為z-score歸一化后數據值;μ為數據均值;σ為數據標準差。
此外,考慮到電力數據中通常存在非數值(non-numerical,NAN)或無窮大(infinity,INF)值,傳統方法通常采用平均值或0進行填充。在處理試驗中使用的數據集時,本文提出了1種新的邏輯平均值填充方法,以避免數據過于離散。邏輯平均值計算方法為:
(6)
式中:Nki為數據中第k個數據序列的第i個數據;κ為正實數系數;Γ(·)為符號函數。

(7)
1.2.2 噪聲數據處理
數據集中的噪聲問題一直是影響分類或回歸精度的重要難題。通常,電力數據中主要存在2種類型的噪聲,分別為類別噪聲和屬性噪聲。類別噪聲是具有錯誤類標簽的數據。屬性噪聲是具有錯誤屬性值的數據。
考慮到在實際情況下,與數據空間中密集區域的數據相比,位于數據稀疏分布區域的數據點出現的概率值更低。因此,可將這些噪聲數據視為異常值。為此,本文提出了基于粒子群優化(particle swarm optimization,PSO)算法[7]的PSO-K均值(PSO-Kmeans)聚類算法噪聲數據處理方法。該方法首先計算每個數據點的離群值分數,從而檢測噪聲數據。隨后,這些噪聲數據將在訓練集中得到增強,以形成噪聲自適應訓練集。噪聲自適應訓練集比原始數據集具有更多的噪聲數據。這將增強模型對噪聲數據的適應性,并在一定程度上緩解模型的過擬合問題。PSO-Kmeans算法執行流程如圖2所示。

首先,本文隨機選取K個節點作為聚類的初始中心。對于任意粒子i的編碼,可表示為:
Pi={li,vi,fi}
(8)
式中:li、vi和fi分別為粒子i的位置、速度和適應度函數。
(9)

vi=[v1,v2,...,vk]
(10)
式中:v為粒子計算聚類中心時的速度。
(11)

根據適應度函數,計算任意粒子的局部位置最優解lid以及所有粒子的全局位置最優解lgd,并更新粒子i的位置以及速度。
v′i=ζvi-c1r1(lid-li)+c2r2(lgd-li)
(12)
式中:v′i為更新后粒子速度;ζ為速度慣性權重;c1和c2為加速度系數;r1和r2為隨機向量,且r1和r2中各元素均在[0,1]之間。
l′i=li+vit
(13)
式中:l′i為更新后粒子位置;t為時間步長。
ELM[8]模型作為1種單隱層前饋神經網絡(single-hidden layer feedforward neural network,SLFN),可以在不進行任何調整的情況下隨機選擇輸入權值和隱含偏差。
對于任意電力數據(xi,yi),輸入向量xi=(xi1,xi2,…,xip)T∈Rp為具有p維特征的第i個樣本。樣本標簽為Y=[y1,y2,…,yN]。其中,p為輸入神經元的數量,即輸入特征個數。令:L為隱藏神經元的數量;C為輸出神經元的數量,即輸出類別個數。同時,令:輸入權重矩陣為K=[k1,k2,…,kL];kj=[kj1,kj2,…,kjn]為連接p個輸入神經元和第j個隱藏神經元的向量;b=[b1,b2,…,bj,…,kL]為隱藏神經元的偏差;bj為第j個隱藏神經元的偏差。因此,模型中任意輸入xi的輸出為:
h(xi)=G(Kxi+b)
(14)
式中:G(·)為激活函數。
令H為所有樣本的輸出,則:
(15)
式中:列表示相對于輸入x1到xN的隱藏節點的輸出向量;行表示相對于輸入xj的隱藏層的輸出。
ELM的輸出為:
(16)
式中:αi=[αi1,αi2,…,αiC]T為連接第i個隱藏節點與輸出節點的權重向量。
當對ELM模型輸出的多組分類器進行組合優化時,傳統投票或堆疊方法存在一定缺陷。比如,當某個分類器性能明顯低于其他分類器時,將會對整個模型性能產生顯著影響。為此,本節提出了1種多層集成學習模型對ELM模型分類器進行組合優化,從而改善“壞值”分類器帶來的不利影響。多層集成ELM模型結構如圖3所示。

令ELM模型輸出的分類器為(Cf1,Cf2,…,CfM)。首先,按順序將3個分類器利用集成分類器進行訓練。3個分類器訓練過程可表示為:
(17)

同時,在驗證集上對第一層中的所有集成分類器輸出結果進行驗證,從而比較不同分類器的相對性能。
同理,在下一層集成學習中,按順序將4個上一層集成分類器輸出的結果再利用集成分類器進行訓練。4個第一層集成分類器再次集成訓練過程可表示為:
(18)

執行完上述過程后,對下一層輸出的所有分類器進行排名統計,即將每個分類器從獲得最佳性能到獲得最差性能進行排名,從而確定每個分類器在不同評估度量中的性能指標。進一步根據每個分類器在多個評估度量中的平均排名,在測試集上對平均排名最高的集成模型進行測試,從而獲得最佳分類結果。因此,集成模型能夠消除性能持續性較差的分類器,從而改善模型訓練效果。
2.1.1 數據集
本文研究所用數據集為中國某變電站通過電源管理單位(power managment unit,PMU)、Snort、控制面板和繼電器等記錄系統記錄運行產生的數據,統計時間為2019年1月至2020年12月,采樣頻率為30 min/次。首先,對原始數據集進行數據清洗,刪除不正確(缺失值超過80%)的數據。數據清洗后,有效樣本共計51 809個,可分為正常、單相接地(single-line-to-ground,SLG)故障、線路維護、數據注入攻擊、遠程跳閘命令注入攻擊、中繼設置更改攻擊6類。其中,SLG指系統電壓、電流和頻率異常時導致的故障。電力系統中的SLG故障大部分是線對地和線對線(line-to-line,LL)產生的故障。線路維護指系統維護時1條特定線路上的1個或多個繼電器被禁用,從而引起的電力數據異常。數據注入攻擊是1種與電力系統狀態估計過程相結合的重要網絡攻擊類型。攻擊者通過改變相位角來產生虛假的傳感器信號。這種類型的攻擊可能對電力系統造成物理或經濟影響。遠程跳閘命令注入攻擊是在從通信網絡上的攻擊計算機向傳輸線末端的繼電器發送繼電器跳閘命令時引起的電力系統故障。中繼設置更改攻擊會改變中繼運行狀態,導致繼電器對有效故障的響應不及時,使得電力系統造成無法挽回的經濟損失或安全威脅。
各類數據統計結果如下:正常數據43 472個、SLG故障4 966個、線路維護792個、注入攻擊891個、遠程跳閘命令注入攻擊890個、中繼設置更改攻擊798個。由此可知,該數據集具有嚴重的樣本不均衡性,異常與正常的電力數據比約為1∶6.21。
試驗環境設置如下:硬件為64 GB內存和英特爾至強(R)E5-2620 CPU的Ubuntu系統。算法仿真環境主要基于Python進行開發。
首先,基于PSO-Kmeans算法生成噪聲自適應訓練集,增強模型對噪聲數據的適應性,從而在一定程度上緩解模型的過擬合問題。接著,將噪聲自適應訓練集代入ELM分類器完成基礎分類器訓練,從而消除數據不均衡造成的影響。最后,基于多層學習機制,根據每個分類器在多個評估度量中的平均排名,在測試集中對平均排名最高的集成模型進行測試,從而獲得最佳的分類結果。需注意,為了增強試驗的穩健性和減少偶然性,對每組試驗重復執行30次,并取所有試驗結果的平均值用于評估模型的性能。
此外,為綜合分析模型性能,研究選取準確率、Brier分數、接收者操作特征(receiver operating characterisic,ROC)、曲線下面積(area under curve,AUC)等指標對K最近鄰(K-nearest neighbor,KNN)、隨機森林(random forest,RF)、支持向量機(support vector machine,SVM)、卷積神經網絡(convolutional neural network,CNN)、ELM模型進行對比。
2.3.1 特征選擇性能分析
本小節綜合對比特征選擇對模型性能的影響。表1所示為特征提取前后不同模型性能綜合對比結果。

表1 特征提取前后不同模型性能綜合對比結果
由表1可知,經特征提取后,KNN、RF、SVM、CNN、ELM等模型準確率均有所提升。因此,本文所提的改進自適應彈性網絡特征提取方法有助于提高分類器的分類效果。分析原因可知,特征選擇能有效剔除冗余變量以及不相關的變量,從而有助于提高模型訓練效率。
2.3.2 數據處理前后對比分析
本小節分別對比、分析了應用數據處理方法(歸一化和PSO-Kmeans)前后不同模型的性能。噪聲數據處理前后不同模型性能對比結果如表2所示。

表2 噪聲數據處理前后不同模型性能對比結果
由表2可知,經數據處理后,除RF模型準確率降低外,其余模型準確率均有所提升。
分析原因可知,RF在嚴重不平衡數據集中獲取有效信息和識別正樣本的能力相對較弱,故模型性能無明顯提升。因此,數據處理有助于提高分類模型的性能并減少其隨機性。
2.3.3 多層集成學習性能分析
本小節采用所提方法分別執行改進自適應彈性網絡特征提取和數據處理,并基于多層集成學習模型進行分類。多層分類器性能統計結果如表3所示。與表1和表2相比,多層集成分類器在性能指標上均具有明顯優勢,最優分類器準確率達到88.91%。由表3可知,分類器準確率、Brier分數、AUC等性能指標并不是隨著分類器層數的增加而更優。分析原因可知:分類器層數增多將擴大模型規模,使得需要訓練的參數量呈幾何倍數增加,從而導致模型調參困難,使模型容易陷入局部最優。

表3 多層分類器性能統計結果
本文建立了1種基于深度學習的電網網絡攻擊檢測模型。該模型可基于改進自適應彈性網絡特征提取、歸一化、PSO-Kmeans數據處理方法和基于ELM的多層集成學習模型有效分類電力數據,從而提高電力系統網絡攻擊檢測能力。首先,本文基于改進的自適應彈性網絡模型,從大量電力數據中提取重要特征。其次,本文提出了歸一化和PSO-Kmeans噪聲數據處理方法,從而增強模型對噪聲數據的適應性,并在一定程度上緩解模型過擬合問題。最后,本文基于多層集成模型對ELM模型分類器進行組合優化,從而改善“壞值”分類器帶來的不利影響,提高模型分類性能。該模型為電力系統安全管理及穩定運行提供了一定的借鑒。
未來研究方向包括電力用戶隱私保護、配電網網絡安全等方面,從而進一步提升配電網數據安全與服務管理水平。