KDD20 | 对比学习和负采样技术专题

2020 年 8 月 31 日 AINLP

论文解读者:北邮 GAMMA Lab 硕士生  刘念

1 引言

对比学习(contrastive learning)是对于给定的正例样本和负例样本,通过让编 码器学习如何去区分它们,从而捕捉到样本中最具判别性的特征。 因为这种隶属于自监督学习的方式,模型框架清晰易懂,效果异常优越,受到了很多顶会论文的青睐。 今天将分享两篇KDD2020会议上的论文: 一篇将对比学习应用于图预训练任务上; 另一篇深度解析了负采样技术在图表示学习中的作用,能为对比学习的进一步发展带来启发。

GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training

论文地址: https://arxiv.org/abs/2006.09963

本文提出 了一种无监督的图表示学习预训练框架GCC,能够捕捉到广泛存在于不同图之间的拓扑性 质,并且无需输入额外的属性或是标签。 GCC将预训练任务设定为在同一张图内或不同图之间区分子图级别的实例,进一步利用对比学习使模型能够学到固有的、可迁移的结构表示。 最后通过一系列的实验,验证了pre-training & fine-tuning模式在图表示学习中的巨大潜力。

Unde rstanding Negative Sampling in Graph Representation Learning

论文地址: https://arxiv.org/abs/2005.09863

本文分别 从目标函数和风险两个角度深刻剖析了负采样技术在图表示学习中起到的作用,并通过理论证明: 负采样的分布应该和正样本分布呈正相关但是亚线性的关系。 基于该理论,本文进一步提出了新的负采样策略,即MCNS,并利用改进版的Metropolis-Hastings算法对该过程进行了加速。

2 GCC:用于图神经网络预训练的图对比编码


2.1 动


本文着眼于图上的预训练任务,即事先在几个规模较大的数据集上进行学习(pre-training),之后在下游的数据集以及相应的任务上进行微调(fine-tuning)。当前的图表示学习工作面临如下两个问题:


  1. 绝大部分的工作都聚焦于某一张或几张图,只能捕某一网络特定的结构,不具备可迁移性。

  2. 研究预训练的文章也通常聚焦于某一领域(例如,化学分子),或是设计很多启发式的任务,不具备通用性。

为了解决上述问题,文章提出利用对比学习,通过节点的局部结构来将它们加以区分;此外,本文并不限制对比的节点是否来自于同一张图,这样使得编码器能够参考各种图上的结构,学得更广泛意义上的结构表示。


2.2 模型

2.2.1 如何设计图中的对比实例


本文的预训练模型仅仅关注于结构上的表示,而无需额外输入属性。因此,本文将每个节点的r-ego网络作为该节点的实例。r-ego网络,指的是某个节点的r阶以内的所有节点构成的子图,可代表该节点的局部结构。本文将每个r-ego网络都当做独立的类,并鼓励编码器能够从不相似的实例中区分出相似的实例。


2.2.2 如何定义相似或不相似的实例


本文将每个r-ego网络进行两次不同的随机增广,并将同一个r-ego网络的增广视为相似实例,否则就视为不相似实例。其采取的随机增广方式为:对于某一个r-ego网络来说,在该子图内进行两次随机游走,并将游走得到的子图中的节点重新标号,防止根据两个实例的中心节点的序号是否一致来判别是否相似。


2.2.3 如何选择图编码器


对比学习的通常范式是:对于给定的query实例 ,在众多的key实例中找出匹配 的当做正例,其余为负例。本文用两个独立的GIN模型分别编码query实例和key实例,得到相应的表示。由于本文聚焦于网络结构,因此利用网络结构对节点特征初始化,分为三部分:广义的位置表示、节点度的one-hot编码、是否为中心节点的二进制指示。通过GIN编码得到的向量最终利用L2正则化,得到最终节点表示。


2.2.4 GCC学习


在对比学习中,key实例的数量是至关重要的。一般而言,key实例越多效果越好,但是也会更影响效率。对此,本文采用两种模式:第一种是端到端(E2E)模式,即每次训练都更新query编码器和key编码器;第二种是MoCo模式,即每次只更新query编码器,而key编码器采用动量更新,这样能够利用更多的key来帮助训练。


2.2.5 GCC微调过程


下游任务主要分为图级别的和节点级别的任务:图级别的任务直接用GIN的输出作为图的表示,节点级别的任务利用GIN对r-ego网络的编码作为中心节点的表示。依据是否在微调过程中训练GIN,本文又分了Freezing和full fine-tuning模式。作为一种关注节点局部的算法,GCC能扩展到大规模数据集以及分布式计算上。


2.3 实验


