首页 > 其他分享 >LAGCL论文阅读笔记

LAGCL论文阅读笔记

时间:2024-03-25 10:13:00浏览次数:31  
标签:mathbf 邻居 论文 笔记 模块 LAGCL mathcal hat 节点

LAGCL论文阅读笔记

Abstract

存在的问题:

​ 没有考虑到头和尾部节点之间的显著程度差异。这可能导致不均匀的表示分布,这是影响对比学习方法性能的一个关键因素。

解决方案:

​ 我们提出了一种新的长尾增广图对比学习(LAGCL)推荐方法。具体来说,我们引入了一种可学习的长尾增强方法,通过补充预测的邻居信息来增强尾部节点,并基于所得到的增强图生成对比视图。

​ 为了使数据增强模式可学习,我们设计了一个自动下降模块从头节点生成伪尾节点,一个知识转移模块从伪尾节点生成知识转移模块重建头节点。此外,我们采用生成式对抗网络,以确保生成的尾/头节点的分布与原始的尾/头节点的分布相匹配。

Introduction

继续强调存在的问题:

​ 最近的一些研究试图通过对比学习来缓解交互数据的数据稀疏性,但它们通常依赖于预定义的数据增强策略,如均匀edge dropout或打乱特征。这些方法没有考虑到头节点和尾节点之间的图结构的显著差异,也缺乏针对各种推荐数据集构建自适应数据增强的能力。这可能导致表示分布的不均匀,这是影响对比学习方法性能的关键因素

然后再提出解决方案

​ 鉴于上述局限性和挑战,我们提出了一种新的长尾增广图对比学习(LAGCL)推荐方法。为了说明这一点,考虑图1(a)的头部用户和图1(b)的尾部用户,他们具有相似的偏好。我们的方法旨在从头部用户中提取信息丰富的转换模式,并有效地适应尾部用户,如图1(c).所示具体来说,我们首先设计了一个自动下降模块,将头节点转换为伪尾部节点,模拟真实尾节点的模式。接下来,我们利用伪尾节点中的丢弃的邻居信息来学习知识传递模块,然后通过添加预测的邻居信息,将尾节点增强为伪头节点。利用对抗性训练机制对这些模块进行了更新,以确保伪头/尾节点与真实头/尾节点之间的分布匹配。最后,我们使用一种有效有效的方法来生成对比视图,通过在头节点和增强尾节点的图嵌入中注入随机噪声,利用它们的均匀性来获得更好的对比性能。

pF4M081.png

Method

模型的整体框架如下:

pF4MsKK.png

LAGCL概述

​ 首先,我们利用一个知识转移模块对尾节点进行增强,然后在增广图上生成两个图视图。接下来,我们使用一个对比损失函数来进行对比学习任务,它鼓励两个不同视图中相同节点的表示是相似的,而这些视图中不同节点的表示是不同的。最后,我们采用了多任务训练策略来提高推荐绩效。具体来说,主要任务是推荐任务,而对比学习任务和知识转移约束作为辅助任务。

长尾增强

​ 假设每个节点都有一个ground-truth邻居集,头尾节点的区别在于前者有一个完全观测的邻居集,而后者只有部分观察的邻居信息。这种不完整的信息会对模型的性能产生不利影响。因此,长尾增强技术的目的是用缺失的邻居信息来补充尾节点,以加强头尾节点之间的表示一致性。然而,进行长尾增强是一项具有挑战性的任务,因为缺少尾节点的邻居没有ground-truth标签。这种方法背后的直觉是,头部节点已经充分地观察到了邻居信息。如果我们可以通过删除头节点的邻居信息来模拟尾节点来生成伪尾节点,那么我们就可以利用伪尾节点的删除邻居信息来学习长尾增强策略。我们的长尾增强可以归纳为三个关键模块:自动丢弃模块、知识转移模块和生成式对抗性学习模块。

自动丢弃模块

