本文提出了一种简单的无监督图表示学习方法来进行有效且高效的对比学习。具体来说,所提出的多重损失探索结构信息和邻居信息之间的互补信息以增大类间差异,并添加上限损失以实现正嵌入和锚嵌入之间的有限距离以减少类内变异。这样,无论是增大类间变异还是减小类内变异,泛化误差都较小,从而得到有效的模型。此外,我们的方法从以前的图对比学习方法中删除了广泛使用的数据增强和鉴别器,同时可用于输出低维嵌入,从而形成有效的模型。与最先进的方法相比,各种现实世界数据集的实验结果证明了我们的方法的有效性和效率。
https://ojs.aaai.org/index.php/AAAI/article/view/20748
https://github.com/YujieMo/SUGRL
背景
随着图神经网络(GNN)的广泛应用,无监督图表示学习(UGRL)最近也受到了广泛的关注。UGRL不需要丰富的标记节点进行训练,它可以通过同时学习表示和保留样本的局部结构来输出有判别性的表示。判别性表示保证了下游任务输出有效的模型,使得UGRL在实际应用中表现出了卓越的性能。作为UGRL的代表性方法之一,对比学习被提出来最大化输入内容与其相关内容之间的互信息(MI)。
图对比学习方法的主要区别在于输入内容及其相关内容的定义。例如,Deep Graph Infomax (DGI) 最大化节点表示和图摘要之间的 MI。图形互信息 (GMI) 最大化输入图和输出图之间的 MI。GRACE 和 GCA 通过各种数据增强(例如属性掩码或边缘扰动)最大化每个节点的两个视图之间的 MI。
尽管以前的方法在表示学习的许多任务中都是有效的,但它们通常依赖于数据增强来生成输入内容及其相关内容以实现 MI 最大化,从而导致训练过程的计算成本昂贵。因此,这些先前的方法通常效率较低,特别是对于大规模数据集,如图所示,随着样本数量或嵌入维数的增加,先前的方法的计算成本急剧增加。
我们的方法和以前的方法在数据集 Ogbn-products 上具有不同嵌入维度的准确性和训练时间的变化。
实际上,导致先前对比学习方法可扩展性弱的原因包括数据增强、高维嵌入和对比损失等。
(1)首先,先前的工作通常通过数据增强生成多个视图作为相关内容。例如,GRACE 和 GCA 删除边缘并屏蔽节点特征以生成多个视图。因此,数据增强的计算成本(包括数据生成和数据编码)大约占训练时间的 20%-40%。
(2)其次,现有的工作增加了嵌入的维度以提高表示质量,导致训练时间的增加。原因是这些方法的有效性对维数敏感。例如,DGI 和 GMI 通过 512 维实现了最佳精度。
(3)第三,以前的工作通常为目标函数设计一个判别器(包含可学习的参数),这在计算上是令人望而却步的。例如,DGI和MVGRL使用判别器来衡量节点嵌入和图嵌入的一致性,大约需要10%-30%的训练时间。显然,找到一种训练过程计算成本低且表示质量高的 UGRL 方法是很有趣的。
方法
本文提出了一种新的对比学习方法,即简单无监督图表示学习(SUGRL),以实现表示学习的有效性和可扩展性,如图所示。具体来说,我们首先采用多层感知器(MLP)在具有语义信息的输入表示上生成锚嵌入,并分别采用图卷积网络(GCN)和邻居采样方法生成两种不同类型的正嵌入,然后对锚嵌入采用行随机排列方法 生成负嵌入。我们进一步设计了一种新的多重损失,通过减少类内变异并同时扩大类间变异,强制锚嵌入接近正嵌入并远离负嵌入。
SUGRL 方法的流程图。具体来说,给定语义特征及其图结构,SUGRL 在具有语义信息的特征上采用 MLP 网络来生成锚嵌入,并采用 GCN 来生成具有结构信息的正嵌入以及邻居采样方法来生成正嵌入 与邻居信息的嵌入。SUGRL还对anchor嵌入采用行随机排列方法来生成负嵌入,并进一步设计多重损失以实现anchor嵌入接近正嵌入而远离负嵌入。
SUGRL 重点关注 MI 最大化。在文献中,考虑到 MI 最大化的计算成本,SUGRL 中的 MI 最大化被转移到对比学习,其中涉及锚嵌入、正嵌入和负嵌入的定义以及对比损失。
锚点和负嵌入生成
现有的作品通常将节点表示或图摘要视为锚点。但这些方法基本上都需要进行GCN,比较耗时。为了实现可扩展性,在本文中,我们在输入 X 上采用 MLP 来生成具有语义信息的锚嵌入,即
对于负嵌入的生成,流行的方法(例如 DGI、GIC 和 MVGRL)是从原始图获得损坏的图,然后用 GCN 对其进行处理。相比之下,直接对锚嵌入进行行洗牌以获得负嵌入,并进一步减少训练时间,即
正嵌入生成
现有的工作通常将结构信息视为正嵌入,例如 DGI、MVGRL、GRACE、GCA 和 GIC。此外,以前的工作经常采用数据增强来获取有效对比学习的各种信息,例如 GRACE 和 GCA 中的随机图增强,以及 MVGRL 中的图扩散。本文通过生成两种正嵌入(即结构嵌入和邻居嵌入)来获取多样化的信息。具体来说,采用 GCN 和邻居采样方法来生成它们。
(1)结构嵌入
值得注意的是,我们的方法直接在 MLP 和 GCN 编码器之间共享权重(即 W(l)),以进一步减少时间成本。
(2)邻居嵌入
为了获得具有邻居信息的正嵌入,首先存储所有节点的邻居的嵌入索引,然后对其进行采样,然后计算样本的平均值。这样就可以高效的获取该节点的邻居信息:
多重损失
给定锚嵌入、正嵌入和负嵌入,对比学习的目的是使正对(即锚嵌入和正嵌入)接近,同时保持负对(即锚嵌入和负嵌入)远离。许多对比学习方法(例如DGI、GMI、MVGRL和GIC)设计了判别器(例如双线性层)来区分正对和负对,但判别器很耗时。此外,减少泛化误差对于UGRL也很重要,因为训练过程中小的泛化误差可能会提高对比学习的泛化能力。此外,减少类内变异或扩大类间变异已被证明是减少泛化误差的有效解决方案。
SUGRL以三元组损失为基础,设计了一个上限损失,以去除判别器(效率),并减少类内变异并扩大类间变异(有效性)。具体来说,每个样本的三重态损失可以表示为:
通过对所有负嵌入的损失求和:
为了增加类间差异,我们应该将负对远离正对。为了实现这一点,对两种正嵌入使用三元组损失,以获得:
通过以下目标函数研究负对和正对的上限(即 α + β):
对所有负嵌入的损失求和后,减少类内变异的建议上限损失定义如下:
多重损失的公式为:
结果
节点分类
总之,在模型性能和执行时间以及节点分类方面,SUGRL方法在几乎所有数据集上都优于其他比较方法。其原因可归纳如下。首先,SUGRL联合考虑结构信息和邻居信息来生成两种正嵌入及其对比损失(即LS和LN),这可以将负嵌入进一步远离anchor嵌入(即实现较大的类间变化) )。其次,SUGRL 采用上限来确保正嵌入和锚嵌入之间的距离是有限的(即实现较小的类内变化)。第三,SUGRL 删除了数据增强和鉴别器的步骤,从而显着减少了训练时间。最后,SUGRL 可输出低维和高质量的嵌入,并在保持模型有效性的同时减少训练时间。
消融实验
(1)类内与类间变异比率的有效性:结构或邻居信息或上限的有效性得到验证。
数据集照片上类内变异与类间变异的比率。
(2)对比损失中每个组件的有效性:任何两个组件的组合可以帮助学习比仅一个组件更好的嵌入。因此,验证了每个组件的有效性。
超参数分析
我们的方法在照片数据集上不同参数设置(即 α 和 β、ω1 和 ω2)下的分类结果。
效率分析
将所有方法的训练过程分为三个部分(即pretext, encoding and loss)。
Photo 数据集上一个 epoch 中所有方法中不同部分的执行时间(秒)。
微信群 公众号