【图神经网络】 AM-GCN论文精讲(全网最细致篇)

AM-GCN 网络系列

  • 论文精讲部分
  • [0. 摘要](#0. 摘要)
  • [1. 引言](#1. 引言)
  • [2. 融合能力的 GCNs:一项实验研究](#2. 融合能力的 GCNs:一项实验研究)
    • [2.1 案例1:随机拓扑结构和相关节点特征](#2.1 案例1:随机拓扑结构和相关节点特征)
    • [2.2 案例2:相关拓扑结构和随机节点特征](#2.2 案例2:相关拓扑结构和随机节点特征)
  • [3. AM-GCN:提出的模型](#3. AM-GCN:提出的模型)
    • [3.1 特定卷积模块](#3.1 特定卷积模块)
      • [3.2 共享卷积模块](#3.2 共享卷积模块)
      • [3.3 注意力机制](#3.3 注意力机制)
      • [3.4 目标函数](#3.4 目标函数)
        • [3.4.1 一致性约束](#3.4.1 一致性约束)
        • [3.4.2 差异性约束](#3.4.2 差异性约束)
        • [3.4.3 优化目标](#3.4.3 优化目标)
  • [4 实验](#4 实验)
    • [4.1 实验设置](#4.1 实验设置)
    • [4.2 节点分类](#4.2 节点分类)
    • [4.3 变体分析](#4.3 变体分析)
    • [4.4 可视化](#4.4 可视化)
    • [4.5 注意力机制分析](#4.5 注意力机制分析)
    • [4.6 参数研究](#4.6 参数研究)
  • [6 结论](#6 结论)
  • [7 笔者总结](#7 笔者总结)

论文精讲部分

本专栏致力于深入探讨图神经网络模型 相关的学术论文,并通过实际代码实验来加深理解。读者可以依据个人需求挑选感兴趣的内容进行学习。值得一提的是,本章节详细解读了"AM-GCN"这篇论文
在其他相关专栏中,我们已经对传统图神经网络进行了充分讨论,感兴趣的读者可以点击查阅那些内容。
在本章节中,大部分内容将直接引用原论文,而笔者对论文的理解和解析将以引用格式呈现,目的是清晰展示对当前研究主题的深入见解。首先笔者也在网络中搜罗了各种各样的论文精讲,感觉资料还是很少决定自己编写便于后续各位的学习

text 复制代码
😃当然要是觉得还不错的话,烦请点赞,收藏➕关注👍

0. 摘要

图卷积网络(GCNs)在处理图形和网络数据的各种分析任务中获得了巨大的普及。然而,一些最近的研究对于GCNs是否能在信息丰富的复杂图中最优地整合节点特征和拓扑结构提出了担忧

主要讨论的就是模型能否有效的聚合结构信息和节点特征信息。作为一种表征学习,简而言之就是节点的潜入表示学习,其最终的得到的潜入表示是否有效的聚合了邻居的特征信息,以及周围的结构信息,直接影响着模型的最终性能。

在本文中,我们首先提出了一项实验调查。令人惊讶的是,我们的实验结果清楚地显示,最先进的GCNs在融合节点特征和拓扑结构的能力距离最优或甚至令人满意还有很大距离。

这里实际上指出的就是GCN的性能还是和理论层面上有些差距的。所以还是有进步空间引入问题。

这一弱点可能严重阻碍GCNs在一些分类任务中的能力,因为GCNs可能无法自适应地学习拓扑结构和节点特征之间的一些深层相关信息。我们能否弥补这一弱点并设计一种新型的GCNs,既能保留最先进GCNs的优势,同时大幅增强融合拓扑结构和节点特征的能力呢?

首先明确研究目标就是要改进GCN的性能,所以人家说保留GCN的优势就是卷积架构,再对其增强。

我们应对这一挑战,提出了一种用于半监督分类的自适应多通道图卷积网络(AM-GCN)。 中心思想是我们同时从节点特征、拓扑结构及其组合中提取特定和共通的嵌入,并使用注意力机制学习嵌入的自适应重要性权重。 我们在基准数据集上进行的广泛实验清楚地表明,AM-GCN实质上从节点特征和拓扑结构中提取了最相关的信息,并以明显的优势提高了分类准确率。

论文创新点的高度集成浓缩这样的一句话,然后阐述其可行。、
下文就是比较枯燥的引言部分,这里集中展示了作者看的论文路线,先简单的聊一下GNN然后在引入其发现的问题,并阐述其他人对这个问题的思考最终解释自己的解决方式属于是精细化的摘要部分。

1. 引言

网络数据无处不在,例如社交网络、生物网络和引文网络。最近,图卷积网络(GCNs)作为一类旨在学习图数据的神经网络,在处理图分析问题上显示出极大的流行性,例如节点分类[1, 31]、图分类[7, 37]、链接预测[13, 36]和推荐[6, 34]。

简单的图神经发展的背景信息

典型的GCN [14]及其变体[11, 16, 27, 30, 36]通常遵循消息传递方式。一个关键步骤是特征聚合,即节点在每个卷积层从其拓扑邻居那里聚合特征信息。

说了下GCN的核心解决方案就是依赖于图结构聚合邻居的信息

通过这种方式,特征信息通过网络拓扑传播到节点嵌入,然后这样学到的节点嵌入在分类任务中被使用。 整个过程部分由节点标签监督。GCN的巨大成功部分得益于GCN提供了一种在拓扑结构和节点特征上学习节点嵌入的融合策略,且该融合过程由端到端学习框架监督。

下文中 BUT终于是来了发现问题

然而,一些最近的研究揭示了最先进的GCNs在融合节点特征和拓扑结构时存在某些弱点。

大家的研究发现这个GCN也不是那么无敌,还是存在诸多缺陷。

例如,李等[15]显示GCNs实际上对节点特征执行拉普拉斯平滑,并使得整个网络中的节点嵌入逐渐收敛。Nt和Maehara[20]以及Wu等[30]证明了当特征信息在网络拓扑结构上传播时,拓扑结构在节点特征上扮演了低通滤波器的角色。高等[8]在GCN中设计了一个条件随机场(CRF)层,以显式保持节点间的连通性。

使用了三个文章进行说明 【15】号文献讨论模型存在的问题第一个就是过平滑问题。这里提到的 "拉普拉斯平滑" 是一种机制,其中图卷积网络(GCN)在处理节点数据时会使邻近节点的特征趋同,这通常是通过节点与其邻居节点的特征平均来实现的。这种特征的平均化过程会导致特征在图中的均匀分布,即特征值在连续多个卷积层之后会变得越来越相似。
【20】和【30】号文献在 GCNs 中,这意味着拓扑结构帮助保留了全局和缓慢变化的特征,但可能使一些重要的局部变化(高频特征)被平滑掉。
高【8】等的研究通过在 GCN 中引入条件随机场(CRF)层来解决这个问题,意在显式地保持节点间的连通性,这有助于在优化过程中保持或增强节点之间的区分性。这样的设计可以在一定程度上缓解过平滑问题,使得网络可以在保持局部结构特征的同时进行有效的学习。
简而言之,存在过平滑问题以及结构信息学习中聚合方式带来的结构信息损失。上述的几个文献也仅仅是在改进的过程中使用了不同的解决方式

GCNs到底从拓扑结构和节点特征中学习并融合了哪些信息? 这是一个基本问题,因为GCNs经常被用作端到端的学习框架。对这个问题的充分回答可以帮助我们以原理化的方式理解GCNs的能力和限制。这激发了我们立即进行研究。

首先这篇文章中对GCN学习到了什么进行分析

作为这项研究的第一项贡献,我们展示了评估GCNs融合拓扑结构和节点特征能力的实验。 令人惊讶的是,我们的实验清楚地显示,GCNs在网络拓扑结构和节点特征上的融合能力明显距离最佳或甚至满意还很远。 即使在节点特征/拓扑结构与节点标签之间的相关性非常清晰 的一些简单情况下,GCNs 仍然无法 充分融合节点特征和拓扑结构以提取最相关的信息(见第2节)。

其实可以看到在他的这个论文中提到GCN在聚合结构信息拓扑结构上的性能还是存在些问题,并且还指出特征和标签相关性很强的情况下做的也不好这就是说这么强的能力下,你用简单的神经网络都可行的情况下,GCN这样的聚合还是达不到性能的要求。

个人理解这主要是来源于其聚合方式的问题,只能让数据取符合GCN的特性才可以实现还不错的性能。要不然这样单纯的聚合只会引来更大的噪声

这种弱点可能严重阻碍GCNs在某些分类任务中的能力,因为GCNs可能无法自适应地学习拓扑结构和节点特征之间的一些相关信息。

一旦识别出最先进的GCNs在融合方面的弱点,一个自然的问题是,"我们能否弥补这一弱点并设计一种新型的GCNs,既能保留最先进GCNs的优势,同时大幅增强融合拓扑结构和节点特征的能力?

找到问题解决问题

一个良好的GCNs融合能力应该大量提取并融合最相关的信息以用于分类任务,然而,现实中一个最大的障碍是网络数据和分类任务之间的相关性通常非常复杂和不可知。

分类可能与拓扑、节点特征或其组合相关联

下面主要是阐述自己工作了创新点等各种问题

本文应对这一挑战,提出了一种用于半监督分类的自适应多通道图卷积网络(AM-GCN)。中心思想是我们基于节点特征、拓扑结构及其组合同时学习节点嵌入。其理由是由特征和拓扑结构推断出的相似性彼此互补,并且可以自适应地融合以得出用于分类任务的更深层次相关信息。

其实这个就是在使用node2vec算法进行分类的时候就已经很站得住脚了,结构信息对分类是十分有效的。

技术上,为了充分利用特征空间中的信息,我们从节点特征生成的k最近邻图派生出特征结构图。有了特征图和拓扑图,我们在拓扑空间和特征空间上传播节点特征,以便在这两个空间中提取两个特定的嵌入,具有两个特定的卷积模块。 考虑到两个空间之间的共同特征,我们设计了一个具有参数共享策略的公共卷积模块,以提取它们共享的公共嵌入。我们进一步利用注意力机制自动学习不同嵌入的重要性权重,以便自适应地融合它们。通过这种方式,节点标签能够监督学习过程以自适应调整权重以提取最相关的信息。此外,我们设计了一致性和差异性约束以确保学到的嵌入的一致性和差异性。

简而言之就是使用GCN 并行,一个GCN在原始图结构下,一个在KNN重构的图结构下。又设计了一个权重共享机制。三个创新点,并行结构,knn构图权重共享机制,具体的细节我们向下看,下面就是贡献略过。

我们将我们的主要贡献总结如下:

  • 我们展示了评估GCNs在融合拓扑结构和节点特征能力的实验,并识别出GCN的弱点。我们进一步研究了一个重要问题,即如何大幅增强GCN用于分类的融合能力。
  • 我们提出了一种新颖的自适应多通道GCN框架,AM-GCN,它在拓扑和特征空间上执行图卷积操作。结合注意力机制,可以充分融合不同信息。
  • 我们在一系列基准数据集上进行的广泛实验清楚地表明,AM-GCN的表现优于最先进的GCNs,并且很好地从节点特征和拓扑结构中提取了最相关的信息,以应对具有挑战性的分类任务。

接下来就是论文章节分布。

本文的其余部分安排如下。在第2节中,我们实验性地调查了GCNs在融合节点特征和拓扑结构方面的能力。在第3节,我们开发AM-GCN。我们在第4节报告实验结果,在第5节回顾相关工作。我们在第6节总结本文。

其论文的贡献部分还有就是对GCN的能力进行研究所以在第二节进行展示

2. 融合能力的 GCNs:一项实验研究

在本节中,我们使用两个简单但直观的案例来检验 最先进的图卷积网络(GCNs)是否能从节点特征和图中的拓扑结构中自适应学习 ,并为分类任务有效地融合它们。

经过学术的加工确实读起来比较抽象,实际上就是生成一组数据,特征和label相关性很高,用GCN和MLP进行对比,发现GCN还没MLP性能好,这里可以直接说明这种卷积其实并没有很好的能力使用节点特征和结构信息改善分类效果

可以看到下面这么说的

主要思想是我们将明确建立节点标签与网络拓扑以及节点特征之间的高相关性,然后我们将检查GCN在这两个简单情况下的表现。

实际上就是特征和标签很容易分辨的,特征足够清晰,使用别说MLP了可能其他的机器学习算法也能做的还可以

一个良好的融合能力的GCN应该在节点标签的监督下,自适应地提取相关信息,提供良好的结果。

理论层面上效果应该还不做,你比MLP还多了个结构信息呢,都多给你输入了你效果应该还不错。

然而, 如果与基线相比,性能急剧下降,这将表明GCN不能自适应地从节点特征和拓扑结构中提取信息,即使节点特征或拓扑结构与节点标签之间存在高度的相关性。

给你机会了你效果不行

这一部分通过实验检验GCN处理特定结构和特征的能力,特别关注其在理解和利用数据中固有联系的效率。 若GCNs在这些测试中表现不佳,这可能表明尽管理论上GCNs应能理解并利用图结构,但在实际应用中可能需要进一步的优化或改进方法来处理特定类型的图数据或复杂的数据关系。 这样的实验结果对于理解GCNs的局限性和未来可能的改进方向具有重要意义。

先简单的分析了一下,你性能不行就是还要多锻炼,菜就多练。有问题就改呗,看看是什么阻碍了你对结构信息和特征信息。下面就是利用生成特征和标签强相关性的数据使用GCN和MLP进行对比实现性能的判断。

2.1 案例1:随机拓扑结构和相关节点特征

我们生成了一个由900个节点组成的随机网络,其中任意两个节点之间建立边的概率为0.03。每个节点有一个50维的特征向量。为了生成节点特征,我们随机给900个节点分配3个标签,对于具有相同标签的节点,我们使用一个高斯分布来生成节点特征。这三类节点的高斯分布具有相同的协方差矩阵,但有三个相距较远的不同中心。在这个数据集中,节点标签与节点特征高度相关,但与拓扑结构无关。

首先看下这个数据是如何生成的:

900个节点进行分类,一共三个类别每。相同类别的节点使用高斯分别来生成节点的特征维度为50。这就说明其相同类别其特征也是一致的。但是这里的节点连接则是采用了概率的方式。这就是结构信息基本就是噪声。然后GCN网络引入了噪声进行分类。实验这么设计节点标签与节点特征相关的数据。由于网络结构的原因GCN是无法选择忽略掉结构带来的噪声的。所以其结构信息更像是副产物好的坏的都要接受。性能不会好的

我们应用GCN[14]来训练这个网络。对于每个类别,我们随机选择20个节点进行训练,另外200个节点进行测试。我们仔细调整超参数以报告最佳性能并避免过平滑。同时,我们也仅将多层感知机(MLP)[21]应用于节点特征。GCN和MLP的分类准确率分别为75.2%和100%。

果然文中指出效果不好。无法自适应的选择要不要使用结构信息。

这些结果符合预期。由于节点特征与节点标签高度相关,MLP表现出色。GCN从节点特征和拓扑结构中提取信息,但无法自适应地融合它们以避免来自拓扑结构的干扰。

GCN对结构信息的学习仅仅是卷积行为带来的所以并不能很好的学习结构信息

该案例显示,当节点特征与标签密切相关,且当拓扑结构与分类任务无关时,仅依赖节点特征的方法(如MLP)可能表现更出色。GCN试图利用拓扑结构和节点特征的结合,但可能因为拓扑结构的随机性而无法有效地提取和融合最相关的信息。这提示了对GCN的一种潜在的改进方向 :在节点特征已经足够强大的情况下,需要更智能地处理拓扑结构的影响,或者开发能更好地区分相关和不相关拓扑信息的机制。

提出自己的结论,论点在实验的加持下能站住脚。GCN无法自适应的聚合结构信息,这就导致其对结构信息的噪声只能被动的接受导致其性能出现问题

2.2 案例2:相关拓扑结构和随机节点特征

我们生成了另一个包含900个节点的网络。这一次,每个节点的特征都是50维,并且是随机生成的。对于拓扑结构,我们采用随机块模型(SBM)[12]将节点分为3个社群(分别是节点0-299、300-599、600-899)。在每个社群内,建立边的概率设定为0.03,而不同社群节点间建立边的概率设为0.0015。在这个数据集中,节点标签由所属的社群决定,即同一个社群内的节点拥有相同的标签。

上一个数据汇总结构信息是噪声,这里的特征信息是噪声,结构信息则是用于分类的数据,相同类别的节点有变进行连接。可以看到相同类别即社群相同的节点建立边的概率则是0.03。而不同的则是0.0015。这里的特征信息50个维度则是纯随机生成的可以理解节点信息就是噪声。这里也不在使用MLP了则是采用deepwalk进行分类。deepwalk则是不考虑节点特征只看网路结构。

我们再次将GCN应用于这个网络。我们还对网络的拓扑结构应用了DeepWalk [22],即DeepWalk忽略了特征。GCN和DeepWalk的分类准确率分别为87%和100%。

而可以看到GCN还是输了GCN的准确率是百分之87

DeepWalk表现良好,因为它全面地模型化了网络的拓扑结构。GCN从节点特征和拓扑结构两者中提取信息,但无法自适应融合它们以避免节点特征的干扰。它无法达到DeepWalk的高性能。

其实就这百分之87的性能还是来源于特征提取矩阵的能力。也就是说GCN对特征的捕获还是有些性能弱点的

总结。这些案例表明,当前GCN [14]的融合机制距离最佳或令人满意还有相当距离。即使节点标签与网络拓扑或节点特征之间的相关性非常高,当前GCN也无法充分利用节点标签的监督来自适应提取最相关的信息。然而,现实情况更为复杂,因为我们很难知道拓扑结构或节点特征与最终任务的相关性更强,这促使我们重新思考GCN的当前机制。

GCN不能针对结构的噪声进行处理和取舍,同样对特征的噪声也显得有些束手无策了。当然存在些手段但是远远不够。

这说明,尽管GCN在理论上具有利用网络数据的潜力,但在特定场景下可能需要更精细的设计和调整,以确保从顶层结构和节点特征中提取出真正有用的信息,并更好地执行分类等任务。

第二个实验使用了噪声的特征数据发现了GCN对特征的捕获提取还是有些性能上的缺陷。比不上压根就没用这个特征信息的Deepwalk。所以对特征的把控还是存在些缺陷。

3. AM-GCN:提出的模型

问题设置: 我们关注的是在带属性的图 G = ( A , X ) G = (A, X) G=(A,X) 中的半监督节点分类问题,其中 A ∈ R n × n A \in \mathbb{R}^{n \times n} A∈Rn×n 是具有n个节点的对称邻接矩阵, X ∈ R n × d X \in \mathbb{R}^{n \times d} X∈Rn×d 是节点特征矩阵, d d d 是节点特征的维度。具体地, A i j = 1 A_{ij} = 1 Aij=1 表示节点i与节点j之间存在边,否则 A i j = 0 A_{ij} = 0 Aij=0。我们假设每个节点属于C个类别中的一个。

AM-GCN框架总览: AM-GCN的整体框架如图1所示。

关键思想是,AM-GCN允许节点特征不仅在拓扑空间中传播,还在特征空间中传播,并且应从这两个空间中提取与节点标签最相关的信息。为此,我们根据节点特征X构建了一个特征图。然后通过两个特定的卷积模块,X能够在特征图和拓扑图上传播,分别学习两种特定的嵌入 Z F ZF ZF 和 Z T ZT ZT。

因为正常的非欧几里得数据的拓扑结构肯定是噪声比较小的,所以利大于弊要用,使用GCN在这样的结构下进行聚合。但是当噪声比较大时候怎么办呢就是不好用。本文提出了一个特征图,这个图就是通过计算节点间的特征相似性构建的,可以简单的理解特征一致的节点都是有连接的这样就能够让特征信息在一个结构噪声小的图结构下聚合,人家用了一个attention机制这样就是实现了你要是结构噪声大,比如咱们实验1的中的形态就用特征图进行聚合特征,然后分类,如果结构噪声小就用原始的结构图进行聚合特征。注意力机制自动选择特征的聚合多少。

此外,考虑到这两个空间中的信息具有共同的特性,我们设计了一个带有参数共享策略的共同卷积模块,以学习公共嵌入 Z C F ZCF ZCF 和 Z C T ZCT ZCT, 同时,一个一致性约束 L c L_c Lc 被用来增强 Z C F ZCF ZCF 和 Z C T ZCT ZCT 的"共同"属性。此外,一个差异性约束 L d L_d Ld 用以确保 Z F ZF ZF 和 Z C F ZCF ZCF、以及 Z T ZT ZT 和 Z C T ZCT ZCT 之间的独立性。考虑到节点标签可能与拓扑结构或特征或两者都相关,AM-GCN利用一个注意力机制来自适应地融合这些嵌入及其学习到的权重,以便为最终的分类任务提取最相关的信息 Z Z Z。

笔者感觉这里的共享卷积策略看起来还是很有趣的可以。以及模型性能在集成模型下体现,其实一致性约束这个一定要重视要不然性能很难好起来。 再次强调集成模型中的一致性约束问题很重要。
这个共享卷积策略说白了就是一个模块的复用而已 ,说的比较高端

我举个例子哈,传统全连接神经网络,梯度更新,在训练过程中,这种隐藏层的参数的梯度更新会综合多种个数据特征的反馈信息进行参数调整。那我可以说这个卷积核是共享的。单次输入的数据仅仅是一个大数据下的一部分而已,虽然看起来比较流氓,但是实际上这个权重共享高端的是思想,不是技术实现。

我再啰嗦几句这个权重共享:

在全连接层中,虽然每个输入单元到每个输出单元的连接都有独立的权重(没有像 CNN 中的空间共享),但全连接网络确实在整个数据集上 "共享" 了同一组权重。也就是说,不管输入数据的具体部分如何变化,处理这些数据的网络结构和参数都是固定的。
说白了就是只用到了一个GCN。其梯度回传需要两次的结果进行梯度更新而已。虽然 GCN 在物理上只有一个,但它需要处理不同数据源的输入信息,并根据两种情形下的训练效果来更新自身的参数。具体的细节我们看下文。

真正的难点还是一会看他对约束项的理解吧。

实际上每次看完这部分应该是对模型的整体哦度已经了解完了,我们再看看具体的公式细节问题

3.1 特定卷积模块

首先为了抓住节点在特征空间中的潜在结构,我们根据节点特征矩阵 X X X 构建了一个 k-最近邻(kNN)图 G f = ( A f , X ) G_f = (A_f, X) Gf=(Af,X),其中 A f A_f Af 是kNN图的邻接矩阵。我们计算了 n n n 个节点之间的相似度矩阵 S ∈ R n × n S \in \mathbb{R}^{n \times n} S∈Rn×n。有多种方法可以得到 S S S,这里我们列出两种流行的方法,其中 x i x_i xi 和 x j x_j xj 是节点 i i i 和 j j j 的特征向量:

  1. 余弦相似性:它使用两个向量之间角度的余弦值来量化相似性:
    S i j = x i ⋅ x j ∥ x i ∥ ∥ x j ∥   ( 1 ) S_{ij} = \frac{x_i \cdot x_j}{\|x_i\| \|x_j\|} \, (1) Sij=∥xi∥∥xj∥xi⋅xj(1)

  2. 热核:相似度通过以下公式计算,其中 t t t 是热传导方程中的时间参数,我们设 t = 2 t = 2 t=2:
    S i j = e − ∥ x i − x j ∥ 2 t   ( 2 ) S_{ij} = e^{-\frac{\|x_i - x_j\|^2}{t}} \, (2) Sij=e−t∥xi−xj∥2(2)

选择余弦相似度后,我们为每个节点选择前 k k k 个相似的节点对来设置边,最终得到邻接矩阵 A f A_f Af。对于特征空间中的输入图 ( A f , X ) (A_f, X) (Af,X),第 l l l 层的输出 Z f ( l ) Z^{(l)}_f Zf(l) 可以表示为:
Z f ( l ) = ReLU ( D f ˜ − 1 / 2 A f ˜ D f ˜ − 1 / 2 Z f ( l − 1 ) W f ( l ) ) ,   ( 3 ) Z^{(l)}_f = \text{ReLU}\left(D^{˜-1/2}_f A^{˜}_f D^{˜-1/2}_f Z^{(l-1)}_f W^{(l)}_f\right), \, (3) Zf(l)=ReLU(Df˜−1/2Af˜Df˜−1/2Zf(l−1)Wf(l)),(3)

其中, W f ( l ) W^{(l)}_f Wf(l) 是GCN第 l l l 层的权重矩阵,ReLU 是激活函数,初始 Z f ( 0 ) = X Z^{(0)}_f = X Zf(0)=X。特别地,我们有 A f ˜ = A f + I f A^{˜}_f = A_f + I_f Af˜=Af+If,而 D f ˜ D^{˜}_f Df˜ 是 A f ˜ A^{˜}_f Af˜ 的对角度矩阵。

我们将根据拓扑图学到的输出嵌入 Z T ZT ZT 以与特征空间中相同的方式计算。因此,编码在拓扑空间中的特定信息可以被提取。

上述内容说的比较明确就是一个图的构建其他的都是传统的图卷积神经网络的老传统,当然如果你看不懂可以看俺之前的博文图神经网络专栏,讲的嘎嘎明白。
重点部分就是对特征进行相似度的计算,为啥呢?找到最相似的节点然后取前k个节点作为邻居进行构图,这样在这个图上进行聚合就能很好的规避实验1中的问题,结构信息是噪声被迫引入后生成的节点潜入质量下降,导致模型性能不尽人意。剩下的就是给出了两种用于衡量节点相似性的指标各位酌情使用吧。这样就得到了这样的图结构。

在这个特征图下进行聚合得到一个特征。文中多次提到的拓扑结构的图结构就是原始的数据集提供的边信息构建的,所以并没有展示那部分是如何聚合的太基础了。接下来开始聊这个公共卷积内容。

3.2 共享卷积模块

在现实中,特征空间和拓扑空间并非完全无关。

针对这句话简单的聊两句,特征空间和拓扑空间并非完全无关。说的明白一点就是新构建的图核原始的图其实样子实际上有差异但是不会太大。当然感兴趣的读者可以在自己坐下实验。举个例子你的特征假如是收入水平实际上你的社交网络都差不多。所以这俩图没差多少。所以还是有共性的。

基本上,节点分类任务可能与特征空间或拓扑空间中的信息,或两者都相关,这是难以预先知道的。因此,我们不仅需要从这两个空间中提取节点特定的嵌入,还需要提取由两个空间共享的公共信息。

文中给出的解决解释是既然存在共性特征,也是比较重要的。一锅炖让注意力自己去抉择吧

剔除掉共性就是特性是不是对节点的分类有效呢,后面的聚合也可以是删减信息呗???🧠头脑风暴下

通过这种方式,可以更灵活地确定哪部分信息与任务最相关。

简简单单的一笔带过,有效没效看疗效。

为了解决这一问题,我们设计了一个带有参数共享策略的 Common-GCN,以获取两个空间中共享的嵌入。

首先,我们使用 Common-GCN 从拓扑图 ( A t , X ) (A_t, X) (At,X) 提取节点嵌入 Z c t ( l ) Z^{(l)}{ct} Zct(l) 如下所示:
Z c t ( l ) = ReLU ( D t ˜ − 1 / 2 A t ˜ D t ˜ − 1 / 2 Z c t ( l − 1 ) W c ( l ) ) ,   ( 4 ) Z^{(l)}
{ct} = \text{ReLU} \left(D^{˜-1/2}_t A^{˜}_t D^{˜-1/2}t Z^{(l-1)}{ct} W^{(l)}_c \right), \, (4) Zct(l)=ReLU(Dt˜−1/2At˜Dt˜−1/2Zct(l−1)Wc(l)),(4)

其中 W c ( l ) W^{(l)}c Wc(l) 是 Common-GCN 第 l l l 层的权重矩阵, Z c t ( l − 1 ) Z^{(l-1)}{ct} Zct(l−1) 是第 ( l − 1 ) (l-1) (l−1) 层的节点嵌入, Z c t ( 0 ) = X Z^{(0)}_{ct} = X Zct(0)=X。

当使用 Common-GCN 从特征图 ( A f , X ) (A_f, X) (Af,X) 学习节点嵌入时,为了提取共享信息,我们为 Common-GCN 的每一层使用相同的权重矩阵 W c ( l ) W^{(l)}c Wc(l) 如下所示:
Z c f ( l ) = ReLU ( D f ˜ − 1 / 2 A f ˜ D f ˜ − 1 / 2 Z c f ( l − 1 ) W c ( l ) ) ,   ( 5 ) Z^{(l)}
{cf} = \text{ReLU} \left(D^{˜-1/2}_f A^{˜}_f D^{˜-1/2}f Z^{(l-1)}{cf} W^{(l)}_c \right), \, (5) Zcf(l)=ReLU(Df˜−1/2Af˜Df˜−1/2Zcf(l−1)Wc(l)),(5)

其中 Z c f ( l ) Z^{(l)}{cf} Zcf(l) 是第 l l l 层的输出嵌入, Z c f ( 0 ) = X Z^{(0)}{cf} = X Zcf(0)=X。共享的权重矩阵可以从两个空间中筛选出共有特征。根据不同的输入图,我们可以得到两个输出嵌入 Z C T Z_{CT} ZCT 和 Z C F Z_{CF} ZCF,以及两个空间的共同嵌入 Z C Z_C ZC:
Z C = Z C T + Z C F 2 .   ( 6 ) Z_C = \frac{Z_{CT} + Z_{CF}}{2}. \, (6) ZC=2ZCT+ZCF.(6)

这种设计允许 Common-GCN 在学习过程中同时关注与考虑来自特征空间和拓扑空间的信息,进而可以更好地捕捉并利用这些空间中的共同特征,从而提高模型在节点分类任务上的性能。

就是一个GCN跑了两组数据一次使用原图和特征进行计算结果,一次是KNN的图文中说是特征图核基础特征计算的结果,均值处理节点特征,最后再去优化这个梯度信息。这个网络实际上可以看成一个三通道的大模型。画个简单的展示下吧:

这里我上面的图为基础的结构图,下面则是用KNN构建的,一共两个图,三个GCN网络。值得注意的是中间的GCN是被文中称为共享卷积,实际上就是将一个图和特征放进去,计算结果,然后再放另一个图和特征计算结果取均值作为最终的输出,就可以了。有问题评论区讨论。

3.3 注意力机制

现在我们有两个特定的嵌入 Z T Z_T ZT 和 Z F Z_F ZF,以及一个共通嵌入 Z C Z_C ZC。

三个GCN生成三种特征

考虑到节点标签可能与其中一个嵌入或它们的组合相关,我们使用注意力机制

简单的说一下为什么要这么考虑呢,假如这个图结构是实验1中的噪声的话就可以通过这个注意力机制舍弃掉基础图结构下聚合得到的特征信息,近采用基于特征相似性构建的图结构对进行分类。

att ( Z T , Z C , Z F ) \text{att}(Z_T, Z_C, Z_F) att(ZT,ZC,ZF) 来学习它们各自的重要性 ( α t , α c , α f ) (\alpha_t, \alpha_c, \alpha_f) (αt,αc,αf) 如下:
( α t , α c , α f ) = att ( Z T , Z C , Z F ) ,   ( 7 ) (\alpha_t, \alpha_c, \alpha_f) = \text{att}(Z_T, Z_C, Z_F), \, (7) (αt,αc,αf)=att(ZT,ZC,ZF),(7)

这里 α t , α c , α f ∈ R n × 1 \alpha_t, \alpha_c, \alpha_f \in \mathbb{R}^{n \times 1} αt,αc,αf∈Rn×1 表示具有嵌入 Z T , Z C , Z F Z_T, Z_C, Z_F ZT,ZC,ZF 的 n n n 个节点的注意力值。

我们专注于节点 i i i,其在 Z T Z_T ZT 中的嵌入 z i T ∈ R 1 × h z_i^T \in \mathbb{R}^{1 \times h} ziT∈R1×h(即 Z T Z_T ZT 的第 i i i 行)。首先,我们通过一个非线性变换转换嵌入,然后使用一个共享的注意力向量 q ∈ R h ′ × 1 q \in \mathbb{R}^{h' \times 1} q∈Rh′×1 来获取注意力值 ω i T \omega_i^T ωiT 如下:

这里使用的注意力计算方式和GAT的是一致的,就是每个节点特征送入到全连接层激活后然后和一个向量做点积,然后多个向量完成这一操作,多个数值进行softmax,然后得到最终的注意力。 剩下的几个注意力数值都是一样的所以不需要考虑太多。

ω i T = q T ⋅ tanh ⁡ ( W ⋅ ( z i T ) T + b ) ,   ( 8 ) \omega_i^T = q^T \cdot \tanh(W \cdot (z_i^T)^T + b), \, (8) ωiT=qT⋅tanh(W⋅(ziT)T+b),(8)

这里 W ∈ R h ′ × h W \in \mathbb{R}^{h' \times h} W∈Rh′×h 是权重矩阵, b ∈ R h ′ × 1 b \in \mathbb{R}^{h' \times 1} b∈Rh′×1 是偏置向量。同样,我们可以分别为嵌入矩阵 Z C Z_C ZC 和 Z F Z_F ZF 中的节点 i i i 获取注意力值 ω i C \omega_i^C ωiC 和 ω i F \omega_i^F ωiF。

然后,我们使用 softmax 函数对注意力值 ω i T , ω i C , ω i F \omega_i^T, \omega_i^C, \omega_i^F ωiT,ωiC,ωiF 进行归一化,以获得最终权重:
α i T = softmax ( ω i T ) = e ω i T e ω i T + e ω i C + e ω i F ,   ( 9 ) \alpha_i^T = \text{softmax}(\omega_i^T) = \frac{e^{\omega_i^T}}{e^{\omega_i^T} + e^{\omega_i^C} + e^{\omega_i^F}}, \, (9) αiT=softmax(ωiT)=eωiT+eωiC+eωiFeωiT,(9)

较大的 α i T \alpha_i^T αiT 表示相应的嵌入更为重要。类似地, α i C = softmax ( ω i C ) \alpha_i^C = \text{softmax}(\omega_i^C) αiC=softmax(ωiC) 和 α i F = softmax ( ω i F ) \alpha_i^F = \text{softmax}(\omega_i^F) αiF=softmax(ωiF)。对于所有 n n n 个节点,我们有学到的权重 α t = [ α i T ] , α c = [ α i C ] , α f = [ α i F ] ∈ R n × 1 \alpha_t = [\alpha_i^T], \alpha_c = [\alpha_i^C], \alpha_f = [\alpha_i^F] \in \mathbb{R}^{n \times 1} αt=[αiT],αc=[αiC],αf=[αiF]∈Rn×1,并表示 α T = diag ( α t ) , α C = diag ( α c ) \alpha_T = \text{diag}(\alpha_t), \alpha_C = \text{diag}(\alpha_c) αT=diag(αt),αC=diag(αc) 和 α F = diag ( α f ) \alpha_F = \text{diag}(\alpha_f) αF=diag(αf)。然后我们组合这三个嵌入以获得最终的嵌入 Z Z Z:
Z = α T ⋅ Z T + α C ⋅ Z C + α F ⋅ Z F .   ( 10 ) Z = \alpha_T \cdot Z_T + \alpha_C \cdot Z_C + \alpha_F \cdot Z_F. \, (10) Z=αT⋅ZT+αC⋅ZC+αF⋅ZF.(10)

这种注意力机制为模型提供灵活性,允许它根据节点标签和嵌入之间的相关性动态调整信息的整合方式,从而优化分类效果。

个人觉得这个目标约束比较有看头,其展现了作者对任务的理解能力

3.4 目标函数

3.4.1 一致性约束

对于 Common-GCN 的两个输出嵌入 Z C T Z_{CT} ZCT 和 Z C F Z_{CF} ZCF,尽管 Common-GCN 使用了共享的权重矩阵,这里我们设计了一致性约束以进一步增强它们的共同性。

简而言之就是设计一个卷积核去让节点在两个图上的特征分布情况都相同。让他们分布相同就是去找一个共性的空间,从而让其更接近一种通用的空间形态。在特征空间和拓扑空间中的都能看成这样分布情况。结合两种空间的视角,去看这些数据共性分布 其作者的目的是让共享卷积的那个GCN在生成一个节点的两种表示时这个嵌入表示其在空间中的分布,尽可能的一样。如何操作呢就是通过点积就能实现
上面这句话怎么理解呢,就是当你把节点特征向量投射到高维空间中的时候这个Common-GCN生成的两种特征分布在这个空间中的类似的。需要点想象力。这样做的目的是通过不同方式得到的结果还是相同的,那么我就可以说这个卷积核有提供基基础共性特征的能力,这这个共性特征很有可能就是每个类别的基础特征。所以这个很有用。

首先,我们使用 L2-规范化来规范化嵌入矩阵得到 Z C T n o r Z_{CT}^{nor} ZCTnor 和 Z C F n o r Z_{CF}^{nor} ZCFnor。然后,这两个规范化的矩阵用来捕捉 n n n 个节点的相似性,分别表示为 S T S_T ST 和 S F S_F SF:
S T = Z C T n o r ⋅ ( Z C T n o r ) T , S_T = Z_{CT}^{nor} \cdot (Z_{CT}^{nor})^T, ST=ZCTnor⋅(ZCTnor)T,

这个公式看起来奇怪实际上就是通过点积的方式计算每个节点的间的相似性。数值越大越相似。

S F = Z C F n o r ⋅ ( Z C F n o r ) T . S_F = Z_{CF}^{nor} \cdot (Z_{CF}^{nor})^T. SF=ZCFnor⋅(ZCFnor)T.

一致性意味着这两个相似性矩阵应该相似,这引出以下约束:
L c = ∥ S T − S F ∥ F 2 . L_c = \|S_T - S_F\|^2_F. Lc=∥ST−SF∥F2.

计算两个矩阵的相似矩阵差值。这样就能让计算得到的节点特征起码在相似幅度上是一致的,举个例子就是在 Common-GCN 生成的A节点的两个嵌入a1,a2表示和B节点的两种表示在b1,b2 欧式距离测量下是一样的a1*b1 = a2*b1 。就是节点特征分布在一个空间中是差不多的。目的就是让这个等式相等

详细聊聊

一致性约束的数学解释和应用

在 Common-GCN 模型中,一致性约束 L c L_c Lc被设计来确保不同的嵌入表示间的统计特性尽量类似。这是通过最小化两个嵌入生成的相似性矩阵 S T S_T ST 和 S F S_F SF之间的Frobenius 范数来实现的:

L c = ∥ S T − S F ∥ F 2 . L_c = \|S_T - S_F\|^2_F. Lc=∥ST−SF∥F2.

这个方程实质上是在度量两个矩阵之间的"距离"。其中, S T S_T ST 和 S F S_F SF

分别是通过将规范化后的嵌入向量自身与其转置相乘得到的相似性矩阵。这种计算捕捉了每个节点与网络中所有其他节点的相似度,故矩阵的每一个元素代表了一对节点之间的相似性。

例子说明: 通过一致性约束,如果两个嵌入 Z C T Z_{CT} ZCT 和 Z C F Z_{CF} ZCF 来自同一个节点但不同的视图(或特征集),约束力图使得任意节点 A A A 在两种表示 a 1 , a 2 a_1, a_2 a1,a2 与另一个节点 B B B

的两种表示 b 1 , b 2 b_1, b_2 b1,b2 之间的相互作用(如内积或者点积)尽可能相似。这意味着:

  • a 1 ⋅ b 1 ≈ a 2 ⋅ b 1 a_1 \cdot b_1 \approx a_2 \cdot b_1 a1⋅b1≈a2⋅b1
  • 同样的,对于节点 B B B的表示 b 1 , b 2 b_1, b_2 b1,b2,我们也期望它们与 A A A 的表示在相似度上保持一致。

这样的设计能确保即便是从不同的特征空间产生的嵌入,也能在一个统一的特征框架下表现出类似的空间行为,从而让整个模型在处理不同类型的信息时保持一致性,增强了模型的鲁棒性和对不同数据来源的适应能力。

通过这种方式,Common-GCN不仅能够有效整合来自不同特征来源的信息,还能保证这些信息在表达相对节点特性时的一致性,这对于实现精准的节点分类或其他图基任务至关重要。

Common-GCN卷积核可以提取共性特征,那么剩下的两个卷积核就要提取节点的特性,能力增强其特点便于分类,所以叫差异性约束

3.4.2 差异性约束

这里这个比较有趣,就是说相同图的相同点特征在不同的网络下要尽可能的不同,注意这里仅限于有一致性的约束情况下,这是因为其Common-GCN中生成的 Z C T Z_{CT} ZCT 我们可以看出来提取了这个节点的共性了,所以我们需要 Z T Z_T ZT 在这个图结构下尽可能的挖掘特性用于分类,大家相辅相成才能干活,都干一样的活属于是一种资源上的浪费。
不爱看公式的同学看这里。两个约束一个是让相同节点的嵌入向量在空间距离增加一个是减小这么理解就可以了

因为嵌入 Z T Z_T ZT 和 Z C T Z_{CT} ZCT 是从同一个图 G t = ( A t , X t ) G_t = (A_t, X_t) Gt=(At,Xt) 学到的,为了确保它们能捕捉到不同的信息,我们采用希尔伯特-施密特独立性准则(HSIC),这是一个简单但有效的独立性测量方法,用于增强这两个嵌入的差异性。形式上, Z T Z_T ZT 和 Z C T Z_{CT} ZCT 的 HSIC 约束定义为:

H S I C ( Z T , Z C T ) = ( n − 1 ) − 2 tr ( R K T R K C T ) , HSIC(Z_T, Z_{CT}) = (n-1)^{-2} \text{tr}(R K_T R K_{CT}), HSIC(ZT,ZCT)=(n−1)−2tr(RKTRKCT),

其中 K T K_T KT 和 K C T K_{CT} KCT 是 Gram 矩阵, R = I − 1 n e e T R = I - \frac{1}{n}ee^T R=I−n1eeT,其中 I I I 是单位矩阵, e e e 是全一列向量。在我们的实现中,我们为 K T K_T KT 和 K C T K_{CT} KCT 使用内积核函数。

类似地,考虑到嵌入 Z F Z_F ZF 和 Z C F Z_{CF} ZCF 也是从同一个图 ( A f , X ) (A_f, X) (Af,X) 学来的,它们的差异性也应该通过 HSIC 增强:
H S I C ( Z F , Z C F ) = ( n − 1 ) − 2 tr ( R K F R K C F ) . HSIC(Z_F, Z_{CF}) = (n-1)^{-2} \text{tr}(R K_F R K_{CF}). HSIC(ZF,ZCF)=(n−1)−2tr(RKFRKCF).

然后我们将差异性约束设为 L d L_d Ld:
L d = H S I C ( Z T , Z C T ) + H S I C ( Z F , Z C F ) . L_d = HSIC(Z_T, Z_{CT}) + HSIC(Z_F, Z_{CF}). Ld=HSIC(ZT,ZCT)+HSIC(ZF,ZCF).

3.4.3 优化目标

我们使用公式 (10) 中的输出嵌入 Z Z Z 进行半监督多类分类,通过线性变换和 softmax 函数。假设 n n n 个节点的类预测为 Y ^ = [ y ^ i c ] ∈ R n × C \hat{Y} = [\hat{y}{ic}] \in \mathbb{R}^{n \times C} Y^=[y^ic]∈Rn×C,其中 y ^ i c \hat{y}{ic} y^ic 是节点 i i i 属于类 c c c 的概率。然后 Y ^ \hat{Y} Y^ 可以通过以下方式计算:
Y ^ = softmax ( W ⋅ Z + b ) , \hat{Y} = \text{softmax}(W \cdot Z + b), Y^=softmax(W⋅Z+b),

简单的softmax 目标函数

其中 softmax ( x ) = e x p ( x ) ∑ c = 1 C e x p ( x c ) \text{softmax}(x) = \frac{exp(x)}{\sum_{c=1}^C exp(x_c)} softmax(x)=∑c=1Cexp(xc)exp(x) 实际上是跨所有类的归一化器。

假设训练集为 L L L,对于每个属于 L L L 的 l l l,真实标签为 Y l Y_l Yl,预测标签为 Y ^ l \hat{Y}_l Y^l。那么所有训练节点上的交叉熵损失表示为 L t L_t Lt:

L t = − ∑ l ∈ L ∑ i = 1 C Y l i ln ⁡ Y ^ l i . L_t = - \sum_{l \in L} \sum_{i=1}^C Y_{li} \ln \hat{Y}_{li}. Lt=−l∈L∑i=1∑CYlilnY^li.

结合节点分类任务和约束,我们有以下总体目标函数: 将两个约束项目加入到最终的损失中,而超参数则需要人为的设定。
L = L t + γ L c + β L d , L = L_t + \gamma L_c + \beta L_d, L=Lt+γLc+βLd,
其中 γ \gamma γ 和 β \beta β 是一致性和差异性约束项的参数。在标记数据的指导下,我们可以通过反向传播优化提出的模型并学习节点分类的嵌入。

论文的主体完事了,我们回过头来看这个实验部分内容,只要按照目标函数根据梯度信息给出的方向就能实现优化了。下面的第四节主要就是实验的内容了。我这里仅对主要内容进行讲解,下一章节将会手把手的对文中提到的实验内容进行复现各位酌情观看。

4 实验

准确的大量论文详解的内容到这里已经结束了,后面是翻译的内容各位自己阅读即可都是实验的细节。

4.1 实验设置

数据集

我们的提出的 AM-GCN 在六个真实世界数据集上进行了评估,这些数据集在表1中进行了总结,此外,我们在补充资料中提供了所有数据网站以保证可重复性。

  • Citeseer [14]: Citeseer 是一个研究论文引用网络,节点是出版物,边是引用链接。节点属性是论文的词袋表示,所有节点分成六个领域。
  • UAI2010 [28]: 我们使用这个包含 3067 个节点和 28311 条边的数据集,该数据集已在 [28] 中用于社区检测的图卷积网络测试。
  • ACM [29]: 该网络从 ACM 数据集中提取,节点代表论文,两篇论文之间有一条边,如果它们有相同的作者。所有论文分为 3 类(数据库、无线通信、数据挖掘)。特征是论文关键词的词袋表示。
  • BlogCatalog [18]: 这是一个社交网络,包括博客者及其在 BlogCatalog 网站上的社交关系。节点属性由用户资料中的关键词构成,标签表示作者提供的主题类别,所有节点分为 6 类。
  • Flickr [18]: Flickr 是一个图像和视频托管网站,用户通过共享照片相互交互。这是一个社交网络,节点代表用户,边代表它们的关系,所有节点根据用户的兴趣群组分为 9 类。
  • CoraFull [2]: 这是众所周知的引用网络 Cora 数据集的较大版本,其节点代表论文,边代表它们的引用,节点基于论文主题进行标记。

基准

我们将 AM-GCN 与两种类型的最先进方法进行比较,覆盖了两种网络嵌入算法和六种基于图的神经网络方法。此外,我们在补充资料中提供了所有代码网站以保证可重复性。

  • DeepWalk [22] 是一种网络嵌入方法,使用随机游走获得上下文信息,并使用 skip-gram 算法学习网络表示。
  • LINE [25] 是一种大规模网络嵌入方法,分别保存网络的一阶和二阶邻近性。这里我们使用 LINE (1st+2nd)。
  • Chebyshev [5] 是一种基于 GCN 的方法,使用切比雪夫过滤器。
  • GCN [14] 是一种半监督图卷积网络模型,通过聚合邻居信息来学习节点表示。
  • kNN-GCN 用于比较,我们使用从特征矩阵计算得到的稀疏 k 最近邻图作为 GCN 的输入图,并将其表现为 kNN-GCN。
  • GAT [27] 是一个使用注意力机制聚合节点特征的图神经网络模型。
  • DEMO-Net [31] 是一个特定度的图神经网络,用于节点分类。
  • MixHop [1] 是一种基于 GCN 的方法,在一个图卷积层中混合高阶邻居的特征表示。

参数设置

为了更全面地评估我们的模型,我们为训练集选择了三个标签率(即每类 20、40、60 个标记节点),并选择 1000 个节点作为测试集。所有基线都使用其论文建议的相同参数初始化,并且我们还进一步仔细调整参数以获得最佳性能。对于我们的模型,我们同时训练三个 2 层 GCN, 具有相同的隐藏层维度(nhid1)和相同的输出维度(nhid2),其中 nhid1 ∈ {512, 768},nhid2 ∈ {32, 128, 256}。我们使用 0.0001 ∼ 0.0005 的学习率与 Adam 优化器。此外,dropout 率为 0.5,权重衰减 ∈ {5e-3, 5e-4},并且 k ∈ {2...10} 用于 k 最近邻图。一致性约束和差异性约束的系数在 {0.01, 0.001, 0.0001} 和 {1e-10, 5e-9, 1e-9, 5e-8, 1e-8} 中搜索。对于所有方法,我们运行 5 次使用相同的分区并报告平均结果。我们使用准确度 (ACC) 和宏 F1 分数 (F1) 来评估模型性能。为了可重复性,我们在补充材料(第 A.3 节)中提供了特定的参数值。

4.2 节点分类

对比➕消融实验

节点分类的结果如表2所示,其中L/C表示每类的标记节点数。我们有以下观察结果:

  • 与所有基线相比,提出的AM-GCN在所有数据集上在所有标签率情况下通常都能达到最好的性能。特别是在ACC方面,AM-GCN在BlogCatalog和Flickr上实现了最高8.59%和8.63%的相对改进。这些结果证明了AM-GCN的有效性。
  • AM-GCN一致性地在所有数据集上优于GCN和kNN-GCN ,这表明了AM-GCN中自适应融合机制的有效性,因为它可以提取比单独执行GCN和kNN-GCN更多的有用信息。并行结构的必要性
  • 与GCN和kNN-GCN相比,我们可以了解到拓扑图和特征图之间确实存在结构差异,并且在传统拓扑图上进行GCN并不总是比在特征图上表现得更好。例如,在BlogCatalog、Flickr和UAI2010中,特征图的表现优于拓扑图。这进一步确认了在GCN中引入特征图的必要性。
  • 此外,与GCN相比,AM-GCN在具有更好的特征图(kNN)的数据集上的改进更加显著,例如UAI2010、BlogCatalog、Flickr。这表明AM-GCN引入了一个更好、更适合的kNN图来指导标签监督特征传播和节点表示学习。

4.3 变体分析

在本节中,我们将AM-GCN与其三个变体在所有数据集上进行比较,以验证约束的有效性。

客观的加不加约束项对性能影响十分明显=

  • AM-GCN-w/o: 没有约束Lc和Ld的AM-GCN。
  • AM-GCN-c: 只有一致性约束Lc的AM-GCN。
  • AM-GCN-d : 只有差异性约束Ld的AM-GCN。

    从图2的结果中,我们可以得出以下结论:(1) AM-GCN的结果始终优于其他三个变体,表明同时使用两种约束的有效性。(2) 在所有数据集的所有标签率下,AM-GCN-c和AM-GCN-d的结果通常优于AM-GCN-w/o,验证了两个约束的有用性。(3)
    优于AM-GCN-d,这表明一致性约束在此框架中起着更为重要的作用。(4) 比较图2和表2的结果,我们可以发现,尽管没有任何约束,AM-GCN-w/o仍然实现了非常有竞争力的表现,证明了我们框架的稳定性和竞争力。

4.4 可视化

为了更直观地比较,并进一步展示我们提出的模型的有效性,我们在BlogCatalog数据集上进行了可视化任务。我们使用AM-GCN(或GCN, GAT)在softmax之前的最后一层的输出嵌入,并使用t-SNE[26]绘制测试集的学习嵌入。图3中的BlogCatalog结果按真实标签着色。

从图3中我们可以看到,DeepWalk、GCN和GAT的结果不太令人满意,因为不同标签的节点混杂在一起。显然,AM-GCN的可视化表现最好,学到的嵌入具有更紧凑的结构,最高的类内相似性和不同类别之间最清晰的区分边界。

4.5 注意力机制分析

为了调查我们提出的模型学到的注意力值是否有意义,我们分别分析了注意力分布和注意力学习趋势。

注意力分布分析:AM-GCN学习了两个特定的嵌入和一个共同的嵌入,每个嵌入都与注意力值相关联。在所有数据集上进行了注意力分布分析,标签率为20,结果显示在图4中。可以看到,对于Citeseer、ACM和CoraFull,拓扑空间中特定嵌入的注意力值大于特征空间中的值,而共同嵌入的值则介于二者之间。这意味着拓扑空间中的信息应该比特征空间中的信息更重要。要验证这一点,我们可以看到在这些数据集中,GCN的结果比kNN-GCN更好。相反,对于UAI2010、BlogCatalog和Flickr,与图4和表2相比,我们可以发现kNN-GCN比GCN表现更好,同时,特征空间中特定嵌入的注意力值也大于拓扑空间中的值。总之,实验表明我们提出的AM-GCN能够适应性地为更重要的信息分配更大的注意力值。

注意力趋势分析:我们分析了训练过程中注意力值的变化趋势。这里我们以Citeseer和BlogCatalog的20标签率为例,在图5中展示,其中x轴是训练的epoch,y轴是平均注意力值。更多结果在补充资料A.4.1中。一开始,拓扑、特征和共同的平均注意力值几乎相同,随着训练epoch的增加,注意力值变得不同。例如,在BlogCatalog中,对于拓扑的注意力值逐渐减小,而对于特征的注意力值则持续增加。这一现象与表2和图4的结论一致,即在特征图中的kNN-GCN表现比GCN更好,特征空间中的信息比拓扑空间中的信息更重要。可以看出,AM-GCN能逐步学习不同嵌入的重要性。

4.6 参数研究

在本节中,我们调查了Citeseer和BlogCatalog数据集上的参数敏感性。更多结果在A.4.2中。

一致性系数γ分析 :我们测试了公式

(18)中一致性约束权重γ的效果,并将其从0变化到10000。结果显示在图6中。随着一致性系数的增加,性能首先提高,然后开始缓慢下降。基本上,当γ在1e-4到1e+4的范围内时,AM-GCN在所有数据集上是稳定的。我们还可以看到20、40、60标签率的曲线显示出类似的变化趋势。

差异性约束系数β分析 :然后我们测试方程(18)中差异性约束权重β的效果,并将其从0变化到1e-5。结果显示在图7中。同样,随着β的增加,性能首先提高,但如果β大于1e-6,则性能会迅速下降,Citeseer在图7(a)中表现尤为明显,而对于BlogCatalog而言,相对稳定。

k-最近邻图k分析:为了检查kNN图中前k个邻居的影响,我们研究了从2到10不同k值的AM-GCN表现。对于Citeseer和BlogCatalog,准确率首先增加,然后开始减少。这可能是因为如果图变得更密集,特征更容易被平滑,同时,较大的k可能引入更多噪声边缘。

6 结论

在本文中,我们重新思考了图卷积网络(GCN)中网络拓扑与节点特征的融合机制,并惊讶地发现它距离最优还有很大的距离。受到这一基本问题的启发,我们研究了如何自适应地从拓扑和节点特征中学习最相关的信息,并充分融合这些信息用于分类。我们提出了一个多通道模型 AM-GCN,该模型能够在融合拓扑和节点特征信息时学习适当的重要性权重。广泛的实验很好地证明了该模型在真实世界数据集上相对于最先进模型的优越性能。

7 笔者总结

个人感觉比较难的部分就是实验里面的各种各样参数,其实可以看到作者在写的时候说的约束条件对整个模型的影响并不是很大,但是从实验的数据可以看到约束对模型的性能还是不能忽视的。也就是说集成算法中,约束条件的重要性不言而喻,以及后续论文中的注意力系数的分配情况,在cora和cite数据集上还是正常的GCN使用的基础图结构更厉害这个knn构造的图仅仅只是调味品而已。 其算法带来的这一点点提升都离不开各种各样的超参数。所以各位在学习的过程中,认认真真看实验才能理解其作者对当前部分的重要贡献。好了好了终于看完了,下一章讲实验,感兴趣的读者麻烦继续努力加油哦。

相关推荐
强哥之神11 分钟前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai
yusaisai大鱼14 分钟前
tensorflow_probability与tensorflow版本依赖关系
人工智能·python·tensorflow
18号房客15 分钟前
一个简单的深度学习模型例程,使用Keras(基于TensorFlow)构建一个卷积神经网络(CNN)来分类MNIST手写数字数据集。
人工智能·深度学习·机器学习·生成对抗网络·语言模型·自然语言处理·tensorflow
神秘的土鸡22 分钟前
神经网络图像隐写术:用AI隐藏信息的艺术
人工智能·深度学习·神经网络
数据分析能量站23 分钟前
神经网络-LeNet
人工智能·深度学习·神经网络·机器学习
Jaly_W31 分钟前
用于航空发动机故障诊断的深度分层排序网络
人工智能·深度学习·故障诊断·航空发动机
小嗷犬34 分钟前
【论文笔记】Cross-lingual few-shot sign language recognition
论文阅读·人工智能·多模态·少样本·手语翻译
夜幕龙40 分钟前
iDP3复现代码数据预处理全流程(二)——vis_dataset.py
人工智能·python·机器人
吃个糖糖1 小时前
36 Opencv SURF 关键点检测
人工智能·opencv·计算机视觉
AI慧聚堂1 小时前
自动化 + 人工智能:投标行业的未来是什么样的?
运维·人工智能·自动化