【知识图谱系列】基于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模型在许多节点分类基准上显著优于最先进的无监督学习。

图片

在这里插入图片描述

图片



四、往期精彩


【知识图谱系列】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可通过关注公众号后回复关键词:GraphCL 来获得,有用就点个赞呗

### 预训练模型用于文本数据增强的方法和实现 #### 方法概述 基于预训练模型的文本数据增强方法是一种新兴的技术,它结合了传统数据增强的思想与现代深度学习的能力。这种方法的核心在于利用预训练模型提取输入文本中的语义特征,并通过生成新样本的方式扩展原始数据集[^1]。 具体来说,这种技术通常分为以下几个方面的工作流: 1. **语义特征提取** 使用预训练的语言模型(如BERT、GPT系列或其他先进的自然语言处理模型),对现有文本进行编码,捕获其深层语义表示。这些模型能够理解上下文关系并生成高质量的嵌入向量[^4]。 2. **生成新样本** 基于上述获得的语义信息,可以通过多种方式创建额外的数据实例。一种常见策略是采用条件变分自编码器(CVAE)或者序列到序列(Seq2Seq)框架来重新表述原句;另一种则是借助掩码机制(masking),例如GENIUS算法所提出的极端与选择性遮蔽(extreme and selective masking)[^2],允许部分替换词语以形成相似但不完全相同的表达形式。 3. **迁移学习应用** 当目标领域缺乏足够的标注资源时,还可以考虑运用跨域适应技巧——即将源领域的丰富知识迁移到目标任务上。这不仅限于简单的参数共享,还包括微调(fine-tuning)整个网络结构使之更适合特定场景需求[^5]。 #### 实现案例分析 为了更直观地展示这一过程的实际操作步骤,下面给出一段Python伪代码作为参考示例: ```python from transformers import BertTokenizer, TFBertForMaskedLM import tensorflow as tf def augment_text(input_sentence, num_samples=5): tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') model = TFBertForMaskedLM.from_pretrained('bert-base-uncased') inputs = tokenizer.encode_plus( input_sentence, add_special_tokens=True, return_tensors='tf' ) masked_indices = [] # Define positions to mask dynamically or randomly. augmented_texts = [] for _ in range(num_samples): temp_input_ids = inputs['input_ids'].numpy().copy() # Randomly select a word index to replace with '[MASK]' idx_to_mask = np.random.choice(range(1, len(temp_input_ids)-1)) temp_input_ids[0][idx_to_mask] = tokenizer.mask_token_id outputs = model(tf.constant([temp_input_ids])) predictions = outputs.logits.numpy()[0] predicted_token_id = np.argmax(predictions[idx_to_mask]) new_word = tokenizer.decode(predicted_token_id) reconstructed_sentence = tokenizer.convert_ids_to_tokens(temp_input_ids[0]) reconstructed_sentence[idx_to_mask] = new_word final_sent = ' '.join(reconstructed_sentence).replace('[PAD]', '').strip() augmented_texts.append(final_sent) return augmented_texts ``` 此脚本展示了如何使用Hugging Face Transformers库加载Bert模型来进行基本的文字扩充功能演示。 #### 总结 综上所述,利用预训练模型执行高效的文本数据增强已经成为当前NLP研究的一个重要方向。这类方案不仅能有效缓解因训练资料不足而导致的各种问题,而且还能显著提升下游任务的表现效果[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值