1.一种基于强化学习的动态链路预测模型鲁棒性增强方法,其特征在于,包括:(1)对原始图数据进行特征嵌入,提取嵌入向量;
(2)将特征嵌入后的嵌入向量作为马尔科夫决策过程中的状态进行建模,输出动作为修改的连边数;
(3)使用强化学习DDPG的训练策略,逐图增删连边,直到最后一张;
(4)计算处理后的图数据,并输入到动态链路预测模型进行准确率预测,得到回报值;
(5)重复步骤(3)~(4),直到设定的训练轮数,最终得到修改后的鲁棒性增强的图数据。
2.根据权利要求1所述的基于强化学习的动态链路预测模型鲁棒性增强方法,其特征在于,步骤(1)中,提取嵌入向量使用的是两层的GCN模型,每一层的传播规则为:其中, 即在邻接矩阵A上加一个单位矩阵IN; 是 的度矩阵,即(l) (0) (l)
H 是第l层的激活单元矩阵,H 为特征矩阵X,W 为每一层的参数矩阵,σ为sigmoid激活函数,把输入值映射到[0,1]。
3.根据权利要求2所述的基于强化学习的动态链路预测模型鲁棒性增强方法,其特征在于,输出的嵌入向量表示为(y1,y2,…,yl),(y1,y2,…,yl)=G(x1,x2,…,xl)其中,G代表整个GCN模型,这里选择输出嵌入向量的维度与特征向量相同,(x1,x2,…,xl)表示图数据的节点特征向量。
4.根据权利要求1所述的基于强化学习的动态链路预测模型鲁棒性增强方法,其特征在于,步骤(2)中,马尔科夫决策过程是由4个元素构成的四元组<S,A,T,R>;其中,S是包含所有状态的有限集合,A是一个包含所有动作的有限集合,T为转换函数,R为奖励函数;
建模过程中,S中的一个状态由所有节点输出的嵌入向量的拼接而成,得到的向量表示为yall:
yall=(y11,y12,…y1l,y21,y22,…y2l,…,yN1,yN2,…yNl)其中,N表示的是图中的节点数目;
A的动作设定为修改的连边数,根据图的大小来设定可以修改的最大连边数;转换函数T包含图随时间的变化以及后面时刻对前面时刻修改的继承;奖励函数R则由链路预测的预测性能决定。
5.根据权利要求1所述的基于强化学习的动态链路预测模型鲁棒性增强方法,其特征在于,步骤(3)的具体过程为:
(3‑1)将步骤(1)得到的图数据的嵌入向量作为强化学习的状态st;对于前面时刻有修改的图,需要把改变后的图的邻接矩阵生成嵌入向量;
(3‑2)从环境接收状态st,然后输出一个[0,1]的值作为动作at,动作at代表的是修改的连边数;确定修改数目后,根据所有节点对的梯度来选择需要修改的连边;
(3‑3)按照序列中图的顺序,根据DDPG的策略逐图修改,直到完成最后一张图。
6.根据权利要求5所述的基于强化学习的动态链路预测模型鲁棒性增强方法,其特征在于,步骤(3‑2)中,计算所有节点对的梯度方式如下:链路预测模型使用P(A)的形式表示,损失函数用L进行表示:其中,Pt(i,j)表示的是链路预测模型预测的结果,t表示的是某个时刻,At(i,j)表示的是真实的连边信息;
计算L对应于某个时刻图中的某一条连边的偏导数,表示为:因为邻接矩阵为对称的形式,使用gij来获得其中,gij表示损失函数对邻接矩阵中自变量aij求导得到的梯度,gji表示表示损失函数对邻接矩阵中自变量aji求导得到的梯度, 和 表示连边上的梯度;
选取所有连边中梯度绝对值最大的连边位置,如果梯度为正,则删除连边,梯度为负,则添加连边。
7.根据权利要求6所述的基于强化学习的动态链路预测模型鲁棒性增强方法,其特征在于,若需要删除连边的位置本身就不存在连边,或是原本存在连边的位置需要添加连边,则忽略这种位置,重新根据梯度绝对值的大小选取另一个位置进行替代。
8.根据权利要求1所述的基于强化学习的动态链路预测模型鲁棒性增强方法,其特征在于,DDPG包括Actor网络与Critic网络,Actor网络生成一个动作,状态s和动作值a输入到Critic网络中得到对应的Q值,Actor的目标函数为最大化Q值,Critic网络的目标函数为最小化Q(s,a)的误差。
9.根据权利要求1所述的基于强化学习的动态链路预测模型鲁棒性增强方法,其特征在于,步骤(4)中,回报值R的计算方式为:R=‑L
其中,回报函数是最大化R,所以损失函数L会被尽可能地减小;Pt(i,j)表示的是链路预测模型预测的结果,t表示的是某个时刻,At(i,j)表示的是真实的连边信息。