论文解读2:Causal Incremental Graph Convolution for Recommender System Retraining(因果增量图卷积在推荐系统再训练的应用)

作者:Sihao Ding, Fuli Feng, Xiangnan He, Yong Liao, Jun Shi, and Yongdong Zhang

1、综述

该论文代码:GitHub - Dingseewhole/CI_LightGCN_master

推荐系统需要定期重新训练以跟上新数据的步伐。近年来,基于图卷积的推荐模型(如PinSAGE 和LightGCN),通过在交互图上执行节点表示学习,表现出色的性能。目前有三种刷新模型的策略:

①完全重新训练:简单地合并旧数据和新交互以执行完整的模型训练。由于数据越来越庞大,其计算资源和内存使用较为昂贵。

②使用旧图进行微调:交互数据参与GCN的两个部分:形成执行图卷积的图结构和构成损失函数的训练示例。仅使用新交互构建训练示例,同时仍然使用完整的图结构。由于其也使用旧图,其计算资源也较为昂贵。

③不使用旧图进行微调:仅使用新交互进行模型训练和图卷积。但是,新交互仅包含用户的短期偏好,这可能与长期表现大相径庭,并且更加稀疏。它切断了与没有新交互的不活跃节点的联系,容易受到遗忘和过拟合问题的影响。

考虑三个因素:1、分离旧图;2、保留旧的偏好信号;3、融合旧和新的偏好信号。该文章提出使用因果增量图卷积,旨在只使用新数据来更新模型,同时不牺牲与完整模型重新训练相比的推荐准确性。

2、方法论

将时间交互数据表示为 I=\left \{ I_{0},I_{1},...,I^{t-1},I_{t} \right \},相应的用户-项目图表示为 G=\left \{G_{0},G_{1},...,G_{t-1},G_{t} \right \}I_{t}是阶段 t 收集的新交互,G_{t}是基于新交互构建的用户-项目二部图,也称之为增量图。为了实现高效的GCN模型重新训练,将任务表达式视为:\theta _{t-1}\xrightarrow[retrain]{(I_{t},G_{t})}\theta _{t}\xrightarrow[serve]{}I_{t+1}

\theta_{t}表示在阶段t学习到的模型参数。只使用最新的交互I_{t}和增量图 G_{t} 进行重新训练。带有 \theta_{t}​的模型用于为下一阶段提供服务,因此我们使用t+1的数据来评估重新训练的有效性。

a.基于图卷积网络(GCN)的推荐模型

用户和物品可以构成一个图,其中用户和物品是图中的节点,用户对物品的交互可以表示为边。GCN通过图卷积操作对节点的邻居信息进行聚合(邻域聚合),以此来更新节点的表示。这个过程涉及到邻节点特征的加权求和,其中权重与节点的度数(即该节点的边的数量)有关。

图卷积操作表示为:

e^{^{(l)}}_{i,t}为第 l 层节点i 在时间 t的表示,N^{^{t}}_{i,0}为节点i 在图 G^{^{t}}_{0}中的邻居节点集合,d^{t}_{j,0}是节点j的累积度数,\sigma 是非线性激活函数。

模型参数通过最小化损失函数来更新。公式为:

通常包括正样本和负样本(I^{-})之间的交互标签(y_{u,i})和模型预测(\hat{y}_{u,i})之间的差异。L\left ( \cdot \right )为定义的损失函数。\lambdaL_{2}范数的参数。

b.增量图卷积(IGC)

仅使用新阶段的交互数据和增量图,而不使用旧的图结构,来估计目标节点的完整图卷积。

IGC通过下面公式进行估计图卷积:

e^{(l+1)}_{i,t} = \frac{1}{\sqrt{d'_{i,t}}}\cdot \varphi\left(\sqrt{d_{i,0\sim t-1}}\cdot e^{(l+1)}_{i,t-1}, \sum_{j \in N_{i,t}} \frac{1}{\sqrt{d'_{j,t}}} \cdot e^{(l)}_{j,t} \right)

d'_{i,t}​ 是由度同步器估计的规范化权重,e^{(l+1)}_{i,t-1} 是节点i 在前一阶段的表示。

度同步器:目的是保留完整图卷积,通过函数f\left(d_{j,0\sim t-1},d_{j,t} \right )进行调整旧表示和新邻居的规范化权重。将使用f\left(d_{j,0\sim t-1},d_{j,t} \right )=\beta \cdot d_{j,0\sim t-1}+d_{j,t}进行加权组合,\beta是一个可训练的参数,用以控制旧度数的影响。

表示聚合器:一个参数化函数 \phi \left ( \cdot \right ),用于适应训练目标,将旧表示和新邻居的表示结合起来。

