查看原文
其他

SFFAI分享 | 朱时超:图平滑样条神经网络【附PPT与视频资料】

朱时超 人工智能前沿讲习 2022-05-21


近年来,人们对深度学习方法在图上的扩展越来越感兴趣。图神经网络(Graph Neural Networks,GNN)就是一种借鉴了卷积网络、循环网络和深度自动编码器的思想,用于处理图数据的神经网络结构。目前这个领域的主要挑战是找到一种方法来表示或者编码图的结构,以便机器学习模型能够轻松利用它们,这就是图表示学习。而图表示学习依然存在部分缺陷,《SFFAI67期-图表示学习专题》我们邀请到了来自信工所的朱时超同学,为我们分享她在解决这些缺陷时提出的新框架——图平滑样条神经网络。

关注文章公众号

对话框回复"SFFAI67"

入交流群/推荐论文下载/录播视频观看/讲者PPT下载


作者介绍


朱时超,中国科学院信息工程研究所,主要研究方向为图神经网络、异质图表示学习,目前已在AAAI与ICDM等会议上发表论文。

朱时超


朱时超,分享发表在AAAI 2020的工作:图平滑样条神经网络。

本文主要研究图级别的表示学习。给定一组图,学习一个映射函数,它能将每个图映射到低维空间中。现有的方法可以大致分为两类,基于核的方法和基于GNN的方法。

通常,基于内核的方法首先根据内核定义将图分解成子组件,然后基于特征嵌入的方式构建图嵌入,最后,使用一些机器学习算法例如支持向量机(SVM)进行图的分类。有代表性的方法有weisfeler - lehman子树核(WL)、graphlet count核(GK)和随机游走(RW)。

深度方法主要集中在基于gnn的方法上, 是因为图神经网络具有处理非欧氏数据的强大能力,它主要通过从邻居节点聚合信息来捕获拓扑结构信息学习节点表示,进而生成图表示。这些方法主要可以归纳为两类: 图摘要法和图池化法。
图摘要方法的本质是收集所有节点的特征来生成图的表示,代表方法有capsuleGNN,GIN等。图池化方法是通过学习基于拓扑的节点分配矩阵来减少节点的数量,从而逐步粗化图规模,最终生成图级别的表示。图池化方法也可以细分为全局池化和分层池化。全局池化可以理解为在网络最后一层才将学到的节点表示转化为图表示,代表方法有Set2Set和SortPool,全局池化没有充分利用图的层次结构,而分层池化则是在网络的每一层都会对节点进行筛选过滤,从而逐层缩小节点规模,在这个过程中可能会捕获到更多有用的几何信息,代表方法有DiffPool(提出可微的池化层,学习集群分配矩阵)和Self-Attention Graph Pooling (SAGPool) ,计算每个节点的重要性,然后保留Top K个重要节点,舍弃剩余节点,生成图表示。

然而,我们发现以上两类方法要么是通过一个简单的readout读出函数收集总结所有节点的嵌入,或者顺序地应用池化操作,最终生成图嵌入,这些方法仅通过卷积或邻居聚合来利用局部信息,而在很大程度上忽略了全局拓扑信息,这对于图级别的表示学习往往是很重要的。与此同时,以上两类方法都存在一定的缺陷:
图摘要方法:不能区分不同节点的重要性。图池化方法:在逐步地粗化图结构的过程中,可能会丢失一些节点的重要信息。
这些仅仅是现有方法应用在图级别表示学习上的特定问题,另外对于图神经网络本身来说,也是存在一些问题。

现在让我们考虑GNN中的另一个限制,发生在GNN的核心--聚合操作。我们可以将GNN的聚合操作定义为以下三个步骤:应用特征拟合函数g (X)来学习节点表示,其中包含可学习的参数矩阵W;然后基于图的邻接矩阵A传播一阶邻居信息更新节点表示;最后过一层非线性激活函数。
我们发现尽管GNN在数学上简洁优雅,易于实现,但由于第一步的特征拟合函数可能导致节点嵌入退化,特别是在具有噪声特征的图中。因此,当将所得到的节点嵌入进一步通过总结或池化操作对下游图进行分类时,节点特征的过拟合和噪声特征的扩散可能会使整个图易受攻击,导致获得次优的图嵌入。这个问题还没有在现有工作中进行研究。

为了解决以上缺陷,我们提出了一个新的端到端的框架,图平滑样条神经网络(GSSNN)。

针对节点特征的非平滑性,我们设计了一个高效的特征平滑模块,称为缩放平滑样条。为了整合全局拓扑信息,我们设计了一个节点重要性打分模块,来选择重要的节点特征作为关键点用于平滑样条,这些重要节点可以潜在地用于解释后续的图分类结果,这为下游实际应用提供了很好的解释性。
其中包含两个重要模块:缩放平滑样条和节点重要性打分模块。

受启发于统计学习中的平滑样条一种回归技巧,类似于一些正则化方法,如ridge回归和lasso回归。平滑样条旨在解决以下问题:在所有函数f(x)中,找到一个最小的惩罚残差平方和RSS。在最小化带惩罚项的残差平方和中,残差平方和用于拟合数据,惩罚项主要用于控制拟合函数f(x)的平滑性。

想要将平滑样条应用到神经网络中,首先需要将问题从一维推广到多维,对应于平滑样条,函数f(x)将被特征函数g_k代替,g_k(x_i)表示第i个节点的第k维特征,目标就是最小化带惩罚的残差平方和,找到使节点特征平滑且不受噪声数据影响的特征拟合函数g。

以上的RSS方程有显式,有限维,唯一最小化的解,在定理1中定义了它,它是三次样条函数α的形式。三次样条α服从下面的计算公式,值得注意的是,在三次样条中,我们选取重要的节点特征作为knots,可以理解为基于该重要节点特征来平滑增强其他节点特征。

