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

RocSE论文阅读笔记

时间:2024-05-15 16:55:18浏览次数:19  
标签:RocSE 嵌入 mathbf 论文 用户 笔记 鲁棒性 扰动 交互

Towards Robust Neural Graph Collaborative Filtering via Structure Denoising and Embedding Perturbation论文阅读笔记

Abstract

​ 现有的鲁棒协同滤波工作主要通过去噪图结构来提高鲁棒性,而其他领域的最新进展表明,在嵌入空间中直接添加对抗性扰动可以显著提高模型的鲁棒性。在本研究中,我们提出通过结构空间的去噪和嵌入空间的扰动来提高神经图协同滤波的鲁棒性。具体地说,在结构空间中,我们测量了交互的可靠性,并进一步利用它来影响主干图神经网络的消息传播过程;在嵌入空间中,我们通过模拟对抗攻击的行为来添加分布扰动,并将其与对比学习结合相结合以提高性能。

Introduction

​ 现有的神经图协同过滤方法很少考虑鲁棒性方面,即当存在许多噪声甚至恶意的用户-项目交互时,它们将如何执行?例如,在网上购物服务中,用户可能会意外地点击不属于他们偏好的产品(例如,随机点击或代理购物);这些点击并不一定表明他/她的真实个人偏好,而在CF中可能被视为有效的反馈。更糟糕的是,恶意用户可以故意插入精心制作的虚假交互,以使推荐系统的偏见符合他们的利益。如果没有正确地进行正则化,那么gnn的消息传递方案可能会聚合误导性的邻域信息,从而可能导致次优的推荐性能。因此,提高神经图协同滤波在噪声作用下的鲁棒性至关重要。

​ 在文献中,有一些研究去噪内隐反馈,以提高推荐系统的鲁棒性。这些工作主要应用于样本空间,大致可以分为两类:样本选择方法和样本重加权方法。样本选择方法侧重于设计更有效的采样器来收集干净的样本,而样本重加权方法的目的是从干净的数据中区分噪声交互,并在训练过程中为噪声交互分配较低的权重。然而,这些方法并不直接影响gnn的消息传递过程,而且来自高阶邻域的聚集噪声的负面影响仍然不受控制。除了样本空间之外,在计算机视觉和自然语言处理方面的最新进展表明,在嵌入空间中直接添加对抗性扰动可以显著提高模型的鲁棒性。最近的一项工作探索了这一想法,观察到嵌入空间中的扰动也可以提高推荐性能。然而,这项工作只是在嵌入中添加了随机噪声,与对抗性扰动相比,这可能效果不佳。此外,现有的工作都没有尝试将结构空间和嵌入空间相结合,以最大限度地提高神经图协同滤波的鲁棒性。

​ 在本文中,我们提出了一种端到端神经图协同滤波方法,RocSE。RocSE旨在从样本(结构)空间和嵌入空间的角度提高模型的鲁棒性。具体来说,在每个训练阶段,RocSE首先通过识别更可靠的交互来去噪用户-项图的结构,并进一步使用可靠性评分来影响骨干gnn的消息传播过程。其次,RocSE在嵌入空间中添加分布扰动,模拟通过插入边来操纵图结构的对抗性攻击,并进一步将其与对比学习结合,有效地提高性能。

​ 本文的贡献如下:

  • 我们提出了一种新的神经图协同滤波方法,以缓解推荐系统中噪声交互的副作用。该方法通过结构空间和嵌入空间都提高了算法的鲁棒性。据我们所知,这是第一个考虑从结构和嵌入空间中改进神经图协同过滤鲁棒性的工作。

  • 在对比学习框架下,提出了一种神经图协同滤波的分布嵌入扰动方法。它将其他用户的嵌入视为扰动来模拟攻击行为,以进一步提高鲁棒性。

Method

​ 本文的模型结构图如下:

pknFzGV.png

