查看原文
其他

复杂图上的知识迁移学习

毕文东 DataFunSummit
2024-09-11

导读 本文将分享关于复杂图上知识迁移的一些尝试和观点。

主要围绕以下四个部分展开:

1. 图上知识迁移介绍

2. 图数据知识迁移的初步实践

3. 普适场景下的图知识迁移方法-KBL

4. 问答环节

分享嘉宾|毕文东 腾讯 研究员 

编辑整理|于苗苗

内容校对|李瑶

出品社区|DataFun


01

图上知识迁移介绍

首先介绍什么是图上的知识迁移。

1. 图上知识迁移的定义

图是一种由节点和边构成的数据结构,具有强大的表示能力。真实世界中的大多数数据都可以描述成实体和实体间关系的图结构,例如引文的网络、社交网络以及交通网络、蛋白质网络、分子网络等,是一种非常普遍的数据类型。

2. Data Hungry 问题

真实世界的数据往往不是完美的,常常伴随着 Data Hungry 问题。最常见的 Data Hungry 有两种:
  • 用的数据量比较少;
  • 据的质量比较低,比如数据存在一些噪声,或者标注的错误等。
近几年,深度学习算法发展迅速,实现端到端地从大量的、高质量的数据当中学习到有价值的规律,减少大量人力。但深度学习方法往往也需要大量的高质量数据,真实世界中存在的 data hungry 问题导致很多深度学习算法难以落地。

3. Data Hungry 解决方法

IDC 发布《数据时代 2025 白皮书》指出,我们正处于数据时代,数据量和数据的价值呈现指数增长态势。然而我们充分利用起来的数据只是其中很少的一部分,但其他的那些看似没有用的数据,是不是就真的没有用呢?我们把这些大量的、无法直接使用的、看似没有用的数据称之为 open domain data。

在如今万物互联的时代,人与人之间的距离越来越小,数据也越来越透明,不同的数据之间存在着显式或隐式的关联,如何利用好 open domain 的数据来补全目标领域的特定领域知识,从而更充分地挖掘数据当中潜在的关联并迁移这些数据当中的知识,对于解决 Data Hungry 问题是非常有价值的。

4. 图数据的分布偏移

Open domain 数据不能直接使用,是因为这些数据与特定领域数据间存在显著的数据分布偏移,直接使用会带来负面影响。这里以图数据为例,讲解图数据中存在的数据分布迁移问题,以及如何解决这个问题以更好地迁移图数据中蕴含的价值信息。
  • 图表示学习是当下很火的用来学习图上节点级别、边级别以及整个图级别表示的学习方法。但传统的图表示学习是建立在独立同分布的 I.I.D 假设的基础上的,对于不同 domain 数据下存在的分布偏移情况是不适用的。
  • 上学习任务主要分为节点级别、边级别、图级别三种,图上的分布偏移也是对应这三种任务而产生的,其中目前研究比较多的是节点级别和图级别的分布偏移问题。

图级别的分布偏移体现在:不同的图中,节点的特征、节点的类型、边的特征、边的类型上存在差异。

例如右图所展示的,第一个 domain 中更多的是三角结构的房子形状图,第二个 domain 中不存在三角结构的图,两个 domain 在图结构上表现出了非常直观的分布差异。

除了图级别的分布偏移,我们进一步对图进行细分,以图中的节点为样本,对应的就是节点级别的分布偏移问题。图中的节点往往具有节点属性特征,不同节点的属性特征可能不是独立同分布的。

此外,相比于非图数据,图数据最大的特点是它的节点之间并不是相互独立的,而是通过边连接在一起。因此,除了节点自身的属性分布外,图数据存在邻居分布的概念。邻居分布又可以进一步细分成邻居的特征分布、标签分布、局部子图结构。其中,邻居的标签分布,即邻居节点的标签所处的分布,和同配性具有一定关联。

5. 邻居分布表征

这里简单分享一个我们在节点的邻居分布表征上的尝试。

邻居节点的特征向量对应该节点的邻居特征分布,那么邻居的特征分布如何表征?
  • 居的均值其实就是邻居特征分布的最简单的一阶统计量,但一阶统计量不足以表示一个完整的分布。以最简单的高斯分布为例,它的自由度是 2,说明它至少需要有均值和方差两个统计量才能够确定其分布;
  • 外,大多数图本身比较稀疏,我们无法保证邻居分布一定可以被近似为高斯分布,所以需要用更复杂的特征函数来表示。
