[图神经网络论文]PLNLP:Pairwise Learning for Neural Link Prediction

本文主要是介绍[图神经网络论文]PLNLP:Pairwise Learning for Neural Link Prediction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址

http://arxiv.org/abs/2112.02936

现有的问题

现有的图神经网络过度重视神经网络的 架构 来增加其表达能力,但是忽略了在链接预测问题上的一些基本特性。例如,把链接预测问题建模成二分类问题并且使用交叉熵损失函数,由于

  • 由于大多数图的自然稀疏性,链接分类是极不平衡的,也就是邻接矩阵是稀疏的,大多数节点之间都没有真正的链接(正样本)
  • 大多数链接预测优化的目标不是将正对标记为1,将负对标记为0,而是要求正对的排名高于负对,这并不是直接求解链接预测问题,而是间接优化
    采用交叉熵函数对链路预测任务的目标似乎并不那么直接

相关工作

  1. 新的链接预测框架: 逐对链接预测(pair-wise,这样翻译是对标element-wise,逐元素)
  2. 根据不同的目标/图的结构,使用不同的评分函数
  3. 几种对于不同问题的负采样策略
  4. 使用有效排序损失(近似直接优化AUC)进行优化(对标解决第二个问题)
  5. 使用Random walk 进行图增强

提出的方法

新的链接预测框架

如图所示,该链接预测框架主要由三部分组成:Negative Sampler,Neighborhood Encoder,Link Predictor。

在这里插入图片描述

Negative Sampler

考虑到不同的图需要学习的图表示不一样,因此负采样策略也应该对应选择不用的策略

  1. Global Sample: 全局采样是在整个图上进行均匀采样,这采样策略适用于需要学习图的全局信息,例如,在蛋白质相互作用中,我们感兴趣的是所有可能的节点对中的潜在节点对,这些节点对值得进一步分析(进行卷积/池化)
  2. Local Sample: 局部采样是从局部子图中进行采样生成负样本,由于是从局部进行的,因此可以采样除了均匀分布以外的其他分布进行采样,例如基于节点度的采样策略(作者这里没有继续阐述,基于我的理解 ,应该是与伯努利采样相反,如果一个节点的度越大,那么采样的概率就越大,因为节点的度很大意味着该节点的特征很典型,需要模型区分),这种策略适用于对单个节点进行良好排序的情况
  3. Adversarial Sample: 类似于GAN(生成对抗网络),该采样策略生成的负样本是由一个模型生成的,该负样本生成模型会和一个判别模型进行对抗,链路预测模型和负样本生成模型进行对抗博弈。通过不断提供高质量的阴性样本,对抗性抽样比随机抽样更具稳健性
  4. Negative Sample Sharing: 由于该框架的 逐对进行预测的,如果每次训练都重新生成负样本,那么时间复杂度就会非常高。因此该采样策略是一次性生成 m m m个负样本,然后每次训练时对负样本进行随机排序(重新计算下标),随机排序。超参数 n u m n e g − 1 num_{neg}-1 numneg1表示机制将随机排列 ( n u m n e g − 1 ) (num_{ neg}-1) numneg1次负样本。对于逐对链接预测框架,这种采样方式可以有效减少计算量共享负样本采样

Neighborhood Encoder

邻居编码器主要由两个部分组成:Node neighborhood encoder(NNE)和Node-pair Neighborhood encoder(或者是Edge level Neighborhood Encoder (ENE))

NNE

对于一对输入的节点 v i , v j v_{i},v_{j} vi,vj(在架构图中是A,B),在采样后生成负样本,使用GNN(例如GCN,GraphSAGE,GAT)对正负样本,进行学习编码,提取正样本和负样本周围的结构信息和周围节点的信息,
在这里插入图片描述

其中, x i x_i xi一般是节点 v i v_i vi的输入特征(例如对节点的属性进行编码), N h ( v i ) \mathcal{N}^h(v_{i}) Nh(vi)是在节点 v i v_i vi周围提取的子图,节点 v j v_{j} vj同理。由于该框架只考虑同质图(hemogenous graph,所有节点的类型都是一致的),因此,所有节点共享用一个GNN网络参数。经过GNN后,会得到一些节点的嵌入

