针对智能电网中虚假数据注入攻击的数据修复方法

文档序号:10537715阅读:1035来源:国知局
针对智能电网中虚假数据注入攻击的数据修复方法
【专利摘要】本发明涉及一种针对智能电网中虚假数据注入攻击的数据修复方法,从观测数据中分离出虚假数据注入攻击的修改,在分离过程中,尽可能保证真实测量数据中的合理的测量值扰动不被误判为攻击造成的修改。通过该方法可比较准确地还原被虚假数据注入攻击所篡改的智能电网观测数据。
【专利说明】
针对智能电网中虚假数据注入攻击的数据修复方法
技术领域
[0001] 本发明涉及机器学习领域,特别是针对智能电网中虚假数据注入攻击的数据修复 方法。
【背景技术】
[0002] 在智能电网中,管理者通过散布在整个智能电网网络中的传感器和计量表来获得 对智能电网的观测数据,并根据这些观测数据所反映的智能电网状态采取对应策略,可有 效地监控和管理电能生产、传输和使用等环节。
[0003] 虚假数据注入是一种新型的针对智能电网的攻击方式,意在篡改智能电网中部分 被攻击的传感器和计量表的测量数据值,使得管理者所获得的部分观测数据为虚假数据, 从而影响其对智能电网真实状态的判断及所采取的对应策略。
[0004] 采用预防的策略来防止虚假数据注入攻击往往具有一定缺陷。例如,由于智能电 网中具有大量的传感器和计量表,因此对所有的传感器和计量表进行保护来阻止虚假数据 注入攻击的代价较大;而仅选择其中重要传感器和计量表进行保护的方式操作起来具有一 定难度,因为在一定网络拓扑结构中"重要传感器和计量表"的定义往往模糊,同时智能电 网的网络拓扑结构也非一成不变。
[0005] 为了保证智能电网的安全性和鲁棒性,如何自动修复虚假数据注入攻击所篡改的 数据、还原真实的测量结果变得尤为重要。同时,在修复数据时,还应尽量避免将观测数据 真实扰动(源自智能电网状态的真实扰动和观测设备受到环境影响的合理测量误差)也看 作虚假数据注入攻击的结果。否则,若将这些真实扰动当作虚假数据去除,则修复得到的观 测值与真实值之间将存在偏差,从而影响数据修复结果的准确性。

【发明内容】

