干货!Labeling Trick: 一个图神经网络多节点表示学习理论

article/2025/9/20 15:57:51

点击蓝字

3efd0213146e7fed68945cbc9cfe2f37.png

关注我们

AI TIME欢迎每一位AI爱好者的加入!

9afb991f6a2108ffc7a52a61e099e043.gif

GNN 旨在学习单节点表示。当我们想要学习一个涉及多个节点的节点集表示(如链路表示)时,以往工作中的一个常见做法是将 GNN 学习到的多个单节点表示直接聚合成节点集的联合表示。在本文中,我们展示了这种方法的一个基本缺陷,即无法捕获节点集中节点之间的依赖关系,并论证了直接聚合单节点表示不能得到多节点集合的有效联合表示。然后,我们注意到之前一些成功的多节点表示学习工作,包括 SEAL、DE和 ID-GNN,都使用了节点标记。这些方法首先根据节点与目标节点集的关系在图中标记节点,然后再应用 GNN,并将标记图中获得的节点表示聚合为节点集表示。通过研究它们的内部机制,我们将这些节点标记技术统一为一个单一且最基本的形式,即labeling trick。我们证明,通过labeling trick,具有足够节点表达能力的 GNN 可以学习最具表达力的节点集表示,因此原则上可以解决节点集上的任何联合学习任务。一项重要的两节点表示学习任务——链接预测——的实验验证了我们的理论。我们的工作为使用 GNN 进行节点集上的联合预测任务奠定了理论基础。

本期AI TIME PhD直播间,我们邀请到北京大学人工智能研究院助理教授、博士生导师——张牧涵,为我们带来报告分享《Labeling Trick: 一个图神经网络多节点表示学习理论》。

aaf88828aa66c0ce4775d67acf206b08.png

张牧涵:

北京大学人工智能研究院助理教授、博士生导师,北京通用人工智能研究院(BIGAI)研究员,2021年国家优青(海外)项目获得者。主要研究方向为机器学习/深度学习和图神经网络的算法、理论、应用等。提出了图神经网络的多种经典算法,如图分类的SortPooling、链路预测的SEAL算法、矩阵补全的IGMC算法等。成果被多次写入图深度学习标准库,如PyTorch Geometric和DGL。2015年本科毕业于上海交通大学IEEE试点班,2019年于美国圣路易斯华盛顿大学获得计算机科学博士学位。2019-2021年期间曾担任Facebook AI研究科学家,参与开发Facebook内部大型图深度学习系统并应用于社交网络和广告推荐中。担任ICML 2022领域主席、IEEE BigData 2021副主席,并常年担任NeurIPS、ICML、ICLR、AAAI、IJCAI和TPAMI、TNNLS、TKDE、AOAS、JAIR等顶级会议和期刊的审稿人。

什么是多节点表示学习?多节点表示学习指的是我们要学习图中不止一个节点,而是一个节点集的表示。因为图神经网络是用于单节点表示学习的,当我们想要获得多节点表示的时候通常是把这些GNN学到的单节点表示聚合成一个多节点的表示。经过我们的研究,我们发现这种多节点表示的学习方法是不好的。我们也提出了一个方法——Labeling Trick,并证明了相关理论。

虽然多节点表示学习理论是通用的,但是我们选择link prediction(链路预测)这样一个双节点表示学习任务作为例子。

5f361b6eda5826e368d57f7e7bca76a6.png

在一个不完全的网络中,link prediction预测两个节点之间是否会形成链路,即一个连边。它有很多现实应用,比如如今现实生活中的各种推荐系统。

传统的链路预测大多是根据启发式的方法,定义一些节点在网络中的相似度度量来预测链路。这些启发式的方法往往方便计算而且具有较好的可解释性。我们接下来看几个知名的启发式方法。

58b80e2714b02e5ac4e04f7441054ca2.png

0b80416932d9284026a08ff6d02ac08b.png

b924cac11de072612d1a22784b420731.png

这也启发了我们用图神经网络直接学习图上的结构特征,而不是使用手工定义的那些特征。