GCC首先在以下六个数据集上进行了预训练,前三个是学术网络,后三个是社交网络。

接着本文节点分类、图分类和相似性搜索,三个任务上做了实验,其结果如下:


可以看出,经过预训练的编码器可直接应用于新的数据集和未知的下游任务,并且能够和直接在相应数据集上训练的模型取得同样好的效果。

这证明了,在图与图之间有可迁移的结构模式,而本文GCC模型能够很好地将其捕捉。

文章的最后也做了其他的消融实验,包括E2E和MoCo两种模式下key实例数量对效果的影响,以及预训练数据集的多少对效果的影响。

结果证明,MoCo模式能够在更少的时间内利用更多的key实例,而预训练模型的数量和效果也近乎呈正比线性关系。


3 理解图表示学习中的负采样






3.1 动机


对于图表示学习来说,采样技术(sampling)通常扮演着重要的角色。采样包括对于正样本的采样和对负样本的采样。对于前者,已经有很多论文进行讨论,定义了不同类型的真样本;而对于如何选取负样本,目前的传统做法是按照节点度的3/4次幂进行采样,并没有进一步地研究。


于此,本文通过从目标函数和风险两个角度考察了负采样,提出了负样本的最优分布,并进而提出了全新的负采样策略MCNS。


3.2 模型


3.2.1 统一框架



本文首先对一大类图表示学习方法进行了整合,统一成了SampledNCE框架,如上图所示。主要包括三个部分:正样本采集、负样本采集以及编码器。在每一轮的训练中,对于每个节点都采集一个正样本和k个负样本,通过学习使得编码器能够正确将它们区分,学到具有判别性的表示。其损失函数通常为交叉熵损失,内积代表相似程度,而本文提出的方法采用铰链损失。


3.2.2 理解负采样


对于目标函数的影响



上式中, 代表目标节点, 代表正样本, 代表负样本,相应地 代表正样本分布, 代表负样本分布,k是需要采集的负样本数, 代表sigmoid激活。针对上述的目标函数,本文通过理论证明最优的节点表示应该如下所示:



可以看出,正样本分布和负样本分布对于最后的优化同样要。


对于风险的影响


由于上述的最优表示是在边数量无穷多的情况下得到的,而实际情况往往边的数量非常有限,这就导致实际优化得到的参数 和最优参数 之间是有差距的,其差距大小如下所示:



将上式进行整理简化,得到 间的均方误差,或称风险,如下:


3.2.3 负采样准则


上述的理论指导下,最佳的负采样分布是两个理论权衡下的结果。其中较为简单直接的是,负样本分布应该和正样本分布呈正相关但是亚线性的关系,即:  。


接着,本文从单调性和准确性两个角度考察了上述分布的表现。


单调性:从目标函数角度出发,假设已知 ,则会有下式成立:

可以看出,概率大的一对样本,它们的内积也更大,符合一般的认知。


准确性:从风险的角度出发,通过第二个理论得知,均方误差的大小取决于 中较小的一项。如果某个节点是正例的概率很大,但是是负例的概率很小,那么误差依然会很大。如果选用上述的负样本分布则会得到:


此时,均方误差只和正样本分布呈反比,不会出现上述不稳定的情况,而且使用概率越高的样本对其准确性越高。


3.2.4 MCNS采样策略


根据 ,还需要确定正样本分布 才能应用负采样准则。因此,本文提出self-contrast近似,并用内积代替 ,得到下式:


然而由于分母的存在导致对于每个节点来说复杂度都是O(n),效率低下。针对这个问题,Metropolis-Hastings算法通过从提议分布中采样样本,并按照设定的概率接受或拒绝,从而形成了一个样本序列。该序列中的每个样本只和上一时刻的样本有关,因此可构建成马尔科夫链。当样本序列接近无穷时,采样得到的样本就近乎是从真实分布中得到的样本。在此基础上,本文结合了图中固有的局部平滑的特点,进一步加速了该算法:用深度优先算法遍历图中节点,得到相邻节点有边的序列,由于邻居节点间的负样本分布近似相同,因此沿遍历到的序列进行训练时,马尔科夫链可以不断开。具体流程如下图所示(图中对于每个节点采集三个负样本):


3.3 实


本文在推荐、链路预测和节点分类任务上进行了实验,编码器选择deepwalk、gcn以及graphsage。具体实验结果如下:

可以看到,和其他主流的负采样策略相比,本文的方法对结果都有着比较明显的提升。

上述三个实验分别对比了本文方法和基于度的采样策略的方法、不同采样策略的所用时间以及铰链损失的参数 和表示维度对结果的影响。


4 总结