文章简化了CNN操作,保留最小操作和参数,将以下输入至卷积层:

其中p\left ( \cdot \right )是一个池化操作,\omega ^{(l)}_{f}表示CNN层的第f个过滤器,一层中可以有多个过滤器。聚合器可以通过这种方式调整长期和短期偏好的侧重。我们可以堆叠多个CNN层来增强聚合器的表达性,但使用一层就可在大多数情况下获得良好的性能。

c.碰撞蒸馏效应(CED)

在增量图中,只有与新交互数据相关的节点(活动节点)会被更新。那些在新数据中没有交互的节点(非活动节点)的表示将会过时,因为它们没有参与到训练过程中。CED便是用来解决这个问题,CED的目标是通过因果推断来刷新非活动节点的表示,确保它们能够反映新数据的影响。

所有节点的最终表示设置为它们在堆叠的L层GCN的平均值。

I_{t}中的节点表示为活动节点,其他为非活动节点;R_{Ac,t}为t阶段活动节点的表示,R_{In,t}为t阶段非活动节点的表示。

非活动节点的更新包括直接更新和间接更新。

①直接更新:将活动节点的新偏好信号直接注入到非活动节点的表示中来更新它们。

更新公式为:

其中,m为阶段t中的非活动节点;\tilde{r}_{m,t}是连接K个活动节点的最终表示;KNN\left ( \cdot \right )是邻近算法,依据旧表示r_{m,t-1}R_{Ac,t-1}之间的距离度量\delta计算节点m到K个最近活动节点大的距离;\gamma _{1}\in\left [ 0,1 \right ]是一个超参数,用来控制活动节点的影响。

②间接更新:通过操作活动节点,将非活动节点的参数附加到训练目标函数中。

节点更新公式为:

虽然直接更新公式更新了非活动节点的表示,但是并没有更新它们的参数。

在CED的输出后,将使用\tilde{r}_{u,t}\tilde{r}_{i,t}的内积生成用户u-项目i的预测。

将CED和IGC应用于LightGCN,即为CI-LightGCN,其重新训练算法为:


输入:旧参数\theta _{t-1}​,累积度数 \left \{ d_{i,0\sim t-1} \right \},新交互 I_{t}

输出:新参数 \theta _{t}​,推荐结果 Y_{t}

  1.  初始化:\theta _{t-1}\rightarrow \theta _{t}
  2. I_{t} 生成增量图 G_{t}
  3. 计算活动节点的 KNN\left ( R_{In,t-1,n,K,\sigma } \right )
  4. 当停止条件未达到时:
  5.         从 I_{t}中获取小批量数据;
  6.         通过等式(7)前馈活动节点嵌入,并根据等式(8)获取活动节点表示;
  7.         为间接更新,使用等式(10)生成新的活动节点表示与非活动节点;
  8.         通过最小化等式(3)和等式(11)更新 \theta _{t}​;
  9. 结束
  10. 根据优化的 \theta _{t}通过等式(7)和等式(8)计算所有节点的表示;
  11. 计算非活动节点的 KNN\left ( R_{Ac,t-1,m,K,\sigma } \right )
  12. 通过等式(9)生成最终的非活动节点表示。

其中,6和10为活动节点增量训练(IGC)过程,3、7、11、12为节点更新(CED)过程,7和12分别对应间接更新和直接更新。

d.CED 的因果视角

碰撞效应是因果推断中的一个概念,描述了当两个变量通过一个共同的因果变量(即碰撞器)连接时,它们之间的依赖关系。即,新数据和非活动节点可以通过某种机制(例,距离度量)建立联系。

下图为说明CED的因果理论所建立的因果图,图中的节点代表变量,边代表变量之间的因果关系。黑色箭头对应于 I-LightGCN 中的操作;红色虚线箭头对应于节点距离的计算;双箭头表示在碰撞器上进行条件化的因果关系。R_{In,t}R_{Ac,t}分别表示非活动节点和活动节点的节点表示。R_{In,t-1}R_{Ac,t-1}分别表示阶段 t-1 中相应的节点表示。I_{t}是在阶段 t 收集的新交互数据。S_{t}表示R_{In,t}R_{Ac,t}节点之间的成对距离。

(A)是I-LightGCN的因果图,用来在阶段t中生成节点表示。(B)添加了一个辅助变量,即活动节点和非活动节点之间的距离S_{t}。(C)是基于S_{t}=s_{t-1}条件的CI-LightGCN的因果图。s_{t-1}表示从R_{Ac,t-1}R_{In,t-1}的相似性。

在给定碰撞器(例,节点间距离)的条件下,活动节点和非活动节点之间的因果路径被建立,使得它们条件独立。这种条件独立性允许我们通过考虑新数据对活动节点的影响来推断对非活动节点的影响。