[0006] 本发明提出一种针对智能电网中虚假数据注入攻击的数据修复方法,使电网观测 数据的真实扰动在数据修复时能得以更好保留,提高数据修复准确性。
[0007] -般地,在一个遭受虚假数据注入攻击的电网中,某一个时间点k上的电网所有m 个观测数据形成一个观测值向量Zk=(Zkl,Zk2, . . .,Zkm)T,一个时间段内t个连续时间点上的 观测值向量形成一个m行t列的观测值矩阵23=( 21,22,. . .,zt)。令矩阵Z。表示若电网在该时 间段上不受虚假数据注入攻击时的真实观测值矩阵,矩阵A表示在遭受攻击时各观测数据 在各时间点上被注入的数据偏移量(即被注入的虚假数据),则有Z a = Z〇+A。本发明旨在准确 地修复带虚假数据的观测值矩阵Za,即将注入的数据偏移量矩阵A*Za中分离开来,从而尽 可能准确地还原真实观测值矩阵Z。。
[0008] 本发明所提出的数据修复方法源自对矩阵Z。和矩阵A相关特性的观察。具体来说, 由于在一定时段内智能电网状态相对比较稳定,因此各真实测量数据在各时间点上变化不 大,从而使得真实观测值矩阵Z。具有低秩的特点。此外,由于智能电网中的测量设备在物理 距离上相距较远,攻击者在某一时间点上只可能对局部区域的少量传感器和计量表进行虚 假数据注入攻击,且为了尽量避免被发现,攻击者一般不会长时间持续攻击,也即只有少量 观测数据在部分时间节点上被注入了偏移量,且偏移量往往不会过于明显,从而使得矩阵A 具有稀疏性的特点,即大部分矩阵元素为〇,且非〇元素所代表的偏移量一般不会过大。
[0009]值得指出的是,虽然真实观测值矩阵Z。具有低秩的特点,但在修复数据时,一味最 小化Z。的秩可能会导致Z。中观测数据的真实扰动也被当作被注入的偏移量而划归矩阵A中, 从而降低数据修复的准确性。为避免这种情况,本发明提出在Z。的秩不大于给定上限r的情 况下,通过寻找一个最优的Z。来最小化| |A| U(即使A中所有元素绝对值之和最小)从而拟合 矩阵A的稀疏性特点。为使矩阵Z。的秩不超过r,可将矩阵Z。分解为m行r列且各列两两正交的 矩阵U和r行t列的矩阵W,即Zc> = UW。由于矩阵U、W的秩均不大于r,则还原得到的矩阵Z。的秩 也将不大于r。通过以上矩阵分解,问题可转化为在限制条件UW+A-Z a = 0下,寻找一个最优 的列正交矩阵U及对应的矩阵W以最小化| |A| U,即求解minu,w| |A| Ihs.t.UW+A-ZaiO的最 优化问题。
[0010]本发明按下述方案解决该问题:
[0011] 步骤1,初始化矩阵U为一个随机的m行r列且各列两两正交的矩阵(r$t)。
[0012] 步骤2,固定当前U的值不变,构造增广拉格朗日函数L(W,A,Y,P),公式如下:
[0013]
12345678910111213
[0014] 其中,矩阵Y为对偶矩阵,参数p为惩罚参数,〈·,·>表示两个矩阵的内积,U · [)表示矩阵的1^-范式(即如果矩阵父=[幻02,'",知]\则|叫| [) = (|幻|叫以1)+'"+|知|1))1/p)0[0015] 步骤3,初始化矩阵Y、矩阵A、以及惩罚因子P,令Υ = 0,Α = 0,Ρ>0。[0016] 步骤4,迭代更新W、A、Y、P直至W收敛,其中第i+1次迭代计算过程如下:
2 3 4 ρ = αρ 公式 5 5 其中,函数 Si/p 定义为 Si/p(x) = sgn(x)*max( |χ 卜 1/ρ,0)(当 χ>0 时,sgn(x) = l;当 X =0时,sgn(x) = 0;当x〈0时,sgn(x) = _1),0<α<1.8。 6 步骤5,固定当前W、A、Y、P的值不变,采用梯度下降法更新矩阵U直至收敛。 7 步骤6,如果第一次运行到本步骤,或者当前UW的值与上一次运行到本步骤时UW的 值相比未能收敛,则返回步骤2;否则,返回真实观测值矩阵Ζ〇 = ΙΜ。 8 在步骤5中,采用梯度下降法更新矩阵U的过程如下: 9 步骤5.1,对公式1中函数L求关于U的偏导Lu: 10 Lu=Yff-2(Za-Uff-A)ffT 公式 6 11 步骤5.2,计算函数L在当前U上的梯度VL: 12 VL = Lu-UUTLu 公式 7 13 步骤5.3,把U的值沿-VL(梯度下降)方向从U1更新为U1+1:
[0030] υ?+1 = ??^〇8(Στ^)ντ+Ρ5?η(Στ^)ντ 公式 8
[0031] 其中,ΡΣν是-VL的一个奇异值分解;rf是第i次更新U时梯度下降的步长,为保证 梯度下降算法的快速收敛,该步长满足如下条件:
[0032]

【附图说明】
[0033]图1为本发明的总体框架图。
【具体实施方式】
[0034] 下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0035] 本发明提供的是一种针对智能电网中虚假数据注入攻击的数据修复方法,对给定 一段时间内t个连续时间点m个观测项上的观测值向量形成的一个m行t列的观测值矩阵2 3 = (zi,Z2,. . .,zt),求一个真实观测值矩阵Z〇 = UW,使得Z。的秩不超过一个给定的上限r,UW+ A-Za = 0,且| |A| h取得最小值。
[0036] 请见图1,具体是采用包括以下步骤的方法:
[0037]步骤1,初始化矩阵U为一个随机的m行r列且各列两两正交的矩阵(r$t)。
[0038] 步骤2,固定当前U的值不变,构造增广拉格朗日函数L(W,A,Y,P),公式如下:
[0039]
[0040] 其中,矩阵Y为对偶矩阵,参数p为惩罚参数,〈·,·>表示两个矩阵的内积,U · [)表示矩阵的1^-范式(即如果矩阵父=[幻02,'",知]\则|叫| [) = (|幻|叫以1)+'"+|知|1) )1/p)0
[0041 ] 步骤3,初始化矩阵Y、矩阵A、以及惩罚因子P,令Υ=0,Α=0,Ρ>0。
[0042] 步骤4,迭代更新W、A、Y、P直至W收敛,其中第i+1次迭代计算过程如下:
[0043]
[0044]
[0045]
[0046] ρ = αρ
[0047] 其中,函数 Si/p 定义为 Si/p(x) = sgn(x)*max( |χ 卜 1/ρ,0)(当 χ>0 时,sgn(x) = l;当 X =0时,sgn(x) = 0;当x〈0时,sgn(x) = _1),0<α<1.8。
[0048] 步骤5,固定当前W、A、Y、P的值不变,采用梯度下降法更新矩阵U直至收敛。
[0049] 在步骤5中,采用梯度下降法更新矩阵U的过程如下:
[0050] 步骤5.1,对步骤2中的函数L求关于U的偏导Lu:
[0051] Lu=Yff-2(Za-Uff-A)ffT
[0052] 步骤5.2,计算函数L在当前U上的梯度VL:
[0053] VL = Lu-UUTLu
[0054] 步骤5.3,把U的值沿-VL(梯度下降)方向从U1更新为U1+1:
[0055] U^^rVcosC Ση?)ντ+Ρ8?η( Ση^ν1
[0056] 其中,ΡΣν是-VL的一个奇异值分解;rf是第i次更新U时梯度下降的步长,为保证 梯度下降算法的快速收敛,该步长满足如下条件:
[0057]
[0058] 步骤6,如果第一次运行到本步骤,或者当前UW的值与上一次运行到本步骤时UW的 值相比未能收敛,则返回步骤2;否则,返回真实观测值矩阵Ζ〇 = ΙΜ。
[0059] 应当具体说明的是:本发明具有以下主要有益效果:
[0060] 本发明中提出的针对智能电网中虚假数据注入攻击的数据修复方法,尽可能避免 把观测数据的真实扰动误判为攻击,可比较准确地还原被虚假数据注入攻击所篡改的智能 电网观测数据。
【主权项】
1. 针对智能电网中虚假数据注入攻击的数据修复方法,其特征在于,需要从对电网状 态的观测值矩阵23 = 2。+六中将虚假数据矩阵A分离出来以还原真实观测值矩阵Z。,其中,Za、 Ζ〇、Α皆为m行t列矩阵;具体方法是:在保证Z。的秩不大于给定上限r的情况下,通过寻找一个 最优的Z。来最小化I IAI I i以拟合矩阵虚假数据注入攻击的稀疏性特点;其中,为使矩阵Z。的 秩不超过r,可将矩阵Z。分解为m行r列且各列两两正交的矩阵U和r行t列的矩阵W APZci = UW, 由于矩阵U、W的秩均不大于r,则还原得到的矩阵Z。的秩也将不大于r;也就是在限制条件UW +A-Za = O下,寻找一个最优的列正交矩阵U以及矩阵W以最小化I |A| U,即获取最优化问题 minu,w| |A| |1,8.1:.1]¥+4-23 = 0的最优解,具体求解步骤包括: 步骤1,初始化矩阵U为一个随机的m行r列且各列两两正交的矩阵 步骤2,固定当前U的值不变,构造增广拉格朗日函数L(W,A,Y,P),公式如下:其中,矩阵Y为对偶矩阵,参数P为惩罚参数,〈·,·>表示两个矩阵的内积,I I · I ^表示 矩阵的Lp-范式(即如果矩阵Χ=[χι,χ2,···,χη] τ,则I |x| |P=(|X1|P+|X2|P+…+| Xn|p)1/p); 步骤3,初始化矩阵Y、矩阵A、以及惩罚因子P,令Y = 0, A = 0, P>0; 步骤4,迭代更新W、A、Y、P直至W收敛,其中第i+1次迭代计算过程如下: ρ = αρ其中,函数 Si/p 定义为 Si/P(x) = sgn(x)*max( |χ|-1/ρ,0)(当 χ>0 时,sgn(x) = l;当 χ = 0 时,sgn(x) = 0;当χ〈0时,sgn(x) = _1),0<α<1.8; 步骤5,固定当前W、A、Y、P的值不变,采用梯度下降法更新矩阵U直至收敛; 步骤6,如果第一次运行到本步骤,或者当前UW的值与上一次运行到本步骤时UW的值相 比未能收敛,则返回步骤2;否则,返回真实观测值矩阵Ζ〇 = ΙΜ。2. 根据权利要求1所述的针对智能电网中虚假数据注入攻击的数据修复方法,其特征 在于:所述的步骤5中,采用梯度下降法更新矩阵U的过程如下: 步骤5.1,对公式1中函数L求关于U的偏导Lu: Lu = Yff-2 (Za-Uff-A) Wt 步骤5.2,计算函数L在当前U上的梯度VL: VZ=Aj-UUrXu 步骤5.3,把U的值沿-VL(梯度下降)方向从U1更新为U1+1: υ?+1 = ??^〇8( Στ^)ντ+Ρ??η( Στι"ντ 其中,ΡΣ V是-VL的一个奇异值分解;Il1是第i次更新U时梯度下降的步长,为保证梯度 下降算法的快速收敛,该步长满足如下条件:
【文档编号】H02J3/00GK105896529SQ201610263423
【公开日】2016年8月24日
【申请日】2016年4月26日
【发明人】黄浩, 李宗鹏, 王梁, 王淞
【申请人】武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1