Title:Hypergraph Contrastive Collaborative Filtering
Link:https://arxiv.org/pdf/2204.12200
Code:https://github.com/akaxlh/HCCF
From:SIGIR 2022
预备知识:超图:https://zhuanlan.zhihu.com/p/361471954
不得不说现在超图也是图学习中挺火的一块领域,最近看到了好多用超图做推荐的,所以今天跟大家分享一篇超图结合对比学习的推荐方法,时间不足的小伙伴可以进入第二节懒人阅读
1. 导读
协同过滤 (CF) 已经成为将用户和商品参数化到潜在表征空间的基本范式,它们的相关模式来自交互数据。现有的基于GNN的推荐方法中存在两个挑战尚未得到很好的探索:
本文提出了一种新的自监督推荐框架HCCF,以通过超图增强的跨视图对比学习架构共同捕获局部和全局协同关系。超图结构学习增强基于 GNN 的 CF 范式的判别能力,从而全面捕捉用户之间复杂的高阶依赖关系。并且,HCCF 模型有效地将超图结构编码与自监督学习相结合,以增强推荐系统的表征质量。
2. 懒人阅读
本文主要是在图结构上结合对比学习进行协同过滤,
3. 方法
按照常见的协同过滤范式,分别用 , 表示每个用户 和商品 的embedding。令 , 来表示所有用户和商品的embedding矩阵。基于LightGCN,局部图embedding的消息传播方式如下,z为从邻域聚合消息后的表征,σ为leakyrelu激活函数, 表示标准化的邻接矩阵,由用户-商品交互矩阵计算得到,公式如下,其中 , 表示对角度矩阵。N为当前节点的邻居节点。
通过集成多个embedding传播层,细化用户/商品表征以聚合局部邻域信息生成上下文embedding。假设 , 表示用户 和商品 在第 层GNN的embedding。从 层到 层的消息传递公式如下:
利用残差连接对源节点和目标节点进行自信息合并。这强调了中心节点的语义并缓解了GNN的过度平滑问题。
通过学习上述的H矩阵来得到用户和商品的基于超图的依赖结构,这里以用户的 为例,商品的超图矩阵计算方式也是类似的。通过可训练的 可以通过 得到节点与节点之间的关系。直接学习上述这样一个稠密矩阵H需要高昂的计算成本。作者以低秩方式将矩阵参数化到潜在空间(这里有点类似FM中将w分解为v),具体如下
为了进一步进行超边特征交互,通过堆叠大小为H的不同超边层来增强HCCF。上面的超边集将作为第一个超图层,它将与深层超图层非线性交互。深层的超边embedding用编码函数ψ()得到,如下所示, 为是用户或商品的超边embedding,E为用户或商品表征,V为可学习参数,σ为leakyrelu函数。
根据上式可以得到用户或商品经过分层超图映射后的表征为,
为了将局部依赖编码与全局协作关系建模相结合,本文迭代地执行图局部embedding传播和超图信息聚合,公式如下,其中 第 阶从邻居聚合信息后得到的用户表征, 通过超图得到的第 阶用户表征,
进一步将残差操作应用于embedding聚合。通过元素embedding求和生成多阶用户/商品embedding,并利用它们的内积来估计用户和项目之间的交互偏好得分,公式如下,
采用pairwise损失函数,如下,对于每个用户 采样S个正负样本
通过最大化显式用户-商品交互关系和隐式基于超图的依赖关系之间的一致性来设计对比学习组件。生成两个表示视图,即 i) 用户-商品交互图上的局部协作关系编码, ii) 用户/商品之间的全局超图结构学习。这种对比学习利用了用户和商品的自判别,从局部和全局表征空间提供辅助监督信号。
将同一用户/商品的不同视图视为正对 ,并将不同用户/商品的视图视为负对。模型通过对比生成的正例和负例来学习判别表征。使用 InfoNCE将用户表征的对比损失正式定义为下式,其中s()为余弦相似度,
为了进一步缓解跨视图对比学习过程中的过度拟合问题,在用户-商品交互图和学习的超图结构上设计边dropout,如下, 表示逐元素相乘, 和 是掩码矩阵用于dropout,
总体损失函数如下,
4. 结果
由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。