基于定理1中定义的多维平滑样条及其显式极小化器,很自然地将其应用于图神经网络。由于特征平滑过程中节点维度发生了扩展,我们通过一个全连接层将每个节点特征收缩到一个固定维度,增强其扩展性。因此,我们可以在每一层GNN后应用缩放的平滑样条对节点特征进行平滑和增强。

节点重要性评分模块,用于捕获全局拓扑结构信息。具体来说,节点的重要性打分来自于三个部分:1. 自我注意力打分:同时使用拓扑结构和节点特征本身来计算节点初始的重要性得分;2. 节点度打分:通过计算邻居的数量来确定节点的重要性;3. 紧密中心性打分:表示节点v与其他节点的接近度,计算方法为节点v与所有N−1个可达节点之间的平均最短路径距离的倒数。最后的分数是以上分数的加权和。通过重要性打分选出的top K个重要的节点,将在平滑样条中作为knots节点,用于关键特征平滑增强其他节点。

这是模型的总体架构图。

对于每个epoch,我们首先根据自我注意值和中心度值计算节点的重要性。

然后选取最重要的K个节点特征作为knots,在每个图的卷积层之前,通过缩放平滑样条模块对节点特征进行平滑处理。

然后,通过后续连接的图卷积层,将平滑扩展后的特征根据图的拓扑结构进行深度交互集成。

在图卷积后,我们应用一个读出层来得到图级别表示,具体由求和的池化函数实现,图中所有节点求和,同时连接上中间层得到的重要节点特征,来生成总体图的特征。最后,我们将图嵌入输入到多层感知器(MLP)来预测图标签。整个模型通过最小化带标记的训练样本的交叉熵损失作为损失函数来训练整个网络。
在实验中,我们将该模型应用于七个基准数据集,包含生物数据集和社交网络数据集,进行图分类任务的测试。

此表显示了分类结果,我们的模型在六个数据集上获得了最高的准确率。与此同时,与对比方法相比,设计的模型具有更小的标准差,表明模型可以生成更鲁棒的图表示。

在消融实验中,我们评估了全局信息的有效性。如上所述,节点重要性打分模块利用了局部信息和全局信息,分别包含自我注意得分,节点度得分以及和紧密度得分。因此,我们构造了不同的打分策略来验证各个部分的有效性。从表格中可以看出,通过增加不同策略的得分项可以提高结果准确率,并且利用全局信息紧密中心度C(v)比只考虑局部信息有很大的提升。

此外,缩放的平滑样条模块还可以作为一个单独的层插入到现有的图形神经网络中,增强其表达能力。为了证明平滑模块的有效性,我们将该模块与两个代表性的GNN模型进行集成。如表6所示,使用平滑样条的模型,其图分类性能优于模型本身,这证明了平滑样条模块的有效性。

最后,提出的方法具有一个令人惊喜的结果,就是选出的重要节点可以为分类结果提供一定的,合理的解释性。举例来看,在这里,我们将在MUTAG数据集中选择出的重要节点可视化,红色表示重要节点。从上图中我们可以看出,重要节点主要集中在程度较大的重原子上(例如碳原子、氮原子),这些重原子在很大程度上决定了化合物的结构和性质。因此,重要节点特征对化合物的诱变效果有很大影响,而MUTAG数据集的分类标准正是化合物是否发生诱变。了解这些影响图分类结果的重要节点或子结构,对生物领域的药物发现等应用具有重要意义。
尽管有很多图神经网络相关的顶会论文,图神经网络的解释性问题还没有得到足够的关注,虽然一些基于Attention机制的模型(如GAT)可以一定程度上对GNN进行解释. 但是GAT可以学习节点之间关系的权重,但是其只能实现对结构的进行解释而无法通过特征的角度进行解释。目前也有一些最新的工作研究图解释性,例如:GNNExplainer可以从网络结构和节点属性的角度来对任意图神经网络和任意图挖掘任务生成解释。
以下是相关的参考文献。





SFFAI的介绍

现代科学技术高度社会化,在科学理论与技术方法上更加趋向综合与统一,为了满足人工智能不同领域研究者相互交流、彼此启发的需求,我们发起了人工智能前沿学生论坛SFFAI,邀请一线科研人员分享、讨论人工智能各个领域的前沿思想和最新成果,使专注于各个细分领域的研究者开拓视野、触类旁通。SFFAI目前主要关注机器学习、计算机视觉、自然语言处理等各个人工智能垂直领域及交叉领域的前沿进展,进行学术传播,同时为讲者塑造个人影响力。

SFFAI还在构建人工智能领域的知识森林—AI Knowledge Forest。通过汇总各位参与者贡献的领域知识,沉淀人工智能前沿精华,使AI Knowledge Tree枝繁叶茂,为人工智能社区做出贡献。SFFAI自2018年9月16日举办第一期,每周一期学术分享交流,截止目前已举办67期学术交流活动,共有100+位讲者分享了他们的真知灼见,来自100多家单位的同学参与了现场交流,通过线上推文、网络直播等形式,50000+人次参与了人工智能前沿学生论坛。SFFAI自发起以来,迅速成长壮大,已经成为人工智能学生交流的第一品牌,有志同道合的论坛核心志愿者团队、乐于学术分享的讲者伙伴,还有许多认可活动价值、多次报名参加现场交流的观众,大家通过参与人工智能前沿学生论坛,收获了宝贵的知识和友谊,SFFAI致力于帮助大家解决在学术中遇到的相关问题,拓展学术人脉,为大家营造专业、开放的学术交流环境!

历史文章推荐



若您觉得此篇推文不错,麻烦点点在看↓↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存