王鐵強,魯鵬,曹欣,楊曉東,王維,呂昊,馮春賢,田潮,石皓巖,梁海平
(1. 國網河北省電力有限公司,石家莊市 050023;2. 國網北京市電力公司亦莊供電公司,北京市 100176;3. 華北電力大學電力工程系,河北省保定市 071003)
實際電網在運行中,每5~15 min會整體記錄區(qū)域內電網的運行情況,包括保存這一時刻電網各節(jié)點電壓(幅值和相角)、母線和支路運行狀態(tài)等各種運行信息,以及在這一狀態(tài)下電網調度和控制的工作票信息。電網運行多年來,通過各種途徑和方式存儲了大量歷史數據和信息,然而這些歷史信息目前沒能在電力系統(tǒng)的運行和控制中得到充分利用。隨著智能電網的不斷進步,依靠電網工作人員的經驗配合“模型”輔助分析處理電網運行數據的傳統(tǒng)模式已不能滿足電網安全穩(wěn)定運行的需要[1]。新一代人工智能算法的進步和多源異構信息融合技術開辟了“數據”替代“模型”的技術思路,并逐漸成為電力領域中的研究熱點[2]。
深度學習作為機器學習的一種類型,其主要應用于大數據挖掘和智能控制技術領域,并使該領域得到迅猛發(fā)展。深度學習算法通過模仿人腦處理認知的方式,將信息進行多層提取,其在大數據領域展現(xiàn)出了突出的特征提取能力。深度學習在各類智能系統(tǒng)領域,如語義理解、圖像識別領域等,以歷史數據挖掘為基礎,表現(xiàn)出良好的長短期預測能力與分類識別能力,在專業(yè)領域中擁有著越來越深的影響力[3-4]。近年來,電力領域與深度學習也正在加速融合,新一代人工智能算法在長短期負荷預測[5-6]、安全態(tài)勢感知[7]、充電樁布局[8]、電力系統(tǒng)暫穩(wěn)態(tài)評估[9-10]等多個領域已具有一部分研究和應用,并且以其深層架構對高維數據特征提取的優(yōu)勢向業(yè)者展示了優(yōu)越性能。例如文獻[10]借助深度置信網絡的深層架構提取特征的優(yōu)越性,將電網穩(wěn)定結果和系統(tǒng)特征之間的內在聯(lián)系加以提取并訓練相應模型,建立了基于深度學習的電力系統(tǒng)暫態(tài)穩(wěn)定評估方法。文獻[11]介紹了深度學習的知識架構和實踐基礎,以圖像數據和時空數據為基礎綜述了深度學習在電力系統(tǒng)大數據處理中的重點應用和技術展望。目前,電網系統(tǒng)研究人員已經進行了一定的探索,以使深度學習服務于電網,提高電網規(guī)范化、自動化和智能化管理[12-14],但通過總結發(fā)現(xiàn),現(xiàn)有研究中的“大數據”更多指的是當前運行狀態(tài)所具有的數據,研究目的側重于某種模式或規(guī)則的提取,而非針對電網存儲大量歷史數據的深入探索和利用,尚未將歷史信息的價值最大化。
本文定義電網某一時刻的整體運行狀態(tài)為一個電網運行斷面,運行斷面信息包括該時刻電網各部分的運行數據。歷史運行斷面作為一類電網大數據,可用機器學習或深度學習算法進行特征處理以及數據挖掘,匹配出有價值的歷史相似斷面。此外歷史工作票信息與歷史運行斷面按照相同的時間戳進行存儲,其中包含運行風險點、調度措施等有重要價值的信息。然而目前工作票及其方案制定需要大量校核工作,且嚴重依賴調度人員的工作經驗。本文期望通過歷史運行斷面相似性匹配技術,快速檢索到歷史上相對有效的運行方式、檢修計劃、安全措施預案等信息,為電網運行人員提供智能決策輔助奠定技術基礎。
現(xiàn)階段對電網運行斷面的研究較少,文獻[15]采用改進的K-means算法,構造相似度評價體系,對電網運行斷面進行較為高效的匹配。而改進K-means算法作為一種相對簡單的機器學習算法,不能充分挖掘斷面的特征信息,匹配準確率仍有提升空間。深度學習在特征提取方面性能更為優(yōu)越。常用的深度學習模型有深層神經網絡(deep neural network, DNN)、卷積神經網絡(convolutional neural network, CNN)、深度置信網絡(deep belief network, DBN)和堆疊自動編碼器(stacked auto encoder, SAE)等[9]。其中SAE、CNN算法在數字圖像處理與模式識別方面被普遍應用[16-17]。圖像在數據層面上可表示為像素點尺度的二維特征值矩陣,同時電網運行斷面通常也易構造為二維矩陣,采用深度學習算法時無需復雜的數據維度變換。此外,SAE以其多層自動編碼器堆疊的特殊結構,和“無監(jiān)督預訓練”加“監(jiān)督微調”的訓練思路,具有結構靈活可調、對樣本要求較低、特征提取能力強、訓練難度小等優(yōu)點,因此SAE算法能夠較好地適用于電網運行斷面匹配問題。
基于以上現(xiàn)狀分析和已有研究,本文利用深度學習算法展開電網歷史運行斷面相似性匹配研究。本文選取適當的特征量集,并將斷面以特征量矩陣的形式表現(xiàn)出來,利用堆疊自動編碼器,開展電網運行斷面相似性匹配研究。最后以IEEE 39節(jié)點系統(tǒng)為基礎構建仿真算例,算例結果表明,堆疊自動編碼器算法在電網運行斷面相似性匹配領域有著十分優(yōu)越的性能和應用價值。
自動編碼器 (automatic encoder, AE)是一種無監(jiān)督的神經網絡,其核心作用是挖掘輸入數據的深層表示,并盡可能準確地重建原始輸入,其主要應用在兩方面:特征提取和非線性降維[18]。AE模型的結構如圖1所示。
圖1 自動編碼器結構Fig.1 Structural diagram of automatic encoder
AE的整體結構共分三層:輸入層、隱含層和輸出層,由編碼器和解碼器兩部分構成。其中輸入層數據集x可表示為:
x=[x1,x2,…,xn]T
(1)
式中:xn為輸入x的元素;n為輸入向量的維度。首先,編碼器將輸入層x通過映射函數f(x)投影至隱含層,隱含層數據集h可表示為:
h=[h1,h2,…,hm]T
(2)
式中:hm為隱含層h的元素;m為隱含層的維度。其中映射函數f(x)可表示為:
h=f(x)=σ(wx+b)
(3)
式中:w是權重矩陣;b是偏差向量;σ(x)是解碼器的激活函數,有sigmoid函數、tanh函數等多種選擇。
(4)
(5)
(6)
圖2 堆疊自動編碼器結構Fig.2 Structural diagram of stacked automatic encoder
由于SAE具有AE無監(jiān)督學習的特性,因此SAE的模型訓練包含無監(jiān)督的預訓練與有監(jiān)督的參數微調2個階段。以圖2所示結構為例,在預訓練階段,堆疊自動編碼器網絡的訓練獨立逐層進行。第一層AE構成的隱含層h(1)根據式(6)訓練獲得第一級輸入的特征,然后以該隱含層的特征輸出作為隱含層新的輸入來訓練第二層網絡h(2),以此形式多層疊加,后續(xù)的隱藏層以此類推。在微調階段,將SAE的所有層級視為一個整體網絡模型,使用有標簽的訓練集對其再次訓練,對網絡的權重、偏差等參數再次微調。
由以上分析可以得知,SAE網絡因為具有編碼器的特性,相比于DNN而言隱藏層可以設置更少數量的神經元。此外采用無監(jiān)督預訓練以及有監(jiān)督的參數微調的兩階段訓練模式,可以使用大量的無監(jiān)督的數據集進行挖掘,突破了DNN僅能使用有監(jiān)督訓練的限制。該網絡結構具有強大的降維和特征表達能力,且隨著網絡結構的增加,還能學習并提取出更加高階的特征,具有深度神經網絡的所有優(yōu)點。本文所提運行斷面相似性匹配的思路,需要將電網運行斷面龐大的信息規(guī)模有效降維,且盡可能不丟失原有關鍵信息,由算法實現(xiàn)原理和網絡結構可見,該算法能較好地應用于歷史運行斷面的相似性匹配。
(7)
(8)
式中:ρ為一個接近于0的稀疏參數。
(9)
式中:β為DKL約束懲罰項的權重系數;S2為單一隱藏層神經元個數。
綜上,引入稀疏自編碼后,由于增加了稀疏約束項,網絡的特征提取能力大大增強,且在一定程度上增加了訓練速度。
本文利用堆疊自動編碼器開展運行斷面相似性匹配工作,雖然借助深層網絡可以挖掘輸入數據的各級特征,但由于現(xiàn)階段的電力系統(tǒng)數據仍然以不同形式儲存在不同部門,所以須將歷史信息進行一定程度的初始化操作。
根據現(xiàn)有文獻,可以得出電力領域數據挖掘的一般步驟為:1)對電網的數據進行清理、整合;2)根據電力系統(tǒng)數據本身的特性,構建能表征電網運行信息的特征量庫;3)對特征量按照統(tǒng)計特性以及算法特性進行相應調整,使其滿足算法的標準;4)選用合適的機器學習算法進行數據挖掘。根據上述技術路線,本文構建了靜態(tài)物理量特征量庫。采用靜態(tài)物理量可充分刻畫電網運行斷面特征,并省去電網暫態(tài)分析的復雜計算,提高算法訓練效率。此外原始靜態(tài)特征量庫中,既包含了功率、電壓等直接反映運行斷面狀態(tài)的物理量,也包含了系統(tǒng)脆弱節(jié)點[21]、系統(tǒng)網架結構[22]等反映系統(tǒng)結構復雜程度的指標。
在實際電網數據中,由于各原始特征量之間的量綱、取值范圍均可能有較大差異,因此需用統(tǒng)計映射改進原始特征量,在一定程度上提升訓練模型的準確性。電網改進靜態(tài)特征量庫F中的第i個元素Fi可由式(10)表示:
Fi=gi(pi)
(10)
式中:gi為統(tǒng)計映射,gi∈G,G為統(tǒng)計映射集。在本文中,統(tǒng)計映射集G中包含取最大值、最小值、歸一化等統(tǒng)計運算;pi為原始特征量,pi∈P,P為原始特征量庫,如表1所示。
表1 原始靜態(tài)特征量庫Table 1 Original static feature library
按照上述方法,可在原始靜態(tài)特征量的基礎上獲得大量的改進靜態(tài)特征量來表征運行斷面。在改進靜態(tài)特征量集中選取合適的特征量,并對其標準化,即構成矩陣形式的電網運行斷面樣本。
為說明本文中運行斷面樣本的形式,在此首先以3機9節(jié)點系統(tǒng)為基礎(見圖3),構建該系統(tǒng)某一時刻運行斷面的矩陣樣本,如表2所示。設樣本元素維度為ns,特征量維度為ms,則矩陣樣本維度為ns×ms。選取的特征量分別為機組有功出力、機組無功出力、節(jié)點有功負荷、節(jié)點無功負荷、節(jié)點電壓幅值(標幺值表示)、節(jié)點電壓相角、線路有功潮流、無功潮流、機組開停信息(開機為1,停機為0),共9個特征量,構成了9×9的訓練樣本。其中線路潮流所對應線路分別為1-2、1-3、2-4、3-6、4-5、5-6、9-1、7-4、8-6。
如表2所示,該系統(tǒng)的某一運行斷面樣本即為表中數據所展示的9×9維矩陣。由此可見,該矩陣包含了這一運行斷面的大部分信息,匹配結果更加準確可信。
圖3 3機9節(jié)點系統(tǒng)接線圖Fig.3 Connection diagram of 9-node test system
在構建樣本數據后,將樣本劃分為有標簽樣本集與無標簽樣本集。針對樣本標簽的生成,本文參考文獻[15]中的相似性評價體系評分方法,在向量指標相似性度量、集合指標相似性度量的基礎上,采用變異系數法對運行斷面樣本進行相似性評分,從0~100劃分10個分值區(qū)間將標簽樣本集劃為10類,并生成標簽。
由第2節(jié)分析可知,SAE的訓練分為2個階段。因此在構建訓練集與測試集時,處理好的樣本共被分成3組,其中,第1組T1為無標簽樣本集,用于進行第一階段的無監(jiān)督預訓練;第二組T2為帶標簽的訓練樣本集,用于開展第二階段的全網絡監(jiān)督微調;第三組T3為測試樣本集,用于測試最終模型的匹配準確度。按照以上方法構建樣本集并進行劃分,能夠有效地訓練SAE模型,達到電網斷面匹配的效果。
本文采用IEEE 39節(jié)點系統(tǒng)為基礎構建樣本數據集,對所提方法進行驗證。各負荷節(jié)點功率數據在原有潮流分布基礎上的±15%范圍內隨機調整[23],機組出力在原有潮流分布前提下的±35%范圍內隨機調整,且保證各節(jié)點電壓幅值處于0.95~1.05 pu的合理范圍內?;A網架結構如圖4所示。
圖4 IEEE 39節(jié)點系統(tǒng)接線圖Fig.4 Connection diagram of IEEE 39-node System
本文首先構建10 000個運行斷面樣本作為基礎樣本集,每一樣本內包含節(jié)點電壓值、線路功率潮流、負荷節(jié)點功率、機組節(jié)點出力、機組功率因數等多方面數據,從而構成了一個28×28維的運行斷面樣本。并將其分成無標簽樣本集T1、訓練樣本集T2和測試樣本集T3三組。標簽的標注按照參考文獻[15]的方法,按照樣本的負荷水平、電壓水平、關鍵節(jié)點等特征指標構建相似度評價體系。評分后將一部分樣本分為10類,標簽為0,1,…,9,以此構建有標簽樣本集。
表2 3機9節(jié)點樣本示例Table 2 Sample of 9 nodes and 3 generators
整個網絡的訓練分為2個步驟:
1)首先設置網絡初始參數,構建網絡結構。選取激活函數,本文選取sigmoid函數,設置網絡學習率為1,并在訓練的末尾縮減學習率,使更新的步長逐漸變小,以控制學習速度;為避免模型過擬合,權值懲罰項選用L2型懲罰項;稀疏項的神經元平均激活度按式(7)計算。利用T1對SAE進行無監(jiān)督預訓練,通過這些樣本和逐層編碼器得到預訓練階段的權重和偏差參數。本文所設定的網絡結構為Ssize=[784,200,100,10]。
圖5 算例中堆疊自動編碼器的網絡結構Fig.5 Network structure of stacked self-encoder in the example
模型訓練完成之后,用測試訓練集T3驗證模型優(yōu)化效果。首先將分類正確的樣本數量與測試樣本總數的比值定為匹配準確率。反之,將錯誤分類樣本數量與測試樣本總數的比值稱為匹配錯誤率。為全面分析堆疊自動編碼器的匹配性能,本文將不同算法的測試結果進行對比。其中,CNN算法所用樣本與SAE一致。K-means算法相較于深度學習算法在數據處理步驟上較為繁瑣,采用大樣本計算難度較大,同時為了加強算法效果對比的直觀性,故采用與文獻[15]相同的260個樣本數量。K-means算法的聚類特征量篩選自第2節(jié)的特征量庫,按照樣本間距離聚類,對比聚類結果與樣本標簽得到該算法的匹配準確率。樣本間距離計算公式為閔可夫斯基距離計算式,如式(11)所示。
(11)
式中:E1、E2為兩樣本特征量向量;E1m表示樣本1的第m個特征量;E2m表示樣本2的第m個特征量。本文通過算例驗證得出不同算法匹配的準確率情況如表3所示。
表3 不同算法的匹配準確率Table 3 Matching accuracy of different algorithms
由表3可知,SAE算法以及CNN算法基于其深度架構和大數據處理能力,匹配準確率明顯高于K-means算法,均達到了90%以上,而K-means算法準確率不足90%。但深度學習模型一般所需樣本數量較多,且需要大量帶有標簽的樣本,這使得算法應用難度和數據預處理難度都大大增加。為深入對比分析上述兩者的差別,本文從匹配錯誤率隨迭代次數變化的角度出發(fā),通過多次測試,擬合出SAE和CNN匹配錯誤率變化曲線(見圖6)。
圖6 匹配準確率隨迭代次數的變化情況Fig.6 Changing of matching accuracy with iteration number
由圖6可知,SAE和CNN的匹配錯誤率隨迭代次數的增加逐步降低,即分類器的參數在此過程中逐步優(yōu)化。其中,堆疊自動編碼器的錯誤率下降速度明顯高于卷積神經網絡,這是由于SAE第一階段的無標簽預訓練能夠為下一階段的有標簽訓練提供良好的初始權值,使得該方法的錯誤率下降速度較快。
為了進一步評價算法的實用性,本文對SAE算法以及CNN算法的訓練收斂時間也進行了統(tǒng)計。設SAE算法的收斂時間為預訓練時間加整體網絡微調時間,CNN收斂時間為整體網絡訓練時間。本次驗證的硬件平臺為CPU:Intel Core i5-7300HQ (2.50 GHz),RAM:8 GB;軟件平臺為操作系統(tǒng):Windows10;深度學習框架:Python+Tensorflow。在以上條件下,SAE算法預訓練時間73 min,參數微調時間為168 min,整體收斂時間為241 min。CNN算法收斂時間為197 min。可以看出,SAE算法的整體耗時相比CNN算法更長。本文認為這一現(xiàn)象的原因在于SAE算法的2個階段訓練形式,在一定程度上耗費了更多的處理時間。盡管相較于CNN算法訓練收斂更耗時一些,但是本文認為該部分差異處在工程實踐中可以接受的范圍內。
由上述分析可知,SAE算法相比于K-means算法以及CNN算法而言,具有更高的準確率,更良好的數據挖掘能力,在電網運行斷面相似性匹配領域性能表現(xiàn)良好,有較強的應用價值。
本文提出了基于堆疊自動編碼器的電網歷史運行斷面相似性匹配的思路和方法。參考圖片分類和人臉識別技術,首先開展了運行斷面特征化工作,使得訓練樣本能夠從多種靜態(tài)物理量準確表征運行斷面,從而保證了匹配精度。然后在IEEE 39節(jié)點系統(tǒng)的基礎上,利用構建的帶標簽樣本數據,對自動編碼器進行了訓練,訓練分為逐層無監(jiān)督預訓練和監(jiān)督微調2個階段。訓練完成后,利用測試樣本集對該模型的匹配性能進行了評估,并與其他算法進行了對比分析。算例結果表明,訓練后的模型表現(xiàn)出良好的電網運行斷面數據挖掘能力,相似性匹配的準確率和匹配效率較高。這也證明,堆疊自動編碼器在電網運行斷面相似性匹配領域具有良好的性能和應用價值。這一方法的實現(xiàn)可為電網工作者提供更有價值的歷史工作票信息,為實現(xiàn)電網智能化運維奠定了基礎。