这样就有了这两个知名的工作:VGAE/GAE 和 SEAL

  • 自动的在链路周边学习和链路形成强关联的结构特征。

  • 对于链路形成机制是没有假设的,因为是直接从邻近的节点结构进行学习。

  • SEAL达到了新的state-of-the-art 线路预测性能。

结果

de8113ac03e62f3ea85de79a93ceb0b0.png

我们可以看到SEAL和VGAE两种方法都是使用图神经网络来学习链路表示并进行预测,但是性能相差很多,我们接下来主要回答这个问题。

80e68627902c4306312328221a72e034.png

f9f4365c3ef6dd0004dfee069b5229e9.png

d2dc1b5f293e019ab259caee3d83c9de.png

036701ea86c603fc9a9aa7428acc9416.png

825c5ff239d8ec8253f9345836d7a9e3.png

edb0995e87087998d08e3b0da35a7237.png

3681e05b0304d2a99beb34d3a6a8184b.png

73ffa96bfa239c36d0beb1d72a9c4d9f.png

上图为两个食物链的网络,左图为陆地上的食物链网络,右图为海洋上的食物链网络。

这两个食物链网络是同构的。

  • 问:海豹seal吃什么?远洋鱼or红松鼠

  • GNN无法区分海豹和红松鼠之间的链路与海豹和远洋鱼之间的链路

  • 所以说GNN真的不适合链路预测任务么?

Labeling Trick节点标注技巧

定义:给定节点集S和图A,我们会在A的第三个维度上叠加一个diagonal labeling matrix L(S)得到一个新的A(S),即标注后的A。L(S)满足以下条件:

07263b230e69e0fba8fffabdc703e762.png

2b48aa4b724aef84bf6d5244ee030d9f.png

Main Theorem

如果Γ(i,A)是node i的structural representation,那么对节点集S和S’,以及使用labeling trick标注过的A(S)和A(S’),我们聚合他们在标注后的A(S)得到的Γ(i,A(S)),作为节点集的表示。这可以保证我们学到了一个节点集S的structural representation。

解释:

  • 我们不在之前为标注过的原始图A中去学习节点表示,而是在通过labeling trick标注过的A(S)中去学习节点表示。

  • 然后我们将学到的节点表示聚合起来,得到的就是节点集的聚合表示,可以帮助我们解决一切节点集上的任务。

但是,如果我们在原始图A上学习节点表示得到的并不是节点集的结构表示,那么为什么我们在标注过的图上进行节点表示的聚合就可以得到节点集的结构表示呢?

2035bfbfed22a1db40812fcaedad9700.png

How to implement labeling trick?

如何实现这种标注技巧

9fe826f38a0ba47cb8153104b221b911.png

The SEAL Framework

850c92bb0b4cca5670066a50c8bbfa11.png

比如(A,B)和(C,D)是一组training links,首先取一个local 子图对其进行距离标注。然后将标注后的子图feed给一个图神经网络,去训练一个链路的分类器。

Experiments

dd5c391d8950fa3e3fb033c74a74be3d.png

比较了Labeling TrickPlain GAN(简单直接把两个节点链路表示聚合成链路表示)之间的关系,我们可以看出Labeling Trick在链路预测上体现出了极佳的性能,而且强于启发式方法。

Takeaway

  • 如果直接聚合两个节点的表示,通常会得到一个不太好的链路表示

  • 总结得出了Labeling Trick,即对图中所有节点进行标注,让target nodes得以与其他节点区分出来

  • 在标注过后的图中聚合GNN学到的节点表示可以得到一个非常expressive的链路表示

  • SEAL就是实际使用了Labeling Trick来进行链路预测

  • 加上Labeling Trick之后,GNN可以获得 state-of-the-art的链路预测性能

  • 加上Labeling Trick之后,我们不必再去关注GNN的链路表示性能;保证我们只去关注如何提升节点的表示,因为Labeling Trick可以由好的节点表示自动转化成为好的链路表示

Recent work:将Labeling Trick用在子图的表示学习任务上

  • 在大图中,我们去学习其中一些小的子图的表示

  • 应用:预测PPI网络中多种蛋白质的集体功能,预测分子中的活性位点等。

  • 子图的表示任务:需要考虑边缘节点和内部节点的不同;子图在大图中所处的相对位置;子图的结构本身以及其他的许多特性

