基于相互学习的图卷积神经网络节点分类方法、存储介质和终端技术

技术编号:27977334 阅读:28 留言:0更新日期:2021-04-06 14:11
本发明专利技术公开了基于相互学习的图卷积神经网络节点分类方法、存储介质和终端,方法包括以下步骤:将待分类数据输入训练后的相互学习网络,得到节点分类结果;所述相互学习网络包括的训练以下子步骤:利用损失函数L

【技术实现步骤摘要】
基于相互学习的图卷积神经网络节点分类方法、存储介质和终端
本专利技术涉及神经网络领域,尤其涉及基于相互学习的图卷积神经网络节点分类方法、存储介质和终端。
技术介绍
图数据具有不规则和多变的数据结构,用来表示各个对象以及它们之间的相互关系,它可以应用于社交网络、交通网络和生物化学分子网络等众多领域。图数据表示已成为一个日益热门的研究领域。图神经网络是基于深度学习技术最流行的图表示方法,尤其是图卷积网络方法将卷积运算从传统图像数据推广到图数据,已显示出显著的学习能力。相互学习并不需要先前强大的“教师”网络,只需要一组学生网络即可有效的训练,并且结果要强于有“教师”指导的网络,但现有的相互学习网络的数量通常为两个,但是采用该方式会使得数据并不准确。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供基于相互学习的图卷积神经网络节点分类方法、存储介质和终端。本专利技术的目的是通过以下技术方案来实现的:本专利技术的第一方面,提供基于相互学习的图卷积神经网络节点分类方法,包括以下步骤:将待分类数据输入训练后的相互学习网络,得到节点分类结果;所述相互学习网络包括的训练以下子步骤:利用损失函数Lk,对包括三个及以上的学生网络的相互学习网络进行训练;所述损失函数Lk包括自身交叉熵损失函数和KL损失函数;所述损失函数包括:式中,N表示学生网络的数量,k表示第k个学生网络,l表示除开第k个学生网络以外的学生网络,DKL(pl||pk)表示第k个学生网络相对第l个学生网络的KL损失,pl表示第l个学生网络的预测输出,pk表示第k个学生网络的预测输出;κ用于控制KL损失的权重,κ<1。进一步地,所述KL损失函数具体为:式中,M表示学生网络输入中的标签label中类别的数量,表示学生网络l预测节点xi属于类别m的概率,也就是该网络的输出。进一步地,所述自身交叉熵损失函数具体为:式中,M表示学生网络输入中的标签label中类别的数量,表示学生网络k预测节点xi属于类别m的概率,yi表示该学生网络对第i个节点所属类别的预测值,信号函数进一步地,所述学生网络的输入包括P、X和label;X表示节点自身的特征,label表示所属的类别;其中,构建一个Q×Q维的矩阵P,P中第i行第j的值mij表示图中第i个和j个节点的连接状态,若两个节点为边连接则mij为1,若两个节点没有边连接则mij为0,其中,i=1,2……N,j=1,2……N;所述学生网络包括s层顺次连接的GCN学生网络,其中第r+1层GCN学生网络的输出为式中σ为激活函数,是一个由P计算得来的矩阵其中D是P的度数矩阵,W(r)表示第r层的权值矩阵;H(0)即为初始输入X;所述学生网络的输出即为H(s)。进一步地,所述将待分类数据输入训练后的相互学习网络,得到节点分类结果包括投票机制或随机机制:所述投票机制包括:将相互学习网络中的每一个学生网络作为单独的分类器,对于每个待分类数据输入至每一个学生网络,得到多个预测输出,以少数服从多数的形式输出最终节点分类结果;所述随机机制包括:随机采用其中一个学生网络作为分类器,将待分类数据输入该学生网络,得到节点分类结果。进一步地,当对模型大小或者参数数量有限制,则采用随机机制;当对模型大小或者参数数量没有限制而要求模型准确率,则使用投票机制。进一步地,所述三个及以上的学生网络的结构不同。进一步地,所述结构不同为隐藏层神经元的个数不同。本专利技术的第二方面,提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的基于相互学习的图卷积神经网络节点分类方法的步骤。本专利技术的第三方面,提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的基于相互学习的图卷积神经网络节点分类方法的步骤。本专利技术的有益效果是:(1)在本专利技术的一示例性实施例中,采用数量大于2的学生网络,优点在于可以减小过拟合情况,提高模型准确率;相比于数量2的学生网络,模型鲁棒性更强。具体地,采用相互学习的方法相当于是在损失函数上添加了一个正则化项;并且多个学生网络有助于在优化过程中跳出局部最优解,往全局最优解靠近,因此在一定范围内增加子网络的数量有助于网络的收敛。同时为了避免在学生网络数量多的时候,可能会存在有少数其他学生网络与自身学生网络的KL损失函数过大的问题,使得其影响系数太高,而削弱了本身交叉熵损失对自身的影响,因此将KL损失函数的权重系数κ<1。(2)在本专利技术的又一示例性实施例中,采用投票机制或随机机制实现结果分类,具体地:所述投票机制包括:将相互学习网络中的每一个学生网络作为单独的分类器,对于每个待分类数据输入至每一个学生网络,得到多个预测输出,以少数服从多数的形式输出最终节点分类结果;所述随机机制包括:随机采用其中一个学生网络作为分类器,将待分类数据输入该学生网络,得到节点分类结果。(3)在本专利技术的又一示例性实施例中,使用结构不同的网络作为子网络的效果更好,准确率更高。尤其是对于隐藏层神经元的个数不同。附图说明图1为本专利技术一示例性实施例提供的方法流程图;图2为本专利技术一示例性实施例提供的相互学习网络结构示意图;图3为本专利技术一示例性实施例提供的学生网络内部结构示意图。具体实施方式下面结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。此外,下面所描述的本专利技术不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。参见图1,图1示出了本专利技术的一示例性实施例提供的基于相互学习的图卷积神经网络节点分类方法的流程图,包括以下步骤:将待分类数据输入训练后的相互学习网络,得到节点分本文档来自技高网...

