基于多智能体深度强化学习的电网输电线路防御方法与流程

    专利2022-07-07  121


    本发明涉及一种基于多智能体深度强化学习的电网输电线路防御方法,属于智能电网安全与人工智能交叉技术领域。



    背景技术:

    电网的大规模互联实现了大范围的资源共享优化。在取得显著经济效益的同时,电网中信息和物理系统存在的高度耦合特性给电网安全稳定运行带来了新的挑战。当网络或物理攻击发起时,有可能导致输电线路断开,进而引发一系列连锁反应并造成电网大面积电力中断,如印度2012年大停电。因此,将这些可能引发连锁反应并导致电网解列和大面积电力中断的输电线路集合识别出来并加以防守,对于提高电网抵御攻击的能力具有重要意义。

    为了识别出上述输电线路集合并加以防守,现有研究提出了基于攻防博弈的输电线路最优攻击/防守策略,采用的方法有双层规划、博弈理论。然而,大多研究考虑的是单阶段攻击(即同时攻击单条或多条输电线路后立刻结束攻击),而非多阶段攻击(即进行多轮单/多条输电线路攻击)。事实上,基于强化学习方法的研究结果表明:在给定相同攻击资源前提下,多阶段攻击可造成比单阶段攻击更大的损失。然而,该方法仅考虑了小规模电网。当电网规模逐步变大时,状态空间随之增大,动作空间也会急剧增加,进而导致现有方法不再适用(如无法收敛)。尽管采用深度强化学习方法可克服状态空间较大带来的挑战,但动作空间随攻击阶段数增加呈指数级增长使得单智能体深度强化学习方法不具有可扩展性。



    技术实现要素:

    本发明的目的在于克服现有技术中的不足,提供一种基于多智能体深度强化学习的电网输电线路防御方法,能够有效降低电网遭受多阶段协同输电线路攻击带来的损失。为达到上述目的,本发明是采用下述技术方案实现的:

    第一方面,本发明提供了一种基于多智能体深度强化学习的电网输电线路防御方法,所述方法包括如下步骤:

    基于环境状态、智能体的攻击行为和智能体的奖励,采用预设的训练方法训练各智能体的深度神经网络;

    根据训练得到的深度神经网络和环境状态,各智能体自主确定攻击行为,攻击资源用完后得到各智能体的最优攻击线路集合;

    多次重复上述步骤,根据各智能体的最优攻击线路集合得到最优防御线路集合进行重点防御。

    结合第一方面,进一步地,所述预设的训练方法包括:

    初始化环境状态;

    获取电网的当前环境状态;

    根据电网当前环境状态,各智能体的深度神经网络输出对电网的攻击行为,智能体实施协同攻击行为;

    获取电网根据协同攻击行为调整自身维持功率平衡后的当前时间步奖励和下一时间步环境状态;

    将当前环境状态、智能体的协同攻击行为、当前时间步奖励和下一时间步环境状态发送至经验池中;

    判断是否对神经网络的权重进行更新:

    若当前训练片段数能够被预先设定的更新参数整除,则需要对各智能体的深度神经网络进行权重更新:从经验池中提取小批量的训练样本进行权重更新,更新完毕后时间步 1,

    若当前训练片段数不能够被预先设定的更新参数整除,则不需要对各智能体的神经网络进行权重更新:记录时间步 1;

    判断当前训练片段是否结束:

    若未达到预先设定的片段长度,则当前训练片段未结束,重新获取电网的当前环境状态,并继续后续训练步骤,

    若达到预先设定的片段长度,则当前训练片段结束:记录片段数 1;

    判断训练片段数是否达到上限:

    若已记录的片段数<预先设定的片段数,则训练片段数未达到上限:重新初始化环境状态,并继续后续训练步骤

    若已记录的片段数≥预先设定的片段数,则训练片段数达到上限,结束训练。

    结合第一方面,进一步地,从经验池中提取小批量的学习样本进行权重更新包括:

    利用优先经验回放机制,从经验池中获取学习价值高的经验作为小批量学习样本;

    根据小批量学习样本,采用预先设定的学习算法依次训练各智能体的深度神经网络。

    结合第一方面,优选地,预先设定的学习算法为基于各智能体的深度神经网络的行动者-注意力-评论家(multi-actor-attention-critic,maac)深度强化学习算法。

    结合第一方面,进一步地,优先经验回放机制包括:

    计算出经验i的时序差分误差δ,评估经验i的学习价值;

    根据经验i的时序差分误差δ的绝对值计算经验池中经验i的优先级pi:

    pi=|δ| ε(1)

    式(1)中,ε>0,用于保证具有较低时序差分误差的经验有一定概率回收;

    将经验池中经验的优先级进行排序,回放优先级pi高的经验,获取学习价值高的经验;

    经验i的采样概率为:

    式(2)中,α用于确定优先级所占比重,α=0时随机采样经验。

    结合第一方面,进一步地,各智能体的深度神经网络中包括行动者网络和评论家网络,各智能体之间的协同通过注意力网络完成,

    所述评论家网络包括状态与行为联合编码模块,用于在输入观测状态和行为后,输出观测状态和行为联合编码;

    采用预先设定的学习算法训练各智能体的深度神经网络包括:

    将所有智能体评论家网络的状态与行为联合编码模块的输出作为注意力网络的输入;

    注意力网络输出所有其他智能体对某一待训练智能体的贡献值;

    根据所述贡献值训练该待训练智能体的行动者网络。

    结合第一方面,优选地,各智能体的深度神经网络中还包括目标行动者网络,所述目标行动者网络和行动者网络的结构相同。目标行动者网络的参数不需要频繁迭代更新,每隔一段时间从行动者网络复制过来,即延时更新,能够减少网络中的参数相关性,提高神经网络的稳定性。

    结合第一方面,优选地,各智能体的深度神经网络中还包括目标评论家网络,所述目标评论家网络和评论家网络的结构相同,目标评论家网络的参数不需要频繁迭代更新,每隔一段时间从评论家网络复制过来,即延时更新,能够减少网络中的参数相关性,提高神经网络的稳定性。

    结合第一方面,优选地,各智能体的评论家网络还包括状态编码模块和一个多层感知机模块,其中:多层感知机模块的输入为贡献值和状态编码模块的输出,输出为状态行为值函数。

    结合第一方面,优选地,所有其他智能体对某一待训练智能体的贡献值是其他智能体的评论家网络中状态行为联合编码模块输出值经线性变换后送入单层感知机所输出的加权和。

    结合第一方面,优选地,加权和中的加权系数反映了智能体i的评论家网络中状态行为联合编码模块的输出值和其他智能体的评论家网络中状态行为联合编码模块的输出值之间的相似性,相似性越高,则加权系数越大,当前的智能体i会重点关注注意力网络输出中贡献值较大的其他智能体,能够有效提高各智能体的深度神经网络的决策效率。

    结合第一方面,进一步地,还包括在首次训练各智能体的深度神经网络前,将电网输电线路多阶段最优攻击问题建模为马尔可夫博弈,电网输电线路多阶段最优攻击问题表示为:

    式(3)中:1≤i≤m,1≤t≤n,m表示攻击者个数,n表示攻击阶段数,m个攻击者累计攻击n次将用完mn个攻击资源;lt(st,a1,t,a2,t,…,am,t)表示攻击者在第t攻击阶段造成的损失;ai,t表示第t攻击阶段第i个攻击者的攻击行为;f(st,a1,t,a2,t,…,am,t)表示电网状态的动态性;ai,t表示第t攻击阶段第i个攻击者的输电线路攻击集合;st表示所有智能体在第t攻击阶段观测到的环境状态:

    st={st,1,st,2,…,st,j},st,j∈{0,1}(4)

    式(4)中:j表示电网中的输电线路总数;对于任意一根输电线路状态st,j,其状态可用二进制数字“1”或“0”表示:1表示输电线路正常工作,0表示输电线路已中断。

    结合第一方面,进一步地,还包括智能体的攻击行为的表达式:

    at={at,1,at,2,…,am,t},am,t∈am,t(5)

    式(5)中:at表示所有智能体在第t个攻击阶段采取的攻击行为,at,1,at,2,…,am,t分别表示每个智能体m在第t个攻击阶段采取的攻击行为;对于智能体m,其攻击动作集为电网输电线路的一个子集am,t,所有智能体的动作集互不相交,其并集为电网的全部输电线路,当第t个攻击阶段对智能体m攻击的输电线路进行防御时,该输电线路将不会发生中断。

    结合第一方面,进一步地,还包括智能体的奖励的表达式:

    rt=β*f(6)

    式(6)中,rt为每个智能体在第t个攻击阶段的奖励,f表示当前攻击阶段下所有智能体的攻击动作对电网造成的损失,β为常数。

    结合第一方面,优选地,智能体的奖励能够在训练各智能体的深度神经网络过程提高训练效率。

    第二方面,本发明提供了一种电网输电线路抵御攻击系统,包括:

    训练模块:用于基于环境状态、智能体的攻击行为和智能体的奖励,采用预设的训练方法训练各智能体的深度神经网络;

    测试模块:用于根据训练得到的深度神经网络和环境状态,各智能体自主确定攻击行为,攻击资源用完后得到各智能体的最优攻击线路集合;

    防御模块:用于根据各智能体的最优攻击线路集合得到最优防御线路集合进行重点防御。

    第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项所述方法的步骤。

    与现有技术相比,本发明实施例所提供的一种电网输电线路抵御攻击方法及系统所达到的有益效果包括:

    本发明基于环境状态、智能体的攻击行为和智能体的奖励,采用预设的训练方法训练各智能体的深度神经网络,使得各智能体的深度神经网络能够根据环境状态书作出更正确的决策;

    本发明利用优先经验回放机制和基于各智能体的深度神经网络的行动者-注意力-评论家深度强化学习方法训练各智能体的深度神经网络,当本发明提出的方法应用于大规模电网时,针对多阶段协调攻击的问题,能够实现收敛时间与最优性之间的折中,具有可扩展性;

    本发明选取最优攻击集合中出现频率多的输电线路作为电网输电线路防御集进行重点防御,在相同的攻击资源情况下,能够有效降低多阶段协同攻击造成的损失,如发电量的损失、线路中断数。

    附图说明

    图1是本发明一种基于多智能体深度强化学习的电网输电线路防御方法的流程图;

    图2是本发明一种基于多智能体深度强化学习的电网输电线路防御方法的工作流程细节图;

    图3是本发明实施例二中所提方案在无防御情况下的收敛曲线图;

    图4是本发明实施例二中10次独立实验下所有方案的整体攻击效果;

    图5是本发明实施例二中10次独立实验下的每条攻击线路的频率图;

    图6是本发明实施例二中防御效果图。

    具体实施方式

    下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

    实施例一:

    如图1所示,本发明实施例提供了本发明提供了一种电网输电线路抵御攻击方法,所述方法包括如下步骤:

    基于环境状态、智能体的攻击行为和智能体的奖励,采用预设的训练方法训练各智能体的深度神经网络;

    根据训练得到的深度神经网络和环境状态,各智能体自主确定攻击行为,攻击资源用完后得到各智能体的最优攻击线路集合;

    多次重复上述步骤,根据各智能体的最优攻击线路集合得到最优防御线路集合进行重点防御。在相同的攻击资源情况下,本发明提出的电网输电线路防御方法能够有效降低多阶段协同攻击造成的损失,如发电量的损失、线路中断数。

    如图2所示,所述预设的训练方法包括:

    初始化环境状态;

    获取电网的当前环境状态;

    根据电网当前环境状态,各智能体的深度神经网络输出对电网的攻击行为,各智能体实施协同攻击行为;

    获取电网根据协同攻击行为调整自身维持功率平衡后的当前时间步奖励和下一时间步环境状态;

    将当前环境状态、智能体的协同攻击行为、当前时间步奖励和下一时间步环境状态发送至经验池中;

    判断是否对神经网络的权重进行更新:

    若当前训练片段数能够被预先设定的更新参数整除,则需要对各智能体的深度神经网络进行权重更新:从经验池中提取小批量的训练样本进行权重更新,更新完毕后时间步 1,

    若当前训练片段数不能够被预先设定的更新参数整除,则不需要对各智能体的神经网络进行权重更新:记录时间步 1;

    判断当前训练片段是否结束:

    若未达到预先设定的片段长度(即攻击的阶段数),则当前训练片段未结束,重新获取电网的当前环境状态,并继续后续训练步骤,

    若达到预先设定的片段长度,则当前训练片段结束:记录片段数 1;

    判断训练片段数是否达到上限:

    若已记录的片段数<预先设定的片段数,则训练片段数未达到上限:重新初始化环境状态,并继续后续训练步骤,

    若已记录的片段数≥预先设定的片段数,则训练片段数达到上限,结束训练。

    采用预设的训练方法训练各智能体的深度神经网络,使得各智能体的深度神经网络能够根据环境状态能够做出更正确的决策。

    如图2所示,从经验池中提取小批量的学习样本进行权重更新包括:

    利用优先经验回放机制,从经验池中获取学习价值高的经验作为小批量学习样本;

    根据小批量学习样本,采用预先设定的学习算法依次训练各智能体的深度神经网络。

    具体地,预先设定的学习算法为基于各智能体的深度神经网络的行动者-注意力-评论家深度强化学习方法。

    利用优先经验回放机制和预先设定的学习算法基于各智能体的深度神经网络的行动者-注意力-评论家深度强化学习方法训练各智能体的深度神经网络,当本发明提出的方法应用于大规模电网时,能够实现收敛时间与最优性之间的折中,具有可拓展性。

    具体地,优先经验回放机制包括:

    计算出经验i的时序差分误差δ,评估经验i的学习价值;

    根据经验i的时序差分误差δ的绝对值计算经验池中经验i的优先级pi:

    pi=|δ| ε(1)

    式(1)中,ε>0,用于保证具有较低时序差分误差的经验有一定概率回收;

    将经验池中经验的优先级进行排序,回放优先级pi高的经验,获取学习价值高的经验。

    其中,经验i的采样概率为:

    式(2)中,α用于确定优先级所占比重,α=0时随机采样经验。

    进一步地,各智能体的深度神经网络中包括行动者网络和评论家网络,各智能体之间的协同通过注意力网络完成。所述行动者网络由一个输入层,一个隐藏层,一个输出层构成。隐藏层由多个卷积层和池化层和一个全连接层构成。所述评论家网络包括状态与行为联合编码模块,用于在输入观测状态和行为后,输出观测状态和行为联合编码值;各智能体的深度神经网络中还包括目标行动者网络,所述目标行动者网络和行动者网络的结构相同。目标行动者网络的参数不需要频繁迭代更新,每隔一段时间从行动者网络复制过来,即延时更新,能够减少网络中的参数相关性,提高神经网络的稳定性。此外,各智能体的深度神经网络中还包括目标评论家网络,所述目标评论家网络和评论家网络的结构相同,目标评论家网络的参数不需要频繁迭代更新,每隔一段时间从评论家网络复制过来,即延时更新,能够减少网络中的参数相关性,提高神经网络的稳定性。各智能体的评论家网络还包括状态编码模块和一个多层感知机模块。其中:多层感知机模块的输入为贡献值和状态编码模块的输出,输出为状态行为值函数。

    具体地,采用预先设定的学习算法训练各智能体的深度神经网络包括:

    将所有智能体评论家网络的状态与行为联合编码模块的输出作为注意力网络的输入;

    注意力网络输出所有其他智能体对某一待训练智能体的贡献值;

    根据所述贡献值训练该待训练智能体的行动者网络。

    所有其他智能体对某一待训练智能体的贡献值是其他智能体的评论家网络中状态行为联合编码模块的输出值经线性变换后送入单层感知机所输出的加权和。而且,加权和中的加权系数反映了智能体i的评论家网络中状态行为联合编码模块的输出值和其他智能体的评论家网络中状态行为联合编码模块的输出值之间的相似性,相似性越高,则加权系数越大,当前的智能体i会重点关注注意力网络输出中贡献值较大的其他智能体,能够有效提高各智能体的深度神经网络的学习效率。

    需要说明的是,在首次训练各智能体的深度神经网络前,需要将电网输电线路多阶段最优攻击问题建模为马尔可夫博弈,电网输电线路多阶段最优攻击问题表示为:

    式(3)中:1≤i≤m,1≤t≤n,m表示攻击者个数,n表示攻击阶段数,m个攻击者累计攻击n次将用完mn个攻击资源;lt(st,a1,t,a2,t,…,am,t)表示攻击者在第t攻击阶段造成的损失;ai,t表示第t攻击阶段第i个攻击者的攻击行为;f(st,a1,t,a2,t,…,am,t)表示电网状态的动态性;ai,t表示第t攻击阶段第i个攻击者的输电线路攻击集合;st表示所有智能体在第t攻击阶段观测到的环境状态:

    st={st,1,st,2,…,st,j},st,j∈{0,1}(4)

    式(4)中:j表示电网中的输电线路总数;对于任意一根输电线路状态st,j,其状态可用二进制数字“1”或“0”表示:1表示输电线路正常工作,0表示输电线路已中断。

    还包括智能体的攻击行为的表达式:

    at={at,1,at,2,…,am,t},am,t∈am,t(5)

    式(5)中:at表示所有智能体在第t个攻击阶段采取的攻击行为,at,1,at,2,…,am,t分别表示每个智能体m在第t个攻击阶段采取的攻击行为;对于智能体m,其攻击动作集为电网输电线路的一个子集am,t,所有智能体的动作集互不相交,其并集为电网的全部输电线路,当第t个攻击阶段对智能体m攻击的输电线路进行防御时,该输电线路将不会发生中断。

    还包括智能体的奖励的表达式:

    rt=β*f(6)

    式(6)中,rt为每个智能体在第t个攻击阶段的奖励,f表示当前攻击阶段下所有智能体的攻击动作对电网造成的损失,β为常数。智能体的奖励能够在训练各智能体的深度神经网络过程提高训练效率。

    实施例二:

    本实施例是采用基于实施例一提供的一种基于多智能体深度强化学习的电网输电线路防御方法的具体应用场景,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

    本实施例中,采用了ieee118总线作为电网环境的模拟,该电网共包含186根输电线路。

    步骤1:将电网输电线路多阶段最优攻击问题建模为马尔可夫博弈,并设计相应的环境状态、行为及奖励。

    具体地,马尔可夫博弈是马尔可夫决策过程过程的多智能体扩展,马尔可夫博弈可以由一系列状态、行为、状态转移函数、奖励定义。电网输电线路多阶段最优攻击问题的目标函数是输电线路中断导致的电网发电量损失。具体来说,在马尔可夫博弈中,每个智能体基于当前状态选择行为,进而最大化自身期望回报(即累积折扣奖励的期望值)。

    步骤1.1:设计环境状态。

    多智能体在第t个攻击阶段的本地观测状态用st表示,第t个攻击阶段电网中任意一根输电线路状态用st,j表示。输电线路状态可用二进制数字“1”或“0”表示:1表示输电线路正常工作,0表示输电线路已中断。环境状态设计如下:

    st={st,1,st,2,…,st,j},st,j∈{0,1}(7)

    式(7)中:j表示电网中的输电线路总数。

    步骤1.2:设计智能体的攻击行为。

    所有智能体在第t个攻击阶段采取的攻击行为用at表示。每个智能体在第t个攻击阶段采取的攻击行为分别用at,1,at,2,…,am,t表示。其中,对于智能体m,其攻击动作集为电网输电线路的一个子集am,t,所有智能体的动作集互不相交,其并集为电网的全部输电线路。当输电线路第t个攻击阶段对智能体m攻击的输电线路进行防御时,该输电线路将不会发生中断。行为设计如下:

    at={at,1,at,2,…,am,t},am,t∈am,t(8)

    当智能体个数m=3时,三个智能体的动作集分别为:a1,t={1,2,…,62},a2,t={63,64,…,124},a3,t={125,126,…,186}。

    步骤1.3:设计智能体的奖励。

    每个智能体在第t个攻击阶段的奖励用rt表示,奖励设计如下:

    rt=β*f(9)

    式(9)中:rt为每个智能体在第t个攻击阶段的奖励,f表示当前攻击阶段时所有智能体的攻击动作对电网造成的损失,β在本实施例中取值为1。

    步骤2:采用预设的训练方法训练各智能体的深度神经网络,得到训练完成的各智能体深度神经网络。

    预设的训练方法包括:

    2.1初始化环境状态;

    2.2获取电网的当前环境状态;

    2.3根据电网当前环境状态,各智能体的深度神经网络输出对电网的攻击行为指令,智能体实施攻击行为;

    2.4获取电网根据攻击行为调整自身维持功率平衡后的当前时间步奖励和下一时间步环境状态;

    2.5将当前环境状态、智能体的攻击行为、当前时间步奖励和下一时间步环境状态发送至经验池中;

    2.6判断是否对神经网络的权重进行更新:

    若当前训练片段数能够被预先设定的更新参数整除,则需要对各智能体的深度神经网络进行权重更新:从经验池中提取小批量的训练样本进行权重更新,更新完毕后时间步 1,

    若当前训练片段数不能够被预先设定的更新参数整除,则不需要对各智能体的神经网络进行权重更新:记录时间步 1;

    2.7判断当前训练片段是否结束:

    若未达到预先设定的片段长度,则当前训练片段未结束,回到2.2重新获取电网的当前环境状态,并继续后续训练步骤,

    若达到预先设定的片段长度,则当前训练片段结束:记录片段数 1;

    2.8判断训练片段数是否达到上限:

    若已记录的片段数<预先设定的片段数,则训练片段数未达到上限,回到2.1重新初始化环境状态,并继续后续训练步骤,

    若已记录的片段数≥预先设定的片段数,则训练片段数达到上限,结束训练。

    在步骤2.6中,从经验池中提取小批量的学习样本进行权重更新包括:

    2.6.1利用优先经验回放机制,从经验池中获取学习价值高的经验作为小批量学习样本;

    2.6.2根据小批量学习样本,采用预先设定的学习算法依次训练各智能体的深度神经网络。具体地,预先设定的学习算法为基于各智能体的深度神经网络的行动者-注意力-评论家深度强化学习方法。

    利用优先经验回放机制和预先设定的学习算法基于各智能体的深度神经网络的行动者-注意力-评论家深度强化学习方法训练各智能体的深度神经网络,当本发明提出的方法应用于大规模电网时,能够实现收敛时间与最优性之间的折中,具有可拓展性。

    在步骤2.6.1中的各智能体的深度神经网络在智能体个数为n时包括n个行动者网络、n个目标行动者网络、n个评论家网络、n个目标评论家网络、1个注意力网络。每个智能体的行动者网络和目标行动者网络的结构相同。具体而言,行动者网络包含一个输入层,若干个卷积层、若干个池化层、若干个全连接层,一个输出层。第一个卷积层输入神经元个数与环境状态的分量数相等,最后一层全连接层输出神经元个数与离散行为的个数相等,输出层对应智能体选择的行为,隐藏层所采用的激活函数为带泄露整流函数,输出层采用的激活函数为归一化指数函数。评论家网络和目标评论家网络的结构相同,每个智能体对应的评论家网络包含3个模块,分别为状态编码模块、状态行为联合编码模块和多层感知机模块。其中:状态编码模块的输入是本地观测状态,输出是观测状态编码输出。状态行为联合编码模块的输入是观测状态和行为,输出是观测状态和行为联合编码。所有智能体的评论家网络中状态行为联合编码模块输出送入到注意力网络。注意力网络返回其他智能体对当前智能体的贡献值。该贡献值和状态编码模块的输出作为多层感知机模块的输入,多层感知机模块的输出是状态行为值函数。n个智能体的评论家网络的观测状态为st,1≤i≤n,所有智能体的攻击行为为at;状态编码模块和状态行为联合编码模块为单层感知机,多层感知机模块由1个输入层、多个隐藏层(采用带泄露整流函数作为激活函数)和1个输出层构成。注意力网络内部具有n个结构相同的子网络(对应n个智能体)。

    以子网络l为例,其输入包含所有智能体评论家网络中第二感知机模块的输出eg(1≤g≤n),输出为所有其他智能体对智能体l的贡献值xl,即:

    xl=∑g≠lwgh(wveg)(10)

    式(10)中,h为非线性激活函数,wv是一个共享矩阵并对输出eg进行线性变换:

    式(11)中,∝表示“正比于”,wk和wq是共享矩阵,用于对eg和el做线性变换,el表示当前智能体l评论家网络中状态行为联合编码模块的输出。

    在步骤2.6.2中,优先经验回放机制使用时序差分误差评估每个经验的学习价值。包括:

    计算出经验i的时序差分误差δ,评估经验i的学习价值;

    根据经验i的时序差分误差δ的绝对值计算经验池中经验i的优先级pi:

    pi=|δ| ε(12)

    式(12)中,ε>0,用于保证具有较低时序差分误差的经验有一定概率回收,在本实施例中,ε=10-6

    将经验池中经验的优先级进行排序,回放优先级pi高的经验,获取学习价值高的经验。

    经验i的采样概率为:

    式(13)中,α用于确定优先级所占比重,在本实施例中,α=0.6。

    步骤3:根据训练完成的各智能体深度神经网络和环境状态,测试各智能体的攻击行为,确定各智能体的最优攻击集合。

    在本实施例中,整个实验重复10次(每次实验包含独立的训练过程和测试过程)。基于10次实验测试环节得到的最优攻击集合进行步骤4的操作。

    步骤4:选取最优攻击集合中出现频率多的输电线路作为电网输电线路防守集进行重点防御。

    将步骤3得到的所有最优攻击集合中输电线路频率排名靠前的9根输电线路进行防御。

    图3表示本发明方案在无防御情况下的收敛曲线对比图。实验中主要考虑了两种对比方案。具体而言,对比方案一为单个攻击者多阶段攻击模式并采用基于深度q学习网络(deepq-network,dqn)算法。具体而言,攻击者个数为1,并在9个时间步内使用完9个单位攻击资源。对比方案二为多个攻击者单阶段攻击模式并采用本发明提出的方法。具体而言,攻击者个数为9,并在1个时间步使用完9个单位攻击资源。本发明提出的方案采用攻击者个数为3,并在3个时间步使用完9个单位攻击资源。从图3可知,所提出的方案在限定攻击资源总数和攻击者个数时,其训练奖励总体上均呈现增长趋势,且逐步趋于稳定。相比之下,未采用本发明提出的方法的收敛性较差。

    图4给出了10次独立实验下所有方案的整体攻击效果。可以发现:利用本发明提出的方案可找出造成最大发电量损失的最优攻击集合。

    图5给出了10次实验下的每条攻击线路的频率图。

    图6给出了根据频率图选取频率排名最高的9条防御线路后,发动攻击可造成的发电量损失。可以看出:相比无防御和随机防御情况,本发明提出的防御方案可有效降低发电量损失。由于电网的脆弱线路集合较多,仅仅9个防御资源不足以将发电量损失降为0。

    实施例三:

    本发明实施例提供本发明提供了一种基于多智能体深度强化学习的电网输电线路防御系统,包括:

    训练模块:用于基于环境状态、智能体的攻击行为和智能体的奖励,采用预设的训练方法训练各智能体的深度神经网络;

    测试模块:用于根据训练得到的深度神经网络和环境状态,各智能体自主确定攻击行为,攻击资源用完后得到各智能体的最优攻击线路集合;

    防御模块:用于根据各智能体的最优攻击线路集合得到最优防御线路集合进行重点防御。

    实施例四:

    本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一所述方法的步骤。

    本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

    本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

    这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

    这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

    以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。


    技术特征:

    1.一种基于多智能体深度强化学习的电网输电线路防御方法,其特征在于,所述方法包括如下步骤:

    基于环境状态、智能体的攻击行为和智能体的奖励,采用预设的训练方法训练各智能体的深度神经网络;

    根据训练得到的深度神经网络和环境状态,各智能体自主确定攻击行为,攻击资源用完后得到各智能体的最优攻击线路集合;

    多次重复上述步骤,根据各智能体的最优攻击线路集合得到最优防御线路集合进行重点防御。

    2.根据权利要求1所述的一种基于多智能体深度强化学习的电网输电线路防御方法,其特征在于,所述预设的训练方法包括:

    初始化环境状态;

    获取电网的当前环境状态;

    根据电网当前环境状态,各智能体的深度神经网络输出对电网的攻击行为,各智能体实施协同攻击行为;

    获取电网根据协同攻击行为调整自身维持功率平衡后的当前时间步奖励和下一时间步环境状态;

    将当前环境状态、智能体的协同攻击行为、当前时间步奖励和下一时间步环境状态发送至经验池中;

    判断是否对神经网络的权重进行更新:

    若当前训练片段数能够被预先设定的更新参数整除,则需要对各智能体的深度神经网络进行权重更新:从经验池中提取小批量的训练样本进行权重更新,更新完毕后时间步 1,

    若当前训练片段数不能够被预先设定的更新参数整除,则不需要对各智能体的神经网络进行权重更新:记录时间步 1;

    判断当前训练片段是否结束:

    若未达到预先设定的片段长度,则当前训练片段未结束,重新获取电网的当前环境状态,并继续后续训练步骤,

    若达到预先设定的片段长度,则当前训练片段结束:记录片段数 1;

    判断训练片段数是否达到上限:

    若已记录的片段数<预先设定的片段数,则训练片段数未达到上限:重新初始化环境状态,并继续后续训练步骤

    若已记录的片段数≥预先设定的片段数,则训练片段数达到上限,结束训练。

    3.根据权利要求2所述的一种基于多智能体深度强化学习的电网输电线路防御方法,其特征在于,从经验池中提取小批量的学习样本进行权重更新包括:

    利用优先经验回放机制,从经验池中获取学习价值高的经验作为小批量学习样本;

    根据小批量学习样本,采用预先设定的学习算法依次训练各智能体的深度神经网络。

    4.根据权利要求3所述的一种基于多智能体深度强化学习的电网输电线路防御方法,其特征在于,优先经验回放机制包括:

    计算出经验i的时序差分误差δ,评估经验i的学习价值;

    根据经验i的时序差分误差δ的绝对值计算经验池中经验i的优先级pi:

    pi=|δ| ε(1)

    式(1)中,ε>0,用于保证具有较低时序差分误差的经验有一定概率回收;

    将经验池中经验的优先级进行排序,回放优先级pi高的经验,获取学习价值高的经验;

    经验i的采样概率为:

    式(2)中,α用于确定优先级所占比重,α=0时随机采样经验。

    5.根据权利要求3所述的一种基于多智能体深度强化学习的电网输电线路防御方法,其特征在于,各智能体的深度神经网络中包括行动者网络和评论家网络,各智能体之间的协同通过注意力网络完成;

    所述评论家网络包括状态与行为联合编码模块,用于在输入观测状态和行为后,输出观测状态和行为联合编码;

    采用预先设定的学习算法训练各智能体的深度神经网络包括:

    将所有智能体评论家网络的状态与行为联合编码模块的输出作为注意力网络的输入;

    注意力网络输出所有其他智能体对某一待训练智能体的贡献值;

    根据所述贡献值训练该待训练智能体的行动者网络。

    6.根据权利要求1所述的一种基于多智能体深度强化学习的电网输电线路防御方法,其特征在于,还包括在首次训练各智能体的深度神经网络前,将电网输电线路多阶段最优攻击问题建模为马尔可夫博弈,电网输电线路多阶段协同最优攻击问题表示为:

    式(3)中:1≤i≤m,1≤t≤n,m表示攻击者个数,n表示攻击阶段数,m个攻击者累计攻击n次将用完mn个攻击资源;lt(st,a1,t,a2,t,…,am,t)表示攻击者在第t攻击阶段造成的损失;ai,t表示第t攻击阶段第i个攻击者的攻击行为;f(st,a1,t,a2,t,…,am,t)表示电网状态的动态性;ai,t表示第t攻击阶段第i个攻击者的输电线路攻击集合;st表示所有智能体在第t攻击阶段观测到的环境状态:

    st={st,1,st,2,…,st,j},st,j∈{0,1}(4)

    式(4)中:j表示电网中的输电线路总数;对于任意一根输电线路状态st,j,其状态可用二进制数字“1”或“0”表示:1表示输电线路正常工作,0表示输电线路已中断。

    7.根据权利要求6所述的一种基于多智能体深度强化学习的电网输电线路防御方法,其特征在于,还包括智能体的攻击行为的表达式:

    at={at,1,at,2,…,am,t},am,t∈am,t(5)

    式(5)中:at表示所有智能体在第t个攻击阶段采取的攻击行为,at,1,at,2,…,am,t分别表示每个智能体m在第t个攻击阶段采取的攻击行为;对于智能体m,其攻击动作集为电网输电线路的一个子集am,t,所有智能体的动作集互不相交,其并集为电网的全部输电线路,当第t个攻击阶段对智能体m攻击的输电线路进行防御时,该输电线路将不会发生中断。

    8.根据权利要求6所述的一种基于多智能体深度强化学习的电网输电线路防御方法,其特征在于,还包括智能体的奖励的表达式:

    rt=β*f(6)

    式(6)中,rt为每个智能体在第t个攻击阶段的奖励,f表示当前攻击阶段下所有智能体的攻击动作对电网造成的损失,β为常数。

    9.一种电网输电线路抵御攻击系统,其特征在于,包括:

    训练模块:用于基于环境状态、智能体的攻击行为和智能体的奖励,采用预设的训练方法训练各智能体的深度神经网络;

    测试模块:用于根据训练得到的深度神经网络和环境状态,各智能体自主确定攻击行为,攻击资源用完后得到各智能体的最优攻击线路集合;

    防御模块:用于根据各智能体的最优攻击线路集合得到最优防御线路集合进行重点防御。

    10.计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。

    技术总结
    本发明公开了一种基于多智能体深度强化学习的电网输电线路防御方法,所述方法包括:基于环境状态、智能体的攻击行为和智能体的奖励,采用预设的训练方法训练各智能体的深度神经网络;根据训练得到的深度神经网络和环境状态,各智能体自主确定攻击行为,攻击资源用完后得到各智能体的最优攻击线路集合;多次重复上述步骤,根据各智能体的最优攻击线路集合得到最优防御线路集合进行重点防御。本发明能够有效降低电网因多阶段协同输电线路攻击带来的性能损失。

    技术研发人员:高镇;余亮;沈超;岳东;窦春霞;刘爱萍
    受保护的技术使用者:南京邮电大学
    技术研发日:2020.11.12
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-8028.html

    最新回复(0)