ENE

ENE是对子图进行编码,使用(SEAL,NIAN等用于解决链接预测问题的其他框架/架构),例如:SEAL[[Link Prediction Based on Graph Neural Networks]]:

  1. 从目标节点对提取到达目标节点对的距离小于 k k k的节点组成封闭子图
  2. 使用DRNL(doubel-radius node label)对封闭子图中的节点进行位置编码,获取结构信息
  3. 负样本注入
  4. 使用node2vec生成嵌入
  5. 把节点本身的元数据(例如用户的年龄、性别、兴趣点等)加入到特征矩阵中
  6. 使用GNN训练
    通过SEAL框架训练后得到一对节点的嵌入,这些节点嵌入包含了目标节点对,负样本对的元数据特征,结构特征,以及周围邻居的。由于ENE是对 节点对进行编码,因此可以视作为这两个节点之间的边的特征 h i j = E N E ( x i , x j , { x i ∣ v k ∈ G h ( v i , v j ) } ) h_{ij}=ENE(x_{i},x_{j},\{\mathbf{x_{i}}|v_{k\in \mathcal{G^h}(v_{i},v_{j})}\}) hij=ENE(xi,xj,{xivkGh(vi,vj)})其中 G h \mathcal{G^h} Gh是提取的子图

Link Score Predictor

链接分数预测器的主要作用是把上述Neighborhood encoder的结果进行融合,充分考虑节点(通过NNE编码)和边(通过ENE编码)的特征。融合的方式有:

  1. Dot:直接把两个向量进行点乘 s i j = h i ⋅ h j s_{ij}=\mathrm{h}_i\cdot\mathrm{h}_j sij=hihj
  2. Bilinear Dot:双线性点乘,由于点乘操作只适用于无向图(因为点乘时对称的, a ⋅ b = b ⋅ a a\cdot b=b \cdot a ab=ba),在面对有向图时,使用双线性点乘来大批对称性质 s i j = h i W h j s_{ij}=h_{i}Wh_{j} sij=hiWhj其中 W W W是可学习的参数
  3. MLP:使用多层感知机把两个编码后的特征进行降维 s i j = M L P ( h i j ) s_{ij}=MLP(h_{ij}) sij=MLP(hij),在进入MLP之前,还可以先对两个特征进行一些预处理,例如哈达玛积或者是把两个向量连接起来 s i j = M L P ( h i ⊙ h j ) s_{ij}=MLP(h_{i}\odot h_{j}) sij=MLP(hihj) s i j = M L P ( h i ∣ ∣ h j ) s_{ij}=\mathrm{MLP}(\mathbf{h}_i||\mathbf{h}_j) sij=MLP(hi∣∣hj)
    Link Score Predictor也就是评分模型,输出的结果是分数

目标函数

