乐趣区

关于机器学习:Paper-Digest-突破个性化推荐数据稀疏性长尾增强的图对比学习算法研究

00 导读

本文将介绍的论文 Long-tail Augmented Graph Contrastive Learning for Recommendation 已被 ECML/PKDD 2023 Research Track 接管。

  • 论文链接:https://arxiv.org/abs/2309.11177
  • 论文中提到的模型实现,曾经齐全复现到 OpenAGL 里了,详情:https://github.com/TuGraph-family/TuGraph-AntGraphLearning/blob/main/README\_CN.md

01 背景

举荐零碎是电子商户乃至在线广告等泛滥在线服务的要害组成部分。其经典办法协同过滤(collaborative filtering, CF)通过观测 user / item 间的交互行为(例如点击、支付等)来产出其嵌入表征,这在个性化举荐中施展着至关重要的作用。最近,基于图神经网络的举荐办法(例如 LightGCN 等)体现出了微小的后劲,该办法将 user – item 交互数据表示为图,并通过邻域信息流传来迭代学习更无效的节点示意。与传统的 CF 办法相比,基于 GCN 的举荐办法可能更好的捕获高阶协同信号,从而改良节点表征的学习。

只管基于 GCN 的举荐办法曾经被证实了其有效性,但它在实在场景中仍面临着许多数据稠密性的问题。因为现有大多数模型遵循监督学习的训练范式,而可观测的监督信号往往仅占总交互空间极少的一部分,这也导致该类办法可能难以学到更加充沛的表征。近期,有钻研工作(例如 SGL、SimGCL 等)试图通过比照学习来缓解交互数据的稠密性,它们通常依赖于预约义好的数据加强策略,如构造扰动(node/edge dropout)或特色扰动。然而,这些办法没有思考到 Graph 中头部节点与尾部节点间存在的显著差别,其也不足为不同数据集构建自适应数据加强的能力,因此此类办法可能产出不平均的散布示意,这也影响了比照学习办法自身的性能。举一个简略的例子,尾部节点因为其自身仅有大量的街坊使其在 GNN 中的表征成果远弱于头部节点,间接的构造扰动会删减其本就大量的街坊边缘,而间接的特色扰动又会引入很大的噪声,显然,本可利用于头部节点的办法难以间接作用于尾部节点中,这也就导致了现有图比照学习的办法在尾部节点的成果欠佳。

鉴于上述的限度与挑战,咱们提出了一种新的长尾加强的图比照学习办法(LAGCL)。简略来说,如图 1 所示,(a) 中的头部用户与 (b) 中的尾部用户有着类似的偏好,咱们的办法旨在从头部用户中提取出一种迁徙模式,并无效的将其利用于尾部用户中,如 (c) 所示。具体的,咱们设计了一个 auto drop 模块,它能够将头部节点(real-head node)通过自适应采样产出模仿实在尾部节点(real-tail node)的伪尾部节点(pseudo-tail node)。而后,咱们利用 pseudo-tail node 以后的子图构造以及其完好子图构造来学习常识迁徙模块(knowledge transfer module),该模块旨在通过为尾部节点增加预测的邻域缺失信息来将其裁减为 pseudo-head node(即长尾加强的尾部节点,augmented tail node)。咱们应用生成反抗网络来确保自适应采样产出的 pseudo-tail node 更像 real-tail node,同时也确保 pseudo-head node 无论从信息量还是信息精度上都更靠近 real-head node。最初,咱们通过对 real/pseudo head node 做特色扰动下的比照学习,进一步的晋升长尾加强节点的稳定性与整体表征的平均性。

02 模型办法

在本节中,咱们将介绍长尾加强的图比照学习办法 LAGCL(如图 2 所示)。模型整体上遵循个别的比照学习范式,咱们首先通过自适应采样模块以及常识迁徙模块来加强尾部节点的示意,随后利用特色扰动的形式产出不同的 view,最初通过比照学习来束缚使不同 view 的雷同节点表征更相近,不同节点表征更不同。在该框架下,模型的主工作仍然是举荐工作(例如 CTR 预估等),而比照学习以及常识迁徙等模块均为辅助工作。

图 2 中蕴含几种类型的节点,其具体定义如下:

  • HN(real-head node),头部节点,即原始图中节点度 >_k_ 的节点
  • TN(real-tail node),尾部节点,即原始图中节点度 <=_k_ 的节点
  • PTN(pseudo-tail node),伪标签尾部节点,即头部节点做完自适应采样(Auto Drop)后的节点
  • PHN(pseudo-head node),伪标签头部节点,即尾部节点 / 伪标签尾部节点做完常识迁徙(Knowledge Transfer)操作后的节点

2.1 长尾加强技术