我们尝试采用邻居节点特征的多阶矩来表征,多阶矩的数据含义是可以近似一个分布的特征函数的。

6. 传统迁移学习

已有研究表明深度学习方法对数据的分布偏移问题十分敏感,迁移学习是当前用来解决该问题的主流做法,已在 CV、NLP 领域进行过比较广泛且深入地研究。

在传统的迁移学习,例如领域自适应:
  • 常会将数据区分成源域 source domain 和目标域 target domain;
  • 据训练阶段使用的标签数量或质量,可以进一步将迁移学习拆分成几个子问题,比如 0 样本学习 Zero-short learning、少样本学习 Few-short learning,以及弱样本学习 Weak-shot learning。

02

图数据知识迁移的初步实践

接下来介绍我们在真实世界的图数据上做知识迁移的初步尝试性工作。

1. 两大真实场景

以两个真实场景为例:

(1)政治选举的 Twitter 社交网络场景

Twitter 上存在两类用户:
  • 特朗普、拜登这样的政治名流
  • 普通用户
这两类用户平时都会在 Twitter 上发言,他们发表的文字就可以作为各自的特征。

但除了发表的文字之外,我们还可以获取到这些政治家们更全面的个人信息,例如他们的主页或维基百科中的一些搜索信息;而对于普通用户,我们是获取不到这部分信息的。从这里可以看出,政治名人更像是大 V 节点,有着更多、更全面的特征和标签信息,而其他人则相反。

除此之外,政治家的 Twitter 话题是一些比较明确的政治倾向类的发言,普通用户更多地讨论生活类的话题,比如今天吃了什么、去哪里玩了等。

基于以上背景,如果要去预测美国大选的结果,不仅要关注政治名人动向,也要去关注这些数量占大多数的普通人的政治倾向。在这样的场景下,我们希望预测普通用户的政治倾向,就可以根据他们之间的一些社交网络,从像川普、拜登这样的一些大 V 来向那些与他们有关联的小 V 节点去迁移更全面的知识,从而更好地预测小 V 节点的标签。

(2)金融网络场景

我们国家存在着上市公司、非上市公司两类:
  • 市公司规模更大、信息更加公开透明,比如上市公司每年/季度会发布财务报表类信息;
  • 上市公司规模相对较小,信息也难以获取。
如果我们同时要去预测这些公司的风险,显然非上市公司的预测难度更高。

类似的,我们可以把上市公司当作大 V 节点,把非上市公司当作小 V 节点。可以从上市公司向非上市公司迁移一些知识,比如它们的财报信息、司法信息等,把这些更全面的信息传递给与他们相关联的小 V 节点,从而提升非上市公司小 V 节点的预测精度。

2. VS-Graph 场景

进一步,我们把真实世界中的问题抽象化,提出了 VS- Graph 全新场景。

VS-Graph 场景同时包含大 V 节点和小 V 节点的图结构,最终目的是实现从大 V 节点向小 V 节点的知识迁移。

VS-Graph 的全称是 Vocal Silent Graph,即 graph 上有两类节点,一类为 silent note,也就是小 V 节点,另一类为 vocal note,即大 V 节点。

为什么称之为小 V 和大 V?
  • 常现实生活中有很多的大 V 或明星节点,数量比较少,小 V 占据了更多的数量;
  • 些大 V 节点通常是比较 popular 的,信息更全,与它们相连的节点数量也更多,对应之前提到的像特朗普、拜登这样的政治名人,以及金融网络里面的上市公司。小 V 通常 unpopular,信息量更少,对应普通的 Twitter 用户以及非上市公司。
相比大 V 节点,小 V 节点的属性特征和标签往往是缺失的。两者都存在着数据分布上的偏移,比如大 V 节点和小 V 节点在 Twitter 上的发言内容是不同的。如何实现图上这两类节点间的知识迁移,从而提升目标节点的性能,就是我们要解决的核心问题。在这里,我们的目标节点就是信息量更少的小 V 节点。

3. 知识可迁移图神经网络 KTGNN 模型

(1)模型总体示意图

