1.本公开涉及人工智能领域,特别涉及一种模型训练方法和装置、图分类方法和装置。
背景技术:2.目前,图结构数据被越来越广泛的应用于不同的领域。例如,在生物医学中,图用于表示蛋白质分子。在电商平台上,图用来描述商品与商品、用户与用户、以及用户与商品之间的复杂关联。在微博、微信等社交网络中,图用来刻画用户之间的关系。在城市交通中,图用来抽象表示城市道路交通网络。
3.在相关技术中,通过将图的图邻接矩阵和节点特征矩阵输入特征提取模型以获得节点嵌入向量,进而利用该节点嵌入向量进行分类处理,以确定该图所属的类型。
技术实现要素:4.发明人通过研究发现,在相关技术中,对图邻接矩阵和节点特征矩阵进行处理的特征提取模型为全连接网络,从而导致特征提取模型的训练和部署会占用较多的计算资源和存储资源,并且无法快速获得图分类结果。
5.据此,本公开提供一种模型训练方案,通过对特征提取模型的模型权重矩阵进行剪枝处理,从而能够在占用较少的计算资源和存储资源的情况下快速获得图分类结果。
6.根据本公开实施例的第一方面,提供一种模型训练方法,包括:利用剪枝模型对特征提取模型的模型权重矩阵进行剪枝处理,以得到更新后的特征提取模型;利用所述更新后的特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理,以得到所述待处理图的节点嵌入向量;利用图分类模型对所述节点嵌入向量进行处理,确定所述待处理图所属的类型;根据所述待处理图所属的类型确定损失函数;利用所述损失函数训练所述剪枝模型和特征提取模型。
7.在一些实施例中,对特征提取模型的模型权重矩阵进行剪枝处理包括:将所述特征提取模型的模型权重矩阵中的小于预设阈值的元素设置为0,以便所述模型权重矩阵当前的剪枝稀疏度满足对应的第一稀疏度的要求。
8.在一些实施例中,所述第一稀疏度与所述模型权重矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。
9.在一些实施例中,利用所述更新后的特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理包括:利用剪枝模型对所述待处理图的图邻接矩阵进行剪枝处理,以生成剪枝后的图邻接矩阵;利用剪枝模型对所述待处理图的节点特征矩阵进行剪枝处理,以生成剪枝后的节点特征矩阵;利用所述更新后的特征提取模型对所述剪枝后的图邻接矩阵和所述剪枝后的节点特征矩阵进行处理。
10.在一些实施例中,对所述待处理图的图邻接矩阵进行剪枝处理包括:将第一掩模矩阵中的全部元素按照数值大小进行排序,其中所述第一掩模矩阵与所述待处理图的原始
图邻接矩阵相关联;在从数值由小到大的方向上提取出前m个元素的索引,其中m为预设的正整数;将所述待处理图的图邻接矩阵中的与所述索引相对应的元素设置为0,以便所述图邻接矩阵当前的剪枝稀疏度满足对应的第二稀疏度的要求。
11.在一些实施例中,对所述待处理图的图邻接矩阵进行剪枝处理还包括:将所述第一掩模矩阵中的与所述索引相对应的元素设置为0,以便更新所述第一掩模矩阵。
12.在一些实施例中,所述第二稀疏度与所述图邻接矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。
13.在一些实施例中,对所述待处理图的节点特征矩阵进行剪枝处理包括:将第二掩模矩阵中的全部元素按照数值大小进行排序,其中所述第二掩模矩阵与所述待处理图的原始节点特征矩阵相关联;在从数值由小到大的方向上提取出前n个元素的索引,其中n为预设的正整数;将所述待处理图的节点特征矩阵中与所述索引相对应的元素设置为0,以便所述节点特征矩阵当前的剪枝稀疏度满足对应的第三稀疏度的要求。
14.在一些实施例中,对所述待处理图的节点特征矩阵进行剪枝处理还包括:将所述第二掩模矩阵中与所述索引相对应的元素设置为0,以便更新所述第二掩模矩阵。
15.在一些实施例中,所述第三稀疏度与所述节点特征矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。
16.在一些实施例中,利用所述更新后的特征提取模型对所述剪枝后的图邻接矩阵和所述剪枝后的节点特征矩阵进行处理包括:将所述剪枝后的图邻接矩阵中的全部元素按照数值大小进行排序;在从数值由小到大的方向上,将前r个元素的数值设置为0,以生成第一图邻接矩阵,其中r为预设的正整数;将原始图邻接矩阵中的未包括在第一图邻接矩阵中的全部元素按梯度值大小进行排序;在从梯度值由大到小的方向上,将前k个元素添加到所述第一图邻接矩阵中的对应位置上,以生成第二图邻接矩阵,其中k为预设的正整数;利用所述更新后的特征提取模型对所述第二图邻接矩阵和所述剪枝后的节点特征矩阵进行处理,以得到所述待处理图的节点嵌入向量。
17.在一些实施例中,所述待处理图根据待分类分子的结构生成。
18.根据本公开实施例的第二方面,提供一种模型训练装置,包括:第一训练处理模块,被配置为利用剪枝模型对特征提取模型的模型权重矩阵进行剪枝处理,以得到更新后的特征提取模型;第二训练处理模块,被配置为利用所述更新后的特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理,以得到所述待处理图的节点嵌入向量;第三训练处理模块,被配置为利用图分类模型对所述节点嵌入向量进行处理,确定所述待处理图所属的类型;第四训练处理模块,被配置为根据所述待处理图所属的类型确定损失函数,利用所述损失函数训练所述剪枝模型和特征提取模型。
19.根据本公开实施例的第三方面,提供一种模型训练装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的训练方法。
20.根据本公开实施例的第四方面,提供一种图分类方法,包括:利用特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理,以得到所述待处理图的节点嵌入向量,所述特征提取模型通过上述任一实施例所述的训练方法进行训练;利用图分类模型对所述节点嵌入向量进行处理,确定所述待处理图所属的类型。
21.在一些实施例中,利用特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理包括:利用剪枝模型对所述待处理图的图邻接矩阵进行剪枝处理,以生成剪枝后的图邻接矩阵,所述剪枝模型通过上述任一实施例所述的训练方法进行训练;利用所述剪枝模型对所述待处理图的节点特征矩阵进行剪枝处理,以生成剪枝后的节点特征矩阵;利用所述特征提取模型对所述剪枝后的图邻接矩阵和所述剪枝后的节点特征矩阵进行处理。
22.在一些实施例中,利用图分类模型对所述节点嵌入向量进行处理,确定所述待处理图所属的类型包括:利用所述图分类模型对与分子结构图相关联的节点嵌入向量进行处理,确定所述分子结构图所属的分子性质类型。
23.根据本公开实施例的第五方面,提供一种图分类装置,包括:第一分类处理模块,被配置为利用特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理,以得到所述待处理图的节点嵌入向量,所述特征提取模型通过上述任一实施例所述的训练方法进行训练;第二分类处理模块,被配置为利用图分类模型对所述节点嵌入向量进行处理,确定所述待处理图所属的类型。
24.根据本公开实施例的第六方面,提供一种图分类装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的图分类方法。
25.根据本公开实施例的第七方面,提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上述任一实施例涉及的方法。
26.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
27.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
28.图1为本公开一个实施例的特征提取示意图;
29.图2为本公开一个实施例的模型训练方法的流程示意图;
30.图3为本公开另一个实施例的特征提取示意图;
31.图4为本公开另一个实施例的模型训练方法的流程示意图;
32.图5为本公开又一个实施例的特征提取示意图;
33.图6a至图6e为本公开一些实施例的图结构再生长示意图;
34.图7为本公开一个实施例的模型训练装置的结构示意图;
35.图8为本公开一个实施例的模型训练装置的结构示意图;
36.图9为本公开一个实施例的图分类方法的流程示意图;
37.图10为本公开一个实施例的图分类装置的结构示意图;
38.图11为本公开另一个实施例的图分类装置的结构示意图;
39.图12为本公开一个实施例的图分类系统架构示意图。
具体实施方式
40.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
41.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
42.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
43.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
44.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
45.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
46.图1为本公开一个实施例的特征提取示意图。如图1所示,在对特征提取模型13进行训练后,将分子结构图的图邻接矩阵11和节点特征矩阵12输入特征提取模型13以获得节点嵌入向量,进而利用该节点嵌入向量进行分类处理,以确定该图所属的类型。
47.如图1所示,由于对图邻接矩阵和节点特征矩阵进行处理的特征提取模型为全连接网络,从而导致特征提取模型的训练和部署会占用较多的计算资源和存储资源,并且无法快速获得图分类结果。
48.据此,本公开提供一种模型训练方案,通过对特征提取模型的模型权重矩阵进行剪枝处理,从而能够在占用较少的计算资源和存储资源的情况下快速获得图分类结果。
49.图2为本公开一个实施例的模型训练方法的流程示意图。在一些实施例中,下列的模型训练方法由模型训练装置执行。
50.在步骤201,利用剪枝模型对特征提取模型的模型权重矩阵进行剪枝处理,以得到更新后的特征提取模型。
51.在一些实施例中,将特征提取模型的模型权重矩阵中的小于预设阈值的元素设置为0,以便模型权重矩阵当前的剪枝稀疏度满足对应的第一稀疏度的要求。
52.例如,将特征提取模型当前的模型权重矩阵w作为掩模矩阵mw。在掩模矩阵mw中,将小于预设阈值的元素值设置为0,将不小于预设阈值的元素值设置为1。然后将该掩模矩阵mw和特征提取模型当前的模型权重矩阵w进行点乘,以便得到剪枝后的模型权重矩阵w
′
,如公式(1)所示,从而对特征提取模型进行更新。
53.w
′
=mw⊙wꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
54.也就是说,那些被剪去的模型权重参数不再参与后续训练。
55.在一些实施例中,上述第一稀疏度与模型权重矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。例如,当前的第一稀疏度如公式(2)所示。
[0056][0057]
其中,t=(t0,t0+δt,
…
,t0+nδt),pi为初始稀疏度,pf为目标稀疏度,δt为迭代频率。
[0058]
在步骤202,利用更新后的特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理,以得到待处理图的节点嵌入向量。
[0059]
在一些实施例中,待处理图根据待分类分子(例如蛋白质分子)的结构生成,也可根据社交网络中的用户分类生成,或根据电商平台中的商品或用户分类生成。
[0060]
例如,待处理图g={v,e}。v代表节点集合,vi代表v中的节点i,i∈1,2,
…
,n,n为图中节点总数。e代表节点之间的边集合。节点关联信息可以包括图的邻接矩阵a,用于表示节点之间是否存在关联关系。
[0061]
在步骤203,利用图分类模型对节点嵌入向量进行处理,确定待处理图所属的类型。
[0062]
需要说明的是,由于图分类模型并不是本公开的发明点所在,因此这里不展开描述。
[0063]
在步骤204,根据待处理图所属的类型确定损失函数。
[0064]
例如,根据所得到的待处理图所属的类型和待处理图的类型标注的差别确定损失函数。
[0065]
在步骤205,利用损失函数训练剪枝模型和特征提取模型。
[0066]
在本公开上述实施例提供的模型训练方法中,通过对特征提取模型的模型权重矩阵进行剪枝处理,从而使得经过训练的特征提取模型不再是全连接网络,除了减小训练时间之外,还能在占用较少的计算资源和存储资源的情况下快速获得图分类结果。
[0067]
如图3所示,通过对特征提取模型33的模型权重矩阵进行剪枝处理,从而使得特征提取模型33为局部连接网络,在这种情况下,将分子结构图的图邻接矩阵31和节点特征矩阵32输入特征提取模型33以获得节点嵌入向量,进而利用该节点嵌入向量进行分类处理,从而能在占用较少的计算资源和存储资源的情况下快速获得图分类结果。
[0068]
在一些实施例中,还可对待处理图的图邻接矩阵和节点特征矩阵进行剪枝处理,从而进一步减小图邻接矩阵和节点特征矩阵中的冗余信息,由此有效减小在训练和部署过程中所需要的计算资源。
[0069]
图4为本公开另一个实施例的模型训练方法的流程示意图。在一些实施例中,下列的模型训练方法由模型训练装置执行。
[0070]
在步骤401,利用剪枝模型对特征提取模型的模型权重矩阵进行剪枝处理,以得到更新后的特征提取模型。
[0071]
在一些实施例中,将特征提取模型的模型权重矩阵中的小于预设阈值的元素设置为0,以便模型权重矩阵当前的剪枝稀疏度满足对应的第一稀疏度的要求。
[0072]
例如,利用上述公式(1)进行剪枝处理。
[0073]
在一些实施例中,上述第一稀疏度与模型权重矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。例如,当前的第一稀疏度如公式(2)所示。
[0074]
在步骤402,利用剪枝模型对待处理图的图邻接矩阵进行剪枝处理,以生成剪枝后
的图邻接矩阵。
[0075]
在一些实施例中,待处理图根据待分类分子(例如蛋白质分子)的结构生成,也可根据社交网络中的用户分类生成,或根据电商平台中的商品或用户分类生成。
[0076]
在一些实施例中,设置可微分的第一掩模矩阵ma,该第一掩模矩阵ma与待处理图的原始图邻接矩阵相同,在训练过程中第一掩模矩阵ma会更新。
[0077]
将第一掩模矩阵ma中的全部元素按照数值大小进行排序,在从数值由小到大的方向上提取出前m个元素的索引idx,其中m为预设的正整数。例如也可按照预设比例提取出相应数量元素的索引idx。
[0078]
接下来,将第一掩模矩阵中的与索引相对应的元素(ma)
idx
设置为0,以便更新第一掩模矩阵。即(ma)
idx
=0。
[0079]
接下来,将待处理图的图邻接矩阵中的与索引相对应的元素设置为0,以便图邻接矩阵当前的剪枝稀疏度满足对应的第二稀疏度的要求。
[0080]
例如,利用公式(3),对图邻接矩阵进行剪枝处理。
[0081]a′
=a
idx
⊙
(ma)
idx
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0082]
其中,a
idx
为当前图邻接矩阵中的与索引相对应的元素,a
′
为剪枝后的图邻接矩阵。
[0083]
也就是说,那些被剪去的图邻接矩阵中的元素不再参与后续训练。
[0084]
在一些实施例中,第二稀疏度与图邻接矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。例如,当前的第二稀疏度可按照公式(2)进行计算。
[0085]
在步骤403,利用剪枝模型对待处理图的节点特征矩阵进行剪枝处理,以生成剪枝后的节点特征矩阵。
[0086]
在一些实施例中,设置可微分的第二掩模矩阵m
x
,该第二掩模矩阵m
x
与待处理图的原始节点特征矩阵相同,在训练过程中第二掩模矩阵m
x
会更新。
[0087]
将第二掩模矩阵m
x
中的全部元素按照数值大小进行排序,在从数值由小到大的方向上提取出前n个元素的索引idx,其中n为预设的正整数。例如也可按照预设比例提取出相应数量元素的索引idx。
[0088]
接下来,将第二掩模矩阵中的与索引相对应的元素(m
x
)
idx
设置为0,以便更新第二掩模矩阵。即(m
x
)
idx
=0。
[0089]
接下来,将待处理图的节点特征矩阵中的与索引相对应的元素设置为0,以便节点特征矩阵当前的剪枝稀疏度满足对应的第三稀疏度的要求。
[0090]
例如,利用公式(4),对节点特征矩阵进行剪枝处理。
[0091]
x
′
=x
idx
⊙
(m
x
)
idx
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0092]
其中,x
idx
为当前节点特征矩阵中的与索引相对应的元素,x
′
为剪枝后的节点特征矩阵。
[0093]
也就是说,那些被剪去的节点特征矩阵中的元素不再参与后续训练。
[0094]
在一些实施例中,第三稀疏度与节点特征矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。例如,当前的第二稀疏度可按照公式(2)进行计算。
[0095]
在步骤404,利用更新后的特征提取模型对剪枝后的图邻接矩阵和剪枝后的节点特征矩阵进行处理,以得到待处理图的节点嵌入向量。
[0096]
在步骤405,利用图分类模型对节点嵌入向量进行处理,确定待处理图所属的类型。
[0097]
在步骤406,根据待处理图所属的类型确定损失函数。
[0098]
例如,根据所得到的待处理图所属的类型和待处理图的类型标注的差别确定损失函数。
[0099]
在步骤407,利用损失函数训练剪枝模型和特征提取模型。
[0100]
如图5所示,通过对特征提取模型53的模型权重矩阵进行剪枝处理,从而使得特征提取模型53为局部连接网络。此外,分别对分子结构图的图邻接矩阵51和节点特征矩阵52进行剪枝,有效去除图邻接矩阵51和节点特征矩阵52中的冗余信息。在这种情况下,将剪枝后的图邻接矩阵51和剪枝后的节点特征矩阵52输入特征提取模型53以获得节点嵌入向量,进而利用该节点嵌入向量进行分类处理,从而能在占用较少的计算资源和存储资源的情况下快速获得图分类结果。此外,由于减小图邻接矩阵和节点特征矩阵中的冗余信息,因此可有效减小在训练和部署过程中所需要的计算资源。
[0101]
在一些实施例中,为了避免剪枝错误而带来的信息损失,可对经过剪枝处理的图邻接矩阵进行再生长处理,以便修复那些被剪去的重要信息。
[0102]
在一些实施例中,再生长处理包括以下步骤:
[0103]
1、将剪枝后的图邻接矩阵中的全部元素按照数值大小进行排序。
[0104]
2、在从数值由小到大的方向上,将前r个元素的数值设置为0,以生成第一图邻接矩阵,其中r为预设的正整数。
[0105]
此外,也可将按照预设比例提取出相应数量元素的数值设置为0。
[0106]
也就是说,去除图结构中的一些不重要的关系。
[0107]
3、将原始图邻接矩阵中的未包括在第一图邻接矩阵中的全部元素按梯度值大小进行排序。
[0108]
4、在从梯度值由大到小的方向上,将前k个元素添加到第一图邻接矩阵中的对应位置上,以生成第二图邻接矩阵,其中k为预设的正整数。
[0109]
此外,也可将按照预设比例提取出相应数量个添加到第一图邻接矩阵中的对应位置上。
[0110]
5、利用更新后的特征提取模型对第二图邻接矩阵和剪枝后的节点特征矩阵进行处理,以得到待处理图的节点嵌入向量。
[0111]
例如,分子结构图如图6a所示。
[0112]
接下来,如图6b所示,在剪枝阶段,利用图4所示实施例对分子结构图进行剪枝处理,剪去边l1、l2、l3和l4。
[0113]
接下来,如图6c所示,在再生长阶段中的第一阶段,剪去现有的不重要的边l5、l6和l7。
[0114]
接下来,如图6d所示,在再生长阶段中的第二阶段,将之前剪去的边l1、l2、l3、l4、l5、l6和l7按梯度值大小进行排序。在从梯度值由大到小的方向上,将前3个边(即边l1、l4和l5)添加到分子结构图中的对应位置上。
[0115]
通过上述处理,经过再生长处理的分子结构图如图6d所示。
[0116]
通过比较图6b和图6e可知,在图6b中,经过剪枝阶段被剪去的边为边l1、l2、l3和
l4。而在图6e中,经过再生长处理,之前被剪去的边l1和l4被恢复,并且未在剪枝阶段被剪去的边l6和l7也被剪去,从而确保将不重要的边剪去,并修复那些被剪去的重要的边。
[0117]
图7为本公开一个实施例的模型训练装置的结构示意图。如图7所示,模型训练装置包括第一训练处理模块71、第二训练处理模块72、第三训练处理模块73和第四训练处理模块74。
[0118]
第一训练处理模块71被配置为利用剪枝模型对特征提取模型的模型权重矩阵进行剪枝处理,以得到更新后的特征提取模型。
[0119]
在一些实施例中,第一训练处理模块71将特征提取模型的模型权重矩阵中的小于预设阈值的元素设置为0,以便模型权重矩阵当前的剪枝稀疏度满足对应的第一稀疏度的要求。
[0120]
例如,利用上述公式(1)进行剪枝处理。
[0121]
在一些实施例中,上述第一稀疏度与模型权重矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。例如,当前的第一稀疏度如公式(2)所示。
[0122]
第二训练处理模块72被配置为利用更新后的特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理,以得到待处理图的节点嵌入向量。
[0123]
第三训练处理模块73被配置为利用图分类模型对节点嵌入向量进行处理,确定待处理图所属的类型。
[0124]
第四训练处理模块74被配置为根据待处理图所属的类型确定损失函数,利用损失函数训练剪枝模型和特征提取模型。
[0125]
在本公开上述实施例提供的模型训练装置中,通过对特征提取模型的模型权重矩阵进行剪枝处理,从而使得经过训练的特征提取模型不再是全连接网络,除了减小训练时间之外,还能在占用较少的计算资源和存储资源的情况下快速获得图分类结果。
[0126]
在一些实施例中,第一训练处理模块71利用剪枝模型对待处理图的图邻接矩阵进行剪枝处理,以生成剪枝后的图邻接矩阵。
[0127]
在一些实施例中,设置可微分的第一掩模矩阵ma,该第一掩模矩阵ma与待处理图的原始图邻接矩阵相同,在训练过程中第一掩模矩阵ma会更新。
[0128]
第一训练处理模块71将第一掩模矩阵ma中的全部元素按照数值大小进行排序,在从数值由小到大的方向上提取出前m个元素的索引idx,其中m为预设的正整数。例如也可按照预设比例提取出相应数量元素的索引idx。
[0129]
接下来,第一训练处理模块71将第一掩模矩阵中的与索引相对应的元素(ma)
idx
设置为0,以便更新第一掩模矩阵。即(ma)
idx
=0。
[0130]
接下来,第一训练处理模块71将待处理图的图邻接矩阵中的与索引相对应的元素设置为0,以便图邻接矩阵当前的剪枝稀疏度满足对应的第二稀疏度的要求。例如,利用公式(3)对图邻接矩阵进行剪枝处理。
[0131]a′
=a
idx
⊙
(ma)
idx
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0132]
在一些实施例中,第二稀疏度与图邻接矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。例如,当前的第二稀疏度可按照公式(2)进行计算。
[0133]
第一训练处理模块71利用剪枝模型对待处理图的节点特征矩阵进行剪枝处理,以生成剪枝后的节点特征矩阵。
[0134]
在一些实施例中,设置可微分的第二掩模矩阵m
x
,该第二掩模矩阵m
x
与待处理图的原始节点特征矩阵相同,在训练过程中第二掩模矩阵m
x
会更新。
[0135]
第一训练处理模块71将第二掩模矩阵m
x
中的全部元素按照数值大小进行排序,在从数值由小到大的方向上提取出前n个元素的索引idx,其中n为预设的正整数。例如也可按照预设比例提取出相应数量元素的索引idx。
[0136]
接下来,第一训练处理模块71将第二掩模矩阵中的与索引相对应的元素(m
x
)
idx
设置为0,以便更新第二掩模矩阵。即(m
x
)
idx
=0。
[0137]
接下来,第一训练处理模块71将待处理图的节点特征矩阵中的与索引相对应的元素设置为0,以便节点特征矩阵当前的剪枝稀疏度满足对应的第三稀疏度的要求。
[0138]
例如,利用公式(4)对节点特征矩阵进行剪枝处理。
[0139]
在一些实施例中,第三稀疏度与节点特征矩阵的初始稀疏度、目标稀疏度、迭代频率和当前迭代次数相关联。例如,当前的第二稀疏度可按照公式(2)进行计算。
[0140]
第二训练处理模块72利用更新后的特征提取模型对剪枝后的图邻接矩阵和剪枝后的节点特征矩阵进行处理,以得到待处理图的节点嵌入向量。
[0141]
在一些实施例中,第一训练处理模块71在再生长阶段,执行以下操作:
[0142]
1、将剪枝后的图邻接矩阵中的全部元素按照数值大小进行排序。
[0143]
2、在从数值由小到大的方向上,将前r个元素的数值设置为0,以生成第一图邻接矩阵,其中r为预设的正整数。
[0144]
此外,也可将按照预设比例提取出相应数量元素的数值设置为0。
[0145]
3、将原始图邻接矩阵中的未包括在第一图邻接矩阵中的全部元素按梯度值大小进行排序。
[0146]
4、在从梯度值由大到小的方向上,将前k个元素添加到第一图邻接矩阵中的对应位置上,以生成第二图邻接矩阵,其中k为预设的正整数。
[0147]
此外,也可将按照预设比例提取出相应数量个添加到第一图邻接矩阵中的对应位置上。
[0148]
5、利用更新后的特征提取模型对第二图邻接矩阵和剪枝后的节点特征矩阵进行处理,以得到待处理图的节点嵌入向量。
[0149]
图8为本公开一个实施例的模型训练装置的结构示意图。如图8所示,模型训练装置包括存储器81和处理器82。
[0150]
存储器81用于存储指令,处理器82耦合到存储器81,处理器82被配置为基于存储器存储的指令执行实现如图2、4中任一实施例涉及的方法。
[0151]
如图8所示,该模型训练装置还包括通信接口83,用于与其它设备进行信息交互。同时,该模型训练装置还包括总线84,处理器82、通信接口83、以及存储器81通过总线84完成相互间的通信。
[0152]
存储器81可以包含高速ram存储器,也可还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器81也可以是存储器阵列。存储器81还可能被分块,并且块可按一定的规则组合成虚拟卷。
[0153]
此外,处理器82可以是一个中央处理器cpu,或者可以是专用集成电路asic,或是被配置成实施本公开实施例的一个或多个集成电路。
[0154]
本公开同时还涉及一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图2或图4中任一实施例涉及的方法。
[0155]
图9为本公开一个实施例的图分类方法的流程示意图。在一些实施例中,下列的图分类方法由图分类装置执行。
[0156]
在步骤901,利用特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理,以得到待处理图的节点嵌入向量。
[0157]
特征提取模型通过图2或图4中任一实施例的训练方法进行训练,由此使得经过训练的特征提取模型不再是全连接网络,除了减小训练时间之外,还能在占用较少的计算资源和存储资源的情况下快速获得图分类结果。
[0158]
在一些实施例中,利用剪枝模型对待处理图的图邻接矩阵进行剪枝处理,以生成剪枝后的图邻接矩阵,剪枝模型通过图2或图4中任一实施例的训练方法进行训练。利用剪枝模型对待处理图的节点特征矩阵进行剪枝处理,以生成剪枝后的节点特征矩阵。接下来,利用特征提取模型对剪枝后的图邻接矩阵和剪枝后的节点特征矩阵进行处理。
[0159]
通过对图邻接矩阵和节点特征矩阵进行剪枝处理,能够有效剪去图邻接矩阵和节点特征矩阵的冗余信息,因此可有效减小在训练和部署过程中所需要的计算资源。
[0160]
在步骤902,利用图分类模型对节点嵌入向量进行处理,确定待处理图所属的类型。
[0161]
在一些实施例中,利用图分类模型对与分子结构图相关联的节点嵌入向量进行处理,确定分子结构图所属的分子性质类型。
[0162]
图10为本公开一个实施例的图分类装置的结构示意图。如图10所示,图分类装置包括第一分类处理模块101和第二分类处理模块102。
[0163]
第一分类处理模块101被配置为利用特征提取模型对待处理图的图邻接矩阵和节点特征矩阵进行处理,以得到待处理图的节点嵌入向量。特征提取模型通过图2或图4中任一项的训练方法进行训练,由此使得经过训练的特征提取模型不再是全连接网络,除了减小训练时间之外,还能在占用较少的计算资源和存储资源的情况下快速获得图分类结果。
[0164]
在一些实施例中,第一分类处理模块101利用剪枝模型对待处理图的图邻接矩阵进行剪枝处理,以生成剪枝后的图邻接矩阵,剪枝模型通过图2或图4中任一实施例的训练方法进行训练。利用剪枝模型对待处理图的节点特征矩阵进行剪枝处理,以生成剪枝后的节点特征矩阵。接下来,利用特征提取模型对剪枝后的图邻接矩阵和剪枝后的节点特征矩阵进行处理。
[0165]
通过对图邻接矩阵和节点特征矩阵进行剪枝处理,能够有效剪去图邻接矩阵和节点特征矩阵的冗余信息,因此可有效减小在训练和部署过程中所需要的计算资源。
[0166]
第二分类处理模块102被配置为利用图分类模型对节点嵌入向量进行处理,确定待处理图所属的类型。
[0167]
在一些实施例中,利用图分类模型对与分子结构图相关联的节点嵌入向量进行处理,确定分子结构图所属的分子性质类型。
[0168]
图11为本公开另一个实施例的图分类装置的结构示意图。如图11所示,物品推荐装置包括存储器111、处理器112、通信接口113和总线114。图11与图8的不同之处在于,在图11所示实施例中,处理器112被配置为基于存储器存储的指令执行实现如图9中任一实施例
涉及的方法。
[0169]
本公开同时还涉及一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图9中任一实施例涉及的方法。
[0170]
图12为本公开一个实施例的图分类系统架构示意图,其中:
[0171]
1、利用剪枝模型对待处理图的图结构特征(即图邻接矩阵)进行剪枝处理,以生成剪枝后的图邻接矩阵。
[0172]
2、利用剪枝模型对待处理图的图节点特征(即节点特征矩阵)进行剪枝处理,以生成剪枝后的节点特征矩阵。
[0173]
3、利用经过训练的特征提取模型对剪枝后的图邻接矩阵和剪枝后的节点特征矩阵进行处理,以生成待处理图的节点嵌入向量。
[0174]
4、利用图分类模型对节点嵌入向量进行处理,确定所述待处理图所属的类型。
[0175]
在一些实施例中,在上面所描述的功能单元模块可以实现为用于执行本公开所描述功能的通用处理器、可编程逻辑控制器(programmable logic controller,简称:plc)、数字信号处理器(digital signal processor,简称:dsp)、专用集成电路(application specific integrated circuit,简称:asic)、现场可编程门阵列(field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
[0176]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0177]
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。