3、实验

CI-LightGCN与其他重训练方法的性能比较,CED和IGC算子对推荐性能的影响,以及影响CI-LightGCN推荐性能的关键因素(例,超参数)。

a.实验设置

数据集:Yelp、Gowalla 和 Adressa。

评估指标:使用Top-K推荐的评估指标,包括平均召回率(R@5和R@20)和归一化折损累计增益(N@5和N@20)

对比五种不同的重训练方法的LightGCN模型:

①全部重新训练的 LightGCN:使用所有交互和完整图重新训练。

②微调 LightGCN:使用新交互和增量图微调。

③SML+LightGCN-O:这种方法使用序列元学习(SML)重新训练,首先在增量图上训练一个 LightGCN,然后使用 Transfer 组件结合旧表示和新表示。

④SML+LightGCN-E:也使用使用序列元学习(SML)重新训练,结合新模型和旧模型的参数。

⑤LightGCN+EWC:这种方法使用弹性权重整合 (EWC) 在增量图和新交互上重新训练。

其他四种推荐系统(GRU4Rec、Caser、SPMF、SML-MF)方法作为基线。

b.CI-LightGCN与现有重训练方法的性能比较

在Yelp和Gowalla上的推荐表现。每一列中的最佳性能和最佳基线分别用粗体字体和下划线突出显示。CI-LightGCN在所有情况下都优于全量重训练和微调LightGCN。

上图左半部分显示了 以 R@10 为指标的Yelp数据集上每个测试阶段的详细推荐性能。可以看出 CI-LightGCN 在所有阶段中都稳定地优于基线。

上右半部分图显示了它们在配备一个 RTX-3090 GPU 的同一服务器上的训练时间。证明 IGC 和 CED 使 GCN 模型的重新训练更快速。

c.CED和IGC的作用研究

①创建了I-LightGCN(只应用了IGC,去除了CED和CI-LightGCN(T)(只使用CED进行训练,去除了IGC的直接更新步骤)。

(1)为在活动用户上表现的性能;(2)为在非活动用户上表现的性能。

(1)
(2)

CI-LightGCN通常优于其变体,表明IGC和CED的结合对于提高性能是有益的。

②我们通过比较I-LightGCN w/o RA&DS(没有度同步器)、I-LightGCN w/o DS(没有表示聚合器)、I-LightGCN - MLP RA(能够在表示聚合器中跨共享参数)和I-LightGCN -Conv RA(具有度同步器和表示聚合器的I-LightGCN) ,研究在IGC内的组件对其效果的影响。

I-LightGCN w/o DS 和 I-LightGCN w/o RA & DS 的性能在大多数情况下显示出明显的下降趋势,这证明了 IGC 中两个模块的有效性和必要性;I-LightGCN - MLP RA 在两个数据集上的性能远低于使用 CNN 实现的版本,这表明了降低表示聚合器复杂度的合理性。

d.对CED和IGC的更深入分析

主要关注影响推荐性能的关键因素(例,超参数的选择、模型对时间敏感性数据的处理)。

①CED的超参数研究,探究邻居节点数(K)、控制活跃节点影响的参数(γ1和γ2)对性能的影响。

从图7可以看出CED 对 K 不敏感。

从图8可以看出当 \gamma _{1}=0.1时,CI-LightGCN 的性能最差,这揭示了碰撞效应蒸馏对非活动节点的益处。由于较小的 \gamma _{2} 会导致在训练期间对活动节点的更新较少,所以当设置较小的 \gamma _{2} 值时,性能大幅下降。

②IGC的超参数研究,探究CNN 层数和 CNN 过滤器数量对性能的影响。

从图中可以看出1层的 CNN 在大多数情况下的性能优于 2 层的 CNN;增加更多的过滤器会损害 1 层 CNN 的性能。表明,将聚合器设置为只有一个过滤器是足够的,即,加权组合足以组合旧表示和新表示。

③时间敏感性研究:I-LightGCN 中由于 IGC 通过表示聚合器和度同步器的灵活性,实现了与微调的 LightGCN 相当的性能,这使得模型也可以通过降低旧表示和度数的权重来接近微调的 LightGCN。证明了 IGC 对不同数据集的鲁棒性。

4、总结

为了实现在推荐系统中GCN模型高效的重新训练,其关键在于从邻域聚合中分离旧图,同时保留长期偏好信号并刷新非活动节点。该文章使用因果增量图卷积方法,即,在LightGCN模型中增加图增量卷积(IGC)和碰撞效应蒸馏(CED)。证明了IGC和CED的有效性和合理性。未来可以在IGC中应用不同的模型参数更新技术,以及在更多图学习应用中测试IGC和CED。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值