来源:《中国电力》2024年第9期
引文:席磊, 王艺晓, 何苗, 等. 基于反向鲸鱼-多隐层极限学习机的电网FDIA检测[J]. 中国电力, 2024, 57(9): 20-31.
“双碳”背景下随着数字化和智能化的发展,电力系统逐渐演变为能源流和信息流紧密耦合的复杂电力信息物理系统(cyber-physical power system,CPPS)。信息化程度的不断加深带来各种潜在网络攻击,严重威胁电力系统安全。其中,虚假数据注入攻击(false data injection attack,FDIA)可以绕过基于残差的不良数据检测(bad data detection,BDD)机制并篡改CPPS量测值(通常包括母线电压、有功和无功功率注入、各子系统中的支路有功和无功功率以及节点的电压幅值与相角值),从而影响电力系统的状态估计结果和上层控制中心的分析决策,对电网安全稳定运行造成严重威胁。《中国电力》2024年第9期刊发了席磊等撰写的《基于反向鲸鱼-多隐层极限学习机的电网FDIA检测》一文。文章引入具有强全局搜索能力的鲸鱼优化算法(whale optimization algorithm,WOA)对ELMML各隐层神经元个数进行寻优,以防止随机确定各隐层神经元个数对检测结果造成影响。同时,为提高鲸鱼优化多隐层极限学习机(WOA-ELMML)的收敛速度和检测精度,避免其陷入局部最优,引入反向学习(opposition-based learning,OBL)策略进而得到改进后的基于反向学习鲸鱼优化多隐层极限学习机(OWOA-ELMML)的FDIA检测方法。通过在不同攻击场景下进行大量仿真实验,验证了所提方法的有效性。且与其他方法相比,所提方法具有更优的定位检测性能指标。
针对目前已有的电力信息物理系统虚假数据注入攻击检测方法由于特征表达能力有限,而导致无法精确获取受攻击位置的问题,提出一种基于反向学习鲸鱼优化多隐层极限学习机的虚假数据注入攻击定位检测方法。所提方法不仅将极限学习机拓展为多隐层神经网络,解决其特征表达能力有限的问题,而且引入鲸鱼优化算法对多隐层极限学习机的各隐层神经元个数进行寻优并采用反向学习策略提高其收敛速度和检测精度,以防止随机确定各隐层神经元个数对检测方法的泛化性能和定位检测结果造成影响。通过在不同场景下对IEEE-14和57节点测试系统进行大量实验,验证了所提方法能够通过历史数据自动识别受攻击的系统状态量所对应的精确位置。与其他多种方法相比,所提方法具有更优的精度、召回率和F1值。CPPS的结构如图1所示。FDIA通过向数据采集与监控(supervisory control and data acquisition,SCADA)系统和电力系统同步相量测量装置(phasor measurement unit,PMU)等系统测量单元、通信网络和控制设备注入能够绕过BDD机制的虚假数据,进而干扰CPPS的状态估计。
Fig.1 The structure of CPPS
在节点个数为n、量测值个数为m的交流电力系统中,假设CPPS的拓扑结构、节点参数、实时量测值和状态变量均已知,则CPPS状态估计量测模型可以表示为
式中:H为由网络结构和线性参数确定的m×n阶的常数雅可比矩阵;x为系统状态向量;eT=[e1,e2,⋯,em]为量测值误差向量。在状态估计过程中,BDD机制可以识别具有明显误差的不良数据并将其剔除。目前,状态估计中的BDD一般利用残差分析,令为满足收敛条件下x的最佳估计值,则残差r的表达式为若残差的欧式范数超过了根据量测误差范围所设置的残差检测阈值τ,即||r||>τ,则表示系统出现了不良数据并进行剔除;反之,则表示系统无不良数据存在。通过此种方法来判断不良数据的存在具有很大的局限性,一般只能用于辨识系统中的噪声干扰和随机测量误差等。而对于具有强隐蔽性的FDIA,文献[24-25]已证明其无法检测到由攻击者精心注入的虚假数据。将a表示为注入原始量测数据z中的恶意数据向量,则攻击后的量测向量表示为za=z+a。令c表示攻击前后状态估计量的偏差,则攻击后的状态估计量可以表示为为了构建不可观察的FDIA,虚假注入数据a应满足:a=Hc。则量测值的残差表达式为大多数已有的FDIA的建模都是基于近似直流模型简化计算,且仅考虑针对SCADA的攻击。然而,直流模型存在一定的误差,且随着PMU在CPPS的广泛使用,针对PMU量测数据的攻击也带来巨大的风险。从检测角度来说,应该考虑更全面的混合FDIA模型。因此,本文采用文献[17]提出的更通用的FDIA模型来生成仿真所需的数据集,用于后续验证所提检测方法的有效性。
基于数据驱动的FDIA检测方法是通过对海量历史数据的特征学习挖掘CPPS各尺度上的联系来实现检测的,其中,基于机器学习和深度学习的检测方法通过有效捕捉CPPS量测数据的时空相关性,拟合输入与输出间的映射关系进行二分类学习,从而实现对新量测数据是否受到FDIA的检测判断。本文将FDIA定位检测看作是一个多标签二分类问题,提出了OWOA-ELMML定位检测方法。在该方法中,OWOA用于对ELMML各隐层神经元个数进行寻优来提高ELMML的检测性能,从而实现对攻击的精确定位。ELM作为一种前馈神经网络,其不需要基于梯度的反向传播来调整权重,具有良好的泛化性能以及极快的学习能力。假设有N个训练样本其中xi=[xi1,xi2,⋯,xid]T∈为输入向量,yi=[yi1,yi2,⋯,yic]T∈为对应的期望输出向量。则具有K个隐层节点的ELM输出可表示为
式中:wi=[wi1,wi2,⋯,wid]T为输入层与第i个隐层神经元间的输入权重;ηi和βi=[βi1,βi2,⋯,βic]T分别为第i个隐层神经元的偏置和输出权重;g是隐层激活函数。随着大量量测仪表的安装,海量的历史数据使得特征表达能力有限的单隐层ELM检测方法面临“维数灾难”的问题。文献[18]将多个单隐层ELM自编码器(ELMAE)进行堆叠,进而拓展为深度神经网络。在ELM的基础上,令期望输出等于输入数据,同时令隐层神经元的权重和偏置都满足正交的条件,即可构建无监督学习的ELMAE,其输出权值β为式中:I为单位矩阵;C为正则项系数;H为隐层输出矩阵;X为向量xi组成的输入矩阵。ELMML由多个ELMAE堆叠而成,其隐层权重β通过ELMAE进行初始化,ELMML中第n个隐层输出Hn作为第n+1个ELMAE的输入数据,相应产生的输出权重βn+1再代入ELMML中,作为第n+1层的权重。当前CPPS的量测数据通常是复杂高维的,而ELMAE能够用奇异值对这些数据进行特征表达实现对量测数据的快速降维,进而提高模型的检测速度和精度。式(5)的奇异值分解为式中:u是HHT的特征向量;d是H的奇异值,由与输入的量测数据X相关的奇异值分解得到。基于ELMML的FDIA定位检测数学模型如图2所示。在该检测过程中,ELMML对输入的CPPS量测数据进行逐层特征学习,最后通过ELM分类层对最后一个隐层的输出数据进行分类,并根据分类结果确定受攻击的状态变量对应的节点位置。图2中,ω表示隐层神经元间的输入权重,η表示隐层神经元的偏置,ϑ为激活函数,βn+1为第n+1个隐层的输出权重。
Fig.2 The mathematical model of FDIA location detection based on ELMML
FDIA的检测结果是根据ELMML最终的输出矩阵y的取值所确定的,在经过多层的ELMAE充分学习攻击数据特征后,最后的ELM分类层对最后一个隐层所输出的矩阵结果分为受攻击和正常两类,并根据该分类结果判断各节点的状态量是否受到攻击并定位对应的受攻击位置。以IEEE-14节点测试系统为例,本文随机选取5组测试集检测结果对定位检测进行说明。该5组数据测试集检测结果数据如图3所示。
Fig.3 Location detection result of the test set
如图3所示,对于检测模型最后输出的结果,1表示该状态量对应节点位置受到攻击,0表示正常。其中,节点1为参考节点,其电压相角和幅值状态量不受攻击。在例n3中,检测模型输出矩阵表明,a1、a3、a13、a14、b1、b2、b14标签的检测结果为“0”,a2、b3、b13标签的检测结果为“1”,据此可以得出定位检测结果:该检测方法判断出节点1、3、13、14的电压相角状态量和节点1、2、14的电压幅值状态量没有受到攻击,而节点2的电压相角状态量和节点3、13的电压幅值状态量受到攻击,并将此结果与测试集真实值进行对比即可判断出检测结果的正确与否。由于ELMML随机确定各隐层神经元个数将影响检测模型的泛化性能和最终的检测精度。与其他的优化算法相比,WOA具有全局搜索能力强、收敛速度快等优点,在太阳能光伏发电控制、变压器故障诊断、降低配电网能源损耗问题上表现出了很好的优化性能。因此,本文利用WOA对隐层神经元个数进行寻优,即用鲸鱼种群特有的捕猎机制思想来确定ELMML各层最佳神经元个数,进而建立鲸鱼优化多隐层极限学习机(WOA-ELMML)的FDIA检测算法。在该过程中,每个鲸鱼的位置代表一个可行解X,最终将鲸鱼种群的最佳位置作为ELMML的各隐层神经元个数。
在猎物位置已知时,鲸鱼种群的捕食方式分为包围捕食和气泡网捕食2种,且这2种捕食行为是同时发生的。在包围捕食中,将当前的最佳解作为目标猎物,鲸鱼种群会不断靠近目标猎物来更新自身位置,以缩小最优解的搜索空间。在气泡网捕食中,鲸鱼种群的位置呈螺旋上升更新。因此,将概率p作为判断阈值,根据不同的概率值选择不同的迭代方式,则鲸鱼种群的位置更新表达式为
式中:t为当前迭代次数;为当前最佳解的位置;为下一时刻鲸鱼个体的位置;p为[0,1]区间内的随机数;为鲸鱼个体与猎物之间的距离;为系数向量,其中为[0,1]间的随机向量;为收敛因子;为当前最优鲸鱼个体位置和猎物之间的距离;b为螺旋形状参数;l为[–1, 1]区间内的一个随机数。当猎物位置不确定时,鲸鱼种群会游向随机选择的鲸鱼个体,以扩大搜索范围,保证所有鲸鱼能在解空间中充分搜索。此时,鲸鱼种群的位置更新表达式为式中:为随机选择的鲸鱼个体位置;为当前搜索个体与随机个体之间的距离;为当前时刻鲸鱼个体的位置;为系数向量。虽然WOA在探索方面有很好的表现,但通过大量仿真发现,算法对初始解的依赖性较强。如果初始解不好,可能会使算法陷入局部最优解从而导致检测精度较低。为此,本文引入OBL策略进一步优化WOA,得到改进后的OWOA。OBL的主要思想是在同一空间中对当前解进行反向求解,在鲸鱼种群每次位置更新后,通过生成鲸鱼种群的反向位置,与当前鲸鱼最优个体位置进行比较,取具有更优适应度值的位置作为当前最优解,从而增强种群多样性并且提高收敛速度,避免算法陷入局部最优。反向解x∗可以表示为式中:aj与bj分别为搜索空间上下限;xj是某一鲸鱼个体的一个当前解。通过引入OBL策略,可以有效提高初始解的质量,进而提高算法的收敛速度和检测精度。本文所构建的基于OWOA-ELMML的FDIA定位检测方法,利用OWOA对ELMML的隐层神经元个数进行优化。在该过程中,OWOA通过不断更新对比鲸鱼坐标得到适应度值最优的位置向量解,将其作为训练ELMML的各隐层神经元个数,据此建立基于OWOA-ELMML的FDIA定位检测模型。所提方法的流程如图4所示。
Fig.4 The flow chart of OWOA-ELMML detection method本文采用IEEE-14和IEEE-57节点测试系统进行仿真分析。考虑到攻击者掌握的电网拓扑信息程度不同时,其实施的攻击可能对电网造成不同程度的影响,因此设计了2种不同攻击场景下的仿真实验:在IEEE-14节点测试系统下构建具备完整电网拓扑信息的攻击模型;而在IEEE-57节点测试系统下构建只具备部分电网拓扑信息的攻击模型。系统拓扑如图5所示。
Fig.5 The topology of IEEE-14 and 57-bus test system
所用负荷数据采集自2016年广东东莞调度中心。这些量测数据包括来自SCADA的母线电压、有功及无功功率注入、支路有功及无功潮流和来自PMU的电压和电流相量,将这些量测数据作为攻击模型的输入,输出攻击后的量测数据作为2组算例仿真研究中检测算法的输入数据集,根据检测模型输出标签判断是否受到攻击并确定该状态量对应的位置。在算例1的攻击模型构建中,假设攻击者已掌握IEEE-14节点系统的全局信息,对6—13线路实施过载攻击。在算例2的攻击模型构建中,假设攻击者只掌握IEEE-57节点系统的部分信息,在已知的网络信息中随机选取2条线路实施攻击,使线路过载。这2种攻击情景下攻击前后的最大归一化残差如图6所示。
图6 IEEE-14和57节点测试系统攻击前后最大归一化残差
Fig.6 The largest normalized residual before and after the attack on the IEEE-14 and 57-bus test system
由图6可知,IEEE-14和57节点攻击前残差分别在0.15和0.22附近上下波动,而攻击后的残差远小于攻击前残差。由式(3)可得,此时攻击量测值和攻击后状态量之间的残差值始终小于检测阈值,因此,构建的FDIA可以有效地绕过安装PMU后的电力系统的BDD机制,进行隐蔽性攻击,最终达到干扰状态估计结果的目的。为体现所构建攻击对电力CPS的影响,本文对攻击前后的量测数据进行了比较,图7和图8为IEEE-14和57节点系统攻击前后量测数据和状态量的对比。
图7 IEEE-14和57节点测试系统攻击前后量测数据
Fig.7 Measurement data before and after the attack on the IEEE-14 and 57-bus test system图8 IEEE-14和57节点测试系统攻击前后状态量
Fig.8 State data before and after the attack on the IEEE-14 and 57-bus test system
图7中,对于攻击前后的量测数据,产生偏差的是受攻击线路上的有功功率和无功功率注入以及与被攻击线路的节点直接相连的支路和节点相关量测数据,而其他量测数据几乎没有影响。图8中,对比攻击前后2个算例的状态量变化情况后发现,在IEEE-14节点系统中,电压的相角和幅值的最大偏移量发生在目标攻击线路两端节点,即13节点及其相连节点;在IEEE-57节点系统中,影响最大的是30节点的状态变量。其他节点状态变量的分布在FDIA攻击前后基本一致,电压相角和幅值状变态量的偏移很小,FDIA可以有效躲过基于残差的BDD机制。由上述分析可知,本文所构建的2个算例均可以使攻击后的残差低于残差检验的阈值,且远低于攻击前的残差,从而成功躲过BDD机制对电力CPS进行FDIA,验证了所采用的攻击模型的有效性,并由此FDIA模型生成数据集用于后续的FDIA检测仿真实验。本文引入混淆矩阵以直观表达预测结果与真实结果之间的差异,反映检测方案的有效性和可行性。所谓混淆矩阵,即为一种分类结果的可视化工具,其每一列中的数值表示真实样本被预测为该类的数目,其结构如表1所示。
通过混淆矩阵,考虑准确率(Aaccuracy)、精度(Pprecision)、召回率(Rrecall)、F1值、误报率Yfalsealarm、接受者操作特征(receiver operating characteristic,ROC)曲线和AUC(area under curve)值作为评估指标来衡量检测算法的性能,其定义为
在对样本进行分类预测时,以式(13)和式(15)得到的召回率(也称正报率)和误报率为纵、横坐标在平面上描述对应的坐标点,即为ROC曲线。ROC曲线向下覆盖的面积,即为AUC值。AUC取值为[0,1],其值越大,意味着算法检测性能越好。为验证所提检测方法的有效性,本文在IEEE-14和IEEE-57节点测试系统上进行了仿真实验。为了避免随机划分数据集导致的过拟合风险和分类结果不稳定,本文采用了k折交叉验证方法验证所提方法的检测性能。为验证所提检测方法的定位优越性,本文将OWOA-ELMML与WOA-ELMML、CNN、ELMML、DBN-ELM、ELM和SVM的检测效果进行对比分析。算例1的攻击场景是假设攻击者已掌握IEEE-14节点系统的全局信息,研究基于OWOA-ELMML的FDIA检测性能,其仿真结果如图9所示。
图9 IEEE-14节点测试系统各节点定位检测准确率
Fig.9 Location detection accuracy for each bus of the IEEE-14 bus test system
由图9可以看出,SVM的定位检测准确率最低且波动较大,最低准确率仅有87.29%。ELM的检测率比SVM有所提高,但波动同样较大,平均准确率仅为93.44%,最低准确率仅为88.39%,检测结果不稳定。在将ELM扩展为深度神经网络后,ELMML的检测准确率有了显著提高。由于具有更强的特征提取能力,ELMML的平均检测准确率达到了97.43%,而同为深度学习的DBN-ELM的平均准确率为96.56%,CNN的平均准确率为95.80%,由此可见ELMML在特征学习和分类检测方面的优势。引入WOA对ELMML进行优化后的WOA-ELMML的平均准确率为97.66%,相比优化前的ELMML算法,其检测准确率有所提高但效果不明显,而本文所提的OWOA-ELMML通过引入反向学习策略的OWOA来优化ELMML,其检测的平均检测准确率进一步提升,达到了98.13%,能有效检测CPPS中的虚假数据注入攻击。各项指标结果如表2所示。OWOA-ELMML在各性能指标上均具有优势,其检测精度达到了98.36%,相比于ELMML、DBN-ELM和CNN有所提高,并且显著高于ELM和SVM;从召回率指标上看,OWOA-ELMML的召回率达到了96.84%,相比于ELMML、DBN-ELM、CNN、ELM和SVM算法分别提高了1.1、2.82、3.89、6.64和12.23个百分点,能很好地识别并确定受攻击的状态量对应的节点位置,防止漏检。
Table 2 The location detection index results of the IEEE-14 bus test system
图10给出了不同检测方法的ROC曲线。ROC曲线可以反映正报率与误报率之间的相对关系,ROC曲线越趋近于左上角,其AUC值越趋近于1,检测效果越好。OWOA-ELMML、WOA-ELMML、ELMML、DBN-ELM、CNN、ELM和SVM的AUC值分别为0.980、0.975、0.970、0.958、0.955、0.920和0.910。当误报率为10%时,各检测方法的正报率分别为97.0%、96.5%、96.2%、94.3%、93.6%、90.9%和85.79%,进一步体现了OWOA-ELMML的优越性。
Fig.10 ROC curves of the IEEE-14 bus test system
3.3.2 IEEE-57节点测试系统仿真分析
实际上攻击者难以获取系统的全部拓扑结构和参数信息,因此算例2主要研究攻击者在掌握电网部分信息的情况下,基于OWOA-ELMML的FDIA检测方法的有效性。与算例1相比,算例2所用的量测数据集维度更高,可以很好地体现各检测方法在处理更加复杂高维的CPPS数据中所表现出来的检测性能。仿真结果如图11所示。
图11 IEEE-57节点测试系统各节点定位检测准确率
Fig.11 Location detection accuracy for each bus of the IEEE-57 bus test system
由图11可看出,OWOA-ELMML、WOA-ELMML、ELMML、DBN-ELM、CNN、ELM和SVM的平均准确率分别为95.85%、94.47%、94.26%、90.02%、94.97%、89.63%和89.62%,OWOA-ELMML在IEEE-57节点测试系统中仍然表现优异,大部分母线状态量的检测准确率都在92%以上。其中,ELM的母线相位角的平均检出率仅有86%,而所提方法的相角平均检出率可达到94%。由此可见,面对更高维的数据,OWOA-ELMML仍然拥有良好的检测性能,可以更好地处理多维复杂的CPPS数据。表3为IEEE-57节点测试系统中7种方法的精度、召回率和F1值。可以看到在各项评估指标上,随着节点数的增加,数据复杂度也随之增强,在面对超高维数据分类检测时,FDIA检测难度越来越大,但OWOA-ELMML仍在各项指标上均具有较大优势。从F1值上看,OWOA-ELMML相比于ELMML和ELM分别提高了2.85和9.67个百分点,检测性能大幅提高,有利于防止漏检。
Table 3 The location detection index results of the IEEE-57 bus test system
IEEE-57节点系统的ROC曲线如图12所示。图12中,OWOA-ELMML、WOA-ELMML、ELMML、DBN-ELM、CNN、ELM和SVM的AUC值分别为0.935、0.930、0.928、0.860、0.880、0.875和0.823。当误报率为10%时,各检测方法的正报率分别为93.0%、90.8%、89.8%、82.4%、82.35%、82.1%和76.55%,说明在较低的误报率情况下所提方法仍可以相对准确地定位系统受攻击位置,充分体现了OWOA-ELMML的优越性。
Fig.12 ROC curves of the IEEE-57 bus test system
本文所提OWOA-ELMML定位检测方法通过对系统历史数据的训练学习,得到具有最佳参数和效果的检测模型,进而实现FDIA的在线定位检测工作,自动识别受攻击的系统状态量所对应的精确位置。为体现本文所选用的ELMML在处理复杂多维的CPPS数据上的优势,本文将各算法的模型训练与测试耗时进行了对比。ELMML、DBN-ELM、CNN和SVM各方法的训练与测试耗时如表4所示。
Table 4 The training and testing time of each testing method
由表4可知,ELMML的训练学习和测试用时均少于其他检测方法,在各检测算法的执行时间或占用内存随着数据规模增长的变化趋势大致相同的情况下,结合表2和表3的定位检测指标结果可得,在不同的攻击场景下,其各项定位检测性能指标也均具有一定优势,并且OWOA优化后的ELMML具有更优的定位检测性能指标,由此可见本文所提检测方法的优越性。
为解决已有的FDIA检测方法无法有效对CPPS中的FDIA进行精确定位的问题,本文提出了基于OWOA-ELMML算法的FDIA检测方法。通过将单隐层的ELM拓展为多隐层神经网络,从而构建了ELMML用于特征提取与分类训练,解决了其特征表达能力有限的问题。引入WOA对ELMML的各隐层神经元个数进行寻优,同时采用OBL改善WOA后期收敛速度较慢、检测精度较低的问题,最终构建了OWOA-ELMML来对受攻击状态量进行定位检测。对IEEE-14和IEEE-57节点系统进行大量仿真实验,分析了不同攻击场景下所提方法的检测性能,验证了所提方法的有效性。与WOA-ELMML、ELMML、DBN-ELM、CNN、ELM和SVM等算法进行对比分析,验证了OWOA-ELMML在准确率、精度、召回率方面所表现出的性能明显优于其他算法,具有更精确的定位检测性能。所提方法属于基于数据驱动的检测方案,能自动提取样本特征从而检测出异常数据,不需获取系统的参数和模型,可扩展性强。
注:本文内容呈现略有调整,如需要请查看原文。
根据国家版权局最新规定,纸媒、网站、微博、微信公众号转载、摘编《中国电力》编辑部的作品,转载时要包含本微信号名称、二维码等关键信息,在文首注明《中国电力》原创。个人请按本微信原文转发、分享。欢迎大家转载分享。