在异构图中教授旧标签新技巧

1725522630491.jpg

机器学习的工业应用通常由具有不同数据模态或特征分布的各种项目组成。异构图(HG) 通过定义多种类型的节点(针对每种数据类型)和边(针对数据项之间的关系),提供这些多模态数据系统的统一视图。例如,电子商务网络可能有 [用户、产品、评论] 节点,或者视频平台可能有 [频道、用户、视频、评论] 节点。异构图神经网络(HGNN) 学习节点嵌入,将每个节点的关系汇总为一个向量。然而,在现实世界的 HG 中,不同节点类型之间通常存在标签不平衡问题。这意味着标签稀缺的节点类型无法利用 HGNN,从而妨碍了 HGNN 的更广泛适用性。

在NeurIPS 2022上发表的 “通过知识转移网络在异构图中进行零样本迁移学习”中,我们提出了一种称为知识转移网络 (KTN) 的模型,该模型使用 HG 中提供的丰富关系信息将知识从标签丰富的节点类型转移到零标签节点类型。我们描述了如何预训练 HGNN 模型而无需进行微调。KTN 在零样本学习任务上的表现比最先进的迁移学习基线高出 140%,并且可用于将这些任务上的许多现有 HGNN 模型提高 24%(或更多)。

KTN通过图形将标签从一种信息类型(正方形)转换为另一种信息类型(星号)。

什么是异构图?

HG 由多种节点和边类型组成。下图显示了以 HG 呈现的电子商务网络。在电子商务中,“用户”购买“产品”并撰写“评论”。HG 使用三种节点类型 [用户、产品、评论] 和三种边类型 [用户购买产品、用户撰写评论、评论产品] 来呈现此生态系统。然后,单个产品、用户和评论在 HG 中呈现为节点,其关系呈现为边,并具有相应的节点和边类型。

电子商务异构图。

除了所有连接信息之外,HG 通常还带有输入节点属性,这些属性总结了每个节点的信息。输入节点属性在不同节点类型中可能具有不同的形式。例如,产品图像可以作为产品节点的输入节点属性,而文本可以作为评论节点的输入属性。节点标签(例如,每个产品的类别或每个用户最感兴趣的类别)是我们想要在每个节点上预测的内容。

HGNN 和标签稀缺问题

HGNN 计算节点嵌入,总结每个节点的局部结构(包括节点及其邻居的信息)。分类器利用这些节点嵌入来预测每个节点的标签。为了训练 HGNN 模型和分类器来预测特定节点类型的标签,我们需要大量该类型的标签。

深度学习工业应用中的常见问题是标签稀缺,而由于节点类型多样,HGNN 更有可能面临这一挑战。例如,公开可用的内容节点类型(例如产品节点)具有丰富的标签,而由于隐私限制,用户或帐户节点的标签可能不可用。这意味着在大多数标准训练设置中,HGNN 模型只能学习对少数标签丰富的节点类型做出良好的推断,并且通常无法对任何剩余节点类型做出任何推断(因为它们没有任何标签)。

异构图上的迁移学习

零样本迁移学习是一种技术,用于利用模型从具有充分标记数据的另一个相关源域中学到的知识来提高模型在没有标签的目标域上的性能。要应用迁移学习来解决 HG 中某些节点类型的标签稀缺问题,目标域将是零标记节点类型。那么源域是什么?以前的工作通常将源域设置为位于不同 HG 中的相同类型的节点,假设这些节点被大量标记。这种图到图的迁移学习方法在外部 HG 上预先训练 HGNN 模型,然后在原始(标签稀缺)HG 上运行该模型。

然而,这些方法并不适用于许多实际场景,原因有三。首先,任何可用于图到图迁移学习环境的外部 HG 几乎肯定是专有的,因此很可能不可用。其次,即使从业者可以访问外部 HG,该源 HG 的分布也不太可能与其目标 HG 足够匹配,从而无法应用迁移学习。最后,标签稀缺的节点类型很可能在其他 HG 上遭遇同样的问题(例如,用户节点上的隐私问题)。

我们的方法:异构图中节点类型之间的迁移学习

在这里,我们阐明了一个更实际的源域,即位于同一 HG 上具有丰富标签的其他节点类型。我们没有使用额外的 HG,而是在单个 HG(假设从业者完全拥有)内跨不同类型的节点传输知识。更具体地说,我们在标签丰富的(源)节点类型上预训练 HGNN 模型和分类器,然后在位于同一 HG 中的零标签(目标)节点类型上重用这些模型,而无需额外的微调。一个要求是源和目标节点类型共享相同的标签集(例如,在电子商务 HG 中,产品节点具有描述产品类别的标签集,用户节点共享相同的标签集来描述他们最喜欢的购物类别)。