​ 在本节中,我们将介绍所提出的方法--通过结构去噪和嵌入扰动(RocSE)的鲁棒性神经图协同过滤方法。RocSE 的概述如图 1 所示。RocSE 采用多任务框架,通过对结构空间和嵌入空间的扰动实现鲁棒性。具体来说,在每次迭代中,RocSE 首先根据上一次迭代中更新的用户/项目嵌入计算清洁度得分。清洁度得分反映了交互图中边缘的可靠性,在此基础上应用结构去噪。然后,我们在去噪图上训练一个基于 GNN 的骨干推荐器,作为第一个训练任务。接下来,去噪图以及来自骨干 GNN 的节点/项目嵌入被送入嵌入空间扰动模块。在这个模块中,其基本思想是直接添加其他用户/项的嵌入,作为对当前用户/项的扰动。这是为了模拟敌对的攻击者在图中插入或删除边来进行攻击的情况。这种拓扑攻击从本质上改变了在嵌入空间中应用的聚合过程。对于第二个训练任务,我们通过添加不同的嵌入扰动来构造多个视图,然后应用对比学习来约束它们的一致性。对上述两个训练任务进行联合优化,并将反向传播后更新的用户/项目嵌入输入到下一次迭代。重复上述过程,直到收敛。

​ 在下面,我们将详细解释这两个模块。

结构去噪模块

​ 该模块主要旨在识别现有交互图中的一些可疑边缘,减少它们对消息传播的负面影响。接下来,我们将展示如何对用户和项目之间的交互图进行去噪,它主要包括以下两个步骤: (1)清洁度评分计算,(2)交互去噪。

清洁度评分计算

​ 为了在用户-项目图中发现可疑的交互作用,我们求助于同质性理论(即,相似的个体倾向于联系在一起)。事实上,这也是协作过滤的关键构建部分,因为相似的用户倾向于有相似的偏好。剩下的问题是如何计算给定用户-项目交互的用户和项目之间的相似性。这种计算有两个问题。首先,用户嵌入和项目嵌入可能不能直接比较,因此直接计算它们的相似性可能会导致不准确的结果。其次,单个用户/项目的嵌入可能不可靠,特别是当存在有噪声的交互时。

​ 为了解决上述两个问题,我们首先提出利用邻域信息来计算用户/项目嵌入。也就是说,我们使用来自局部邻域的聚合嵌入,而不是用户/项嵌入作为相似度计算的输入。直觉上,邻居社区作为一个整体可以更好地反映噪声影响下用户和项目的真实特征。此外,在聚合邻域时,我们建议只聚合用户嵌入,以同时表示用户和项目。换句话说,我们将相似度计算转移到用户嵌入之间的比较中,这在本质上具有可比性。

​ 具体来说,对于项目i,我们使用它与i交互过的邻居用户来表示它。也就是说:

​ \(\mathbf{e}_i^{(1)}=\sum_{u\in\mathcal{N}_i}\frac1{\sqrt{|\mathcal{N}_i||\mathcal{N}_u|}}\mathbf{e}_u^{(0)},\)

​ 其中,\(e_u^{(0)}\)表示用户的可学习嵌入。对于用户u,我们使用与 u 至少互动过一个共同项目的邻近用户来表示,即计算\(e_u^{(2)}\)为:

​ \(\mathbf{e}_u^{(2)}=\sum_{i\in\mathcal{N}_u}\frac1{\sqrt{|\mathcal{N}_u||\mathcal{N}_i|}}\mathbf{e}_i^{(1)},\)

​ 其中\(e_i^{(1)}\)在上一个方程中计算。注意,上面的方程本质上增加了一个权重,使每个邻居用户的重要性与其公共项目的数量成比例(这个感觉就是普通图神经网络的聚合啊,怎么说的这么高级)。例如,如果二阶用户和当前用户节点有两个公共项,则将计算二阶用户的嵌入两次。然后,我们采用用户u与项目i之间的余弦相似度来估计清洁度得分如下:

​ \(\cos\left(\mathbf{e}_u^{(2)},\mathbf{e}_i^{(1)}\right)=\frac{\mathbf{e}_u^{(2)\top}\mathbf{e}_i^{(1)}}{\left\|\mathbf{e}_u^{(2)}\right\|_2\cdot\left\|\mathbf{e}_i^{(1)}\right\|_2}.\)

​ 由于上式中的余弦值可以是负的,所以我们将该值归一化为[0,1]如下:

​ \(c_{u,i}=\left(\cos\left(\mathbf{e}_u^{(2)},\mathbf{e}_i^{(1)}\right)+1\right)/2.\)

​ 我们采用\(c_{u,i}\)作为所观察到的交互作用的清洁度评分。\(c_{u,i}\)越大,表示用户u和项目i之间的交互更可靠。

去噪图结构