d252e0332677e257e20042206aa7d9e9.png

  • 创造了6个channel,每个channel都进行独立的message passing

  • 使用了一些较为heuristic的子图相似度度量

  • 结果是一个极度复杂的模型

GLASS: GNN with Labeling Tricks for Subgraph Representation Learning

  • GNN + zero-one labeling trick

  • 证明能够覆盖到所有的SubGNN channel

Experiments

8dbecd8cae5777a1927e32e257ae49f4.png

可以看出我们提出的GLASS模型相比SubGNN等模型具有更好的表现。

总结:想要用GNN学习多节点表示的时候,labeling trick可以保证GNN获得更好的节点集表示能力。

论文链接:

https://proceedings.neurips.cc/paper/2021/file/4be49c79f233b4f4070794825c323733-Paper.pdf

论文题目:

Labeling Trick: A Theory of Using Graph Neural Networks for Multi-Node Representation Learning

点击“阅读原文”,即可观看本场回放

整理:林   则

审核:张牧涵

往期精彩文章推荐

9d35b9f20309ceb26531c3c8b9f48e7f.png

记得关注我们呀!每天都有新知识!

 关于AI TIME 

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了600多位海内外讲者,举办了逾300场活动,超150万人次观看。

0153c2caf4f2a7e60516a00e1ad086ad.png

我知道你

在看

~

af43aaf7ab73bc5c50c2741c56a66c11.gif

点击 阅读原文 查看回放!


http://chatgpt.dhexx.cn/article/RRdrHLll.shtml

相关文章

知识图谱表示学习

知识图谱是一种精细化的异构网络, 所以对其节点与边的表示学习也是一个热门的问题. 这里的学习依旧是得到它们的低维稠密向量. 这样做的好处: 降低知识图谱的高维性和异构性;增强知识图谱应用的灵活性;减轻特征工程的工作量;减少由于引入知识…

深度聚类:将深度表示学习和聚类联合优化

参考文献: 简介 经典聚类即数据通过各种表示学习技术以矢量化形式表示为特征。随着数据变得越来越复杂和复杂,浅层(传统)聚类方法已经无法处理高维数据类型。结合深度学习优势的一种直接方法是首先学习深度表示,然后再…

什么是表示学习(representation learning)表征学习 表达学习

机器学习算法的成功与否不仅仅取决于算法本身,也取决于数据的表示。数据的不同表示可能会导致有效信息的隐藏或是曝露,这也决定了算法是不是能直截了当地解决问题。表征学习的目的是对复杂的原始数据化繁为简,把原始数据的无效信息剔除&#…

知识表示学习模型

最近清华的THUNLP整理了Pre-trained Languge Model (PLM)相关的工作:PLMpapers,非常全面,想要了解最新NLP发展的同学不要错过。本来这篇是打算写一写Knowledge Graph BERT系列工作的,但是最近有在做知识图谱的一些东西所以就先整…

网络表示学习(network represention learning)

https://www.toutiao.com/a6679280803920216589/ 2019-04-13 15:40:48 1.传统:基于图的表示(又称为基于符号的表示) 如左图G (V,E),用不同的符号命名不同的节点,用二维数组&#x…

图表示学习

文章目录 1.导言1.1 为什么要研究图(graph)1.2 针对图结构的机器学习任务1.3 特征表示的难点1.4 特征表示的解决思路1.5 线性化思路1.6 图神经网络1.7 讨论:何谓Embedding1.8 总结 2.图结构表示学习2.1 deepwalk(深度游走算法)2.2 node2vec 3…

表示学习(特征学习)

文章目录 表示学习特征工程与表示学习深度学习的表示学习注:深度学习不等于多层神经网络什么时候用「手工提取」什么时候用「表示学习」? 关于特征表示学习的算法 参考资料 表示学习 表示学习的基本思路,是找到对于原始数据更好的表达&#…

表示学习与深度学习

1、表示学习 首先给出表示学习的定义: 为了提高机器学习系统的准确率,我们就需要将输入信息转换为有效的特征,或者更一般性称为表示(Representation)。如果有一种算法可以自动地学习出有效的特征,并提高最…

