CN109754085A - 基于深度强化学习的大规模网络瓦解方法、存储装置以及存储介质 - Google Patents
基于深度强化学习的大规模网络瓦解方法、存储装置以及存储介质 Download PDFInfo
- Publication number
- CN109754085A CN109754085A CN201910019488.5A CN201910019488A CN109754085A CN 109754085 A CN109754085 A CN 109754085A CN 201910019488 A CN201910019488 A CN 201910019488A CN 109754085 A CN109754085 A CN 109754085A
- Authority
- CN
- China
- Prior art keywords
- network
- node
- model
- training
- indicate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于深度强化学习的大规模网络瓦解方法、存储装置以及计算机可读存储介质,所述方法包括以下步骤:训练网络表示学习模型,其中,网络表示学习模型为网络的节点到其对应特征向量映射的神经网络模型;根据网络表示学习模型和强化学习算法训练网络瓦解模型,其中,网络瓦解模型为拟合强化学习Q值函数的神经网络模型;通过网络瓦解模型对目标网络进行网络瓦解。该方法能够系统解决常规网络瓦解问题和广义网络瓦解问题,扩展性较强,且所需先验知识少,只需将网络本身作为输入,根据不同问题定义相应的奖励函数就可高效地学习网络瓦解策略,其解决问题的规模可以扩展到千万级节点以上,应用场景十分广阔。
Description
技术领域
本发明涉及人工智能和网络科学领域,尤其涉及一种基于深度强化学习的大规模网络瓦解方法、存储装置以及存储介质。
背景技术
社交网络以及其他各种各样的网络,在社会经济、自然科学等领域中发挥着越来越大的作用,这些相互作用的个体及其关系在网络科学领域被统称为网络或图。而网络瓦解或者复杂网络最优渗流,是网络科学领域的一个经典问题,一直是网络科学研究者们的研究重点。这类问题的目标在于从原始网络中找到一个最优的节点移除序列,能够以最小的代价使得剩余网络中的最大联通片的规模以最快的速度下降。通常情况下,可以考虑所有节点的打击代价相同(常规网络瓦解问题),也可以考虑不同重要性的节点拥有不同的打击代价(广义网络瓦解问题)。由于连通性是网络的基本属性,它广泛影响着网络科学中的其他任务,因此网络瓦解问题在现实中也有着广泛的应用。几乎所有的传播动态都可以在有无连通性的情况下被激活或停用,例如信息流(观点,广告)或流行病传播(传染病,计算机病毒,恶意谣言)。因此这类问题主要应用在以下两种特定场景中:(1)对网络进行定向攻击,例如通过破坏病菌的分子网络结构来消灭病菌。(2)对网络进行定点免疫以抵抗流行性传播。例如通过对人群网络的特定个体进行免疫以达到阻断疾病传播的目的,通过阻断社交网络中的关键节点来阻止谣言传播,通过切断互联网中的关键主机或服务器来达到阻止计算机病毒传播等。
以上这些问题都可以归为网络瓦解问题。而网络瓦解问题已经被证明是一个典型的NP(non-deterministic polynomial,非确定性多项式)-hard问题,因此精确解法无法扩展到大规模网络场景。传统的启发式策略大多基于网络的某一局部或全局指标(度、介数、CI(Collective-Influence,集合影响力))等来进行启发式选择。近年来,研究者们提出了一类基于消息传播的算法和基于K-core的算法,这类方法试图将网络破环问题和网络瓦解问题进行统一,通常是先利用最少的节点使得剩余网络成为无环网络,再利用一种贪婪的树瓦解的方法来高效地移除节点。
目前,利用传统方法解决网络瓦解问题的方案主要集中在以下几个方面:
1)定义网络中节点的重要性度量指标(例如度,介数,CI,pagerank等),在该指标下实施贪心式瓦解;
2)基于信念传播算法或消息传递等方法,首先进行破环瓦解,将原网络瓦解成一个森林,然后基于一些高效的树瓦解方法进行二次瓦解达到目的;
3)利用重新插入策略对网络中的节点进行移除。
公开的技术方案包括:
1)一种自适应的高节点度的移除策略。该策略每次从网络中移除度最高的节点,然后按照上述步骤在剩余网络中迭代移除,直至满足终止条件。
2)一种基于自然中心度的网络瓦解策略。自然连通度从网络内部结构属性出发,通过计算网络中不同长度闭环数目的加权和刻画网络中替代途径的冗余性,可以直接从网络邻接矩阵的特征谱导出。作为一种新的复杂网络抗毁性测度,自然连通度在数学形式上表示为一种特殊形式的平均特征根,具有明确的物理意义和简洁的数学形式并且计算简单,但自然联通度计算复杂度太大。
3)一种基于自然连通度的复杂网络抗毁性优化框架。主要工作包括:构建了基于自然连通度的复杂网络抗毁性优化模型;提出了基于禁忌搜索的复杂网络抗毁性优化算法;建立了基于网络抗毁性与网络效率的权衡优化模型。但自然中心度与网络瓦解的目标函数并不是直接决定关系,且算法依赖于禁忌搜索等多目标优化的启发式算法,难以扩展到大规模网络应用场景中去。
4)一种基于集合影响力的自适应网络瓦解策略,集合影响力(CI)定义为节点自身的剩余度与K跳邻居节点剩余度之和的乘积。基于集合影响力的自适应网络策略则是每次移除网络中CI值最高的节点,然后重新计算剩余网络节点的CI,按照此策略迭代进行移除,直至满足终止条件。基于集合影响力的策略在以节点个数为代价的打击场景下,效果较好,且时间复杂度较小,可以扩展到大规模网络中。但对于考虑节点或连边特征的场景,该指标表现效果不佳。
5)一种基于消息传播的网络瓦解策略。文章证明了网络破环问题和网络瓦解之间的关系。并提出了一种有效的三阶段算法,它首先利用变体的消息传播算法来对网络进行破环,然后利用一种快速的树打击策略对剩余网络中的联通片进行打击,终止满足条件;最后贪婪性地插入第一阶段中移除的但不会增加最大联通片的节点。
然而,上述技术都只能解决某一种特定场景的网络瓦解问题,如果换一种场景(例如换一种评价指标或者考虑带打击代价的瓦解问题),那么这些技术都将失效,而且,即便针对某一特定场景,解决方案在求解效率和求解质量也无法取得很好的平衡。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种基于深度强化学习的大规模网络瓦解方法,该方法能够系统解决常规网络瓦解问题和广义网络瓦解问题,扩展性较强,且高效。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种存储装置。
为达到上述目的,本发明提出了一种基于深度强化学习的大规模网络瓦解方法,包括以下步骤:训练网络表示学习模型,其中,所述网络表示学习模型为网络的节点到与所述节点对应的特征向量映射的神经网络模型;根据所述网络表示学习模型和强化学习算法训练网络瓦解模型,其中,所述网络瓦解模型为拟合强化学习Q值函数的神经网络模型;通过所述网络瓦解模型对目标网络进行网络瓦解。
根据本发明实施例基于深度强化学习的大规模网络瓦解方法,首先训练得到节点到与其对应的特征向量映射的神经网络模型,进而根据该神经模型和强化学习算法构建得到网络瓦解模型,以通过该网络瓦解模型对目标网络进行网络瓦解。该方法能够系统解决常规网络瓦解问题和广义网络瓦解问题,扩展性较强,且所需先验知识少,只需将网络本身作为输入,根据不同问题定义相应的奖励函数就可高效地学习网络瓦解策略,其解决问题的规模可达到千万级节点(即具有千万个节点的网络)以上,应用场景十分广阔。
另外,根据本发明上述实施例的基于深度强化学习的大规模网络瓦解方法还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述训练网络表示学习模型,包括:
向训练网络G(V,E)追加虚拟节点,其中,所述训练网络的所有节点均为所述虚拟节点的连接,V表示所述训练网络的节点集合,E表示所述训练网络的连边集合;
通过下式训练得到所述网络表示学习模型:
其中,ReLU表示神经网络的激活函数,Xv∈R1 ×c,表示节点的原始特征,c为节点原始特征的维度,s表示所述虚拟节点,k=1,...,K,K为整数,N(v)表示节点v的邻居节点集合,分别表示所述训练网络的节点v和虚拟节点s在第k次迭代时的特征向量,hv和hs分别表示所述训练网络的节点v和虚拟节点s最终的特征向量,W1∈Rc×p、W2∈Rp×p、W3∈Rp×p表示可学习的权重参数,p为节点最终特征向量的维度。
根据本发明的一个实施例,在根据所述网络表示学习模型和强化学习算法训练网络瓦解模型时,将删除节点或终止删除作为动作,将已经删除的节点序列作为状态,将节点删除前后网络鲁棒性得分变化作为奖励,将累积奖励最大化作为优化目标。
根据本发明的一个实施例,所述根据所述网络表示学习模型和强化学习算法训练网络瓦解模型,包括:
初始化阶段:
初始化经验回放池D,其容量为M,
随机初始化评估网络的可学习参数权重为Φ,
设置目标网络的可学习参数
训练阶段:
生成训练网络并训练得到hv和hs,并初始化状态记录为空s1=(),其中,状态用hs表示,动作用hv表示;
当步数t=1 to T时,对每一步t,在[0,1]均匀分布中产生一个随机数r,如果r<=ε,则从动作空间A中选择一个执行动作at~U(A),否则,at=argmaxaQ(st,a;Φ),其中, 表示向量的外积操作,W4∈Rp×1、W5∈Rp×1为神经网络的可学习参数,进而执行动作at,并记录对应的奖励值rt,更新状态集st+1=st∪at,其中,
当t>=n时,将四元组(st-n,at-n,rt-n,t,st)放到所述经验回放池D中,并随机从所述经验回放池D中取出大小为B的一批四元组(st-n,at-n,rt-n,t,st),进而设置根据损失函数Loss并利用Adam算法更新评估网络的参数Φ,每隔C步更新目标网络参数其中,
Loss=LossQ+αLossembedding,
其中,表示深度强化学习神经网络的损失函数,α∈R+,表示权重因子,表示网络表示学习模型的损失函数,
其中,表示n步之后的预测目标值,表示目标网络,表示目标网络的参数值,Q(si,ai;ΦQ)表示评估网络,B表示从经验回放池D中取出的四元组的批量大小,γ表示未来奖励值重要度的折扣因子,取值为[0,1],N表示当前网络的节点数,Am,n表示邻接矩阵坐标(m,n)上对应的值,pm、pn分别表示节点m和节点n对应的特征向量,表示网络表示学习模型的可学习参数;
重复上述训练网络生成阶段和模型训练阶段的训练回合,直到训练回合达到设定次数,网络瓦解模型训练结束,得到所述网络瓦解模型。
根据本发明的一个实施例,所述通过所述网络瓦解模型对目标网络进行网络瓦解,包括:获取所述目标网络的状态,将当前网络状态输入至所述网络瓦解模型,选择执行决策值最大的动作,重复此步骤,直至完成所述目标网络的网络瓦解。
根据本发明的一个实施例,所述训练网络利用BA模型生成。
根据本发明的一个实施例,当网络瓦解的优化目标为打击节点的数量时,每次在剩余网络的2-core上选择节点。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例的基于深度强化学习的大规模网络瓦解方法。
根据本发明实施例的计算机可读存储介质,在其上存储的与上述基于深度强化学习的大规模网络瓦解方法对应的程序被处理器执行时,能够系统解决常规网络瓦解问题和广义网络瓦解问题,且解决问题的规模可以扩展到千万级节点以上,应用场景十分广阔。
为达到上述目的,本发明第三方面实施例提出了一种存储装置,包括上述实施例的计算机可读存储介质。
根据本发明实施例的存储装置,通过上述计算机可读存储介质,在存储介质上存储的与上述基于深度强化学习的大规模网络瓦解方法对应的程序被处理器执行时,能够系统解决常规网络瓦解问题和广义网络瓦解问题,且解决问题的规模可以扩展到千万级节点以上,应用场景十分广阔。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明实施例的基于深度强化学习的大规模网络瓦解方法的流程图;
图2是根据本发明实施例的网络瓦解模型的结构框架示意图;
图3是根据本发明一个示例的网络瓦解模型的扩展性能对比图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的方法或具有相同或类似功能的方法。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
网络无处不在,不管是军事网络,病毒网络,社交网络,生物网络还是交通网络,随着大数据时代的来临,这些网络的规模在不断增大,连接也越来越紧密,如何从这些错综复杂,动态变化的网络中,快速寻找出最优的节点顺序,从而帮助相关决策者迅速定点打击或免疫,实现网络攻击或网络防御,在如今的大数据时代,无疑具有重大的现实意义。为此,本发明旨在解决如何高效率对节点高达千万级规模的大型复杂网络的快速瓦解的问题,并提出了一种基于深度强化学习的大规模网络瓦解方法。
下面参考附图描述本发明实施例的基于深度强化学习的大规模网络瓦解方法。
图1是根据本发明一个实施例的基于深度强化学习的大规模网络瓦解方法的流程图。
如图1所示,基于深度强化学习的大规模网络瓦解方法,包括以下步骤:
S1,训练网络表示学习模型,其中,网络表示学习模型为网络的节点到对应特征向量映射的神经网络模型。
具体地,向训练网络G(V,E)追加虚拟节点,其中,训练网络的所有节点均为虚拟节点的连接,V表示训练网络的节点集合,E表示训练网络的连边集合;进而通过下式训练得到网络表示学习模型:
其中,ReLU表示神经网络的激活函数,Xv∈R1 ×c,表示节点的原始特征,c为节点原始特征的维度,W1∈Rc×p表示可学习的权重参数,s表示虚拟节点;k=1,...,K,K为整数,N(v)表示节点v的邻居节点集合,分别表示训练网络的节点v和虚拟节点s在第k次迭代时的特征向量,hv和hs分别表示训练网络的节点v和虚拟节点s最终的特征向量,W1∈Rc×p、W2∈Rp×p、W3∈Rp×p表示可学习的权重参数,p为节点最终特征向量的维度。
S2,根据网络表示学习模型和强化学习算法训练网络瓦解模型,其中,网络瓦解模型为拟合强化学习Q值函数的神经网络模型。
在本发明的一个实施例中,在根据所述网络表示学习模型和强化学习算法训练网络瓦解模型时,可将删除节点或终止删除作为动作,将已经删除的节点序列作为状态,将节点删除前后网络鲁棒性得分变化作为奖励,将累积奖励最大化作为优化目标。当然,动作、状态、奖励并不限于上述内容,其内容可根据要解决的具体的网路瓦解问题适应性设置。
具体地,根据网络表示学习模型和强化学习算法训练网络瓦解模型,包括初始化阶段和训练阶段。
其中,初始化阶段包括:初始化经验回放池D,其容量为M;随机初始化评估网络的可学习参数权重为Φ;设置目标网络的可学习参数
训练阶段包括:生成训练网络并训练得到hv和hs,并初始化状态记录为空s1=(),其中,状态用hs表示,动作用hv表示,训练网络可利用BA模型(即无标度网络模型)生成。当步数t=1 to T时,对每一步t,在[0,1]均匀分布中产生一个随机数r,如果r<=ε,则从动作空间A中选择一个执行动作at~U(A),否则,at=argmaxa Q(st,a;Φ),其中, 表示向量的外积操作,W4∈Rp×1、W5∈Rp×1为神经网络的可学习参数,进而执行动作at,并记录对应的奖励值rt,更新状态集st+1=st∪at。其中,当t>=n时,将四元组(st-n,at-n,rt-n,t,st)放到经验回放池D中,并随机从经验回放池D中取出大小为B的一批四元组(st-n,at-n,rt-n,t,st),进而设置根据损失函数Loss并利用Adam算法更新评估网络的参数Φ,每隔C步更新目标网络参数
其中,表示网络表示学习模型的损失函数,表示深度强化学习神经网络的损失函数,α∈R+,表示权重因子。其中,表示n步之后的预测目标值,表示目标网络,表示目标网络的参数值,Q(si,ai;ΦQ)表示评估网络,B表示从经验回放池D中取出的四元组的批量大小,γ表示未来奖励值重要度的折扣因子,取值为[0,1],N表示当前网络的节点数,Am,n表示邻接矩阵坐标(m,n)上对应的值,pm、pn分别表示节点m和节点n对应的特征向量,表示网络表示学习模型的可学习参数。另外,上述设置的yj即为目标标签,j+1步时回合终止即表示下一状态结束。
进一步地,重复上述训练阶段的训练回合,直到训练回合达到设定次数,网络瓦解模型训练结束,得到网络瓦解模型。
在本发明的另一个实施例中,当优化目标为打击节点的数量时,整体上仍应用上述的模型(包括模型的其他部分和模型参数),只需对模型的训练过程做一点改进,即每次在剩余图的2-core(即不断移除网络中度为1的节点直至剩余网络中所有节点的度都大于1)上进行选点。
S3,通过网络瓦解模型对目标网络进行网络瓦解。
具体地,获取目标网络的状态,将当前网络状态输入至网络瓦解模型,选择执行决策值最大的动作,重复此步骤,直至完成目标网络的网络瓦解。
在该实施例中,大规模网络可以是具有千万个节点的网络,上述目标网络可以是大规模网络。
为便于理解本发明的基于深度强化学习的大规模网络瓦解方法,网络瓦解模型的结构框架如图2所示,主要包括:
(1)节点表示学习,即训练网络表示学习模型
节点表示学习主要是学习将网络的每个节点v到其对应的特征向量hv∈Rp的映射,以及将虚拟节点映射到其对应的特征向量hs∈Rp的映射,其中虚拟节点的作用是用来表示当前有效节点组成的网络的整体特征。如图2所示,使用一个前向神经网络来学习这一映射关系,具体过程如下:
算法1:(节点的表示学习)
模型输入:当前有效节点组成的训练网络G(V,E),V为节点集合,E为连边集合,节点的原始特征迭代次数K,可学习的权重参数W1∈Rc×p,W2∈Rp×p,W3∈Rp ×p,其中,c为节点原始特征的维度,p为节点最终特征的维度,且p<c。
模型输出:节点v最终的特征向量hv,其中,s表示虚拟节点。
具体过程:
1.向训练网络中追加一个虚拟节点s,训练网络中所有节点均为它的连接。
2.初始化
3.For k=1 to K do
4.For v∈V∪{s}do
5.
6.End For
7.
8.End For
9.
其中,ReLU为神经网络的激活函数;N(v)表示节点v的邻居节点集合,V表示训练网络的节点集合;表示节点v和虚拟节点s在第k次迭代时的特征向量,hv、hs则表示节点v和虚拟节点s最终的特征向量。
(2)强化学习(Q Learning)部分
Q Learning部分的主要目的在于学习状态-动作对(s,a)到实数奖励值r之间的映射关系。如图2所示,同样采用前向神经网络来学习这种映射关系,如下式(1):
其中,hv∈Rp、hs∈Rp分别为表示学习部分输出的节点v和虚拟节点s最终的特征向量,表示向量的外积操作,ReLU为神经网络的激活函数,W5∈Rp×1为神经网络的可学习参数,Φ表示整个模型的可学习参数集合,即
需要说明的是,网络表示学习旨在通过学习一种映射,将网络中的节点映射到低维向量空间,使得节点在低维空间中的余弦相似性,能够刻画其在高维原始网络中的结构相似性。目前这一技术主要包括两大类:一类是与任务无关的,以捕捉网络中的拓扑结构为优化目标;另一类是与任务相关的,以在具体任务上的表现为损失函数。本发明的网络表示学习模型属于后者,针对网络瓦解这一具体任务,在经典的“邻域-汇聚”模型的基础上,加入虚拟节点(连接网络中所有其他节点)用以表示整个图的特征,加入外积操作(状态向量和动作向量)使得二者之间有更多的交叉项,以使得动作的选择可以更多考虑整个图的结构信息。
进一步地,可以将网络瓦解问题形式化为典型的MDP(Markov DecisionProcesses,马尔科夫决策过程)。其中,
状态(s):当前已经从网络中选择的节点序列,或者,剩余有效节点组成的网络。由于表示学习部分已经将当前有效节点组成的图映射为p维特征向量hs,因此状态也可以用hs表示。
动作(a):从当前有效节点组成的图中选择的要移除的节点v,同样也可以用该节点对应的特征向量hv表示。
奖励(r):采取动作前后网络的鲁棒性得分R的变化量。其中,R的定义如下所示:
其中,N表示原始训练网络的节点总数,q为已经移除的节点数与原始训练网络节点数的比值(即移除程度),G(q)表示移除q*N个节点后,剩余网络中最大联通片的节点个数与原始训练网络节点数的比值。可见,R实际上为网络的鲁棒性曲线q~G(q)与两个坐标轴所围成图形的面积,R越小,说明策略越有效果。
移除第i个节点后,奖励r(i)根据不同的应用场景可以定义为如下:
其中,R(i-1)、R(i)分别代表第i个节点移除前后的鲁棒性得分,G(i)表示移除第i个节点后,剩余网络中最大联通片的节点个数与N的比值。由上式(3)可知,当不考虑瓦解代价时,该节点没有代价加入到奖励函数中;当考虑瓦解代价时,仅需将该节点对应的代价cost(i)加入到奖励函数中即可。
策略(π):基于Q Learning模型的策略就是每次贪婪地选择Q值最大的节点,直至满足终止条件,即策略π为:
在MDP框架下,最优的Q可以通过经典的贝尔曼最优等式进行迭代:
Qi+1(s,a)=E[r+γmaxa′Qi(s,a′)|s,a] (4)
随着迭代次数趋于无穷,Qi将会趋于稳定值Q*,式(4)实际上指明了神经网络最终的预测值将趋近于yi=r+γmaxa′Qi(s′,a′)。为了降低学习样本之间的相关性并提高策略最终的稳定性,本发明采用典型的深度强化学习神经网络中的两个技巧,即多步学习和经验回放。其中,多步学习是指利用当前步n步之后的y值作为预测目标值,神经网络的损失函数定义如下:
其中,表示n步之后的预测目标值,同时使用一个独立的神经网络来学习他的参数,即目标网络;Q(si,ai;ΦQ)表示当前网络的Q值,称这个网络为评估网络。训练时样本是从经验回放器中按照均匀分布取出的,即(si,ai,,si+n)~U(D),B表示从经验回放器中取的四元组的批量大小;γ表示未来奖励值重要度的折扣因子,将γ设置为0将使智能体仅通过考虑当前奖励而变得近视,而γ设置为1将使智能体争取长期的高回报。表示目标网络的参数值,仅在每个固定步长C时,对评估网络的参数ΦQ进行更新。
为了进一步加强学习效果,可认为节点经过网络表示学习模型后得到的特征,保持了原始训练网络的结构特征,为此可定义网络表示学习模型的损失函数为:
其中,N表示网络的节点的个数,Am,n表示邻接矩阵坐标(m,n)上对应的值,pm、pn表示节点m和节点n对应的特征向量,表示网络表示学习模型的可学习参数。
网络瓦解模型的损失函数可定义为:
Loss=LossQ+αLossembedding (7)
其中,α∈R+,表示两种损失之间的权重因子。
(3)贪婪选择部分
贪婪选择部分主要是每次根据节点的长期奖励值,选择其中最大的一个节点进行移除。
由此,本发明的网络瓦解模型的训练过程如下:
1.初始化经验回放池D,设置其容量为M;
2.随机初始化评估网络的可学习参数权重为Φ;
3.设置目标网络的可学习参数
4.For episode=1 to N do
5.利用现有网络生成模型生成一个训练网络图
6.初始化状态记录为空s1=()
7.For t=1 to T do
8.在[0,1]均匀分布中产生一个随机数r
9.IF r<=ε,则at~U(V)Else at=argmaxaQ(st,a;Φ)
10.执行动作at,并记录对应的奖励值rt
11.更新状态集st+1=st∪at
12.IF t>=n Then
13.将四元组(st-n,at-n,rt-n,t,st)放到经验回放池D中
14.随机从经验回放池D中取出大小为B的一批四元组(st-n,at-n,rt-n,t,st)
15.设置
16.根据式(7)利用Adam算法更新评估神经网络的参数Φ
17.每隔C步更新目标网络参数
18.End IF
19.End For
20.End For
需要说明的是,本发明已经过合成数据和真实数据的检验,下面对实验进行简单说明:
合成数据集部分,选用Barabasi Albert model来生成测试集,Barabasi Albertmodel是网络科学中最常用的网络生成模型,常用来作为各种评测的基线数据。根据生成网络的节点个数将数据集划分为15-20,30-50,50-100,100-200,200-300,300-400,400-500,500-600和1000-1200等9种,在每个区间内,随机生成100个实例,将模型在该部分数据上的平均表现作为最终得分。
真实数据集部分,选用斯坦福大学J.Leskovec组分享的互联网P2P网络数据集,该数据集为2002年8月收集的Gnutella对等文件共享网络的9个快照。节点代表Gnutella网络拓扑中的主机,边代表Gnutella主机之间的连接。这9个数据集的基本信息统计如下表1所示:
表1
表1中的Nodes表示节点数;Edges表示连边数;Nodes in LCC表示最大联通片中的节点个数;Edges in LCC表示最大联通片中的连边个数。
实验中的模型各参数的取值如下表2所示:
表2
参数 | 值 |
经验回放池D的容量 | 500000 |
学习率 | 0.01 |
节点特征向量维度 | 64 |
目标网络更新频率C | 1000 |
网络表示部分邻居节点汇聚迭代次数 | 3 |
最大训练回合数 | 1000000 |
QLearning中未来奖励的折扣因子 | 1 |
多步QLearning中步数 | 5 |
每次进行梯度更新时的小批量样本数 | 64 |
初始化时所用的方差值 | 0.01 |
贪婪探索阈值的初始值 | 1 |
贪婪探索阈值的最终值 | 0.05 |
贪婪探索阈值的初始值到最终值的总间隔步数 | 10000 |
不带参数更新的回合数(目的在于更新训练样本) | 1000 |
考虑到所有的评测都是在一个连通的网络中进行,因此选择上述9个真实网络的最大连通片作为真实测试数据。
表3-1示出了目前较先进的现有技术和本发明在这9个p2p真实网络上的鲁棒性得分,可见,本发明在该指标上要显著优于其他现有技术。性能方面,表3-2示出了各现有技术和本发明在9个p2p真实网络上的运行时间(秒),可见,本发明除了略慢于HDA和CoreHD,要明显快于其他现有技术。另外,图3所示的本发明的扩展性能对比图,也表明本发明对于大规模网络(千万节点规模),也能够在可接受的范围内给出满意的结果(单机,3小时内))。
表3-1
表3-2
需要说明的是,表3-1和3-2的结果是不考虑打击代价的,默认的假设是网络中各节点具有相同的打击代价,这跟实际的网络瓦解过程不太吻合。一般而言,不同的节点具有不同的打击代价,例如社交网络中对信息传播影响较大的大V和一般的网络,监管部门对他们的监管代价是不一样的,电脑病毒传播网络中对路由器的控制代价和对一般电脑的控制代价也是不一样的,因此这里也实验了本发明在考虑打击代价的数据集上的表现。需要说明的是,考虑打击代价的网络瓦解问题与不考虑打击代价的网络瓦解问题,所用的模型均为上述网络瓦解模型,区别在于网络瓦解模型中的参数取值可能不同。
因为实际的打击代价比较难获取,这里在原来的9个真实网络上对节点赋予和度正相关的代价(度越大,打击代价越大)和随机代价,得到实验数据,表4和表5分别是度代价和随机代价在网络上的结果对比,可以发现,本发明不管对于哪一种情况,都要明显优于现有的所有最先进的基准方法。
表4
表5
在网络瓦解的问题中,除了以度代价和随机代价为评价指标,还有一些技术以所要移除的节点数量为优化目标,即通过移除最少的节点,使得剩余网络的最大连通片的比例小于给定的阈值。对于这种场景,本发明也可胜任,通过修改训练过程(即每次在剩余网络2-core上进行选点,而不是全部的剩余网络),模型的其他部分保持不变(包括模型框架,实验参数等)。需要说明的是,以所要移除的节点数量为优化目标的网络瓦解问题,所用的模型也为上述网络瓦解模型,只是网络瓦解模型中的参数取值可能不同。
表6对比了本发明和各现有技术在这一指标下的结果,可以发现,本发明仅略次于最好的结果(BPD),而在表3-2中,本发明要远快于BPD,因此整体而言本发明在这一指标下也是在效果和性能之间取得平衡最好的一个解决方案。
表6
相较于现有技术,本发明具有如下效果:
1)通过网络表示学习和强化学习技术构建了一个解决网络瓦解问题的统一的学习框架,使用相同的模型架构和类似的参数,本发明的模型可以解决常规网络瓦解问题和广义网络瓦解问题(比如考虑节点代价、连边代价或部分瓦解等),因此扩展性较强;
2)采用了一种“端到端”(即输入端的数据直接得到输出端的结果)的学习框架,对先验知识的需求少,只需将网络本身作为输入,根据不同问题定义相应的奖励函数就可以高效地学习网络瓦解策略;
3)首次使用深度强化学习来解决网络瓦解问题,弥合了深度学习与网络科学之间的差距,为解决此类问题,开辟了一个新方向;
4)模型训练和测试都比较高效,训练时虽然在小型合成图上进行,但测试效果与基线方法相比,无论是效果还是速度都有很大的优势,解决问题的规模可以扩展到千万级节点以上,因此在现实中有着十分广阔的应用场景。
综上所述,本发明将网络瓦解问题抽象为一个图上的序列选点问题,利用网络表示学习有效的学习网络节点的特征,利用强化学习考虑节点选择的长期回报,设计了一种基于深度强化学习的网络瓦解框架,在此框架下,对于不同的评价指标的网络瓦解问题、考虑和不考虑节点间不同的打击代价的网络瓦解问题,仅仅通过简单的修改奖励函数或者训练过程就可以分别对其进行处理,而对于整个的模型框架和试验参数类型都无需修改,这就使得本发明具有现有技术不具备的通用性。并且,模型的复杂度为O(E),并可用GPU(Graphics Processing Unit,图形处理器)进行加速,模型的解质量在上述的实验部分也可以看到是目前为止最好。从而,对于网络瓦解问题,本发明在求解质量、求解效率和模型通用性这几个方面实现了很好的平衡。
进一步地,本发明提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例的基于深度强化学习的大规模网络瓦解方法。
根据本发明实施例的计算机可读存储介质,在其上存储的与上述基于深度强化学习的大规模网络瓦解方法对应的程序被处理器执行时,能够系统解决常规网络瓦解问题和广义网络瓦解问题,且解决问题的规模可以扩展到千万级节点以上,应用场景十分广阔。
更进一步地,本发明还提出了一种存储装置,包括上述实施例的计算机可读存储介质。
根据本发明实施例的存储装置,通过上述计算机可读存储介质,在存储介质上存储的与上述基于深度强化学习的大规模网络瓦解方法对应的程序被处理器执行时,能够系统解决常规网络瓦解问题和广义网络瓦解问题,且解决问题的规模可以扩展到千万级节点以上,应用场景十分广阔。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种基于深度强化学习的大规模网络瓦解方法,其特征在于,包括以下步骤:
训练网络表示学习模型,其中,所述网络表示学习模型为网络的节点到与所述节点对应的特征向量映射的神经网络模型;
根据所述网络表示学习模型和强化学习算法训练网络瓦解模型,其中,所述网络瓦解模型为拟合强化学习Q值函数的神经网络模型;
通过所述网络瓦解模型对目标网络进行网络瓦解。
2.根据权利要求1所述的基于深度强化学习的大规模网络瓦解方法,其特征在于,所述训练网络表示学习模型,包括:
向训练网络G(V,E)追加虚拟节点,其中,所述训练网络的所有节点均为所述虚拟节点的连接,V表示所述训练网络的节点集合,E表示所述训练网络的连边集合;
通过下式训练得到所述网络表示学习模型:
其中,ReLU表示神经网络的激活函数,Xv∈R1×c,表示节点的原始特征,c为节点原始特征的维度,s表示所述虚拟节点,k=1,...,K,K为整数,N(v)表示节点v的邻居节点集合,分别表示所述训练网络的节点v和虚拟节点s在第k次迭代时的特征向量,hv和hs分别表示所述训练网络的节点v和虚拟节点s最终的特征向量,W1∈Rc×p、W2∈Rp×p、W3∈Rp×p表示可学习的权重参数,p为节点最终特征向量的维度。
3.根据权利要求2所述的基于深度强化学习的大规模网络瓦解方法,其特征在于,在根据所述网络表示学习模型和强化学习算法训练网络瓦解模型时,将删除节点或终止删除作为动作,将已经删除的节点序列作为状态,将节点删除前后网络鲁棒性得分变化作为奖励,将累积奖励最大化作为优化目标。
4.根据权利要求3所述的基于深度强化学习的大规模网络瓦解方法,其特征在于,所述根据所述网络表示学习模型和强化学习算法训练网络瓦解模型,包括:
初始化阶段:
初始化经验回放池D,其容量为M,
随机初始化评估网络的可学习参数权重为Φ,
设置目标网络的可学习参数
训练阶段:
生成训练网络并训练得到hv和hs,并初始化状态记录为空s1=(),其中,状态用hs表示,动作用hv表示,
当步数t=1to T时,对每一步t,在[0,1]均匀分布中产生一个随机数r,如果r<=ε,0<=ε<=1,则从动作空间A中选择一个执行动作at~U(A),否则,at=argmaxaQ(st,a;Φ),其中, 表示向量的外积操作,W4∈Rp×1、W5∈Rp×1为神经网络的可学习参数,进而执行动作at,并记录对应的奖励值rt,更新状态集st+1=st∪at,其中,
当t>=n时,将四元组(st-n,at-n,rt-n,t,st)放到所述经验回放池D中,并随机从所述经验回放池D中取出大小为B的一批四元组(st-n,at-n,rt-n,t,st),进而设置根据损失函数Loss并利用Adam算法更新评估网络的参数Φ,每隔C步更新目标网络参数其中,
Loss=LossQ+αLossembedding,
其中,表示深度强化学习神经网络的损失函数,α∈R+,表示权重因子,表示网络表示学习模型的损失函数,
其中,表示n步之后的预测目标值,表示目标网络,表示目标网络的参数值,Q(si,ai;ΦQ)表示评估网络,B表示从经验回放池D中取出的四元组的批量大小,γ表示未来奖励值重要度的折扣因子,取值为[0,1],N表示当前网络的节点数,Am,n表示邻接矩阵坐标(m,n)上对应的值,pm、pn分别表示节点m和节点n对应的特征向量,表示网络表示学习模型的可学习参数;
重复上述训练阶段的训练回合,直到训练回合达到设定次数,网络瓦解模型训练结束,得到所述网络瓦解模型。
5.根据权利要求4所述的基于深度强化学习的大规模网络瓦解方法,其特征在于,所述通过所述网络瓦解模型对目标网络进行网络瓦解,包括:
获取所述目标网络的状态,将当前网络状态输入至所述网络瓦解模型,选择执行决策值最大的动作,重复此步骤,直至完成所述目标网络的网络瓦解。
6.根据权利要求2所述的基于深度强化学习的大规模网络瓦解方法,其特征在于,所述训练网络利用BA模型生成。
7.根据权利要求2-6中任一项所述的基于深度强化学习的大规模网络瓦解方法,其特征在于,当网络瓦解的优化目标为打击节点的数量时,每次在剩余网络的2-core上选择节点。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-7中任一项所述的基于深度强化学习的大规模网络瓦解方法。
9.一种存储装置,其特征在于,包括如权利要求7所述的计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019488.5A CN109754085A (zh) | 2019-01-09 | 2019-01-09 | 基于深度强化学习的大规模网络瓦解方法、存储装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019488.5A CN109754085A (zh) | 2019-01-09 | 2019-01-09 | 基于深度强化学习的大规模网络瓦解方法、存储装置以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109754085A true CN109754085A (zh) | 2019-05-14 |
Family
ID=66405492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910019488.5A Pending CN109754085A (zh) | 2019-01-09 | 2019-01-09 | 基于深度强化学习的大规模网络瓦解方法、存储装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109754085A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365514A (zh) * | 2019-05-24 | 2019-10-22 | 北京邮电大学 | 基于强化学习的sdn多级虚拟网络映射方法和装置 |
CN111106960A (zh) * | 2019-12-23 | 2020-05-05 | 北京邮电大学 | 一种虚拟网络的映射方法、映射装置及可读存储介质 |
CN111445291A (zh) * | 2020-04-01 | 2020-07-24 | 电子科技大学 | 一种为社交网络影响力最大化问题提供动态决策的方法 |
CN111626119A (zh) * | 2020-04-23 | 2020-09-04 | 北京百度网讯科技有限公司 | 目标识别模型训练方法、装置、设备以及存储介质 |
CN112036185A (zh) * | 2020-11-04 | 2020-12-04 | 长沙树根互联技术有限公司 | 一种基于工业企业构建命名实体识别模型的方法及装置 |
CN112235139A (zh) * | 2020-10-13 | 2021-01-15 | 中国人民解放军66136部队 | 一种级联网络建模与瓦解方法 |
CN112507622A (zh) * | 2020-12-16 | 2021-03-16 | 中国人民解放军国防科技大学 | 一种基于强化学习的反无人机任务分配方法 |
CN112766496A (zh) * | 2021-01-28 | 2021-05-07 | 浙江工业大学 | 基于强化学习的深度学习模型安全性保障压缩方法与装置 |
CN113537461A (zh) * | 2021-06-30 | 2021-10-22 | 中国人民解放军战略支援部队信息工程大学 | 基于sir值学习的网络关键节点发现方法及系统 |
CN113708976A (zh) * | 2021-09-23 | 2021-11-26 | 中国人民解放军国防科技大学 | 一种基于深度强化学习的异质作战网络瓦解方法 |
CN113705805A (zh) * | 2020-05-22 | 2021-11-26 | 中国科学技术大学 | 基于状态表示学习的深度强化学习方法及装置 |
CN114389990A (zh) * | 2022-01-07 | 2022-04-22 | 中国人民解放军国防科技大学 | 基于深度强化学习的最短路阻断方法和装置 |
CN114723005A (zh) * | 2022-03-28 | 2022-07-08 | 中国人民解放军国防科技大学 | 一种基于深度图表征学习的多层网络瓦解策略推断方法 |
CN115102894A (zh) * | 2022-06-24 | 2022-09-23 | 中国人民解放军国防科技大学 | 面向定向阻断的交通网络关键节点选择方法 |
CN115993831A (zh) * | 2023-03-23 | 2023-04-21 | 安徽大学 | 基于深度强化学习的机器人无目标网络的路径规划方法 |
-
2019
- 2019-01-09 CN CN201910019488.5A patent/CN109754085A/zh active Pending
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365514A (zh) * | 2019-05-24 | 2019-10-22 | 北京邮电大学 | 基于强化学习的sdn多级虚拟网络映射方法和装置 |
CN111106960A (zh) * | 2019-12-23 | 2020-05-05 | 北京邮电大学 | 一种虚拟网络的映射方法、映射装置及可读存储介质 |
CN111445291A (zh) * | 2020-04-01 | 2020-07-24 | 电子科技大学 | 一种为社交网络影响力最大化问题提供动态决策的方法 |
CN111445291B (zh) * | 2020-04-01 | 2022-05-13 | 电子科技大学 | 一种为社交网络影响力最大化问题提供动态决策的方法 |
CN111626119A (zh) * | 2020-04-23 | 2020-09-04 | 北京百度网讯科技有限公司 | 目标识别模型训练方法、装置、设备以及存储介质 |
CN111626119B (zh) * | 2020-04-23 | 2023-09-01 | 北京百度网讯科技有限公司 | 目标识别模型训练方法、装置、设备以及存储介质 |
CN113705805A (zh) * | 2020-05-22 | 2021-11-26 | 中国科学技术大学 | 基于状态表示学习的深度强化学习方法及装置 |
CN112235139A (zh) * | 2020-10-13 | 2021-01-15 | 中国人民解放军66136部队 | 一种级联网络建模与瓦解方法 |
CN112235139B (zh) * | 2020-10-13 | 2022-08-23 | 中国人民解放军66136部队 | 一种级联网络建模与瓦解方法 |
CN112036185A (zh) * | 2020-11-04 | 2020-12-04 | 长沙树根互联技术有限公司 | 一种基于工业企业构建命名实体识别模型的方法及装置 |
CN112036185B (zh) * | 2020-11-04 | 2021-02-02 | 长沙树根互联技术有限公司 | 一种基于工业企业构建命名实体识别模型的方法及装置 |
CN112507622A (zh) * | 2020-12-16 | 2021-03-16 | 中国人民解放军国防科技大学 | 一种基于强化学习的反无人机任务分配方法 |
CN112507622B (zh) * | 2020-12-16 | 2022-06-21 | 中国人民解放军国防科技大学 | 一种基于强化学习的反无人机任务分配方法 |
CN112766496A (zh) * | 2021-01-28 | 2021-05-07 | 浙江工业大学 | 基于强化学习的深度学习模型安全性保障压缩方法与装置 |
CN112766496B (zh) * | 2021-01-28 | 2024-02-13 | 浙江工业大学 | 基于强化学习的深度学习模型安全性保障压缩方法与装置 |
CN113537461A (zh) * | 2021-06-30 | 2021-10-22 | 中国人民解放军战略支援部队信息工程大学 | 基于sir值学习的网络关键节点发现方法及系统 |
CN113708976A (zh) * | 2021-09-23 | 2021-11-26 | 中国人民解放军国防科技大学 | 一种基于深度强化学习的异质作战网络瓦解方法 |
CN113708976B (zh) * | 2021-09-23 | 2023-09-01 | 中国人民解放军国防科技大学 | 一种基于深度强化学习的异质作战网络瓦解方法 |
CN114389990A (zh) * | 2022-01-07 | 2022-04-22 | 中国人民解放军国防科技大学 | 基于深度强化学习的最短路阻断方法和装置 |
CN114723005A (zh) * | 2022-03-28 | 2022-07-08 | 中国人民解放军国防科技大学 | 一种基于深度图表征学习的多层网络瓦解策略推断方法 |
CN114723005B (zh) * | 2022-03-28 | 2024-05-03 | 中国人民解放军国防科技大学 | 一种基于深度图表征学习的多层网络瓦解策略推断方法 |
CN115102894B (zh) * | 2022-06-24 | 2023-08-04 | 中国人民解放军国防科技大学 | 面向定向阻断的交通网络关键节点选择方法 |
CN115102894A (zh) * | 2022-06-24 | 2022-09-23 | 中国人民解放军国防科技大学 | 面向定向阻断的交通网络关键节点选择方法 |
CN115993831B (zh) * | 2023-03-23 | 2023-06-09 | 安徽大学 | 基于深度强化学习的机器人无目标网络的路径规划方法 |
CN115993831A (zh) * | 2023-03-23 | 2023-04-21 | 安徽大学 | 基于深度强化学习的机器人无目标网络的路径规划方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754085A (zh) | 基于深度强化学习的大规模网络瓦解方法、存储装置以及存储介质 | |
Wolff et al. | Association rule mining in peer-to-peer systems | |
Hales et al. | Applying a socially inspired technique (tags) to improve cooperation in P2P networks | |
Tran et al. | Deep hierarchical reinforcement agents for automated penetration testing | |
CN112600795B (zh) | 一种不完全信息下的作战网络瓦解方法及系统 | |
CN107590139A (zh) | 一种基于循环矩阵翻译的知识图谱表示学习方法 | |
Zheng et al. | Subgraph-aware few-shot inductive link prediction via meta-learning | |
Liu et al. | A novel dynamic model for web malware spreading over scale-free networks | |
CN109728955A (zh) | 基于改进k-shell的网络节点排序方法 | |
Šubelj | Label propagation for clustering | |
Huang et al. | Discovering association rules with graph patterns in temporal networks | |
Chen et al. | Adaptive adversarial training for meta reinforcement learning | |
Yang et al. | Beyond query: interactive user intention understanding | |
Yeferny et al. | An efficient peer-to-peer semantic overlay network for learning query routing | |
Liu et al. | Interaction pattern disentangling for multi-agent reinforcement learning | |
Sestini et al. | Efficient Inverse Reinforcement Learning in Procedurally Generated Environments | |
Yan et al. | Graphae: adaptive embedding across graphs | |
Song et al. | Label propagation algorithm based on node similarity driven by local information | |
Hu et al. | Towards making a Trojan-Horse attack on text-to-image retrieval | |
CN114723005B (zh) | 一种基于深度图表征学习的多层网络瓦解策略推断方法 | |
Krömer et al. | Differential evolution with preferential interaction network | |
Wang et al. | An Investigation on the Fragility of Graph Neural Networks: The Impact of Node Feature Modification on Graph Classification Accuracy | |
Paterson et al. | A hybrid approach to network robustness optimization using edge rewiring and edge addition | |
Ryu et al. | Model-based federated reinforcement distillation | |
Chen et al. | Query-Efficient Adversarial Attack Against Vertical Federated Graph Learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190514 |
|
RJ01 | Rejection of invention patent application after publication |