​ 在获得每个观察到的用户-项目交互的估计清洁度得分后,我们将其视为去噪用户-项目图G的重要性权重。我们将得到的去噪图表示为\(\tilde{G}\)。具体来说,我们利用清洁度评分\(c_{u,i}\)如下,这导致了一个去噪的交互权重\(\tilde{r_{u,i}}\):(这跟同一年的一篇其他的去噪的文章好像啊)

\(\tilde{r}_{u,i}=\mathbb{I}\left(c_{u,i}>\theta\right)\cdot c_{u,i},\)

​ 其中,I是一个指示器函数,如果条件为真,则返回1,θ是一个控制阈值的预定义超参数。如果用户u与项目i之间的交互的清洁度得分\(c_{u,i}\)低于阈值θ,则我们通过直接删除交互边来进行硬去噪策略。但是,当清洁度评分值大于θ时,我们将交互矩阵中对应的值ru,i重加权为cu,i,从而采用软策略减少了噪声传播到高阶邻居的影响。(咋硬软去噪都出来了,这不就是把RGCF缝进去了)

去噪图上的训练

​ 没啥好说的,使用LightGCN作为主干GNN,使用BPR Loss作为损失函数

嵌入空间扰动模块

​ 以往的研究主要是从图结构空间中的样本选择或重新加权的角度来减轻推荐系统中噪声样本的负面影响。在此,我们提出通过在潜在嵌入空间中加入噪声扰动,然后应用对比学习学习更鲁棒嵌入,来进一步增强模型的鲁棒性。这个过程如图2所示。

pknZBcV.png

嵌入扰动

​ GNN 中现有的对抗性攻击主要通过添加边来操纵图结构,受此启发,我们提议模仿这类攻击,通过直接在潜在嵌入空间中添加扰动,将其纳入训练过程。为此,如图 2 所示,我们建议首先对嵌入矩阵 E(0) 进行随机洗牌操作,然后将洗牌后的嵌入添加到原始嵌入中。具体来说,假设 \(\mathbf{E}^{(0)}=(\mathbf{E}_u^{(0)},\mathbf{E}_i^{(0)})\)是所有用户和项目的初始嵌入矩阵,则有

\[\tilde{\mathbf{E}}_{u}^{(0)}=\mathbf{E}_{u}^{(0)}+\epsilon\cdot f_{\mathrm{norm~}}\left(f_{\mathrm{shuffle~}}\left(\mathbf{E}_{u}^{(0)}\right)\right),\\\tilde{\mathbf{E}}_{i}^{(0)}=\mathbf{E}_{i}^{(0)}+\epsilon\cdot f_{\mathrm{norm~}}\left(f_{\mathrm{shuffle~}}\left(\mathbf{E}_{i}^{(0)}\right)\right), \]

​ 其中,fshuffle是为所有用户和项目随机打乱嵌入的洗牌操作。换句话说,我们引入了来自其他用户或项目的不相关的嵌入作为噪声扰动。这种策略可能对攻击更有效,因为添加的扰动来自来自现有用户/项目的真实分布。函数fnorm表示对嵌入向量的归一化操作,ϵ是一个控制扰动大小的超参数。

​ 此外,我们在所有层中进行上述扰动,得到最终的扰动嵌入,可以写成如下:

\[\begin{aligned} &\tilde{\mathbf{E}}(l)&& =\quad\tilde{\mathbf{A}}\tilde{\mathbf{E}}^{(l-1)}+\Delta^{(l)}, \\ &\Delta^{(l)}&& =\quad\epsilon\cdot f_\text{norm }\left(f_\text{shuffle }\left(\tilde{\mathbf{A}}\tilde{\mathbf{E}}^{(l-1)}\right)\right), \\ &&\mathbf{E}^{\prime}& =\quad\frac1L\left(\tilde{\mathbf{E}}^{(1)}+\tilde{\mathbf{E}}^{(2)}+\cdots+\tilde{\mathbf{E}}^{(L)}\right), \end{aligned} \]

互信息最大化

​ 这里没有什么好说的,用了InfoNCE损失函数

损失函数

\(\mathcal{L}=\mathcal{L}_{\mathrm{BPR}}+\lambda_1\mathcal{L}_{\mathrm{cl}}+\lambda_2\|\Theta\|_F^2,\)

整体的算法流程如下:

pknedVe.png