KTGNN 的 Pipeline 分为三个部分,每一部分都考虑了 VS-Graph 上大 V 节点和小 V 节点之间的领域分布差异的建模:
  • 一部分:小 V 节点的缺失属性的补全。
  • 二部分:VS-Graph 上的跨领域节点的消息传递。相较于传统的 GN,不区分消息传递的方向,即大 V 节点和小 V 节点之间、大 V 节点和大 V 节点之间、小 V 节点和小 V 节点之间消息的传递。其中,在考虑跨领域节点的消息传递的时候,不得不去考虑小 V 和大 V 节点在数据分布上的差异。
  • 三部分:针对不同 domain 节点的分类,我们设计了跨领域节点的可迁移的分类器。

(2)模型验证结果

我们将模型在 Twitter 社交网络场景和 A 股上市/非上市金融网络场景上进行了算法效果上的验证。在最终的分类效果中,相比于其他的主流 GN 模型,我们的模型在两个数据集上都实现了 4%-5% 的绝对值提升。

03

普适场景下的图知识迁移方法-KBL

上述内容介绍了我们对同时存在来自不同 domain 节点的图数据中实现知识迁移的方法,但是该方法有两个前提条件:
  • 入数据必须是图数据
  • 不同 domain 节点需要有边进行相连
我们希望改进该方法使其可以应用到更加普适的场景,除了在同一个图数据上的知识迁移,还能实现跨网络的知识迁移,甚至是非图数据的知识迁移。

接下来介绍去年发表在 CIKM 2023 上的一个工作,把图知识迁移的方法拓展到包括图数据和非图数据在内的更加普适的场景上。

1. 非图数据为什么也需要图知识迁移方法

以上图为例,有两个 domain 的数据集,左边是源域数据,右边是目标域数据。两者都是老虎和狮子的图像数据集,区别在于数据分布不同,主要体现在:
  • 域数据中的狮子和老虎还可以进一步分成成年和幼年
  • 标域数据只有幼年老虎和幼年狮子
这时,在目标域数据的样本或标签比较少的情况下,我们可以从源域数据中迁移一些知识到目标域,从而提升模型在目标域上的分类效果。

当然我们可以用前面介绍的迁移学习来做这件事情,但是存在两个问题:
  • 移学习学习的是从这个源域向目标域迁移的分类模式。例如,分类模型的分类面就是一种典型的分类模式。但是由于数据分布不同,来自不同 domain 数据的分类界面也不同,所以往往我们不能直接迁移过来。
  • 移学习是分类模式的整体迁移,该分类模式可能是跨领域不变的。但源域中的数据并不是所有的信息对于目标域数据都是有效的,只有源域中的幼年老虎和幼年狮子对于这个目标域数据是有效的。此时如果我们还是从整体上迁移领域知识,很有可能会产生负迁移的效果。
此时需要使用图知识迁移。

假如现在有一个以这个图片样本为节点的 graph,就可以把源域中的幼年狮子和目标域中的幼年狮子连上边,这样就知道源域中的哪些样本对于目标域是有用的,之后就可以沿着这些边去从源节点向目标节点进行知识迁移。

在这样一个 graph 中,图结构的作用是规定了知识迁移的范围,即给定了目标域数据中的一个样本比如幼年狮子,我们知道源域中的哪些样本对于目标域中的样本是有效的、能够产生正向的迁移效果,就会把这些有用的样本中的知识迁移到目标域的样本中,从而提升目标域的分类效果。

由此可见,图知识迁移不仅可以应用在图数据上,还能应用在非图数据上,而且相较于传统的迁移学习,它是更加细粒度的一种知识迁移的方式。

因此,我们提出了一个全新的知识迁移的框架,称为 Knowledge Bridge Learning。

2. KBL 的定义

传统的迁移学习是学习从源域到目标域的分类模式。

KBL 是学习从源数据集向目标数据集上的 knowledge bridge,也就是链接源域样本和目标域样本的边。
  • 先学习知识迁移的有效的 scope;
  • graph 结构表征这个 scope;
  • 规定的 scope 下完成样本间的知识迁移。
这里的每条链接,即不同 domain 下样本的边,就类似知识的桥梁,所以我们把这个知识迁移框架称为 Knowledge Bridge Learning。

3. 基于不同输入数据类型的分类

