一种图神经网络训练中的定长式边点结合采样机制制造技术

技术编号:39040322 阅读:21 留言:0更新日期:2023-10-10 11:53
本发明专利技术公开了一种图神经网络训练中的定长式边点结合采样机制,该采样机制包括如下步骤:对图进行节点采样,得到子图;对子图进行边采样,得到新的子图;将得到的子图数据转化为CSR格式;根据GPU共享内存大小,设置所需的共享内存宽度S;将子图数据存入到GPU共享内存之中;进行后续的GNN计算操作。本发明专利技术针对目前图神经网络训练中采集机制均无法达到快速并且准确的图特征采集的现状,提出一种图神经网络训练中的定长式边点结合采样机制,通过在节点采样时保留具有连续内存位置的邻居节点避免不规则的内存访问,结合边采样消除冗余的边,以便完成快速并且准确的图特征采集。以便完成快速并且准确的图特征采集。以便完成快速并且准确的图特征采集。

【技术实现步骤摘要】
一种图神经网络训练中的定长式边点结合采样机制


[0001]本专利技术属于机器学习中神经网络算法应用领域,尤其涉及一种图神经网络训练中的定长式边点结合采样机制。

技术介绍

[0002]图神经网络(Graph Neural Networks,GNN) 通过将深度学习算法和图计算算法相融合,凭借其对图形结构数据进行学习和建模的能力,已开始广泛应用于诸多领域,被认为是推动人工智能领域迈入“认知智能”阶段的核心力量。图神经网络计算框架将成为未来深度学习计算框架的新主流。GNN的核心思想是学习一种映射,将图结构中的节点及其邻居节点的特征映射为该节点的低维隐特征表示。
[0003]采样机制是指通过部分增量更新(mini

batch)策略并有条件地选择部分邻居,优化常规训练方案,从而降低内存和计算开销。图神经网络训练中所选用的采样机制是图神经网络训练效率的关键影响因素之一。
[0004]目前在学术界对于现有的图神经网络系统采用的采样机制主要有节点采样(node

wise sampling),逐层采样(layer

wise sampling)和子图采样(subgraph

based sampling)。节点采样的最主要代表有麦吉尔大学William L Hamilton等人提出的GraphSAGE和清华大学Jianfei Chen等人提出的VR

GCN。与节点采样所对应的边采样的主要代表有腾讯人工智能实验室Yu Rong等人提出的Dropedge和美国加利福尼亚州洛杉矶加利福尼亚大学C.Zheng等人提出的NeuralSparse。边采样已被用于缓解GNN的过拟合(over

fitting)和过平滑(over

smoothing)训练问题。例如,DropEdge在每次训练时会随机删除掉原始图中固定比例的边,采样出不同的子集。DropEdge的结果表明,这种动态随机边采样提升了多个浅层和深层GCN模型的性能,然而现在却很少有通过边采样加速GNN训练的方案。作为训练中的一个关键过程,采样算法通过有条件地选择部分节点作为训练模型,可以有效降低内存和计算方面的开销。
[0005]在采样的过程中,当前这些方案基本采用了节点采样或边采样其中的一种。所述的节点采样是指按照某一种规则采样节点以及他的邻居节点,如果采样的邻居节点的特征数据很分散,那么会导致GPU的查找速度过慢。而所述的边采样是指按照某一种规则舍弃图中的某些边,也就是通过舍弃边达到提升SpMM内核计算速率,从而加速图神经网络的训练过程。但是如果舍弃掉图中重要的边,会导致丢失图的重要特征,图神经网络训练的准确度会受到很大的影响。
[0006]他们的共同特点都是在图神经网络的模型计算之前根据不同的采样机制得到具有该图重要特征的子图,利用子图进行图神经网络的模型计算。
[0007]但是当前的图神经网络中的采样机制均无法带来快速并且准确的图特征采集,从而导致图神经网络训练的速度和准确度较低。其原因在于使用节点采样和边采样时,不同的采样规则会导致图的重要节点和边的特征丢失,进而导致图神经网络训练的准确度不高。使用节点采样时,如果采样的邻居节点比较分散,那么用于图神经网络训练的节点特征
收集速率也会受到很大的影响。

技术实现思路