标签:RocSE,嵌入,mathbf,论文,用户,笔记,鲁棒性,扰动,交互
From: https://www.cnblogs.com/anewpro-techshare/p/18194228

相关文章

  • 树做题笔记
    \(\color{#3498D8}(1)\)P4281[AHOI2008]紧急集合/聚会给定一棵\(n\)个节点的树。\(m\)次询问,每次给定\(a,b,c\),求一个节点\(u\)并使得三个点到\(u\)的距离和最小。求\(u\)和最小距离和。\(n,m\le5\times10^5\)。三个点\(a,b,c\)在树上的位置关系......
  • 初赛笔记
    第一章计算机基础知识1.计算机的概述计算机发展史第一代真空电子管;第二代晶体管;第三代集成电路;第四代大规模、超大规模集成电路 ;第五代智能计算机系统 第一台计算机1946年美国ENIAC 重要人物冯·诺伊曼 ,”计算机之父“,提出计算机体系结构图灵,"人......
  • 树链剖分 学习笔记
    裂缝中的阳光-林俊杰头图有多少创伤卡在咽喉有多少眼泪滴湿枕头有多少你觉得不能够被懂的痛只能沉默有多少夜晚没有尽头有多少的寂寞无人诉说有多少次的梦还没做已成空等到黑夜翻面之后会是新的白昼等到海啸退去之后只是潮起潮落别到最后你才发觉心里头的......
  • 【转载】PPT上作图转化为矢量图 —— 论文写作必备技能
    原文地址:https://www.cnblogs.com/scandit/p/15112138.htmlPPT作出的图本身就为矢量图(可以插入到Word中),另存为PDF后,再通过PDF专业工具适当剪裁即可满足需求,插入到LaTex论文中将做好图的PPT文件另存为PDF文档用AcrobatPro打开转换好的PDF文档,找到:编辑PDF→剪裁页面→框......
  • RecDCL论文阅读笔记
    RecDCL:DualContrastiveLearningforRecommendation论文阅读笔记Abstract提出问题:​ 现有的基于cl的方法大多集中于批处理的对比,没有利用特征维度中潜在的规律性。这导致了在用户和项目的表示学习过程中的冗余解决方案。解决方法:​ 在这项工作中,我们研究了如何同时使用批......
  • 软件测评师笔记10--安全测试相关
    常见安全攻击手段1、冒充:一个实体假装成一个不同的实体,常和消息篡改和重演一起使用2、重演:当消息为了产生非授权效果而被重复时,就出现重演了3、消息篡改:数据所传送的内容被改变而未被发觉,并导致非授权后果4、服务拒绝:通过向认证/授权服务发送大量虚假请求,占用系统带宽造成关键......
  • 【论文笔记-44~】多语言实体链接
    ~20111.Cross-LanguageEntityLinking文章核心观点:本文介绍了一种新的跨语言实体链接任务,旨在将不同语言的文档中的命名实体与英文知识库中的实体描述进行匹配。作者提出了一种利用统计音译和跨语言信息检索的方法来解决这一任务,并在21种语言上进行了实验验证。实验结果显示,......
  • r3 mini 折腾笔记
     刷机相关  先切换到nand开机下恢复原厂固件echo0>/sys/block/mmcblk0boot0/force_roddif=bl2_emmc-r3mini.imgof=/dev/mmcblk0boot0ddif=mtk-bpi-r3mini-EMMC-20230719.imgof=/dev/mmcblk0成功后刷入im固件ddif=gpt.binof=/dev/mmcblk0bs=512seek=0count=34......
  • 《Linux内核完全注释》学习笔记:2.1 Linux内核模式和体系结构
    2.1Linux内核模式和体系结构操作系统主要由4部分组成:硬件、操作系统内核、操作系统服务用户应用程序图2-1操作系统组成部分用户应用程序:指那些字处理程序、互联网浏览器程序或用户自行编制的各种应用程序;操作系统服务程序:指向用户提供的服务,被看作是操作系统部分功能......
  • 《Linux内核完全注释》学习笔记:2.2 Linux中断机制
    在使用80x86组成的PC中,采用了两片8259A可编程中断控制芯片。每片可以管理8个中断源。通过多片的级联方式,能构成最多管理64个中断向量的系统。在PC/AT系列兼容机中,使用了两片8259A芯片,共可管理15级中断向量。其级联示意图见图2-5。其中从芯片的INT引脚连接到主芯片的IR2引......