• 论文解读(SimGCL)《Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation》


    Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ]

    论文信息

    论文标题:Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation
    论文作者:Junliang Yu, H. Yin, Xin Xia, Tong Chen, Li-zhen Cui, Quoc Viet Hung Nguyen
    论文来源:SIGIR 2022
    论文地址:download 
    论文代码:download 

    1 Introduction

      本文是针对图对比学习在推荐系统中的应用而提出的相关方法。通常做对比学习的时候,需要对数据进行增广,得到相同数据的不同视图(view),然后进行对比学习,对于图结构也是一样,需要对用户-商品二部图进行结构扰动从而获得不同视图,然后进行对比学习最大化不同图扩充之间的节点表征一致性。

      贡献:

      • 通过实验阐明了为什么 CL 可以提高推荐性能,并说明了 InfoNCE 损失,而不是图的增强,是决定性的因素;
      • 提出一种简单而有效的无图增强 CL 推荐方法,可以平滑地调节均匀性;
      • 对三个基准数据集进行了全面的实验研究,结果表明,该方法在推荐精度和模型训练效率方面比基于图增强的方法具有明显的优势;

    2 相关工作

    Graph CL for Recommendation

      

      作者使用 SGL 进行了如下实验,探究图结构扰动在图对比学习中的作用。

      SGL 训练目标如下:

        Ljoint =Lrec +λLcl" role="presentation">Ljoint =Lrec +λLcl

        Lcl=iBlogexp(zizi/τ)jBexp(zizj/τ)" role="presentation">Lcl=iBlogexp(zizi/τ)jBexp(zizj/τ)

      其中, z(z)" role="presentation">z(z) 是从两个不同图增强中学习到的 L2" role="presentation">L2 归一化后的节点表示。对比学习损失函数最大 化正样本之间的一致性,即来自同一节点的增强表示 zi" role="presentation">zizi" role="presentation">zi ; 同时,最小化负样本之间的一致性,即两个不同节点的增强表示 zi" role="presentation">zizj" role="presentation">zj

      

      注意:ND 为 node dropout,ED 为 edge dropout,RW 为随机游走,WA 不进行数据增广。可以发现,不进行数据增广的情况下,只比增强低一点,说明其作用很小。

      注意:SGL-WA :

        Lcl=iBlogexp(1/τ)jBexp(zizj/τ)" role="presentation">Lcl=iBlogexp(1/τ)jBexp(zizj/τ)

    3 InfoNCE 的影响

      对比损失的优化有两个特性:

      • alignment of features from positive pairs;
      • uniformity of the normalized feature distribution on the unit hypersphere;

      Note:

        Lalign (f;α)E(x,y)ppos [f(x)f(y)2α],α>0" role="presentation">Lalign (f;α)E(x,y)ppos [f(x)f(y)2α],α>0

        Luniform (f;t)logEx,y i.i.d. pdata [Gt(u,v)]=logEx,y i.i.d. pdata [etf(x)f(y)22],t>0" role="presentation">Luniform (f;t)logEx,y i.i.d. pdata [Gt(u,v)]=logEx,y i.i.d. pdata [etf(x)f(y)22],t>0

      实验

      

       实验表明:

      • LigthGCN 学习到的特征表示聚类现象更明显;
      • SGL 结合对比学习的特征表示相对均匀;
      • CL only 只有对比学习的特征分布均匀;

      本文认为有两个原因可以解释高度聚集的特征分布:

      • 消息传递机制,随着层数的增加,节点嵌入变得局部相似;
      • 推荐数据中的流行度偏差,,由于推荐数据通常遵循长尾分布,当 𝑖" role="presentation">𝑖 是一个具有大量交互的流行项目时,用户嵌入将会不断更新到 𝑖" role="presentation">𝑖 的方向;

      结论:即分布的均匀性是对 SGL 中的推荐性能有决定性影响的潜在因素,而不是图增强。优化 CL 损失可以看作是一种隐式的去偏倚的方法,因为一个更均匀的表示分布可以保留节点的内在特征,提高泛化能力。

    4 方法

      作者直接在表示中添加随机噪声,以实现有效的增强:

        ei=ei+Δi,ei=ei+Δi" role="presentation">ei=ei+Δi,ei=ei+Δi

      约束:

      • Δ2=ϵ" role="presentation">Δ2=ϵ 控制扰动在大小为 ϵ" role="presentation">ϵ 的超球面上;
      • Δ=Δ¯sign(ei),Δ¯RdU(0,1)" role="presentation">Δ=Δ¯sign(ei),Δ¯RdU(0,1) 控制扰动后的嵌入和原嵌入在同一超空间中;

      图示如下:    

      

       以 LightGCN 作为图编码器,在每一层增加随机噪声,可以得到最终的节点表示:

        E=1L((A~E(0)+Δ(1))+(A~(A~E(0)+Δ(1))+Δ(2)))++(A~LE(0)+A~L1Δ(1)++A~Δ(L1)+Δ(L)))" role="presentation">E=1L((A~E(0)+Δ(1))+(A~(A~E(0)+Δ(1))+Δ(2)))++(A~LE(0)+A~L1Δ(1)++A~Δ(L1)+Δ(L)))

      注意,这里丢掉了最开始的输入表示 E(0)" role="presentation">E(0)  ,因为作者实验发现,不增加初始输入会带来性能提升, 但对于 LigthGCN 会有性能下降。

      

      可以发现,相较于 SGL,SimGCL 的卷积复杂度会更高一些,作者也给出了如下图的理论分析。同时,作者也提到在实际实现中,由于卷积操作在GPU运算,且 SimGCL 只需要一次图构建,所以整 体上效率更高。

    5 实验结果

      

    参考:

    [1] Understanding Contrastive Representation Learning through Alignment and Uniformity on the Hypersphere


    __EOF__

  • 本文作者: Blair
  • 本文链接: https://www.cnblogs.com/BlairGrowing/p/17623814.html
  • 关于博主: I am a good person
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    VLAN原理和配置,交换机创建vlan的多种方法、三种接口模式的作用和配置方法、Access、Trunk、Hybrid接口的特性以及配置方法和命令
    LeetCode 面试题 04.05. 合法二叉搜索树
    【Layui】表单赋值 / 取值与任意位置按钮提交表单
    面试必备:一线大厂Redis缓存设计规范与性能优化
    软件测试 接口测试 Postman测试工具 接口测试的流程 执行接口测试 接口关联 环境变量和全局变量 内置动态参数以及自动有的动态参数
    5.1 内存CRC32完整性检测
    【Linux】权限讲解
    【干货】如何打造HR无法拒绝的简历?测试开发大牛带手把手你写简历!
    关于对随机森林接口predict_proba()的个人理解
    如何在 Elasticsearch 中使用 Openai Embedding 进行语义搜索
  • 原文地址:https://www.cnblogs.com/BlairGrowing/p/17623814.html