根据输入数据类型的不同,我们可以把 Knowledge Bridge Learning 分为三个不同的子场景。

  • 图数据上的知识迁移:比如图片数据、向量或 NLP 的文本数据,不同的样本之间是相互独立的。
  • 网络的知识迁移:输入的是两个独立的不同 domain 的 graph。我们输入的 graph 上是只是存在着同 domain 内的样本节点的连边,但是不存在跨网络的连边。
  • 同一个 graph 上存在不同 domain 节点:同一个图里存在着不同 domain 的节点,之前讲的 VS-Graph 也是该场景的一个特例。
Knowledge Bridge Learning 就是同时适用于这三个场景的知识迁移的框架。

4. KBL 的实例化-Bridged-GNN 模型

Knowledge Bridge Learning 是一个框架,我们可以把它实例化成 Bridged-GNN 模型,步骤如下:
  • 来自不同 domain 的数据输入给自适应的知识检索模块 AKR,该模块用来学习不同 domain 样本对的相似性,包括领域内样本的相似性和领域间样本的相似性,最终该模块会输出一个样本对的相似度矩阵。
  • 于学习到的多领域样本对的相似性,构建 bridged-graph,即在相似度高的样本之间进行连边,用于限定知识迁移的范围。如果输入数据本来就是一个 graph,则根据所学习到的跨领域的样本对相似性去掉一些原本相似性比较低的边,得到 bridged-graph。
  • 通过一个图神经网络 GNN 以消息传递的形式完成 bridged-graph 上的知识迁移。

5. Bridged-GNN 模型的三大关键模块

(1)自适应的知识检索模块

首先学习不同样本对之间的相似性,这些样本对可能来自于同一个 domain 内的样本,也可能来自于不同 domain 的跨领域的样本。所以在学习相似度的过程当中,需要考虑不同领域内样本特征的分布偏移问题,通过消除分布偏移,将不同 domain 的样本投影到同一个特征度量空间,然后再进行相似度的比较。

在有了相似度矩阵之后,要进行知识检索,即给一个目标域的样本作为 query,检索出 top k 的与它相似度最大的样本。这些 top k 相似度的样本可能是跨领域的样本,也可能是领域内的样本。同样也可以以源域样本作为 query,检索出与它最相似的 top k 个源域样本,构成领域内知识增强的 graph。最终把检索出的这样一个领域内的连边以及跨领域的连边组合起来得到 bridged-graph,这里的 bridge 其实是用来做知识迁移的范围。

由于我们是从检索到的节点中去迁移知识的,所以这一步骤也称为知识检索模块。

(2)相似度学习模块

知识检索模块中最重要的是去学习跨领域以及领域内样本的相似度,对于不同领域,它可能天然存在一些数据分布偏移,因此如果我们要衡量它的相似性,就要先对齐它们的度量空间,使得跨领域的样本是可比的,因此我们提出了相似度学习模块。

对于来自源域和目标域的样本,首先会通过一个 decoder 来将它们投影到稠密的向量空间,进而通过 domain divergence learner 来学习源域和目标域之间的分布偏移,得到 Delta。通过将目标域样本的特征加上 Delta,使得目标域样本的特征对齐到源域。

如何去学习到领域分布差异的 Delta?我们引入了对抗学习,通过这样一个判别器,使得目标域加上 Delta 后的对齐的特征空间和源域的特征空间是在一个特征空间下,简而言之我们的判别器就是去区分这两个链路。通过这一对抗训练的方式,就把来自于源域和目标域的样本完成了特征空间的对齐,之后就可以去相似度学习模块完成最终的相似度学习任务。

为了使模型具有可扩展性,我们设计了基于 Mini batch 均衡采样的采样算法,实现了可扩展性的学习,从而使该算法可以应用到更大规模的图上。

(3)图神经网络模块

在得到了 bridged-graph 之后,就明确了知识迁移的范围,之后可以通过图神经网络模块实现基于 bridged-graph 的样本间知识迁移。

理论上来说,任何的消息传递的 GNN 都可以作为这样一个模块。这里我们主要是使用了之前介绍的知识可迁移图神经网络 KTGNN 去完成 bridged- graph 上的知识迁移。

在实验中,我们也使用了其他的消息传递 GNN 作为知识迁移模块来比较他们之间效果的差异。

6. 实验结果

