【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

作者:CHEONG
公众号:AI机器学习与知识图谱
研究方向:自然语言处理与知识图谱

本文介绍一篇基于对比学习的图谱预训练模型GCC(KDD 2020),介绍GCC模型核心点和模型思路,完整汇报ppt获取请关注公众号回复关键字: GCC

一、背景知识

图谱预训练作用:图神经网络(GNNs)已被证明是建模图结构数据的强大工具。然而,训练GNN模型通常需要大量的特定任务的标记数据,而获取这些数据往往非常昂贵。利用自监督GNN模型对未标记图谱数据进行预训练是减少标记工作的一种有效方法,然后将预训练学习到的模型可用在只有少量标签图谱数据的下游任务。

大规模图谱预训练: 大规模知识图谱预训练方案都需要遵守以下几个套路:首先需要进行子图采样,使用子图进行模型训练;其次采用自监督学习模式,Mask图中的节点或边然后进行训练;计算Loss时需要进行负采样,图规模大无法基于全部负样例。

Contrastive Learning 对比学习: 自监督学习方案常用的两种方式,一种是生成式学习,另一种就是对比学习。对比学习主要利用了样本间的约束信息构造辅助任务,通过构建正样本和负样本,然后度量正负样本的距离进行自监督学习。对比学习的关键就在于如何合理定义正负样本,也是难点所在。

Generative Learning 生成式学习:生成式方法以自编码器为代表,在自编码器中对数据样本编码成特征再解码重构,以此来学习样本的特征表达。在上一篇文章中介绍的就是基于生成式图谱预训练模型GPT-GNN。

下面通过一个大家常用的例子来理解一下Contrastive Learning和Generative Learning的区别,先给出 结论:对比学习和生成式学习区别在于生成式学习目的在于学习到样本的细节特征,而对比学习目的在于学习正负样本之间的区别。

【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

Epstein在2016年做了一个实验,让受试者尽可能详细的画出一张美元的图片,如上左图是受试者凭着记忆画出来的,右图是受试者照着美元画出来的。可以看出虽然左图不够细节但美元的关键特征都具备了,完全可以识别出是一张美元。同理,Generative Learning需要对图片细节进行重构来学习到样本特征,而Contrastive Learning只需要学习到特征空间的区别性,即学习到正负样例之间的区别,不关注样本本身的细节信息。这就是对比学习和生成式学习的主要区别。

; 二、GCC核心方法

GCC模型是一个自监督的对比学习预训练框架。基于对比学习的预训练方法主要利用了样本间的约束信息构造辅助任务,通过构建正样本和负样本,然后度量正负样本的距离进行自监督学习。

GCC预训练模型是利用图的结构信息对图数据进行预训练,不用依赖节点和边的信息,可以避免复杂的特征工程,更具有普适性。而GCC的缺点便是数据生成部分耗时过多,主要是Random Walk获取Subgraph Instances时耗时。下面再具体看一下GCC如何进行图谱自监督的对比学习预训练。

GCC预训练任务:Subgraph Instance Discrimination,我们需要弄明白以下三个问题:
问题1: 如何定义图中的subgraphinstance子图实例;

问题2: 如何定义Subgraph Instances之间的相似度;
问题3: 如何对Subgraph Instances进行编码表征。

基本假设: 在正式介绍三个问题解法之前,明白GCC的基本假设是:如果图中两个不同节点具有相似的结构信息,则两个节点表示也是相似的。

问题1解决方案: 如何定义图中的Subgraph Instance子图实例:首先定义A r-ego Network,即一个限定跳数为r的子网络,对于一个节点v,通过Random Walk的方式获取节点v一个限定跳数为r的子网络,便得到了一个Subgraph Instance实例。

问题2解决方案: 如何定义Subgraph Instance之间的相似度:定义以节点v为中心出发的两个Random Walk得到的A r-ego Network作为两个相似的Subgraph Instance;这便得到了正样例,而负样例是选择一个其他不同于v的节点,进行随机游走,以此得到负样例。文中给出了两种生成负样例的方式:分别是 E2E(负样例从同一个Mini-Batch中抽取), MoCo(保存历史子图来获取负样例,不用每次重新Random Walk)