使用交叉熵损失函数优化模型是间接求解链接预测问题,此外,由于图中链接与非链接存在极大不平衡,因此作者采用了排序的思想来优化目标,具体是 s i j > s k l , ∀ ( v i , v j ) ∈ E a n d ∀ ( v k , v l ) ∈ E − s_{ij}>s_{kl},\forall(v_{i},v_{j})\in E\mathrm{~and~}\forall(v_{k},v_{l})\in E^{-} sij>skl,(vi,vj)E and (vk,vl)E其中 s s s是Link Score Predictor输出的分数, E − E^- E是生成的负样本(集),实际上,上述的目标函数优化的是正样本的分数大于样本的分数,这与AUC(Area Under the Curve)是一致的, A U C = ∑ ( v i , v j ) ∈ E ∑ ( v k , v l ) ∈ E − 1 [ f θ ( v i , v j ) > f θ ( v k , v l ) ] ∣ V × V ∣ \mathrm{AUC}=\sum_{\begin{array}{c}(v_i,v_j)\in E\\\end{array}}\sum_{\begin{array}{c}(v_k,v_l)\in E^-\\\end{array}}\frac{\mathbb{1}[f_{\boldsymbol{\theta}}(v_i,v_j)>f_{\boldsymbol{\theta}}(v_k,v_l)]}{|V\times V|} AUC=(vi,vj)E(vk,vl)EV×V1[fθ(vi,vj)>fθ(vk,vl)]
其中 f θ ( v i , v j ) = s i j f_{\theta}(v_{i},v_{j})=s_{ij} fθ(vi,vj)=sij 1 \mathbb{1} 1是指示函数,如果 f θ ( v i , v j ) > f θ ( v k , v l ) f_{\theta}(v_{i},v_{j})>f_{\theta}(v_{k},v_{l}) fθ(vi,vj)>fθ(vk,vl)则为1,否则为0。 V \mathbf{V} V是样本大小。由于该目标函数的偏导数要么为0,要不不存在,因此无法直接使用该函数进行反向传播优化模型,但是可以使用其他损失函数优化模型,例如逻辑损失,指数损失。还有一个选择是近似AUC, O A U C = min ⁡ θ ∑ ( v i , v i ) ∈ E , ( v i , v k ) ∈ E − ( 1 − f θ ( v i , v j ) + f θ ( v i , v k ) ) 2 + λ 2 ∣ ∣ θ ∣ ∣ 2 O_{\mathrm{AUC}}=\min_{\theta}\sum_{(v_i,v_i)\in E,(v_i,v_k)\in E^-}\left(1-f_{\theta}\left(v_i,v_j\right)+f_{\theta}\left(v_i,v_k\right)\right)^2+\frac\lambda2||\theta||^2 OAUC=θmin(vi,vi)E,(vi,vk)E(1fθ(vi,vj)+fθ(vi,vk))2+2λ∣∣θ2
λ 2 ∥ θ ∥ 2 \frac{\lambda}{2}\Vert \theta\Vert^2 2λθ2是正则项;在优化这个损失函数时,就是在强制要求正负样本评分距离为1。实际情况下如果正负样本的距离大于1也是可行的,因此可以改良为 O A U C = min ⁡ θ ∑ ( v i , v i ) ∈ E , ( v i , v k ) ∈ E − γ i j max ⁡ ( 0 , ( γ i j − f θ ( v i , v j ) + f θ ( v i , v k ) ) 2 ) + λ 2 ∣ ∣ θ ∣ ∣ 2 O_{\mathrm{AUC}}=\min_{\theta}\sum_{(v_i,v_i)\in E,(v_i,v_k)\in E^-}\gamma_{ij}\max(0,\left(\gamma_{ij}-f_{\theta}\left(v_i,v_j\right)+f_{\theta}\left(v_i,v_k\right)\right)^2)+\frac\lambda2||\theta||^2 OAUC=θmin(vi,vi)E,(vi,vk)Eγijmax(0,(γijfθ(vi,vj)+fθ(vi,vk))2)+2λ∣∣θ2这样优化的含义就是让正负样的分数距离大于等于1,其中 γ i j \gamma_{ij} γij为margin coefficient,可以调整正负样本分数的最小距离

通过随机游走增强数据

在一些图中:

  1. 高阶邻居的信息可能会很重要,需要对一些高阶邻居进行采样
  2. 缓解GNN过渡从局部邻居中聚合信息导致过平滑问题
  3. 一些高度节点的邻居太多导致计算效率低下

因此随机游走生成一些节点序列,从这个序列中节点聚合信息 R W ( v i ) = v k + 1 , ⋯ , v k + l RW(v_{i})={v_{k+1,\cdots,v_{k+l} }} RW(vi)=vk+1,,vk+l增强后的数据为 E a u g = E ∪ { ( v i , v j ) ∣ v j ∈ R W ( v i ) , ∀ v i ∈ V } E_{\mathbf{aug}}=E\cup\{(v_i,v_j)|v_j\in\mathrm{RW}(v_i),\forall v_i\in V\} Eaug=E{(vi,vj)vjRW(vi),viV}
然后就可以使用这些数据训练模型

实验结果

实验配置
实验配置

链接预测实验结果:
链接预测结果

这篇关于[图神经网络论文]PLNLP:Pairwise Learning for Neural Link Prediction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947035

相关文章

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需