在开始具体的办法形容前,首先介绍一下本文的一些前提与假如。在 Graph 中,本文通过节点度阈值 _k_来将所有节点划分为头部(degree>k)与尾部(degree<=k)。此外,咱们假如每一个节点都存在一个 ground truth 的邻域汇合,而头部节点领有齐备的邻域汇合,尾部节点其可观测的街坊仅为齐备邻域的一个子集。不齐备的邻域信息会对模型成果产生负面的影响,因而,长尾加强技术旨在为尾部节点补齐邻域缺失的信息,并依此来最大化头尾节点表征的一致性。本文办法背地的直觉是,以后头部节点曾经充沛观测到了街坊信息,那如果咱们能够通过对头部节点自适应采样来产出更像实在尾部节点(real-tail node)的 pseudo-tail node,那么咱们便能够利用 pseudo-tail node 来学习长尾加强的策略。该策略可分为以下三个模块:自适应采样模块、常识迁徙模块以及生成反抗学习模块。

自适应采样模块(Auto Drop)

一种直观的办法是通过对头部节点的街坊做随机采样来产出 pseudo-tail node,但这种办法不足无效的监督信号来领导采样的过程,因而会导致 pseudo-tail node 与 real-tail node 之间存在肯定的散布偏差。为了改良采样的过程,咱们提出了一种可训练的自适应采样模块,它次要由边权重计算以及依据权重做过滤两个步骤,其中节点间的重要性权重计算公式如下:

n 个节点 d 维的表征,A 为 Graph 的邻接矩阵,⊙ 为点乘的操作。随后,为了模仿实在的尾部节点,咱们从 [1,k] 的范畴内随机为每个头部节点调配一个指标的街坊数量 \(k_{i}\),咱们将要对这些头部节点采样到 \(k_{i}\) 的节点度。

为节点的度矩阵(对角矩阵),其中 \(D_{ii}\) 为 A 中节点 i 的度_。最初,咱们为每个节点保留与其在重要性矩阵 S 中最大的 \(k_{i}\) 个街坊,并产出新的邻接矩阵如下:

δ 是用于管制 \(\hat{A}\)平滑性的超参数,咱们定义 \(\hat{N_{i}}\) 为 \(\hat{A}\)中节点 i 的街坊汇合。

常识迁徙模块(Knowledge Transfer)

在有了自适应采样模块后,本节所设计的常识迁徙模块是利用 pseudo-tail node 已知的邻域缺失信息来训练如何为 real-tail node 预测其实在的邻域缺失信息。具体的,咱们利用多层感知机

基于核心节点表征以及可观测邻域的表征来预测缺失的邻域信息。

\(h_{i}^{(l)}\)为节点 i 在第 l 层 GNN 后的表征,\(h_{N_{i}}^{(l)}\)为可观测街坊的 mean pooling 表征,预测所得的 \(h_{N_{i}}^{(l)}\)将作为尾部节点的虚构街坊参加其音讯流传。因而,在自适应采样产出的稠密图 \(\hat{A}\)中,头部节点 i(pseudo-head node)的信息聚合函数如下:

其中,头部节点 i 在原始图 A 中的信息聚合函数如下:

为了训练常识迁徙函数,咱们定义了如下的损失:

生成反抗学习模块(Generative Adversarial Learning)

为了更无效的学习长尾加强的策略,自适应采样模块所产出的 pseudo-tail node 应尽可能的更靠近 real-tail node,因而,咱们在稠密图 \(\hat{A}\)中定义了如下的运算,其中。

此外,常识迁徙模块所产出的 pseudo-head node 也应尽可能的靠近 real-head node。为了实现这两点,咱们引入了生成反抗网络。鉴别器的指标是依据节点表征来辨别 pseudo head/tail node 与 real head/tail node,而生成器旨在使提供的信息在鉴别器中都会被归类为 real。具体的,咱们为 pseudo-tail node 与 real-tail node 间定义了如下的反抗束缚:

为 pseudo-head node 与 real-head node 间定义了如下的反抗束缚:

为鉴别器网络,其输出为节点的表征,输入为该节点属于 real 类别的概率,定义如下:

2.2 比照学习

基于前文的常识迁徙模块,咱们能够通过下式失去尾部节点加强后的节点表征。

随后,咱们参考了 SimGCL 中的特色扰动办法,其通过在空间中雷同象限下对向量做轻微旋转来生成新的视图,该操作可形式化为:

其中,扰动向量 \(\Delta_{i}^{‘}\) 与 \(\Delta_{i}^{”}\)遵从

超参数 ϵ 可管制扰动的幅度。为了简略起见,咱们用 \(h_{i}\)代表节点 i 在第 L 层 GNN 聚合后的最终表征,此时 \(h_{i}^{‘}\)与 \(h_{i}^{”}\)即为比照学习所需的两个 view。最初,咱们利用 InfoNCE 来最大化雷同节点的表征一致性,最小化不同节点间的表征相似性,InfoNCE 的定义如下(以 user 侧为例):

其中 _s_(⋅) 为间隔度量函数,例如余弦类似度;γ 为预约义的超参数(temperature)。同理,咱们能够计算 item 侧的比照损失

,则比照学习模块最终的损失函数为

2.3 多任务训练

