【知识图谱系列】基于Randomly Perturb的图谱预训练模型GraphCL
作者:互联网
作者:CHEONG
公众号:AI机器学习与知识图谱
研究方向:自然语言处理与知识图谱
本文介绍基于Randomly Perturb互信息最大化的图谱预训练模型GraphCL(NIPS 2020),介绍模型核心点和模型思路,完整汇报ppt获取请关注公众号回复关键字:GraphCL
一、背景知识
图谱预训练作用:图神经网络(GNNs)已被证明是建模图结构数据的强大工具。然而,训练GNN模型通常需要大量的特定任务的标记数据,而获取这些数据往往非常昂贵。利用自监督GNN模型对未标记图谱数据进行预训练是减少标记工作的一种有效方法,然后将预训练学习到的模型可用在只有少量标签图谱数据的下游任务。
大规模图谱预训练: 大规模知识图谱预训练方案都需要遵守以下几个套路:首先需要进行子图采样,使用子图进行模型训练;其次采用自监督学习模式,Mask图中的节点或边然后进行训练;计算Loss时需要进行负采样,图规模大无法基于全部负样例。
对比学习 VS 生成式学习:请参考上一篇有详细解释,【知识图谱系列】清华大学基于对比学习的图谱预训练模型。
二、GraphCL模型
GraphCL是一个基于对比学习的自监督图谱预训练模型,GraphCL模型对一个节点得到两个随机扰动的L-hop的Subgraph,通过最大化两个Subgraph之间的相似度来进行自监督学习。关注以下三个问题。
问题1: A Stochastic Perturbation,如何获得一个节点两个L-Hop的子图?对个一个节点完整的L-Hop Subgraph,本文通过以概率p随机丢边的方式来生成不同的子图结构。
问题2: A GNN based Encoder,使用何种图神经网络对两个L-Hop Subgraph进行表征?简单的GCN模型(Hamiltonet al. 2017),汇聚函数使用mean-pooling propagation rule,但对于Transductive和Inductive Learning会不一样。Transductive Learning时汇聚公式如下:
Inductive Learning时汇聚公式如下:
问题3: A Contrastive Loss Function,损失函数如何定义?首先对两个L-Hop Subgraph相似度计算使用的是余弦相似度,损失函数是Based on a normalized temperature-scaled cross entropy,如下公式所示,其中1_([u≠v])指标函数表示当u≠v时为1,反之为0,τ是一个temperature parameter。
三、GraphCL模型运行步骤
对一个采样的Mini-BatchB,GraphCL模型执行步骤如下所示:
1、对于B中的节点u,定义(X_u,A_u)是节点u的L跳子图,包含从u到L跳内所有节点和边及其对应的特征信息;
2、按照之前介绍的扰动策略得到节点u的两个扰动的L-Hop子图t_1,t_2,如下公示所示:
3、使用GraphEncoder f在t_1,t_2上,如下公式所示:
4、使用如下的Loss Function来训练更新Graph Encoder f的模型参数
5、GraphCL模型结构图如下所示:
三、结论
结论:在Transductive Learning和Inductive Learning两个方面,都证明GraphCL模型在许多节点分类基准上显著优于最先进的无监督学习。
四、往期精彩
【知识图谱系列】探索DeepGNN中Over-Smoothing问题
【知识图谱系列】知识图谱表示学习综述 | 近30篇优秀论文串讲
【知识图谱系列】动态知识图谱表示学习综述 | 十篇优秀论文导读
Transformer模型细节理解及Tensorflow实现
GPT,GPT2,Bert,Transformer-XL,XLNet论文阅读速递
Word2vec, Fasttext, Glove, Elmo, Bert, Flair训练词向量教程+数据+源码
汇报完整版ppt可通过关注公众号后回复关键词:GraphCL 来获得,有用就点个赞呗
标签:系列,训练,Perturb,图谱,模型,知识,Randomly,GraphCL 来源: https://blog.csdn.net/feilong_csdn/article/details/117149822