基于上述 Knowledge Bridge Learning 的三个子场景,即非图数据、跨网络数据、同一个图数据上包含多个 domain 节点的场景,在 10 个数据集上进行了实验,并与目前主流的迁移学习和图神经网络模型进行比较。结果如下:

(1)非图数据上的知识迁移场景

对比 Bridged-GNN 及几个主流的迁移学习方法,也对比了用 DNN 进行不同训练方式的尝试。
  • DNNT只在目标域上训练模型;
  • DNNS->T先在这个源域上训练模型,再在目标域上训练模型,即预训练+微调范式;
  • DNNS+T同时把源域数据和目标域数据作为训练样本进行模型训练。
从结果中我们可以看出,bridged-GNN 在不同的数据集上都有比较显著的效果提升。

(2)跨网络数据上的知识迁移场景

该场景主要是基于 Facebook 社交网络数据集,在不同的 domain 下做跨网络的知识迁移。

我们用不同的 GNN 作为 bridged-GNN 的知识迁移模块,去对比这些 GNN 的基线模型只在目标域上训练,或同时在源域和目标域数据集上训练的训练范式。

结果发现,先学习 bridged-graph 再做知识迁移的方式,在很多数据集上甚至实现了 10 个点的效果提升。

(3)同一个图数据上包含多个 domain 节点的场景

在该场景下,由于数据本来就存在着领域内和跨领域的连边,因此 bridged- GNN 的知识对于原始的 graph 相当于是做了重连,使得重连后的 graph 更加适合用来做知识迁移。

同样我们也对比了 bridged-GNN 和其他几个 GNN 模型,最终发现,bridged-GNN 模型在 Twitter 社交网络和公司投资网络以及生成数据集上都有至少一个点的提升。

04

问答环节

Q1:Bridged-graph 的构建是两两之间去学习所有样本对之间的 similarity 吗?后面还要检索 top k 的相似样本,这样会不会有效率上的问题?

A1:首先需要去学习样本对之间的相似性,但并不是 full batch 地去训练每一个样本对的相似性。我们设计了一个 Mini batch 的可扩展性的训练算法,去完成相似性的学习。

另外,我们后面检索 top k 的时候也做了一些工程上的优化。在得到了样本对的相似性之后,我们去检索的时候会用一些检索效率优化方法去实现更快的知识检索,去做图结构上的重连。

模型方面,相似性学习模块和最后的图迁移学习模块是一个 to stage 的过程。但是我们的迁移学习模块,即学习样本对的跨领域相似性的模块,是端到端训练的。

Q2:请问图迁移学习有哪些 future work?

A2:图迁移学习的 future work 还有挺多的。

我们主要是在传统迁移学习的领域自适应的框架下做的一些尝试,相比较而言,还是用到了一种半监督的场景,也就是在目标域的数据集上还是用到了它的标签信息。对于这种 unsupervised domain adaptation,甚至像目标域更不可见的 domain generalization,在图数据场景下的尝试还是有更多的研究机会的。

除此之外,从 graph 的角度我们也可以去做一些更加深入的研究。比如说我们更多的聚焦在直推式学习的场景,那也可以去做归纳式学习、甚至是动态图或抑制图场景下的更复杂的图网络结构上的迁移学习问题。
以上就是本次分享的内容,谢谢大家。


分享嘉宾

INTRODUCTION


毕文东

腾讯

研究员

腾讯算法研究员,主要研究方向为图神经网络、社交网络挖掘,中科院计算所硕士,本科毕业于上海交通大学,曾获国奖、北京市优秀毕业生,一作论文发表在 KDD、WWW、CIKM、WSDM 等学术会议。


往期推荐


开源delta lake 3.0 优势和发展

多模态大模型在文本和视频分析中的应用

流式数据湖 Paimon 0.7 的研发进展

多模内容理解在百度商业广告中的探索实践

直播预告| 智能运维,如何让中小企业数据库管理更高效?

哔哩哔哩基于 Iceberg 的智能数据组织优化实践

图技术在金融反欺诈中的应用

CloudCamel:OPPO 云上大数据极致优化之路

ClickHouse企业版商业化精要解读

结合数据湖的实时数仓架构演进

点个在看你最好看

SPRING HAS ARRIVED

继续滑动看下一个
DataFunSummit
向上滑动看下一个

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

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