InfoGraph模型
摘要
本文研究了在无监督和半监督场景中学习整个图的表示(representations of whole graphs)。Graph-level representations在各种现实世界应用中至关重要,例如预测分子的属性和社交网络中的社区分析。传统的基于图核(graph kernel)的方法很简单,但对于获得图的固定长度表示有效,但由于手工设计(poor generalization),它们的泛化性较差(poor generalization)。There are also some recent methods based on language models (e.g. graph2vec) but they tend to only consider certain substructures (e.g. subtrees) as graph representatives. 受无监督表示学习最新进展的启发,在本文中,我们提出了一种称为 InfoGraph 的新方法,用于学习图级表示。
受到无监督表示学习最新进展的启发,在本文中,作者提出了一种名为InfoGraph的新方法来学习图级表示,InfoGraph最大化了图级表示和不同尺度的子结构(例如,节点、边、三角形)的表示之间的互信息。通过这样做,图形级表示对在不同比例的子结构之间共享的数据的各个方面进行编码。此外,我们进一步提出了$InfoGraph$,这是InfoGraph在半监督场景中的扩展。$InfoGraph$ 最大化了InfoGraph 学习的无监督图表示和现有监督方法学习的表示之间的互信息。因此,监督编码器从未标记的数据中学习,同时保留当前监督任务所偏好的潜在语义空间。对图分类和分子性质预测的实验结果表明,InfoGraph优于最先进的基线,InfoGraph*可以实现与最先进的半监督模型的性能竞争。
1、引言
现有的大多数算法模型都是基于图节点表征学习的,较少有在图级别上的表征学习。但现有的很多数据都是以图的形式呈现出来的,例如蛋白质分子结构、社交网络、化学反应链接等等,且这些图数据的标签往往是比较难获取的,因此需要进行图级别的无监督表征学习。
基于此,本文提出的InfoGraph侧重于图的无监督表示学习,另外InfoGraph*是在InfoGraph基础上拓展的半监督学习方法。
本文的主要贡献如下:
- 构建无监督学习模型InfoGraph,来学习图级别的表征,用于图级别的分类任务;
- 构建半监督学习模型InfoGraph*,将两个分支网络结合,师生互助提升网络性能;
- 无监督模型学习得到性能好的表征,半监督学习模型能够有较好的分类结果。
2、方法
本文基于DGI模型共提出了2个互信息最大化的模型:
- InfoGraph:侧重于图的无监督表示学习,模型最大化整个图表征和不同粒度的子结构表征之间的互信息
- InfoGraph*:它是在InfoGraph基础上拓展的半监督学习方法,评估两个Model计算出来的Intermediate Representations之间的互信息,其中一个Model是无监督学习的InfoGraph模型,另一个模型使用的是有监督学习。
创新点:
- InfoGraph:利用了graph和自身的node以及其他图的node构建对比学习的损失。
- InfoGraph*:除了使用监督损失外,还引入双encoder的结构,并且增加一个MI的约束。
模型1:InfoGraph
(1) 问题定义
给定一组图和一个正整数$\delta$,目标是学习图的$\delta$维分布。
(2) InfoGraph模型
InfoGraph是图级别的无监督表征学习。类似于DGI,通过最大化全局的图表征和局域的节点patch representations之间的互信息。但互信息的衡量是比较难的,因此是通过构建正对和负对以及判别器的判别来进行最大化互信息的。
我们关注的是图神经网络(GNNs)——一类灵活的嵌入架构,它通过在局部节点邻域上的重复聚合来生成节点表示。节点的表示是通过聚合其邻域节点的特征来学习的,因此我们将这些表示称为patch representations。GNN利用一个READOUT函数将所有获得的patch representations总结为一个固定长度的图级表示。
步骤1:聚合邻居节点得到节点的表示
InfoGraph中使用的encoder是通过聚合邻居节点的特征来获得节点的表示(patch表示)。
node特征:对于获取节点的特征,采用的encoder为Graph Isomorphism Network (GIN)。
为便于理解,我们进行形式化说明。
如下图所示,GNN的第$k$层是如下图所示:
步骤2:使用READOUT函数来聚合获得的节点表示以得到图的表示
graph特征:对于已生成的node feature,使用READOUT聚合生成graph特征;其中READOUT函数可以是简单的平均,或者也可以采用一些更复杂的图池化函数。
READOUT函数是可以是一个简单的排列不变函数,比如平均函数或者更复杂的图级函数。在 InfoGraph 中,READOUT 函数用于将节点嵌入(node embedding)聚合成整个图的嵌入(graph embedding)。更具体地说,它对每个节点嵌入进行加权并汇总,以获得全局图嵌入。
步骤3:模型评估
模型增加了一个discriminator模块,判断patch representation和graph representation是否来自于同一张图。损失函数目标是最大化MI的目标,使用的是Jensen-Shannon MI estimator,文中定义了全局/局部对上的互信息(MI)估计器,是在给定的数据集上对MI进行最优化。
模型2:InfoGraph*
$InfoGraph*$是半监督图分类模型。设计了两个分支网络,一个分支是监督学习,另一个分支是无监督学习,因此就有监督学习损失和无监督学习损失,监督学习损失是直接用的普通交叉熵损失函数等,而无监督学习损失函数用的是上述提到的损失函数。而两个分支网络学习得到的特征空间是不一样的,因此论文还设计了一个一致性互信息最大化损失函数,使得两个分支网络可以互相学习得到最终的有用信息。
背景
基于之前的无监督模型,对图进行半监督性质预测的一种简单方法是将监督损失与作为正则化项的无监督目标函数相结合。在此过程中,该模型被训练来预测标记数据集的属性,同时保持从标记数据集和未标记数据集学习到的丰富的区别性中间表示。也就是说,我们尽量最小化以下目标函数:
$\lambda$ 是超参数,控制了监督损失和无监督损失之间的相对权重。该模型将受益于从大量的未标签数据中学习良好的表示,同时学习预测相应的监督标签。
问题定义
然而,监督任务和无监督任务可能有利于不同的信息或不同的语义空间。使用相同的编码器简单地合并这两个损失函数可能会导致“负转移”。
1个encoder的缺点:在学习预测相应的监督标签时,模型将受益于从大量无标签数据中学习良好的表示。简单地使用同一个encoder来结合这两个损失可能会造成“负迁移”。
方法
为解决1个encoder带来的问题,本文中采用2个encoder模型:标记数据上的编码器(有监督的编码器)和未标记数据上的编码器(无监督的编码)。
2个encoder:监督任务和非监督任务可能偏好不同的信息或不同的语义空间。作者对此改进的方法就是采用两个encoder,也就是一个监督encoder和一个无监督encoder。
为了将学习到的表示从无监督编码器转移到监督编码器,我们定义了一个损失项,鼓励两个编码器学习到的表示在所有表示层次上都具有较高的互信息,其实就是对两个encoder的一个约束。
3、实验
- 无监督表征学习:将学习好的图级别表征用于图的分类任务;
- 无监督表征学习:将学习好的图级别表征用于图的分类任务;
4、总结
4.1 InfoGraph相比DIM的改进
本文提出的InfoGraph是一种基于互信息最大化的图对比学习方法,与Deep Graph
Infomax(DIM)相比,虽然都是基于互信息最大化的方法,InfoGraph更加侧重于图的表示学习,而DIM偏重于节点的表示学习。
InfoGraph相比DIM的改进:
- Readout用Sum替代了Average,提取更多关于图大小的信息;
- 用GIN代替了GCN,更强的图特征Encoder,更加关注Graph-Level特征;
- 用Batch数据获取更多更好的负样本,全局和局部点特征的组合;
- 把K层GNN中的所有节点特征Concat起来,得到不同规模的子图信息,Global表征因此有了不同规模的子图信息;
- 把Discrimination换成了更复杂的三层神经网络,还用了Relu作为非线性层,两个Embedding过神经网络后做点积。
5、资料
- 论文名称:https://paperswithcode.com/paper/infograph-unsupervised-and-semi-supervised
- 下载地址:https://arxiv.org/pdf/1908.01000v3.pdf,点击下载
- 论文代码:https://github.com/sunfanyunn/InfoGraph,点击跳转
参考文章
- https://blog.csdn.net/cziun/article/details/119510190
- https://blog.csdn.net/gandebeautiful/article/details/115504372
本文由mdnice多平台发布
标签:InfoGraph,模型,论文,学习,监督,阅读,互信息,节点 From: https://www.cnblogs.com/ycx95/p/17590158.html