CN115718826A - 图结构数据中的目标节点分类方法、***、设备及介质 - Google Patents
图结构数据中的目标节点分类方法、***、设备及介质 Download PDFInfo
- Publication number
- CN115718826A CN115718826A CN202211509472.0A CN202211509472A CN115718826A CN 115718826 A CN115718826 A CN 115718826A CN 202211509472 A CN202211509472 A CN 202211509472A CN 115718826 A CN115718826 A CN 115718826A
- Authority
- CN
- China
- Prior art keywords
- graph
- optimal
- sub
- node
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000000547 structure data Methods 0.000 title claims abstract description 64
- 238000013528 artificial neural network Methods 0.000 claims abstract description 80
- 230000002787 reinforcement Effects 0.000 claims abstract description 26
- 230000009471 action Effects 0.000 claims description 70
- 239000013598 vector Substances 0.000 claims description 59
- 238000012549 training Methods 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 24
- 239000003795 chemical substances by application Substances 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 15
- 238000003062 neural network model Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 7
- 239000013604 expression vector Substances 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 3
- 230000004083 survival effect Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 2
- 238000010187 selection method Methods 0.000 claims 1
- 238000011176 pooling Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005295 random walk Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- -1 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003153 chemical reaction reagent Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 229920002521 macromolecule Polymers 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种图结构数据中的目标节点分类方法、***、设备及介质,对图结构数据中目标节点的分类任务转化为对目标节点对应的子图的分类任务,通过选择目标节点的固定阶邻居节点为目标节点生成嵌入的子图表示,然后使用强化学习方法在给定的搜索空间内搜索最优的子图以及最优的图神经网络结构来对子图进行分类,不仅充分地利用了节点的特征信息和图的部分结构信息,从而有利于提升节点分类准确率,还可以减少设计图神经网络模型的工作量,通过得到的最优的图神经网络,也可以保证节点分类准确率。
Description
技术领域
本发明涉及图结构数据中的目标节点分类技术领域,尤其涉及一种图结构数据中的目标节点分类方法、***、设备及介质。
背景技术
图结构作为一种能够有效建模一组对象(节点)以及对象之间各种错综复杂的关系(边)的数据结构,因其具有强大的表达能力而在现实世界中得到了广泛应用。概括地说主要可以分为两个方面,一方面现实世界中的许多***都可以表示为图或网络的形式,例如电力网络***,通信网络***,WWW万维网等等;另一方面许多真实世界中的数据都可以用图结构的形式进行组织和存储,如Facebook、Twitter、Weibo等社交网络数据,生物大分子、PPI等生物信息数据,淘宝、京东、亚马逊等电商网络数据。
图结构数据中的节点分类是一类非常重要的任务,通常来说,给定图结构数据上部分节点的标签,目标是为图结构数据中其他没有标签的节点预测一个标签,节点的标签类别通常和具体的应用场景有关。例如,在预测金融网络中的恶意欺诈用户时,节点的标签可以表示该用户是恶意用户或者不是恶意用户。
目前从不同的角度考虑已经提出了为数众多的节点分类方法,包括:1)使用传统的机器学习算法,如KNN(邻近算法)、SVM(支持向量机)、LR(线性回归)等,通过利用节点的原始特征信息,经过判别器为节点预测标签,将节点区分开来。2)从图结构数据上的随机游走出发,借鉴自然语言处理中重要的WordEmbedding方法Word2Vec,通过捕捉图结构数据中节点的共现关系为节点生成嵌入向量表示,然后根据节点的嵌入向量表示为节点预测标签从而进行节点分类。3)通过改进随机游走的策略,使得能够灵活地调节更多地捕捉图中节点的同质性还是更多地捕捉图中节点的结构性,进而为节点生成嵌入向量用于预测标签和分类。4)在图结构数据上定义一阶相似度和二阶相似度,在为节点生成嵌入向量表示时最大程度地保留这两种相似度,利用得到的节点嵌入向量来进行分类。5)基于消息传递机制定义图卷积神经网络,通过聚合邻居节点的特征,然后根据这些得到的特征进行节点分类。6)在图卷积神经网络的基础之上引入注意力机制,通过考虑不同邻居节点对当前节点的影响力不同,对邻居节点的特征进行加权求和得到嵌入向量表示用于节点分类。
上述提到的方法也存在一些问题:1)没有充分地利用图结构数据中的节点特征信息和图的结构信息,导致节点分类准确率并不高。2)设计适合具体任务的最优网络结构通常需要大量的先验知识,否则难以得到最优的网络结构,进而影响节点分类准确率。
发明内容
本发明的目的是提供一种图结构数据中的目标节点分类方法、***、设备及介质,通过强化学习方法搜索最优的子图构建方式以及用于子图分类的图神经网络架构,从而不需要大量的先验知识就可以得到最优的设计细节,大大减少了设计网络结构花费的时间和精力,并且,还能够提升节点分类的准确率。
本发明的目的是通过以下技术方案实现的:
一种图结构数据中的目标节点分类方法,包括:
获取包含节点集与边集构成的图结构数据;
对于待分类的目标节点集合,按照设定的固定阶数以每一目标节点为中心在所述图结构数据中抽取相应固定阶数的邻居节点构建子图,形成待分类的目标节点集合对应的初始子图集合;
利用强化学习方法结合初始子图集合,在状态空间中搜索最优策略,获得每一目标节点对应的最优阶数与图神经网络的最优层数,所述状态空间中的每一状态均利用单个子图中所有节点特征确定;
对于每一目标节点,按照对应的最优阶数以相应目标节点为中心在所述图结构数据中抽取相应最优阶数的邻居节点构建最优子图,并利用通过训练的相应最优层数的图神经网络,获得描述最优子图特征的向量表示,并进行分类,获得每一目标节点的类别。
一种图结构数据中的目标节点分类***,包括:
数据获取单元,用于获取包含节点集与边集构成的图结构数据;
子图初始化单元,用于对于待分类的目标节点集合,按照设定的固定阶数以每一目标节点为中心在所述图结构数据中抽取相应固定阶数的邻居节点构建子图,形成待分类的目标节点集合对应的初始子图集合;
最优策略搜索单元,用于利用强化学习方法结合初始子图集合,在状态空间中搜索最优策略,获得每一目标节点对应的最优阶数与图神经网络的最优层数,所述状态空间中的每一状态均利用单个子图中所有节点特征确定;
节点分类单元,用于对于每一目标节点,按照对应的最优阶数以相应目标节点为中心在所述图结构数据中抽取相应最优阶数的邻居节点构建最优子图,并利用通过训练的相应最优层数的图神经网络,获得描述最优子图特征的向量表示,并进行分类,获得每一目标节点的类别。
一种处理设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述的方法。
一种可读存储介质,存储有计算机程序,当计算机程序被处理器执行时实现前述的方法。
由上述本发明提供的技术方案可以看出,对图结构数据中目标节点的分类任务转化为对目标节点对应的子图的分类任务,通过选择目标节点的固定阶邻居节点为目标节点生成嵌入的子图表示,然后使用强化学习方法在给定的搜索空间内搜索最优的子图以及最优的图神经网络结构来对子图进行分类,不仅充分地利用了节点的特征信息和图的部分结构信息,从而有利于提升节点分类准确率,还可以减少设计图神经网络模型的工作量,通过得到的最优的图神经网络,也可以保证节点分类准确率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种图结构数据中的目标节点分类方法的总体流程图;
图2为本发明实施例提供的一种图结构数据中的目标节点分类方法的模型结构示意图;
图3为本发明实施例提供的一种图结构数据中的目标节点分类方法的基本流程图;
图4为本发明实施例提供的一种图结构数据中的目标节点分类***的示意图;
图5为本发明实施例提供的一种处理设备的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
首先对本文中可能使用的术语进行如下说明:
术语“和/或”是表示两者任一或两者同时均可实现,例如,X和/或Y表示既包括“X”或“Y”的情况也包括“X和Y”的三种情况。
术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
下面对本发明所提供的一种图结构数据中的目标节点分类方法、***、设备及介质进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。本发明实施例中所用试剂或仪器未注明生产厂商者,均为可以通过市售购买获得的常规产品。
实施例一
本发明实施例提供一种图结构数据中的目标节点分类方法,如图1所示,其主要包括如下步骤:
步骤1、获取包含节点集与边集构成的图结构数据。
本发明实施例中,图结构数据属于本领域中具有确切含义的技术数据,能够呈现出多个节点之间的关联,根据具体应用场景的不同,节点可以是用户、设备或者某些对象的具体信息等。
本发明实施例中,所述图结构数据中每一节点特征均为根据节点信息提取的特征向量,所述节点信息包括但不限于:节点的文本信息和/或图像信息;例如,节点为用户时,可以从用户信息中提取出相关的特征,用户信息可以是针对用户的相关介绍文本(比如,年龄,爱好,交易记录等)和/或照片(图像信息)等。
以社交网络中的恶意账号检测任务为例,社交网络可以看作一个由海量用户以及用户间错综复杂的关系构成的图结构数据,图结构数据中的节点可以是用户的社交账号,节点之间的边可以代表账号之间的社交关系(例如,关注/被关注关系)。节点的信息大致包括以下三种:1)社交账号的元数据,比如账号的关注人数、被关注人数、账号创建时间等;2)社交账号的文本信息,比如账号的简介信息、账号发布的文本内容信息等;3)社交账号的图像、视频、音频信息,比如账号的头像、发布的视频歌曲等信息。节点的特征可以通过对上述三种信息中的部分或全部进行分别提取后组合得到。
另外还可以考虑金融交易网络中的欺诈检测实例,图结构数据的构建过程如下:金融账户可以视为节点,不同账户之间的交易转账行为构成了账户之间的联系也即边,具体来说例如账户A和账户B之间存在转账行为,则可以用一条边将两个金融账户对应的节点联系起来。节点的初始特征可以通过对应账户的相关信息提取得到,比如账户的开户时间、开户人的个人信息、账户额度、账户的信用评级等等。
在完成了图的构建和节点初始特征的提取后,我们就可以使用经过设计的图神经网络对可疑的节点(根据具体的应用场景可以是不同的实体)进行检测与分类。除了上述提到的应用场景,本发明潜在的应用场景还包括垃圾电子邮件检测、医疗保险欺诈检测等。
本发明实施例中,图结构数据是指包含待分类的目标节点的图结构数据。
步骤2、对于待分类的目标节点集合,按照设定的固定阶数以每一目标节点为中心在所述图结构数据中抽取相应固定阶数的邻居节点构建子图,形成待分类的目标节点集合对应的初始子图集合。
本发明实施例中,将图结构数据中待分类的目标节点集合记为每一个vi′表示一个待分类的目标节点,下标为节点序号,i∈{1′,2′,…,c′},则共有c′个待分类的目标节点。按照设定的固定阶数,抽取每一目标节点的邻居节点,构建子图,得到初始子图集合其中,每一个表示一个子图,下标为子图序号,子图序号与节点序号一一对应,例如,为待分类的目标节点vi′对应的子图。
步骤3、利用强化学习方法结合初始子图集合,在状态空间中搜索最优策略,获得每一目标节点对应的最优阶数与图神经网络的最优层数,所述状态空间中的每一状态均利用单个子图中所有节点特征确定。
本发明实施例中,利用初始子图集合中所有子图的初始表示向量作为输入,使用强化学习方法训练智能体来获得最优决策,也即确定目标节点对应的最优子图阶数与图神经网络的最优层数。
训练过程如下:初始时间步长时随机选择一个子图,以其初始表示向量作为初始时间步长时的状态,之后,均由上一时间步长对应子图与其他子图的连接关系计算转移概率,按照转移概率确定下一时间步长时对应子图,并以对应子图的初始的子图表示向量作为下一时间步长的状态。当前时间步长的状态下,从动作空间选择不同动作,通过执行不同动作后获得相应的奖励反馈(环境反馈)并计算对应状态动作值,再结合策略函数选出最终动作,结合当前时间步长的状态、最终动作、奖励值与下一时间步长的状态形成当前时间步长的记录数据;使用多个时间步长的记录数据训练所述智能体,直至收敛,完成智能体的训练;其中,每一动作包含用于选择阶数值的子动作,以及用于选择图神经网络的层数值的子动作;同时,每个时间步中,基于最终动作确定相应的阶数与层数,并在图结构数据中以相应时间步对应的目标节点为中心抽取相应阶数的新的子图,再将新的子图和对应的层数存入缓存中,利用新的子图对相应层数的图神经网络进行训练,并应用于后续奖励反馈计算过程中。具体地:
下一时间步长的状态确定方式为:对于当前时间步长t,根据每一其他子图与当前时间步长t对应子图存在的连接数目(即边数目)占当前时间步长t对应子图与外部节点存在的连接数目占比作为转移概率Pi,再根据转移概率Pi从所有其他子图中选择一个子图,并将选择的子图的初始的子图表示向量作为下一时间步长t+1中的状态st+1。
最终动作选择方式为:当前时间步长t中的每一动作at由二元子动作组成,通过执行第一个子动作获得阶数的值,通过执行第二个子动作获得图神经网络的层数的值,从给定的动作空间中选择不同的子动作与子动作在当前时间步长的状态下分别执行后,根据当前时间步长t对应子图的分类准确率确定每一动作的奖励反馈,并结合给定的下一时间步长t+1至最大时间步长T的累积状态动作值,确定当前时间步长t下执行每一动作后获得的状态动作值,通过策略函数判断当前时间步长t是否满足设定条件,若满足,则随机选择一个动作作为当前时间步长t的最终动作,若不满足,则选择最大状态动作值对应的动作作为当前时间步长t的最终动作。
步骤4、对于每一目标节点,按照对应的最优阶数以相应目标节点为中心在所述图结构数据中抽取相应最优阶数的邻居节点构建最优子图,并利用通过训练的相应最优层数的图神经网络,获得描述最优子图特征的向量表示,并进行分类,获得每一目标节点的类别。
本发明实施例中,通过图池化处理可以直接获得描述子图特征的向量表示。具体的:对于每个最优子图,将其包含的所有的节点特征输入至所述最优层数的图神经网络,将所有的节点特征汇聚为一个特征向量,作为最优子图特征的向量表示(嵌入向量表示),其中,第i个目标节点对应最优子图特征的向量表示描述为:
其中L为图神经网络最后一层,也即第i个目标节点对应的最优层数,zi表示第i个目标节点对应的最优子图特征的向量表示,表示第L层图神经网络得到的第i个目标节点对应的最优子图中第j个节点的特征向量表示,n为第i个目标节点对应的最优子图中的节点数目,R(.)为读出操作,例如,可以是max,sum,mean操作,也即对最优子图中所有节点的特征向量求最大值/求和/求均值。
本发明实施例中,图神经网络采用如下损失函数进行训练:
其中,表示带标签的训练节点集合,第一项(即-log(yτ·σ(MLP(zτ))))是交叉熵损失函数,第二项(即||Θ||2)为图神经网络参数Θ的L2范数,yτ表示给定的第τ个节点的标签,zτ表示第τ个节点对应的子图特征的向量表示(按照前述图池化处理方式获得),λ为权重参数,MLP为多层感知机,σ为归一化函数(例如softmax函数)。
本发明实施例中,图神经网络可以使用预留的一部分带标签的节点的数据进行训练,具体来说是通过对这些节点提取子图、学习表征后进行分类来训练,训练时,提取节点子图时所使用的阶数可以由用户根据需要或者经验进行设定,因为无论是多少阶邻居节点的子图最后通过图神经网络学习到的表征仍然是一个向量。
下面以一个应用场景为例进行介绍。如之前所述,当执行金融交易网络中的欺诈检测任务时,图结构数据中的目标节点分类方法可以看作潜在的欺诈账户检测方法,前述步骤1中获取金融交易网络中的账户信息以及账户之间的交易数据,并将金融账户作为节点,节点的属性特征可以从金融账户的相关信息中进行提取,金融账户之间的交易行为构成节点之间的边,从而形成图结构数据,它是一种同质属性图;然后,通过前述步骤2形成待分类的目标节点集合对应的初始子图集合;之后,通过前述步骤3获得每一目标节点对应的最优阶数与图神经网络的最优层数;最后,通过前述步骤4对每一个目标账户进行分类,分类结果为正常账户或欺诈账户,由此可以根据分类结果确定欺诈账户。
为了更加清晰地展现出本发明所提供的技术方案及所产生的技术效果,下面以具体实施例对本发明实施例所提供的一种图结构数据中的目标节点分类方法进行详细描述。
一、问题定义。
对于给定的无向图其中是节点集合,ε=(e1,e2,…,eM)边集合,是图中节点的特征矩阵,即每个节点都有一个d维的特征向量,为实数集符号。给定一组目标节点的集合共c′个节点,目标是为这c′个节点分别预测对应的标签其中 为节点标签的集合,表示标签集合,其中的yi表示第i种标签,p为标签种类的总数。
二、初始子图嵌入。
对于目标节点集合初始化阶段为其中的每个节点选取预先设定的固定阶数的邻居节点,比如可以设定阶数为1,也即选取目标节点的一阶邻居用于构建子图。通过对以目标节点集合V中的节点为中心节点,抽取预先设定的固定阶数邻居节点构建子图,可以得到一组初始的子图对于获取子图对应的初始向量表示:
三、基于强化学习的最优阶数和网络层数搜索。
为了对前述第二部分得到的子图集合进行分类,需要设计合适的图神经网络结构,以目前综合表现最好的一些图神经网络结构作为基准模型,包括图卷积神经网络(GCN)、图注意力神经网络(GAT)和对邻居节点进行采样聚合的网络模型(GraphSAGE)等,在具体应用时可以根据应用场景中图结构的特点来进行选择,例如当图的规模较小,特征信息不太丰富时可以使用GCN作为基准模型;当图的规模不太大,特征信息比较丰富时可以使用GAT作为基准模型;当图的规模比较大时,可以使用GraphSAGE作为基准模型。为了达到上述目的,有两个关键参数需要确定,一个是用于构建最优子图时选取的最优阶数k,初始阶段预先设定了阶数值(也即是前述第二部分提及的固定阶数的数值),但对于具体的任务阶数的值未必是最优的;另一个是具体的图神经网络的层数,通过堆叠最优的图神经网络层数L来实现更好的分类效果,k和L的选取通过强化学习方法来确定。通过将前述第二部分得到的子图的初始向量表示输入到强化学习方法中,然后,通过在给定的搜索空间获取最优的k的策略π1和获取最优的网络层数L的策略π2。其中,搜索空间主要指的是构建子图时对目标节点进行采样的邻居阶数以及构建图神经网络的层数,例如,预先设置邻居阶数的范围为[1,2],图神经网络的层数为[1,3],当然具体的范围数值可根据实际情况进行设置。
上述学习最优策略π1和π2的过程可以形式化地描述为一个马尔可夫决策过程(MDP):
动作空间(ActionSpace):在时间步长t的动作由二元子动作组成:强化学习的智能体(Agent)执行动作以获得邻居阶数的值,执行动作以获得图神经网络的层数的值。因此MDP的整体序列可以被描述为也即从初始状态开始,Agent每执行一个动作就会获得一个奖励反馈,然后发生状态转移过渡到下一个状态。为了产生这个序列,Agent将根据由动作提取的子图和目标节点k跳内的节点有关的其他子图之间的连接数来形成概率分布P,并且根据P进行到下一个状态st+1的状态转变,具体为对于当前时间步t,根据每一其他子图与当前时间步t对应子图存在的连接数目(即边数目)占当前时间步t对应子图与外部节点存在的连接数目占比作为转移概率Pi,再根据转移概率Pi从所有其他子图中选择一个子图,并将选择的子图的初始的子图表示向量作为下一时间步t+1中的状态st+1。
奖励函数(Reward Function):通过判断模型是否可以达到更好的精度来确定在时间步长t的子图的表示向量是否足够好,为此首先定义了精度提高的度量标准:
其中,b为大于1的整数,它是体现了比较中涉及的历史时间步的窗口大小的超参数;表示在状态st下执行动作at后,结合获得的阶数的值与图神经网络的层数的值对带标签的验证节点集合中的节点进行分类的准确率,表示在状态st下执行动作at后获得的奖励反馈,是在时间步长i的验证集上的节点分类的准确率,表示最近的b个时间步内的平均准确率。直观地来说,训练的策略是寻找一个正向递增的来确保分类准确率的不断提高。
状态终止(Termination):通过无模型(model-free)的深度强化学习来求解MDP问题(即求解最优阶数和最优层数),基本的思想是通过探索来学习采取最优行动。由于目标节点的数量有限,一旦Agent为每个目标做出决策后,当前回合结束。主要使用DQN算法来减少搜索空间的状态数,更具体地说,DQN近似符合贝尔曼最优性方程(Bellman optimalityequation)的状态-动作值:
其中,at与a′均表示动作;表示动作值函数,表示当前时间步长t对应的状态st下执行动作at后的状态动作值,γ表示未来累积回报的折扣因子,中的动作a′表示取使得动作值函数达到最大值时的动作,为一个整体,涵盖了下一时间步t+1至最大时间步T的累积状态动作值。
简单来说,在进行动作决策时,以贪婪策略的参数∈(∈是一个很小的正数,由用户根据实际情况进行设定)的概率选择随机动作(随机生成的随机值小于∈时,选择随机动作)并作为最终动作,以1-∈的概率选择使得状态st下的动作值函数最大的动作,贪婪策略可以使得算法能够较好地平衡“探索”和“利用”之间的关系。
基于上述介绍,训练阶段,当前时间步长t时,每一动作执行后,都使用前述公式计算出奖励反馈,再通过计算状态动作值,最后通过策略函数π决策出最终动作at,形成当前时间步t的记录不断迭代并获得各时间步的记录,利用所有记录训练训练智能体,优化智能体的网络参数,直至收敛(当训练到指定epoch数目,且测试准确率达到峰值);训练完毕后即获得每一目标节点对应的最优邻居阶数与图神经网络的最优层数。同时,每个时间步长内,基于最终动作确定相应的阶数与层数,并在图结构数据中以相应时间步对应的目标节点为中心抽取相应阶数的新的子图,再将新的子图和对应的层数存入缓存中,当缓存中的数据量达到设定阈值时,使用缓存的子图训练相应层数的图神经网络,训练完毕后,清除相应层数的图神经网络对应的缓存,此处训练的图神经网络进行训练将应用于后续奖励反馈计算过程中。
由于为每个待分类的目标节点独立构建图神经网络模型将大大增加训练参数的数量,从而导致训练时间大幅增加,为了解决以上问题本发明采用了参数共享和嵌入缓存机制。其中:1)参数共享机制包括:初始化模型阶段确定一个层数为Lmax的基础图神经网络,然后根据Agent在每个时间步长的输出按照顺序重复地从基础图神经网络模型中提取指定的层来构建对应层数的图神经网络模型,从而避免了由额外参数引起的训练成本增加。例如,初始化一个层数为5层(Lmax=5)基础图神经网络,然后根据智能体的动作给出的层数按照顺序从基础图神经网络里取出若干层,如果智能体给出的动作是取3层,则从基础图神经网络里取前3层,但是需要保证每个目标节点对应的最优层数不超过Lmax。2)嵌入缓存机制包括:将新的子图的初始向量表示(也即新的子图中所有节点特征构成的集合)作为一个批次(batch)数据进行缓存,在每个时间步长中执行以减少不必要的嵌入传递操作。当缓存的批数据数量到达预设的批大小(batch size)时,将利用执行第二个子动作获得的层数和采用缓存嵌入来触发模型重构建与训练。一旦图神经网络训练结束就清理缓存空间,以确保缓存可以在后期重新填充。
智能体的训练和图神经网络的训练的关系可以理解为:在有标签的训练节点集上对图神经网络进行训练,然后在有标签的验证节点集上计算图神经网络分类的准确率ACC用于得到奖励反馈,从而指导智能体的训练,而智能体给出的动作有可能会调整图神经网络的层数,导致图神经网络模型的重构建与训练。
四、图池化与分类。
通过前述第三部分可以搜索到用于获取每一目标节点子图嵌入的最优阶数k和最优层数L,之后可以对目标节点构建最优的子图结构并设计最优的图神经网络结构用于分类。但是,在此之前需要对最优子图做图池化处理,与之后得到的用子图内节点的特征向量的集合作为子图的向量表示相比,经过图池化处理后直接获得了描述最优子图特征的向量表示。
图池化处理的具体做法是将最优子图内节点的特征向量表示汇聚成一个超级节点的特征向量,用于对最优子图进行特征向量表示,第i个目标节点对应最优子图特征的向量表示描述为:
其中,zi表示第i个目标节点对应的最优子图特征的向量表示,表示第L层(即第i个目标节点对应的最优层数)图神经网络得到的第i个目标节点对应的最优子图中第j个节点的特征向量表示,n为第i个目标节点对应的最优子图中节点数目,R(.)为读出操作(READOUT操作),例如,可以是max,sum,mean操作,也即对最优子图中所有节点的特征向量求最大值/求和/求均值。
本发明实施例中,对得到的最优子图特征的向量表示直接进行分类,分类结果即为最优子图特征对应目标节点的分类结果。
当然,图神经网络需要进行训练,训练时的损失函数表示为:
其中,表示带标签的训练节点集合,第一项表示交叉熵损失函数,||Θ||2是图神经网络模型参数的L2范数,zτ表示第τ个节点对应的子图特征的向量表示(按照前述图池化处理方式获得),λ是权重参数,MLP是多层感知机,可以将最终的嵌入向量表示zi的维度降低到分类的类别数,从而达到分类的目的。
本发明实施例中,不同目标节点对应的最优层数相同时,使用的是同一个图神经网络,每一个最优层数的图神经网络都使用上述损失函数进行训练;为了提升训练效率,训练时,按照最优层数由低至高的顺序训练每一个图神经网络,先针对最优层数最低的图神经网络进行训练,在训练后的最优层数最低的图神经网络的基础上,训练最优层数次低的图神经网络,直至完成所有图神经网络的训练。
如图2所示,展示了本发明提供的图结构数据中的目标节点分类方法的模型结构示意图;从左至右包含三个较大的虚线框,最左侧虚线框提供了一个图结构数据的示例,最左侧虚线框使用不同填充图案区分不同阶数的邻居以及其他节点;中间虚线框提供了用于实现前述第三部分方案的整体架构,上半部分用于搜索图神经网络的最优层数(强化学习搜索GNN架构模块),下半部分用于搜索子图的最优阶数(强化学习构建子图模块);最右侧虚线框中,从左至右依次展示了强化学习的过程、图池化与分类过程,考虑到篇幅问题,且强化学习的过程部分已经定义了不同阶数的子图,因此,未对不同阶数的邻居节点进行填充。
图3展示了本发明以上方法的基本流程,其中:对目标节点提取出子图,获得向量表示对应于前述第二部分;基于强化学习算法更新子图提取策略、通过强化学习设计GNN结构对子图分类、子图提取策略和GNN设计策略是否最优这个三部分对应于前述第三部分;输出子图提取方法和GNN设计方法对应于前述第四部分。
本发明实施例提供的以上方案,整体可以描述为,如下表1所示流程。
表1:本发明整体流程描述
(3)在每轮训练过程中,通过贪婪策略选择一个动作(即通过策略函数选出的最终动作)对来获得邻居阶数和图神经网络的层数l,然后基于获得的邻居阶数重新提取选定的目标节点的新的子图并将和通过获得的l保存到缓存中。当中的数量达到预设的阈值BD时,堆叠l层图神经网络模型,并使用批处理方法通过优化前文定义中的损失函数来训练堆叠后的图神经网络模型,训练完毕后从清除关于的缓存。然后通过计算奖励函数获得奖励反馈,并根据动作提取的子图和目标节点k阶内的节点有关的其他子图之间的连接数形成的概率分布P来选择下一个子图,然后将 保存到 保存到中。最后通过公式(3)来优化策略π1,π2。
(5)在训练完毕后,使用获取的最优策略导出的每一目标节点对应的最优阶数k和最优层数L,重新训练各个最优层数的图神经网络;每一目标节点对应最优阶数的子图经图池化处理后,输入至训练后的对应的最优层数的图神经网络进行分类。
本发明实施例提供的上述方案中,通过将对目标节点的分类任务转化为对以目标节点为中心构建的子图的分类,针对子图分类任务,使用设计的图神经网络模型来完成,子图的构建和图神经网络模型架构的设计通过强化学习方法来确定。其主要具有如下优点:1)在对目标节点进行分类时充分地利用了节点的特征信息和图的部分结构信息,从而有利于提升节点分类准确率。2)基于强化学习算法设计用于分类的图神经网络结构,不需要大量的先验知识,大大减少了设计模型的工作量,并且还可以保证节点分类准确率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例二
本发明还提供一种图结构数据中的目标节点分类***,其主要基于前述实施例提供的方法实现,如图4所示,该***主要包括:
数据获取单元,用于获取包含节点集与边集构成的图结构数据;
子图初始化单元,用于对于待分类的目标节点集合,按照设定的固定阶数以每一目标节点为中心在所述图结构数据中抽取相应固定阶数的邻居节点构建子图,形成待分类的目标节点集合对应的初始子图集合;
最优策略搜索单元,用于利用强化学习方法结合初始子图集合,在状态空间中搜索最优策略,获得每一目标节点对应的最优阶数与图神经网络的最优层数,所述状态空间中的每一状态均利用单个子图中所有节点特征确定;
节点分类单元,用于对于每一目标节点,按照对应的最优阶数以相应目标节点为中心在所述图结构数据中抽取相应最优阶数的邻居节点构建最优子图,并利用通过训练的相应最优层数的图神经网络,获得描述最优子图特征的向量表示,并进行分类,获得每一目标节点的类别。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将***的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
实施例三
本发明还提供一种处理设备,如图5所示,其主要包括:一个或多个处理器;存储器,用于存储一个或多个程序;其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述实施例提供的方法。
进一步的,所述处理设备还包括至少一个输入设备与至少一个输出设备;在所述处理设备中,处理器、存储器、输入设备、输出设备之间通过总线连接。
本发明实施例中,所述存储器、输入设备与输出设备的具体类型不做限定;例如:
输入设备可以为触摸屏、图像采集设备、物理按键或者鼠标等;
输出设备可以为显示终端;
存储器可以为随机存取存储器(Random Access Memory,RAM),也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。
实施例四
本发明还提供一种可读存储介质,存储有计算机程序,当计算机程序被处理器执行时实现前述实施例提供的方法。
本发明实施例中可读存储介质作为计算机可读存储介质,可以设置于前述处理设备中,例如,作为处理设备中的存储器。此外,所述可读存储介质也可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种图结构数据中的目标节点分类方法,其特征在于,包括:
获取包含节点集与边集构成的图结构数据;
对于待分类的目标节点集合,按照设定的固定阶数以每一目标节点为中心在所述图结构数据中抽取相应固定阶数的邻居节点构建子图,形成待分类的目标节点集合对应的初始子图集合;
利用强化学习方法结合初始子图集合,在状态空间中搜索最优策略,获得每一目标节点对应的最优阶数与图神经网络的最优层数,所述状态空间中的每一状态均利用单个子图中所有节点特征确定;
对于每一目标节点,按照对应的最优阶数以相应目标节点为中心在所述图结构数据中抽取相应最优阶数的邻居节点构建最优子图,并利用通过训练的相应最优层数的图神经网络,获得描述最优子图特征的向量表示,并进行分类,获得每一目标节点的类别。
2.根据权利要求1所述的一种图结构数据中的目标节点分类方法,其特征在于,所述图结构数据中每一节点特征均为根据节点信息提取的特征向量,所述节点信息包括:节点的文本信息和/或图像信息。
3.根据权利要求1所述的一种图结构数据中的目标节点分类方法,其特征在于,所述利用强化学习方法结合初始子图集合,在状态空间中搜索最优策略,获得对应的最优阶数与图神经网络的最优层数包括:
利用初始子图集合中所有子图的初始表示向量作为输入,使用强化学习方法训练智能体以获得最优决策,也即确定目标节点对应的最优子图阶数与图神经网络的最优层数;
训练过程如下:初始时间步长时随机选择一个子图,以其初始表示向量作为初始时间步长时的状态,之后,均由上一时间步长对应子图与其他子图的连接关系计算转移概率,按照转移概率确定下一时间步长时对应子图,并以对应子图的初始的子图表示向量作为下一时间步长的状态;当前时间步长的状态下,从动作空间选择不同动作,通过执行不同动作后获得相应的奖励反馈并计算对应状态动作值,再结合策略函数选出最终动作,结合当前时间步长的状态、最终动作、奖励值与下一时间步长的状态形成当前时间步长的记录数据;使用多个时间步长的记录数据训练所述智能体,直至收敛,完成智能体的训练;其中,每一动作包含用于选择阶数值的子动作,以及用于选择图神经网络的层数值的子动作;同时,每个时间步中,基于最终动作确定相应的阶数与层数,并在图结构数据中以相应时间步对应的目标节点为中心抽取相应阶数的新的子图,再将新的子图和对应的层数存入缓存中,利用新的子图对相应层数的图神经网络进行训练,并应用于后续奖励反馈计算过程中。
4.根据权利要求3所述的一种图结构数据中的目标节点分类方法,其特征在于,最终动作选择方式为:
5.根据权利要求3所述的一种图结构数据中的目标节点分类方法,其特征在于,执行强化学习方法的过程中采用了参数共享和嵌入缓存机制;其中:
参数共享机制包括:初始化模型阶段确定一个层数为Lmax的基础图神经网络,根据智能体在每个时间步长的输出按照顺序重复地从基础图神经网络模型中提取指定的层来构建对应层数的图神经网络模型;其中,每个目标节点对应的最优层数不超过Lmax;
嵌入缓存机制包括:将新的子图的向量表示作为一个批数据进行缓存,当缓存的批数据数量到达预设的批大小时,利用相应的层数与相应的新的子图的向量表示触发图神经网络的重建与训练,训练完毕后,清理缓存空间;所述新的子图的向量表示为新的子图中所有节点特征构成的集合。
8.一种图结构数据中的目标节点分类***,其特征在于,基于权利要求1~7任一项所述的方法实现,该***包括:
数据获取单元,用于获取包含节点集与边集构成的图结构数据;
子图初始化单元,用于对于待分类的目标节点集合,按照设定的固定阶数以每一目标节点为中心在所述图结构数据中抽取相应固定阶数的邻居节点构建子图,形成待分类的目标节点集合对应的初始子图集合;
最优策略搜索单元,用于利用强化学习方法结合初始子图集合,在状态空间中搜索最优策略,获得每一目标节点对应的最优阶数与图神经网络的最优层数,所述状态空间中的每一状态均利用单个子图中所有节点特征确定;
节点分类单元,用于对于每一目标节点,按照对应的最优阶数以相应目标节点为中心在所述图结构数据中抽取相应最优阶数的邻居节点构建最优子图,并利用通过训练的相应最优层数的图神经网络,获得描述最优子图特征的向量表示,并进行分类,获得每一目标节点的类别。
9.一种处理设备,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个程序;
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1~7任一项所述的方法。
10.一种可读存储介质,存储有计算机程序,其特征在于,当计算机程序被处理器执行时实现如权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211509472.0A CN115718826A (zh) | 2022-11-29 | 2022-11-29 | 图结构数据中的目标节点分类方法、***、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211509472.0A CN115718826A (zh) | 2022-11-29 | 2022-11-29 | 图结构数据中的目标节点分类方法、***、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115718826A true CN115718826A (zh) | 2023-02-28 |
Family
ID=85257048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211509472.0A Pending CN115718826A (zh) | 2022-11-29 | 2022-11-29 | 图结构数据中的目标节点分类方法、***、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115718826A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115984633A (zh) * | 2023-03-20 | 2023-04-18 | 南昌大学 | 门级电路组件识别方法、***、存储介质及设备 |
CN116821452A (zh) * | 2023-08-28 | 2023-09-29 | 南京邮电大学 | 一种图节点分类模型训练方法、图节点分类方法 |
CN117994007A (zh) * | 2024-04-03 | 2024-05-07 | 山东科技大学 | 一种基于多视图融合异质图神经网络的社交推荐方法 |
-
2022
- 2022-11-29 CN CN202211509472.0A patent/CN115718826A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115984633A (zh) * | 2023-03-20 | 2023-04-18 | 南昌大学 | 门级电路组件识别方法、***、存储介质及设备 |
CN116821452A (zh) * | 2023-08-28 | 2023-09-29 | 南京邮电大学 | 一种图节点分类模型训练方法、图节点分类方法 |
CN116821452B (zh) * | 2023-08-28 | 2023-11-14 | 南京邮电大学 | 一种图节点分类模型训练方法、图节点分类方法 |
CN117994007A (zh) * | 2024-04-03 | 2024-05-07 | 山东科技大学 | 一种基于多视图融合异质图神经网络的社交推荐方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及*** | |
CN113255895B (zh) | 基于图神经网络表示学习的结构图对齐方法和多图联合数据挖掘方法 | |
CN115718826A (zh) | 图结构数据中的目标节点分类方法、***、设备及介质 | |
CN112633426B (zh) | 处理数据类别不均衡的方法、装置、电子设备及存储介质 | |
Marović et al. | Automatic movie ratings prediction using machine learning | |
Chen et al. | Generative inverse deep reinforcement learning for online recommendation | |
CN113761359B (zh) | 数据包推荐方法、装置、电子设备和存储介质 | |
CN113780584A (zh) | 标签预测方法、设备、存储介质及程序产品 | |
CN117391247A (zh) | 一种基于深度学习的企业风险等级预测方法及*** | |
WO2023024408A1 (zh) | 用户特征向量确定方法、相关设备及介质 | |
US20230326185A1 (en) | Object recognition method and apparatus, device, and storage medium | |
CN116993513A (zh) | 金融风控模型解释方法、装置及计算机设备 | |
CN116467466A (zh) | 基于知识图谱的编码推荐方法、装置、设备及介质 | |
CN111523604A (zh) | 一种用户分类的方法和相关装置 | |
CN112270334A (zh) | 一种基于异常点暴露的少样本图像分类方法及*** | |
CN115730248A (zh) | 一种机器账号检测方法、***、设备及存储介质 | |
CN116361643A (zh) | 实现对象推荐的模型训练方法及对象推荐方法及相关装置 | |
CN115310004A (zh) | 融合项目时序关系的图神经协同过滤推荐方法 | |
CN112463964B (zh) | 文本分类及模型训练方法、装置、设备及存储介质 | |
CN114529191A (zh) | 用于风险识别的方法和装置 | |
CN113822412A (zh) | 一种图节点标注方法、装置、设备及存储介质 | |
CN115496174A (zh) | 优化网络表示学习的方法、模型训练方法和*** | |
CN117009883B (zh) | 对象分类模型构建方法、对象分类方法、装置和设备 | |
Li et al. | Corporate investment prediction using a weighted temporal graph neural network | |
CN117786234B (zh) | 一种基于两阶段对比学习的多模态资源推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |