Grenade论文阅读笔记

Grenade: Graph-Centric Language Model for Self-Supervised Representation Learning on Text-Attributed Graphs论文阅读笔记

Abstract

现存的问题:

​ 文本属性图的自监督表征学习旨在为各种下游任务创建具有表现力和通用性的表征,近来受到越来越多的研究关注。然而,现有的方法要么难以捕捉到完整的结构上下文信息,要么依赖于特定任务的训练标签,这在很大程度上影响了它们在实践中的有效性和普适性。

提出方法:

​ 为了解决文本属性图上的自我监督表征学习问题,我们开发了一种新颖的以图为中心的语言模型--Grenade。具体来说,Grenade 利用预训练语言模型和图神经网络的协同效应,通过两种专门的自我监督学习算法进行优化:以图为中心的对比学习和以图为中心的知识对齐。所提出的以图为中心的自监督学习算法有效地帮助 Grenade 捕捉到了信息丰富的文本语义以及文本归属图的结构上下文信息。

Introduction

​ 在文本属性图 TAG 中,每个节点代表一个文本文档,而这些文本节点之间的关系由边来描述。例如,在引文网络中,文本节点代表学术论文,边代表不同论文之间的引文关系。要在 TAG 上执行不同的分析任务,关键在于为文本节点学习具有表现力的节点表示法。

​ 最近的研究表明,自我监督学习(SSL)可以大幅提高文本数据表示学习的效果。这些方法通常是在文本文档独立且同分布(i.i.d.)的假设下学习的,这就忽略了 TAG 上文本节点之间的结构性相互依赖关系。然而,不同文本文档之间的相互依赖关系可以为理解它们之间的语义关系提供有价值的见解。

​ 为了超越现有的学习范式,捕捉丰富的文本语义和图结构信息,我们开发了一种新的 TAG 自监督学习模型,即 Grenade(以图为中心的语言模型)。Grenade 由一个 PLM 编码器和一个辅助 GNN 编码器组成,后者可为 Grenade 提供补充知识。更重要的是,Grenade 是通过两种新的自监督学习算法来学习的: 以图为中心的对比学习(Graph-Centric Contrastive Learning,GC-CL)是一种结构感知和无增强的对比学习算法,它通过利用固有的图邻域信息来提高表示的表现力;而以图为中心的知识对齐(GraphCentric Knowledge Alignment,GC-KA)则使 PLM 模块和 GNN 模块能够通过对齐它们在文本节点表示中编码的已学知识来相互增强。

​ 具体来说,GC-CL 通过将相邻节点视为正对,强制要求它们在潜在空间中共享相似的语义。即使不使用数据增强功能,GC-CL 也能通过节点对比学习从 TAG 中获取结构上下文信息。同时,GC-KA 通过对计算出的表征进行双层知识对齐,弥补了 PLM 和 GNN 之间的知识差距

  • 在节点层面,我们最大限度地缩小了从两个侧重于不同模态的编码器中学到的表征之间的距离。
  • 在邻域层面,我们将 PLM 和 GNN 计算出的两个邻域相似性分布之间的差异最小化。

​ 通过这两种以图为中心的自我监督学习算法,我们能够学习出 Grenade,从而在不使用任何人工监督的情况下,为各种下游任务生成具有表现力和通用性的表征。

​ 本文的主要贡献如下:

  • 我们开发的 Grenade 是一种以图为中心的语言模型,可解决 TAG 上未充分开发的自监督学习问题。
  • 我们为 TAG 提出了两种新的自监督学习算法,使我们能够以图为中心进行对比学习和知识对齐

Problem Definition

​ 我们的目标是学习一个以图为中心的语言模型 PLM(-),该模型可以为 G 上的任意节点 i 生成具有表现力和通用性的表示:di=PLM(Di) 注意,整个学习过程仅在输入图 G 上进行,不使用人工标注的标签。

Method

模型架构

​ 本文的主要框架如下:

pAPsKpR.png

​ 定一个文本属性图(TAG),Grenade通过两种以图形为中心的自监督学习算法共同进行优化:以图形为中心的对比学习GC-CL和一种以图形为中心的双层知识对齐,其中包括节点级对齐(ND-KA)和邻域级对齐(NBH-KA)。

​ 我们提出的模型 Grenade 由一个预训练语言模型 (PLM) 和一个图神经网络 (GNN) 组成,这两个模型通过一套新颖的自监督学习算法进行了优化。我们首先对这两个重要组成部分作如下详细介绍:

PLM编码器

​ 主要组件PLM(·)是一个基于BERT的文本编码器,它将一系列令牌Di投射到一个向量化的文本节点表示di中:

\(\mathbf{d}_i{=}\mathsf{PLM}(\mathcal{D}_i),\)

GNN编码器

​ GNN的辅助编码器GNN(·)由基于消息传递的GNN层栈构建,GNN层通过迭代聚合和转换特征信息来计算节点i的表示。对于每个节点i,从l层GNN编码器学习到的表示可以表示为:

\(\mathbf{e}_i{=}\mathbf{E}_{[i,:]},\mathbf{E}{=}\mathbf{GNN}(\mathbf{E}^0,\mathbf{A})\)

​ 其中,输入节点特征矩阵E0从预训练的BERT模型的最后一层的[CLS]标记的隐藏表示中得到。

以图为中心的对比学习

​ 为了在不使用任何人工注释标签的情况下提高这两个编码器的学习能力,一种流行的方法是从文本角度或图形角度(进行对比学习。然而,现有的对比学习方法大多有以下两个局限性: (1)传统的实例级对比学习方法只是鼓励实例级辨别,忽略了TAG的属性,即文本节点之间的关系信息。因此,那些具有相似语义的实例可能会被推到潜在空间中;(2)现有的方法通常依赖于任意的增强函数来生成不同的增强视图来应用对比学习,而这些增强可能会意外地干扰原始实例的语义意义

​ 为了解决上述问题,我们提出了一种新的以图为中心的对比学习(GC-CL)算法,它是结构感知和无增强的。GC-CL利用了TAG中的固有图知识,可以同时应用于PLM编码器和GNN编码器。根据同质性原理,相邻节点通常共享相似的语义,这意味着它们的表示在潜在空间中也应该彼此接近。基于节点i的PLM表示,其K-hop相邻节点N (i),以及节点i排除了小批处理实例B (i),PLM的GC-CL目标可以定义如下:

\(\mathcal{L}_{\mathrm{GC-CL}_1}=\frac{-1}{|\mathcal{N}(i)|}\sum_{p\in\mathcal{N}(i)}\log\frac{e^{\sin(\mathbf{d}_i,\mathbf{d}_p)/\tau}}{\sum_{j\in\mathcal{C}(i)}e^{\sin(\mathbf{d}_i,\mathbf{d}_j)/\tau}},\)

​ 其中:\(\mathcal{C}(i)=\mathcal{N}(i)\cup\mathcal{B}(i)\)。注意,对于节点i,我们将它的PLM表示di作为查询实例。正实例是节点i的k跳相邻节点的表示\(\{\mathbf{d}_p|p\in\mathcal{N}(i)\}.\)。同时,负实例是在同一小批处理中排除i之外的其他文本节点的表示\(\{\mathbf{d}_j|j\in\mathcal{B}(i)\}.\)

​ 与PLM编码器类似,我们也将GC-CL算法应用于GNN编码器GNN(·)。具体,目标函数定义如下:

\(\mathcal{L}_{\mathrm{GC-CL}_2}=\frac{-1}{|\mathcal{N}(i)|}\sum_{p\in\mathcal{N}(i)}\log\frac{e^{\sin(\mathbf{e}_i,\mathbf{e}_p)/\tau}}{\sum_{j\in\mathcal{C}(i)}e^{\sin(\mathbf{e}_i,\mathbf{e}_j)/\tau}},\)

​ 除了传统的实例级对比学习之外,我们的以图为中心的对比学习也强制相邻节点共享相似的表示。在某种意义上,这种自监督学习算法类似于基于从PLM编码器学习到的表示来执行链接预测任务,它在学习过程中固有地引出信息图知识

以图为中心的知识对齐

​ 在这项工作中,我们的最终目标是学习表达性和可一般化的表示,这些表示在每个文本节点中编码信息性文本语义以及节点之间的关系信息。然而,由于PLM或GNN之间单独进行以图为中心的对比学习是不够的。为了更好地对齐和增强PLM和GNN编码器捕获的知识,我们提出了一种以双层图为中心的TAG知识对齐算法,其中包括节点级知识对齐(ND-KA)和邻域级知识对齐(NBH-KA)。

节点级的知识对齐

​ 与之前引入的以图形为中心的对比学习只关注单模态对比不同,ND-KA试图通过跨模态形式执行以图为中心的对比学习来调整两个编码器之间的知识。对于每个节点i,基于从PLM编码器和GNN编码器(即di和ei)学习到的表示,我们将ND-KA的目标表述如下:

\(\begin{aligned}\mathcal{L}_{\mathbf{ND-KA}}&=\frac{-1}{|\widetilde{\mathcal{N}}(i)|}\sum_{p\in\widetilde{\mathcal{N}}(i)}\bigg(\log\frac{e^{\sin(\mathbf{e}_i,\mathbf{d}_p)/\tau}}{\sum_{j\in\widetilde{\mathcal{C}}(i)}e^{\sin(\mathbf{e}_i,\mathbf{d}_j)/\tau}}\\&+\log\frac{e^{\sin(\mathbf{d}_i,\mathbf{e}_p)/\tau}}{\sum_{j\in\widetilde{\mathcal{C}}(i)}e^{\sin(\mathbf{d}_i,\mathbf{e}_j)/\tau}}\bigg)/2,\end{aligned}\)

​ 其中:\(\widetilde{\mathcal{N}}(i) = \{i\}\cup\mathcal{N}(i) \text{and} \widetilde{\mathcal{C}}(i) = \widetilde{\mathcal{N}}(i) \cup \mathcal{B}(i)\)

​ 注意,对于节点i,我们首先考虑从GNN编码器中学习到的ei作为查询,然后基于从PLM编码器中学习到的表示来构造正实例和负实例。具体来说,正实例包括节点i的表示和i的K-hop相邻节点的表示,并且负实例是同一小批中其他实例的表示。同时,我们也将di视为查询,并以同样的方式构造其相应的正、负实例。为了简单起见,这里我们省略了这个说明。

​ 利用所提出的ND-KA算法,从两个独立的编码器中学习到的同一节点的表示将被拉合在潜在空间中。同时,ND-KA还鼓励相邻节点在不同的模式下具有相似的表示。

邻居级的知识对齐

​ 为了进一步促进PLM和GNN之间的知识对齐,我们提出了邻域级知识对齐(NBH-KA)来对齐从两个编码器中学习到的邻域相似度分布。具体来说,NBH-KA首先计算查询节点i与其相邻节点N (i)以及每个编码器在同一小批B (i)内的其他节点之间的邻域相似度分布。然后,我们最小化两个分布之间的kl-散度,以对齐两个编码器之间的知识。相应的学习目标是:

\(\mathcal{L}_{\mathbf{NBH-KA}}=\left(\mathrm{KL}(P_{\mathbf{PLM}}(i)||P_{\boldsymbol{\gamma}}(i))\right.+\mathrm{KL}(P_{\mathbf{GNN}}(i)||P_{\mathbf{PLM}}(i)))/2,\)

\(P_{\mathbf{PLM}}(i)=\text{softmax}_{j\in\mathcal{C}(i)}(sim(\mathbf{d}_i,\mathbf{d}_j)/\tau),\\P_{\mathbf{GNN}}(i)=\text{softmax}_{j\in\mathcal{C}(i)}(sim(\mathbf{e}_i,\mathbf{e}_j)/\tau),\)

​ 其中,PPLM (i)和PGNN (i)分别为PLM编码器和GNN编码器的邻域相似度分布。从一定的角度来看,我们的NBH-KA算法可以被认为是一种自监督的知识蒸馏形式。具体来说,NBH-KA利用邻域信息作为自我监督来指导知识对齐过程。此外,我们在两个编码器上进行双向知识对齐,这不同于原始知识的蒸馏。

模型训练

​ 为了在不使用人工标注标签的情况下学习我们的基于图形的语言模型,我们联合优化了所提出的基于图形的对比学习和知识对齐算法。为简单起见,我们定义总体训练损失如下:

\(\mathcal{L}{=}\mathcal{L}_{\mathrm{GC-CL}_1}+\mathcal{L}_{\mathrm{GC-CL}_2}+\mathcal{L}_{\mathrm{ND-KA}}+\mathcal{L}_{\mathrm{NBH-KA}}.\)

​ 一旦训练完成,我们就可以冻结PLM编码器的参数,并使用它来计算每个文本节点的表示。计算出的表示可以进一步用于不同的下游任务。

总结

​ 这篇文章讲的还是非常清晰的,主要是通过对比学习的形式来对PLM和GNN生成的表示进行对齐,通俗来说,也分为模型内的对齐和模型间的对齐,模型内的对比学习就是让中心节点与邻居节点进行对比。而模型间的对齐分为两种,一类是传统的节点间的对比学习,使其中一个视图的表示与另一个视图的对应表示以及邻居节点的表示进行对齐,另一类是使得邻域相似度的分布尽可能的相似。

posted @ 2024-08-19 21:03  ANewPro  阅读(112)  评论(0编辑  收藏  举报