【技术保护点】
1.基于相互学习的图卷积神经网络节点分类方法,其特征在于:包括以下步骤:/n将待分类数据输入训练后的相互学习网络,得到节点分类结果;所述相互学习网络包括的训练以下子步骤:/n利用损失函数L

【技术特征摘要】
1.基于相互学习的图卷积神经网络节点分类方法,其特征在于:包括以下步骤:
将待分类数据输入训练后的相互学习网络,得到节点分类结果;所述相互学习网络包括的训练以下子步骤:
利用损失函数Lk,对包括三个及以上的学生网络的相互学习网络进行训练;所述损失函数Lk包括自身交叉熵损失函数和KL损失函数;所述损失函数包括:



式中,N表示学生网络的数量,k表示第k个学生网络,l表示除开第k个学生网络以外的学生网络,DKL(pl||pk)表示第k个学生网络相对第l个学生网络的KL损失,pl表示第l个学生网络的预测输出,pk表示第k个学生网络的预测输出;κ用于控制KL损失的权重,κ<1。


2.根据权利要求1所述的基于相互学习的图卷积神经网络节点分类方法,其特征在于:所述KL损失函数具体为:



式中,M表示学生网络输入中的标签label中类别的数量,表示学生网络l预测节点xi属于类别m的概率,也就是该网络的输出。


3.根据权利要求1所述的基于相互学习的图卷积神经网络节点分类方法,其特征在于:所述自身交叉熵损失函数具体为:



式中,M表示学生网络输入中的标签label中类别的数量,表示学生网络k预测节点xi属于类别m的概率,yi表示该学生网络对第i个节点所属类别的预测值,信号函数


4.根据权利要求1所述的基于相互学习的图卷积神经网络节点分类方法,其特征在于:所述学生网络的输入包括P、X和label;X表示节点自身的特征,label表示所属的类别;
其中,构建一个Q×Q维的矩阵P,P中第i行第j的值mij表示图中第i个和j个节点的连接状态,若两个节点为边连接则mij为1,若两个节点没有边连接则mij为0,其中,i=1,2……N,j=1,2……N;<...

【专利技术属性】
技术研发人员:匡平高宇李凡彭江艳黄泓毓段其鹏刘晨阳
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

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

1