表示学习(Representation Learning)

一、前言 2013年,Bengio等人发表了关于表示学习的综述。最近拜读了一下,要读懂这篇论文还有很多文献需要阅读。组会上正好报了这篇,所以在此做一个总结。 鉴于大家都想要我的汇报PPT,那我就分享给大家,希望能对大家有所…

使用 Altium Designer 绘制PCB完整设计流程记录(2021.05.04更新)

前言 做了大半年的毕业设计,陆陆续续也是画了几个板子,有些东西感觉要趁现在记录下来,方便以后某天还想再画板子时查看。 修改日志 时间修改内容2021.05.04初稿完成 文章目录 前言修改日志一、关于AD版本二、原理图库和封装库三、绘制原理…

PCB设计流程步骤中的注意事项

PCB中文名称为印制电路板,又称印刷线路板,几乎所有电子设备中都会应用到PCB。这种由贵金属制成的绿色电路板连接了设备的所有电气组件,并使其能够正常运行。PCB原理图是一个计划,是一个蓝图。它说明的并不是组件将专门放置在何处&…

使用Cadence绘制PCB流程(个人小结)

之前使用过cadence画过几块板子,一直没有做过整理。每次画图遇到问题时,都查阅操作方法。现在整理一下cadence使用经历,将遇到问题写出来,避免重复犯错。 注:写该篇文章时,感谢于争博士的教学视频和《Cade…

AD原理图 PCB设计步骤

版权声明:本文为CSDN博主「唐传林」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/Tang_Chuanlin/article/details/79803575 本文总结一下AD画PCB的步骤,…

AD中画PCB详细流程

1.新建工程 先在电脑新建一个文件夹作为工程总文件夹,里面再新建三个子文件夹分别为BOM(Bill Of Materials)(物料清单)、PCB、SCH(Schematic)(原理图)如下图1.1.1 (注意:记住该路径,该工程所有…

干货|PCB电路板的组成、设计、工艺、流程及元器摆放和布线原则

大家对PCB电路板电路这个词很熟,有的了解PCB电路板的组成,有的了解PCB电路板的设计步骤,有的了解PCB电路板的制作工艺......但是对整个PCB电路板的组成、设计、工艺、流程及元器件摆放和布线原则,及后期的注意事项没有一个综合的了…

pcb板制作流程图解

转载链接:http://www.360doc.com/content/16/0529/15/33072037_563261798.shtml 我们来看一下印刷电路板是如何制作的,以四层为例。 四层PCB板制作过程: 1.化学清洗—【Chemical Clean】 为得到良好质量的蚀刻图形,就要确保抗蚀层…

PCB简单绘制一般步骤

1、使用CAD或CAXA,布局线路板图纸 2、生成DWG/DXF格式文件,比如A.dwg 3、使用Altium Designer,文件——新建——PCB,新建一块板子 4、导入A.dwg,文件——导入——DXF/DWG——选择A.dwg导入 ——作为元素导入——比例为mm——绘…

PCB 基础~典型的PCB设计流程,典型的PCB制造流程

典型的PCB设计流程 典型的PCB制造流程 • 从客户手中拿到Gerber, Drill以及其它PCB相关文件 • 准备PCB基片和薄片 – 铜箔的底片会被粘合在基材上 • 内层图像蚀刻 – 抗腐蚀的化学药水会涂在需要保留的铜箔上(例如走线和过孔) – 其他药水…

用AD画PCB流程介绍

大家好,这里主要介绍pcb(印刷电路板)绘制的一个流程,不管你是刚毕业还是想转行或者是在校大学生,不妨了解一下pcb工程师的基本工作内容。希望你看完之后有所收获。废话不多说,开整! 1、首先我们从硬件工程师那里拿到一份没有错误…

PCBA工艺流程

公号阅读更加精彩:《PCBA工艺流程》 还记得刚毕业的时候被抓去工厂拧螺丝的情景,其实主要就是体验一把产品组装的过程。 可能你会说:“我需要的是如何画原理图,分析电路,以及Layout”;但其实产品设计与生…