本次着重介绍了KDD2020中的对比学习在图预训练中的应用以及可用于对比学习的负采样策略。前者是利用对比学习进行子图级别的判别,着重捕捉图与图之间存在的结构模式,展示了预训练模型在图表示学习中的巨大潜力;后者针对图表示学习,通过相近地理论分析,得出了最优负样本分布应该与正样本分布呈正相关但亚线性的关系,可为对比学习的负样本选择起到一定的指导作用。


参考文献


[1] Yang Z, Ding M, Zhou C, et al. Understanding Negative Sampling in Graph Representation Learning[J]. arXiv preprint arXiv:2005.09863, 2020.


[2] Qiu J, Chen Q, Dong Y, et al. GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 1150-1160.


本期责任编辑:杨成
本期编辑:刘佳玮



欢迎加入AINLP技术交流群
进群请添加AINLP小助手微信 AINLPer(id: ainlper),备注NLP技术交流

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
6

相关内容

自然语言处理领域中,判断两个单词是不是一对上下文词(context)与目标词(target),如果是一对,则是正样本,如果不是一对,则是负样本。采样得到一个上下文词和一个目标词,生成一个正样本(positive example),生成一个负样本(negative example),则是用与正样本相同的上下文词,再在字典中随机选择一个单词,这就是负采样(negative sampling)。
专知会员服务
47+阅读 · 2020年9月20日
近期必读的六篇 ICML 2020【对比学习】相关论文
专知会员服务
56+阅读 · 2020年9月15日
专知会员服务
74+阅读 · 2020年9月1日
【KDD2020-UCLA-微软】GPT-GNN:图神经网络的预训练
专知会员服务
62+阅读 · 2020年8月19日
【ACMMM2020-北航】协作双路径度量的小样本学习
专知会员服务
28+阅读 · 2020年8月11日
【KDD2020-清华大学】图对比编码的图神经网络预训练
专知会员服务
44+阅读 · 2020年6月18日
论文荐读:理解图表示学习中的负采样
学术头条
29+阅读 · 2020年5月29日
论文浅尝 | ICLR2020 - 基于组合的多关系图卷积网络
开放知识图谱
21+阅读 · 2020年4月24日
ICML2020 图神经网络的预训练
图与推荐
12+阅读 · 2020年4月4日
KDD 2019论文解读:异构信息网络上的对抗生成学习
云栖社区
22+阅读 · 2019年8月21日
ACL 2019 | 微软8篇精选论文解读,一览最新研究进展
微软研究院AI头条
12+阅读 · 2019年6月28日
KDD 18 & AAAI 19 | 异构信息网络表示学习论文解读
PaperWeekly
21+阅读 · 2019年2月25日
论文浅尝 | 图神经网络综述:方法及应用
开放知识图谱
113+阅读 · 2019年2月14日
图注意力网络
科技创新与创业
35+阅读 · 2017年11月22日
Learning from Few Samples: A Survey
Arxiv
77+阅读 · 2020年7月30日
Arxiv
7+阅读 · 2020年3月1日
Arxiv
22+阅读 · 2019年11月24日
Arxiv
11+阅读 · 2019年6月19日
Learning Embedding Adaptation for Few-Shot Learning
Arxiv
16+阅读 · 2018年12月10日
VIP会员
相关资讯
论文荐读:理解图表示学习中的负采样
学术头条
29+阅读 · 2020年5月29日
论文浅尝 | ICLR2020 - 基于组合的多关系图卷积网络
开放知识图谱
21+阅读 · 2020年4月24日
ICML2020 图神经网络的预训练
图与推荐
12+阅读 · 2020年4月4日
KDD 2019论文解读:异构信息网络上的对抗生成学习
云栖社区
22+阅读 · 2019年8月21日
ACL 2019 | 微软8篇精选论文解读,一览最新研究进展
微软研究院AI头条
12+阅读 · 2019年6月28日
KDD 18 & AAAI 19 | 异构信息网络表示学习论文解读
PaperWeekly
21+阅读 · 2019年2月25日
论文浅尝 | 图神经网络综述:方法及应用
开放知识图谱
113+阅读 · 2019年2月14日
图注意力网络
科技创新与创业
35+阅读 · 2017年11月22日
相关论文
Learning from Few Samples: A Survey
Arxiv
77+阅读 · 2020年7月30日
Arxiv
7+阅读 · 2020年3月1日
Arxiv
22+阅读 · 2019年11月24日
Arxiv
11+阅读 · 2019年6月19日
Learning Embedding Adaptation for Few-Shot Learning
Arxiv
16+阅读 · 2018年12月10日
Top
微信扫码咨询专知VIP会员