​ 一种直观的方法是从头部节点中随机抽取邻居,生成伪尾节点。然而,该方法缺乏有效的监控信号来指导采样过程,导致增强的数据样本与实际尾节点样本之间存在分布偏差。为了改进数据增强过程,我们提出了一个具有可训练退出策略的自动丢弃模块,以最大限度地最小化增强的数据样本与实际尾部节点样本之间的分布偏差。具体来说,丢弃策略包括两个主要步骤:按边权排序和根据其重要性权重选择top-K邻居,在节点对之间的重要性权重计算为:

​ \(\mathbf{S}=(\mathbf{H}^{(0)}\mathbf{W}_s{\mathbf{H}^{(0)}}^T)\odot\mathbf{A}\)

​ \(W_s\)是可训练的参数,

​ 然后,为了模拟真实的尾节点,我们从尾节点邻居大小\([1,k]\)的范围内均匀地随机选择头节点的邻居大小\(k_i\):

​ \(k_i=\begin{cases}\text{Uniform}[1,k],&\mathbf{D}_{ii}>k,\\\mathbf{D}_{ii},&\mathbf{D}_{ii}\leq k.&\end{cases}\)

​ 最后,受[5,15]中的顶级选择方法的启发,根据其重要性权重选择最优邻接矩阵\(\hat{\mathbf{A}}\),并将其用于尾部节点的图聚合。新的邻接矩阵\(\hat{\mathbf{A}}\)被定义为:

​ \(\hat{\mathbf{A}}_{ij}=\begin{cases}\frac{\exp(\delta\mathbf{S}_{ij})}{1+\exp(\delta\mathbf{S}_{ij})},&\mathbf{S}_{ij}\in\text{top-}k_i(\mathbf{S}_i),\\0,&\mathbf{S}_{ij}\notin\text{top-}k_i(\mathbf{S}_i),&\end{cases}\)

​ 其中,δ是控制邻接矩阵\(\hat{A}\)的平滑度的超参数,并将节点i对应的邻域记为\(\hat{N_i}\)。

知识转移模块

​ 在构建了自动丢弃模块之后,我们可以设计一个知识转移模块,利用伪尾节点的丢弃邻居信息来预测实尾节点缺失的邻居信息。具体来说,我们使用一个多层感知器(MLP)函数,用\(f_t(\mathbf{h}_i^{(l)},\mathbf{h}_{\mathcal{N}_i}^{(l)};\theta_t^{(l)})=\mathbf{m}_i^{(l)}\)表示,根据中心节点特征和观察到的邻居信息来预测缺失的邻居信息。这里,\(h_i^{(l)}\)表示节点i的l层图嵌入,\(\mathbf{h}_{\mathcal{N}_i}^{(l)}\)是可观测邻居的平均池化表示。然后,将预测的信息添加到实尾节点的邻居聚合过程中。

​ 我们可以通过知识传递函数计算具有预测邻居信息的稀疏图\(\hat{A}\)中头节点i的节点嵌入情况:

​ \(\hat{\mathbf{h}}_i^{(l)}=\sum_{j\in\hat{\mathcal{N}}_i}\frac1{\sqrt{|\hat{\mathbf{A}}_i|}\sqrt{|\hat{\mathbf{A}}_j|}}\hat{\mathbf{h}}_j^{(l-1)}+f_t(\hat{\mathbf{h}}_i^{(l-1)},\hat{\mathbf{h}}_{\hat{\mathcal{N}}_i}^{(l-1)},\theta_t^{(l-1)}),\)

​ 为了训练知识传递函数,我们对转移损失的定义如下:

​ \(\mathcal{L}_{trans}=\sum_{i\in\mathcal{V}_{head}}\sum_{l=1}^{L}\|\mathbf{h}_i^{(l)}-\hat{\mathbf{h}}_i^{(l)}\|_2^2.\)

生成对抗学习模块

​ 为了学习有效的长尾增强,实尾节点的表示分布应与自动丢弃模块生成的伪尾节点的表示分布相匹配,计算方法如下:

​ \(\tilde{\mathbf{h}}_i^{(l)}=\sum_{j\in\hat{\mathcal{N}}_i}\frac1{\sqrt{|\hat{\mathbf{A}}_i|}\sqrt{|\hat{\mathbf{A}}_j|}}\tilde{\mathbf{h}}_j^{(l-1)},\)

​ 其中,\(\mathbf{\tilde{h}}^{(0)}=\mathbf{h}^{(0)}\)。此外,由知识转移模块增强的伪头节点的分布应与实头节点的分布相匹配。为了实现这一点,我们使用了生成式对抗网络。该鉴别器基于节点表示来区分伪头尾节点与真实头尾节点,而生成器的目标是提供被鉴别器一致分类为真实节点的信息。这里我们将LAGCL的输出层视为生成器,它在学习过程中与鉴别器进行竞争。特别地,我们对尾部节点的对抗性约束使用了以下损失:

\[\begin{aligned}\mathcal{L}_{tail-disc}&=\sum_{i\in\mathcal{V}}1(i\notin\mathcal{V}_{tail})\text{CRossENT}(\mathbf{0},f_d(\tilde{\mathbf{h}}_i;\theta_d))\\&+1(i\in\mathcal{V}_{tail})\text{CROssENT}(\mathbf{1},f_d(\mathbf{h}_i;\theta_d)),\end{aligned} \]

​ 并使用以下头部节点损失对抗约束:

\[\begin{aligned}\mathcal{L}_{head-disc}&=\sum_{i\in\mathcal{V}}\text{CRossENT}(\hat{\mathbf{0}},\hat{f_d(\mathbf{h}_i};\theta_d))\\&+1(i\in\mathcal{V_{head}})\text{CROssENT}(\boldsymbol{1},f_d(\mathbf{h}_i;\theta_d)),\end{aligned} \]

​ 注意:\(\hat{h}\)表示自动丢弃后的又进行知识转移的表示,包含伪头部节点,\(\tilde{h}\)表示自动丢弃后的表示,包含伪尾节点

​ 其中CrossEnt(·)是交叉熵函数,\(\mathbb{1}\left(\cdot\right)\)是指标函数,\(f_d(\cdot;\theta_d)\)是由\(\theta_d\)参数化的鉴别器函数,它计算一个节点成为头节点的概率,计算方式为:

​ \(f_d(\mathbf{h}_i;\theta_d)=\sigma\Big(\mathbf{w}_d^\top\text{LEAKYRELU}(\mathbf{W}_d\mathbf{h}_i+\mathbf{b}_d)\Big),\)

​ 这个生成对抗模块有点看不懂

对比学习

视图生成

​ 利用上述知识传递函数,我们可以得到增强的尾部节点嵌入,如下:

​ \(\mathbf{h}_i^{(l)}=\sum_{j\in\mathcal{N}_i}\frac1{\sqrt{|\mathbf{A}_i|}\sqrt{|\mathbf{A}_j|}}\mathbf{h}_j^{(l-1)}+f_t(\mathbf{h}_i^{(l-1)},\mathbf{h}_{\mathcal{N}_i}^{(l-1)};\theta_t^{(l-1)}).\)

​ 然后,我们遵循SimGCL的方法,通过在空间中略微旋转细化的节点嵌入来生成不同的视图。该方法保留了原始信息,同时引入InfoNCE损失作为一个额外的自监督任务,以提高鲁棒性,如下:

​ \(\mathbf{h}_i^{(l)^{\prime}}=\mathbf{h}_i^{(l)}+\Delta_i^{(l)^{\prime}},\mathbf{h}_i^{(l)^{\prime\prime}}=\mathbf{h}_i^{(l)}+\Delta_i^{(l)^{\prime\prime}},\)

​ 后面就不细写了,跟SimGCL差不多

模型训练

​ 我们利用多任务训练策略,共同优化主要推荐任务和辅助任务,包括转移任务、辨别任务和对比学习任务:

​ \(\mathcal{L}=\mathcal{L}_{rec}+\lambda_1\mathcal{L}_{trans}+\lambda_2\mathcal{L}_{disc}+\lambda_3\mathcal{L}_{cl}+\lambda_4\|\Theta\|^2,\)

标签:mathbf,邻居,论文,笔记,模块,LAGCL,mathcal,hat,节点
From: https://www.cnblogs.com/anewpro-techshare/p/18093775

相关文章

  • djangoCIA报价平台的设计与实现(源码+mysql+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着信息技术的飞速发展,互联网已经深入到我们日常生活的方方面面。在众多的应用场景中,报价系统作为商业交易的重要环节,扮演着至关重要的角色。尤其是在CIA(Ce......
  • djangoAndroid共享停车位(源码+mysql+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着城市化进程的加速,汽车已成为人们日常生活中不可或缺的交通工具。然而,在许多城市中,由于停车位数量有限,停车难成为了一大问题。为了解决这一问题,共享停车......
  • 【附源码】django计算机毕业设计web的诗词信息管理平台(源码+mysql+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在当今信息化时代,诗词作为中华民族传统文化的瑰宝,承载着丰富的历史和文化价值。然而,随着科技的发展和生活节奏的加快,人们对于诗词的接触和传承逐渐减少,尤其......
  • 【附源码】django计算机毕业设计web技术的养老服务平台(源码+mysql+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义养老服务平台开发设计背景:随着社会老龄化的加剧,养老问题逐渐成为社会关注的热点。老年人作为社会的重要组成部分,他们的生活质量和幸福感直接关系到社会的和谐与稳定......
  • 马斯克开源的 grok-1 底层 Transformer 模型论文 《Attention is All You Need》
    拓展阅读马斯克开源的grok-1底层Transformer模型论文《AttentionisAllYouNeed》马斯克开源的grok-1大模型底层Transformer模型到底是个啥?马斯克开源的grok-1大模型硬核源码第1弹马斯克开源的grok-1大模型硬核源码第2弹马斯克开源的grok-1大模型硬核源......
  • 小迪学习笔记(内网安全)(常见概念和信息收集)
    小迪学习笔记(内网安全)(一)内网分布图内网基本概念工作组和域环境的优缺点内网常用命令域的分类单域父域和子域域数和域森林Linux域渗透问题内网安全流程小迪演示环境信息收集mimikatzLazagne(all)凭据信息政集操作演示探针主机域控架构服务操作演示总结内网分布图D......
  • 【Nebula笔记】简介及安装
     目录一、简介(一)什么是图数据库二、安装(一)原生安装(二)Docker&Dockercompose1.Docker安装LinuxWindow2.部署NebulaGraph(三)toMAC三、NebulaGraphStudio(一)版本兼容性(二)原生安装(三)Dockercompose(四)连接NebulaGraph相关文档官......
  • 蟒蛇书入门学习笔记(3)Python列表
    列表列表是一种数据结构,用于储存一系列有序的数据,可以根据需要动态地增加或删除元素。列表在很多编程语言中都有内置的实现,常用的操作包括插入、删除、修改和查找元素。1.列表的表示列表可以包含字符、数字等等元素,一般来说用表示复数的名称(如letters,digits,names)命名列表,用......
  • 学习java时候的笔记(一)
    输出语句System.out.println("abc");//先打印abc,再进行换行System.out.print("abc");//只打印abc,不换行System.out.println();//不打印任何数据,只做换行处理。变量变量的定义格式数据类型变量名=数据值;demopublicclassVariableDemo1{ //主入口 publi......
  • nginx进阶-3(32-34天)学习笔记
    nginx进阶-3(33-34天)学习笔记知识回顾1.nginx部署单机网站2.nginx部署多个网站3.nginx访问方式4.nginx安全5.nginx加密访问实战00---nginx企业实战1.nginx搭建一个文件共享供用户下载的服务器#步骤1.配置nginx文件cd/usr/local/nginx/conf/vhostvibbs.conf......