为什么它具有挑战性?

不幸的是,我们无法直接在目标节点类型上重复使用预先训练的 HGNN 和分类器。HGNN 架构的一个重要特征是它们由专门针对每种节点类型的模块组成,以充分学习 HG 的多样性。HGNN 使用不同的模块集来计算每种节点类型的嵌入。在下图中,蓝色和红色模块分别用于计算源节点类型和目标节点类型的节点嵌入。

HGNN 由专门针对每种节点类型的模块组成,并使用不同的模块集来计算不同节点类型的嵌入。更多详细信息请参阅论文。

在对源节点类型进行 HGNN 预训练时,HGNN 中的源特定模块训练良好,但目标特定模块训练不足,因为它们只有少量梯度流入。如下所示,我们可以看到目标节点类型(即 M tt )的梯度L2 范数远低于源类型(即 M ss)。在这种情况下,HGNN 模型为目标节点类型输出较差的节点嵌入,从而导致任务性能不佳。

在 HGNN 中,目标类型特定模块在对源节点类型进行预训练期间接收零梯度或仅接收少量梯度,导致目标节点类型的性能不佳。

KTN:可训练的跨类型迁移学习,适用于 HGNN

我们的工作重点是将预训练的 HGNN 模型计算出的(较差的)目标节点嵌入转换为遵循源节点嵌入的分布。然后,可以在源节点类型上预训练的分类器可以重新用于目标节点类型。我们如何将目标节点嵌入映射到源域?为了回答这个问题,我们研究了 HGNN 如何计算节点嵌入以了解源分布和目标分布之间的关系。

HGNN 聚合连接的节点嵌入以增强每一层中目标节点的嵌入。换句话说,源节点类型和目标节点类型的节点嵌入都使用相同的输入进行更新——前一层的任何连接节点类型的节点嵌入。这意味着它们可以互相表示。我们从理论上证明了这种关系,并发现有一个从目标域到源域的映射矩阵(由 HGNN 参数定义)(更多细节见论文中的定理 1 )。基于这个定理,我们引入了一个辅助神经网络,我们称之为知识转移网络(KTN),它接收目标节点嵌入,然后通过将它们与(可训练的)映射矩阵相乘来转换它们。然后,我们定义一个正则化器,该正则化器在训练前阶段与性能损失一起最小化,以训练 KTN。在测试时,我们使用训练后的 KTN 将从预训练的 HGNN 计算出的目标嵌入映射到源域进行分类。

在 HGNN 中,源类型和目标类型的最终节点嵌入都是通过不同的数学函数(f ():源,g ():目标)计算得出的,这些函数使用相同的输入——前一层的节点嵌入。

实验结果

为了检验 KTN 的有效性,我们在两个公共异构图Open Academic Graph和Pubmed上运行了 18 个不同的零样本迁移学习任务。我们将 KTN 与八种最先进的迁移学习方法(DAN、JAN、DANN、CDAN、CDAN-E、WDGRL、LP、EP)进行了比较。如下所示,KTN 在所有任务上的表现始终优于所有基线,比迁移学习基线高出多达 140%(以排名指标Normalized Discounted Cumulative Gain衡量)。

在开放学术图谱 (OAG-CS) 和 Pubmed 数据集上进行零样本迁移学习。颜色代表与结果进行比较的不同类别的迁移学习基线。黄色:使用分布的统计特性(例如均值、方差)。绿色:使用对抗模型来迁移知识。橙色:使用标签传播通过图结构直接迁移知识。

最重要的是,KTN 可以应用于几乎所有具有节点和边类型特定参数的 HGNN 模型,并提高其在目标域上的零样本性能。如下所示,KTN 在六种不同的 HGNN 模型(R-GCN、HAN、HGT、MAGNN、MPNN、H-MPNN)中将零标记节点类型的准确率提高了高达 190%。

KTN 可应用于六种不同的 HGNN 模型,并提高其在目标域上的零样本性能。

总结

行业中的各种生态系统都可以呈现为异构图。HGNN 将异构图信息总结为有效的表示。然而,某些类型节点上的标签稀缺问题阻碍了 HGNN 的广泛应用。在本文中,我们介绍了 KTN,这是第一个为 HGNN 设计的跨类型迁移学习方法。借助 KTN,我们可以通过 HGNN 充分利用异构图的丰富性,而不受标签稀缺性的影响。有关更多详细信息, 请参阅论文。

致谢

本文是与我们的合著者 John Palowitch(Google 研究)、Dustin Zelle(Google 研究)、Ziniu Hu(Google 研究实习生)和 Russ Salakhutdinov(CMU)合作完成的。感谢 Tom Small 在本博文中制作了动画人物。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论