本发明涉及机器学习和深度学习,尤其涉及一种基于同配性增强的图神经网络方法。
背景技术:
1、研究表明,图神经网络(graph neural networks,gnn)容易受到噪声和对抗性攻击,即对图的节点属性和图结构的微妙扰动会严重影响图神经网络的性能,尤其会对图中低度节点的预测结果造成巨大影响。gnn的基本思想是通过聚合节点的邻居信息来更新节点的特征表示,进而得到最终的预测结果。一般来说,gnn在具有相似特征的数据集或包含类标签的节点之间有连接趋势的数据集上表现良好,将节点趋于与其相似节点连接的性质称为同配性,将具有同配性的节点所构成的数据集称为同配性数据集。
2、同配性数据集在图神经网络的研究中占主导地位,在同配性数据集上,有效的结构性攻击会导致图的同配性降低,异配性增加。这是由于传统gnn利用迭代的gnn传递消息,即图中节点表示是通过迭代聚合的邻居信息生成的,此时图中的小扰动会被传播到邻域进一步影响更大范围内的节点表示。由于低度节点的邻居少,所以低度节点受该扰动的影响更大,进而极大地降低了图神经网络模型在下游任务中的表现,影响模型的泛化性能。故传统gnn缺乏稳健性和鲁棒性的问题已经成为许多现实世界场景应用中的关键问题之一。
3、在现有的图神经网络模型中,一种参数化的拓扑去噪网络ptdnet通过学习删除与任务无关的边来提高图神经网络的鲁棒性和泛化性能。ptdnet通过参数化网络惩罚稀疏图中与任务无关的边的数量来修剪。考虑到整个图的拓扑结构,采用核范数正则化来对生成的稀疏图施加低秩约束,将ptdnet与基本网络结构图卷积网络(graph convolutionalnetworks,gcn)相结合得到的ptdnet-gcn图神经网络模型架构在节点分类任务上得到了更好的结果,并且提高了神经网络的鲁棒性。但由于现实中的图数据存在大量低度节点,若只对图进行边的删除,可能会产生更多的低度节点,这些低度节点在神经网络中无法聚集到充分的邻居节点信息,会对下游任务的完成造成影响。
4、此外还有一种数据增强框架可以提高图神经网络的泛化性能,即图神经网络的局部增强(local augmentation graph neural networks,la-gnn)。该框架包括一个预训练步骤,通过生成模型学习给定中心节点的一阶邻居节点特征的条件分布,利用该分布生成与该中心节点相关的特征向量,作为每次训练迭代的附加输入,通过生成更多节点特征,将数据增强框架la-gnn与gcn相结合得到的la-gcn图神经网络模型能够提高节点分类任务上的准确性,增强神经网络的泛化性能。但如果图中存在大量“噪声”边,则会对模型学习到的分布会产生影响,导致模型生成的特征有效信息降低。
5、当前主流的图对抗性攻击对图结构进行修改的特点为:发现图攻击倾向于插入边而不是删除边,插入的边通常会连接不同类别的节点,还会尽量避免修改高度数节点,而且近期研究显示图结构扰动比特征扰动会带来更大的性能损伤。
技术实现思路
1、针对上述现有技术的不足,本发明通过对图神经网络攻击中会对性能造成损伤的因素来进行相关鲁棒性设计,提出了一种基于同配性增强的图神经网络方法,增强图的同配性以提高图神经网络的鲁棒性和泛化能力,提高下游任务的准确性。
2、本发明提出的一种基于同配性增强的图神经网络方法,该方法包括如下步骤:
3、步骤1:获取原始图的图数据,计算图数据中各节点的度并选取脆弱节点,再从脆弱节点中选取需要删除边的节点;
4、步骤2:根据需要删除边的节点选定原始图中需要删除的边,构建增强后的同配图;
5、步骤3:利用增强后的同配图训练条件变分自编码器,得到训练好的条件变分自编码器;
6、步骤4:利用训练好的条件变分自编码器生成增广特征矩阵,并利用有监督损失函数计算预测结果;
7、步骤5:根据预测结果计算监督分类损失和一致性正则化损失;
8、步骤6:采用梯度下降更新训练好的条件变分自编码器中的生成参数,并重新返回步骤4直至生成参数收敛为止,计算每次迭代过程中的监督分类损失、一致性正则化损失或分类精度;
9、步骤7:选择符合监督分类损失最小、一致性正则化损失最小或验证精度最高要求的增广特征矩阵,并利用级联的卷积层确定特征表示矩阵;
10、步骤8:将特征表示矩阵输入残差网络,得到最终的预测结果,完成节点的分类;
11、所述步骤1进一步包括:
12、步骤1.1:获取原始图的图数据,并将该图数据转换为特征矩阵和邻接矩阵;
13、步骤1.2:根据邻接矩阵计算图数据中各节点的度,进而计算图数据中节点的平均度;
14、步骤1.3:选取度小于图数据中节点的平均度的节点作为脆弱节点,根据特征矩阵计算脆弱节点的同配性分数;
15、步骤1.4:将同配性分数小于阈值的脆弱节点作为需要删除边的节点;
16、步骤1.3中所述同配性分数的计算公式为:
17、(1)
18、(2)
19、其中表示当前节点的同配性分数;为当前节点邻域的综合度量;是当前节点的特征向量;表示相似性度量;表示当前节点的度数;表示有当前节点的所有邻居节点构成的集合;表示当前节点的一个邻居节点;表示邻居节点的度数;表示邻居节点的特征向量;
20、所述步骤2进一步包括:
21、步骤2.1:计算需要删除边的节点与该节点的二跳邻居之间的同配性分数;
22、步骤2.2:将需要删除边的节点与该节点的二跳邻居之间的同配性分数与阈值进行比较,删除原始图中连接同配性分数小于阈值的需要删除边的节点与该节点的二跳邻居的边,得到新的邻居矩阵;
23、步骤2.3:利用新的邻居矩阵和特征矩阵构建增强后的同配图;
24、步骤3中所述利用增强后的同配图训练条件变分自动编码器的过程为:假设增强后的同配图的潜在变量符合先验分布,且满足时,其中表示当前节点的潜在变量,图中当前节点的邻居节点的特征向量符合生成分布,其中代表生成参数;基于上述条件,利用证据下界预训练条件变分自编码器模型;
25、所述利用证据下界预训练条件变分自编码器模型的公式为:
26、(4)
27、其中表示证据下界;表示变分参数;表示 kl散度计算公式;是当前节点的邻居节点的数量;表示当前节点的第个邻居节点;表示条件变分自编码器的编码过程;表示条件变分自编码器的解码过程;表示当前节点的第个邻居节点的潜在变量,且,其中表示变分函数;表示正态分布,且有,其中表示单位矩阵;
28、所述步骤4中进一步包括:
29、步骤4.1:将特征矩阵和新的邻接矩阵输入训练好的条件变分自编码器中,共得到个增广特征矩阵,其中表示生成的第个增广特征矩阵;
30、步骤4.2:根据新的邻接矩阵、特征矩阵、增广特征矩阵和生成参数,采用有监督损失函数计算预测结果;
31、步骤7中所述利用级联的卷积层确定特征表示矩阵的方法为:将特征矩阵和选择的增广特征矩阵输入级联的卷积层,确定特征表示矩阵;其中特征表示矩阵的计算公式为:
32、(9)
33、其中表示卷积层的激活函数;,其中;是的度矩阵;表示两个矩阵在矩阵列维度的并集;和分别为将卷积层参数矩阵按列划分得到的两个参数矩阵。
34、采用上述技术方案所产生的有益效果在于:
35、(1)增强同配性:本发明方法提出了一种同配性增强策略,该策略通过同配性分数的计算来判断原始图的当前节点与其邻居节点之间的相似程度,然后选择需要增强同配性的节点,再通过计算节点与由边相连的邻居节点之间相似程度,删减掉同配程度小的边来提高节点同配性。提高同配性后,可以使节点通过神经网络聚合更多相似信息提高神经网络的准确性。
36、(2)保护脆弱节点:本发明方法通过删减边会得到大量度数很小的节点,这些节点非常脆弱,聚合邻居的信息较少,易受攻击。所以将该节点输入条件变分自编码器来学习该节点的邻居条件分布,并由此得到新的邻居特征,以增加其邻居聚合信息,使图神经网络模型更加鲁棒。
37、(3)神经网络训练阶段:在完成图的同配性增强后,需要将增强后的图数据输入神经网络进行训练。但随着神经网络层数的增加,图神经网络会面临性能退化的问题。为了防止此类问题对下游任务造成影响,本方明方法选择使用基于直接映射来连接网络不同层的思想的残差网络结构,使神经网络保证随着层数的增加,其中包含的信息也在增加,使节点能够聚合更多有益信息,提高下游任务的准确度。