问题3解决方案: 如何对Subgraph Instance进行编码表征:使用了Graph Isomorphism Network(GIN)对Subgraph Instance进行编码,下面公式展示了GIN节点汇聚更新公式:

【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

三、GCC模型损失函数

GCC模型训练Loss Function定义,用到了Noise-Contrastive Estimation(NCE) Loss,也就是在Representation Learning with Contrastive Predictive Coding这篇论文中定义的InfoNCE Loss,本文公式如下:

【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

其中τ是超参数,f q f_q f q ​和f k f_k f k ​是两个图神经网络,用于编码query instance x q x^q x q和每一个key instance x k x^k x k成表征向量。本文使用的Graph Encoder是Graph Isomorphism Network即GIN模型。

从公式可以看出分子是x q x^q x q和正样例的相似度,分母是x q x^q x q和负样例的相似度,因此优化loss时,随着loss越小分子趋向越大分母趋向越小,就是在训练模型区分开正样例和负样例的能力,也体现了对比学习的含义。

; 四、举个例子

从下图中可以看出,x q x^q x q是query instance,x ( k 0 ) x^(k_0 )x (k 0 ​)是正样例,x ( k 1 ) x^(k_1 )x (k 1 ​),x ( k 2 ) x^(k_2 )x (k 2 ​)是负样例,通过对比学习让x q x^q x q和正样例x ( k 0 ) x^(k_0 )x (k 0 ​)尽可能相似,让x q x^q x q和负样例x ( k 1 ) x^(k_1 )x (k 1 ​), x ( k 2 ) x^(k_2 )x (k 2 ​)尽可能远离。

【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

看下图,左边是Pre-Training阶段,可以看出GCC模型是跨三个图谱数据集Facebook,IMDB和DBLP进行了预训练,目的在于学习图谱间共有的结构特征信息,GCC模型在Fine-Tuning阶段可以进行Node Classification,Graph Classification和Similarity Search等多种任务。GCC模型共提供了两种Fine-Tuning方法,分别是Freezing和Full Fine-Tuning,在Freezing模式时,预训练得到的图编码器f_q参数固定,作为一个静态特征提取器,为下游任务提供基础特征。在Full Fine-Tuning模式时,用预训练参数初始化的图编码器f_q与下游任务上的分类器一起进行端到端的训练。

【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

五、结论

结论:实验结果证明对于领域外的任务,GCC可以提供和专用的特定图的模型相当或更好的性能。更详细结论请参见原文。

【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

; 六、往期精彩

【知识图谱系列】Over-Smoothing 2020综述

【知识图谱系列】基于生成式的知识图谱预训练模型

【知识图谱系列】基于2D卷积的知识图谱嵌入

【知识图谱系列】基于实数或复数空间的知识图谱嵌入

【知识图谱系列】自适应深度和广度图神经网络模型

【知识图谱系列】知识图谱多跳推理之强化学习

【知识图谱系列】知识图谱的神经符号逻辑推理

【知识图谱系列】动态时序知识图谱EvolveGCN

【知识图谱系列】多关系神经网络CompGCN

【知识图谱系列】探索DeepGNN中Over-Smoothing问题

【知识图谱系列】知识图谱表示学习综述 | 近30篇优秀论文串讲

【知识图谱系列】动态知识图谱表示学习综述 | 十篇优秀论文导读

【面经系列】八位硕博大佬的字节之旅

【机器学习系列】机器学习中的两大学派

各大AI研究院共35场NLP算法岗面经奉上

干货 | Attention注意力机制超全综述

干货 | NLP中的十个预训练模型

干货|一文弄懂机器学习中偏差和方差

FastText原理和文本分类实战,看这一篇就够了

Transformer模型细节理解及Tensorflow实现

GPT,GPT2,Bert,Transformer-XL,XLNet论文阅读速递

机器学习算法篇:最大似然估计证明最小二乘法合理性

Word2vec, Fasttext, Glove, Elmo, Bert, Flair训练词向量教程+数据+源码

汇报完整版ppt可通过关注公众号后回复关键词: GCC 来获得,有用就点个赞呗

Original: https://blog.csdn.net/feilong_csdn/article/details/117149944
Author: CHEONG_KG
Title: 【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/556747/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球