[发明专利]一种基于随机信息传递的图神经网络方法有效

专利信息
申请号: 202010842540.X 申请日: 2020-08-20
公开(公告)号: CN112085161B 公开(公告)日: 2022-12-13
发明(设计)人: 崔鹏;牛辰昊;张子威;朱文武 申请(专利权)人: 清华大学
主分类号: G06N3/04 分类号: G06N3/04;G06N3/08
代理公司: 北京清亦华知识产权代理事务所(普通合伙) 11201 代理人: 廖元秋
地址: 100084*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 随机 信息 传递 神经网络 方法
【权利要求书】:

1.一种基于随机信息传递的图神经网络方法,其特征在于,包括以下步骤:

1)构建图神经网络;具体步骤如下:

1-1)构建图神经网络,所述图神经网络包括一个节点特征图神经网络GNN和一个随机节点特征图神经网络GNN';

1-2)选取输出函数f_output,该函数输出维度为d_output;

1-3)根据任务选取解码函数f_decode;

其中,对于节点分类任务,使用函数SoftMax(H_i)作为f_decode,其中i是图中的任一个节点,H_i表示f_output输出的节点i的向量表征;

对于边预测任务,使用Sigmoid(H_i,H_j)作为f_decode,其中i、j分别是图中的节点,H_i、H_j分别表示f_output输出的节点i、j的向量表征,H_i,H_j表示H_i、H_j的向量内积;

1-4)根据任务选取损失函数f_loss;其中,对于节点分类任务,使用负对数似然函数作为f_loss;对于边预测任务,使用交叉熵函数作为f_loss;

2)划分数据集;

对于每个待处理的图数据,分别划分测试集、验证集和训练集,其中,每个图数据包括节点的集合V、边的集合E、原节点特征矩阵F;将该图的节点个数记作N,将该图的边表示为邻接矩阵记为P;按任务的不同,具体划分方法如下:

2-1)节点分类任务:

对于每个待处理的图数据,对于图中的每类节点,随机选取20个节点加入该图的训练集,随机选取30个节点加入该图的验证集,其余节点加入该图的测试集;对所有类别的节点处理完毕后,每类选取的20个节点共同组成该图的训练集,每类选取的30个节点共同组成该图的验证集,所有其余节点组成该图的测试集;

2-2)边预测任务:

对于每个待处理的图数据,选取该图中80%的边作为该图训练集的正例、10%的边作为该图验证集的正例、10%的边作为该图测试集的正例;对于该图中不存在的边即负边,使用与该图验证集的正例数量相同的负边作为该图验证集的负例,使用与该图测试集的正例数量相同的负边作为该图测试集的负例;

3)利用步骤2)得到的数据集训练步骤1)建立的图神经网络,得到训练完毕的图神经网络;具体步骤如下:

3-1)对于每个待处理的图数据,将该图的节点集合V中的每一个节点i,随机采样一个长度为d的随机节点特征向量,作为该图的随机节点特征矩阵E_noise的一行E_noise_i,集合V中所有节点采样完毕后,得到该图对应的N行、d列的随机节点特征矩阵E_noise;

3-2)将随机节点特征矩阵E_noise和该图的邻接矩阵A分别作为随机节点特征图神经网络GNN’的输入,得到该图对应的GNN'的输出,记作H_noise;

3-3)将该图的原节点特征矩阵F和邻接矩阵A作为节点特征图神经网络GNN的输入,得到该图对应的GNN的输出,记作H_ori;

3-4)对于节点集合V中的每个节点i,将输出函数f_output作用于[H_noise_i,H_ori_i],得到节点i的向量表征H_i=f_output([H_noise_i,H_ori_i]);所有节点的H_i构成节点向量表征矩阵H;其中H_noise_i和H_ori_i分别表示H_noise的第i行和H_ori的第i行;[H_noise_i,H_ori_i]表示向量H_noise_i和向量H_ori_i的并置;

3-5)将f_decode作用于节点向量表征矩阵H,得到该图对应的图神经网络预测值;

3-6)从步骤3-5)得到的预测值中选取对应训练集的预测值,将对应训练集的预测值与训练集的标签作为损失函数f_loss的输入,计算得到该图对应的损失值loss;

3-7)重复步骤3-1)至3-6),计算每个待处理的图数据对应的损失值loss,然后计算所有损失值的平均值并将损失值的平均值作为loss_total;

3-8)对loss_total进行反向传播得到图神经网络的参数梯度,并使用Adam优化器进行参数优化;

3-9)重复步骤3-1)至3-8)P次,运行一次验证;验证方法为:

运行步骤3-1)至3-7),其中在步骤3-6)中,从步骤3-5)得到的预测值中选取对应验证集的预测值,将对应验证集的预测值与验证集的标签作为损失函数f_loss的输入,计算得到损失值loss,运行完毕后,记录此时的loss_total作为一次valid_loss和对应的图神经网络参数;

3-10)重复步骤3-1)至3-9)Q次,并记录每次运行完毕得到的valid_loss值;从所有valid_loss值中选取最小值对应的图神经网络参数并保存,图神经网络训练完毕;

4)使用步骤3)训练完毕的图神经网络对待处理的图数据的测试集进行预测,具体步骤如下:

4-1)对每一个待处理的图数据,重复步骤3-1),得到一个该图对应的新的随机节点特征矩阵E_noise;

4-2)重复步骤3-2)3-5),将步骤4-1)得到的矩阵和该图的邻接矩阵A输入步骤3)训练完毕的图神经网络中的GNN’,将该图的原节点特征矩阵F和邻接矩阵A输入步骤3)训练完毕的图神经网络中的GNN,得到该图对应的新的节点向量表征矩阵H;将f_decode作用于该节点向量表征矩阵H,得到该图对应的训练完毕的图神经网络的预测值;

4-3)从步骤4-2)得到的预测值中选取对应该图测试集的预测值,该选取的预测值即为该图测试集的预测结果;

4-4)对测试集的预测结果进行处理,得到对应的预测标签;具体方法为:

对于节点分类任务,取该图f_decode(H_i)输出的向量中的最大值对应的维度的编号p作为训练完毕的图神经网络对于该图节点H_i的分类标签的预测;对于边预测任务,将该图f_decode(H_i,H_j)进行取整,若结果为0则表示训练完毕的图神经网络预测该图节点i,j之间没有边;若为1则表示训练完毕的图神经网络预测该图节点i,j之间有边。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010842540.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top