[0008]本专利技术的目的在于提供一种图神经网络训练中的定长式边点结合采样机制,旨在解决目前图神经网络中的特征采集机制在使用不同采样方法时,采样得到的特征子图不够精确,采样过程不够迅速。
[0009]本专利技术是这样实现的,一种图神经网络训练中的定长式边点结合采样机制包括如下步骤:步骤一、对图进行节点采样,得到子图;步骤二、对子图进行边采样,得到新的子图;步骤三、将得到的子图数据转化为CSR格式;步骤四、根据GPU共享内存大小,设置所需的共享内存宽度S;步骤五、将子图数据存入到GPU共享内存之中;步骤六、进行后续的GNN计算操作。
[0010]进一步,步骤一所述的对图进行节点采样,得到子图:步骤一、对图进行节点采样,得到多个不同节点及其邻居节点的子图;步骤二、遍历步骤一中得到的子图,舍弃节点的邻居节点分布随机的子图,保留节点的邻居节点分布密集的子图。
[0011]进一步,所述的步骤二通过边采样步骤1得到的子图,消除较远的邻居节点和冗余的边,同时提高GPU中共享内存的使用效率。
[0012]进一步,所述的步骤三将步骤2中得到的子图数据转化为标准的CSR格式。
[0013]进一步,所述的步骤四分析GPU共享内存的大小,确定需要的共享内存宽度S。
[0014]进一步,所述的步骤五将步骤三得到的子图数据存储到GPU的共享内存之中。
[0015]进一步,所述的步骤六利用GPU共享内存中存储的子图数据进行后续的GNN计算操作。
[0016]本专利技术的有益效果如下: (1)本专利技术从采样机制的源头上避免了训练图中不重要的节点,减少对GPU内存的不规则访问,进而降低了GNN训练过程中的访问和计算开销,提高了GNN训练的速率。(2)本专利技术结合边采样消除较远的邻居节点和冗余的边,同时提高GPU中共享内存的使用效率,在保证样本正确性的情况下提升硬件效能,进而对GNN框架的性能带来整体性提升。(3)本专利技术可以面向不同的图进行定长式边点结合采样,并且以CSR格式对图数据进行存储,适用于多种目标平台,具有通用性。
附图说明
[0017]图1是本专利技术实施例提供的定长式边点结合采样机制的流程图。
[0018]图2是本专利技术实施例提供的使用节点采样选取邻居分布邻近的节点子图的过程。
[0019]图3是本专利技术实施例提供的使用边采样消除较远的邻居节点和冗余边过程。
[0020]图4是本专利技术实施例提供的定长式边点结合采样机制的GNN训练流程。
实施方式
[0021]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0022]图1示出了本专利技术的定长式边点结合采样机制的流程,如图所示,本专利技术是这样实现的,一种图神经网络训练中的定长式边点结合采样机制包括如下步骤: S101:对图进行节点采样,得到子图; S102:对子图进行边采样,得到新的子图; S103:将得到的子图数据转化为CSR格式; S104:根据GPU共享内存大小,设置所需的共享内存宽度S; S105:将子图数据存入到GPU共享内存之中; S106:进行后续的GNN计算操作。
[0023]进一步,步骤S101所述的对图进行节点采样,得到子图:步骤一、对图进行节点采样,得到多个不同节点及其邻居节点的子图;步骤二、遍历步骤一中得到的子图,舍弃节点的邻居节点分布随机的子图,保留节点的邻居节点分布密集的子图。
[0024]进一步,所述的步骤S102通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图神经网络训练中的定长式边点结合采样机制,其特征在于,所述的图神经网络训练中的定长式边点结合采样机制包括如下步骤:步骤一、对图进行节点采样,得到子图;步骤二、对子图进行边采样,得到新的子图;步骤三、将得到的子图数据转化为CSR格式;步骤四、根据GPU共享内存大小,设置所需的共享内存宽度S;步骤五、将子图数据存入到GPU共享内存之中;步骤六、进行后续的GNN计算操作。2.如权利要求1所述的图神经网络训练中的定长式边点结合采样机制,其特征在于,所述的对图进行节点采样,得到子图:步骤一、对图进行节点采样,得到多个不同节点及其邻居节点的子图;步骤二、遍历步骤一中得到的子图,舍弃节点的邻居节点分布随机的子图,保留节点的邻居节点分布密集的子图。3.如权利要求1所述的图神经网络训练中的定长式边点结合...

【专利技术属性】
技术研发人员:王耀彬张梦洋唐苹苹郭明峰胡丽莎
申请(专利权)人:西南科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1