在 LAGCL 中,咱们采纳多任务的训练策略进行联结优化,包含主举荐工作以及一些辅助工作(常识迁徙局部、反抗网络局部以及比照学习局部等)。咱们的指标是最小化下式:

其中,_θ_ 为模型参数,\(\lambda_{1},\lambda_{2},\lambda_{3},\lambda_{4}\)为用于管制各辅助工作强度的超参数,

为次要的举荐工作损失函数(本文应用的是 Bayesian Personalized Ranking (BPR) loss)。

03 试验

3.1 有效性试验

咱们在 Yelp2018、Amazon-Book 以及 Movielens-25M 这三个公开数据集中验证了咱们的模型,这三个数据集有着不同的数据量级与稠密度。

从试验后果上看:

  1. 所有基于 Graph 的比照学习办法(SGL[2]、NCL[5]、RGCF[6]、SimGCL[3]、LAGCL)均优于 LightGCN,这表明比照学习办法在协同过滤工作中是无效的。
  2. SimGCL 相比 SGL、NCL、RGCF 有着更显著的成果,这表明特色扰动的数据加强策略比构造扰动更适宜协同过滤工作。
  3. 本文办法通过加强尾部节点的邻域信息,防止了特色扰动间接作用于尾部节点所引入大量噪声的问题。最终,LAGCL 获得了最佳的成果。

3.2 融化试验

咱们验证了试验每个子模块的有效性,其中『w/o AD』代表应用随机采样代替自适应采样,『w/o KT』代表去除为尾部节点补救邻域缺失信息的常识迁徙模块,『w/o GAN』代表去除训练中所有的生成反抗网络。从融化试验中,咱们有如下结论:

  1. 本文所提出的每个子模块都是无效的,且补救尾部节点邻域缺失信息的常识迁徙模块的作用最大。
  2. 自适应采样可能更好的捕捉到节点与其街坊之间通过随机采样所学习不到的迁徙模式。
  3. 生成反抗网络可能确保自适应采样产出的 pseudo-tail node 更像 real-tail node,且能保障常识迁徙模块产出的 pseudo-head node 从信息丰盛度与准确性上更靠近 real-head node。它保障了 LAGCL 整个训练框架的有效性。

3.3 模型详细分析

散布平均性剖析

为了更好的了解 LAGCL,咱们对模型训练产出的 user 与 item 的表征进行可视化。先前的钻研表明[3,4],比照学习与表征平均性之间存在着很强的关联,因而,咱们揣测更平均的表征散布可能赋予模型更好的能力来捕捉不同的 user 偏好以及 item 个性。从图中能够看出,无比照学习的 LightGCN 其散布在圆弧上有多个聚簇,而其余图比照学习的办法其表征散布则更平均。在基线中,SimGCL 的体现最佳,而本文办法相比于 SimGCL,弧上的暗区更少,因而具备更平均的散布。

长尾性能剖析

为了探索 LAGCL 是否能够真的为尾部节点带来额定的性能增益,咱们依据 user-item 二分图中的节点度数,将用户节点等频划分为了 10 组。Group Id 越小,节点度越低,用户的活跃性也越低。从后果上看,LAGCL 在低活用户中有着更好的性能增益,而高活用户与其余基线差异不大。tips: 以后观测的指标为 Recall,因为低活用户自身行为较少,因而其在计算 Recall 时的分母比高活用户要小很多,所以试验出现尾部成果 > 头部成果的趋势。

阈值 k 敏感性剖析

咱们对划分头尾节点的阈值 k 做了参数敏感性剖析,在 Yelp2018 数据集中,当 k_=20 时模型达到最佳性能。更大或更小的 _k 都会导致成果降落,因而有以下论断:

  1. LAGCL 可能通过节点度 >_k_ 的头部点来学习常识迁徙策略,最终为尾部节点带来增益
  2. 较大的 k 会导致训练常识迁徙模块的头部数据有余,而较小的 k 会导致头部用户外部的数据品质参差不齐,因而抉择适合的 k 可能最大水平地进步整体收益

04 总结

本文提出了一种新的长尾加强的图比照学习办法(LAGCL),该办法促使模型同时兼顾头部节点与尾部节点之间的常识,并通过长尾加强技术来使模型产出更平均更精确的节点表征,从而改良基于 GNN 的举荐工作。具体的,咱们通过应用预测的邻域缺失信息来加强尾部节点的表征。为了使整个过程可学习,咱们设计了一种从头部节点生成 pseudo tail node 的自适应采样模块,以及从 pseudo tail node 节点重构为 pseudo head node 的常识迁徙模块。最初,咱们基于生成反抗网络以及比照学习保障了整个训练框架的可靠性。试验结果表明咱们的办法是无效的。

05 作者简介

赵前(im0qianqian、千千),一个电脑迷、技术控,服役 ACMer(CF 2000+)。次要钻研图学习、举荐算法、大语言模型与常识图谱的利用,曾在 SemEval 2020, WSDM Cup 2022 等国内赛事中获得过冠军。

退出移动版