Causal Representation Learning for Out-of-Distribution Recommendation

Causal Representation Learning for Out-of-Distribution Recommendation

1 摘要

现代的推荐系统会从历史交互数据种学习用户表示,会受到用户特征偏移的影响,例如用户收入的提升。历史交互数据会将过时的历史交互信息注入到用户表示种,而这些信息是与用户最新的特征相冲突的。本文将分布外(out-of-distribution)推荐问题视为一种用户特征产生偏移的环境。为了达到高可信度,我们为学习设置了两个目标:1. 稳健的OOD泛化性;2. 快速的OOD适应性。

本文从因果论的角度形式化以及解决OOD问题。这里将用户特征的偏移视为一种intervention(因果论里面常提的“干预”),并将OOD推荐视为一种对交互概率的post-intervention inference(字面意思,干预后推理)。为了达到上面的学习目标,本文对从用户特征到交互的过程进行因果建模。但是未观测的用户特征也是不能忽视的,这些特征使得对交互概率的估计变得难以进行。所以文章使用了变分自动编码(也就是VAE)来进行因果建模,将一个编码器融入模型中,来从历史交互数据中推断未观测的用户特征。

本文还使用了counterfactual inference(因果推理)来减弱过时交互的效应。然后使用解码器,通过干预后推理来建模交互产生的过程。

由于对部分用户表示的重复使用,快速适应性是本模型的一个自带特点。

最后,使用了一个拓展来编码微调的从用户特征到偏好之间的因果关系。

代码

2 因果OOD推荐

2.1 因果表示学习

在这里插入图片描述

图二中已经展示了构建推荐模型的过程。详细来讲,对于每个拥有可观测特征 e 1 e_1 e1的用户 u u u,以及其历史交互 d d d,使用一个 K K K维的隐向量 e 2 e_2 e2来表示未观测的特征,这个特征是从标准高斯先验中采样的。从 e 1 e_1 e1 e 2 e_2 e2,我们计算用户特征的分布,并且采样 z 1 z_1 z1 z 2 z_2 z2来产生对 I I I个项目的交互概率。在[19, 48]的研究前提下,我们假设用户偏好以及交互分别遵循 分解高斯( factorized Gaussian) 以及 多项式分布(multinomial) 的先验概率。

e 2 , z 1 , z 2 , d e_2, z_1, z_2, d e2,z1,z2,d 遵循以下分布:
在这里插入图片描述

给定有特征 e 1 e_1 e1的用户 u u u以及交互 d d d,我们常做的是要最大化对数似然即 log ⁡ p ( d ∣ e 1 ) \log p(d|e_1) logp(de1),即:

log ⁡ p ( d ∣ e 1 ) = log ⁡ ∫ p ( d , e 2 ∣ e 1 ) d e 2 = log ⁡ ∫ p ( d ∣ e 1 , e 2 ) p ( e 2 ) d e 2 (2) \log p(d|e_1)=\log \int p(d,e_2|e_1)de_2=\log \int p(d|e_1,e_2)p(e_2)de_2\tag{2} logp(de1)=logp(d,e2e1)de2=logp(de1,e2)p(e2)de2(2)

但是由于无法观测到特征 e 2 e_2 e2,等式(2)是无法计算的。为了解决这个问题,本文使用了变分推断[19]来使用变分分布 q ( e 2 ∣ ⋅ ) q(e_2|\cdot) q(e2)来产生等式(2)的可信度下界(evidence lower bound,ELBO)。

在这里插入图片描述

2.1.1 编码网络

在这里插入图片描述

这里定义 q ( e 2 ∣ ⋅ ) = q ( e 2 ∣ d , e 1 ) q(e_2|\cdot)=q(e_2|d,e_1) q(e2)=q(e2d,e1),也就是根据交互数据 d d d和观测到的特征 e 1 e_1 e1来预测 e 2 e_2 e2。论文[19]指出,历史交互和可观测的用户特征可以有很大概率来表示未观测到的用户特征。例如用户的购买习惯以及年龄反映了用户的一致性。为了能够高效地估计 q ( e 2 ∣ d , e 1 ) q(e_2|d,e_1) q(e2d,e1),本文使用了amortized inference[13](分摊推理,根据我自己查的资料来看,目前的VAE就是这种思想,作者使用分摊推理这个词,实际就是在说自己用了VAE对 d d d e 1 e_1 e1进行了编码)。

q ( e 2 ∣ d , e 1 ) = N ( e 2 ; μ ϕ ( d , e 1 ) , diag { σ ϕ 2 ( d , e 1 ) } ) , (4) q(e_2|d,e_1)=\mathcal{N}(e_2;\mu_\phi(d,e_1), \text{diag} \{\sigma^2_{\phi}(d, e_1)\}), \tag{4} q(e2d,e1)=N(e2;μϕ(d,e1),diag{σϕ2(d,e1)}),(4)

图三(a)中的 g ϕ ( ⋅ ) g_{\phi}(\cdot) gϕ()的输出是 [ μ ϕ ( d , e 1 ) , σ ϕ ( d , e 1 ) ] ∈ R 2 K [\mu_{\phi}(d,e_1), \sigma_{\phi}(d,e_1)]\in \mathbb{R}^{2K} [μϕ(d,e1),σϕ(d,e1)]R2K

2.1.2 解码网络

在图三(b)中,根据等式(1)对 p ( d ∣ e 1 , e 2 ) p(d|e_1, e_2) p(de1,e2)进行了分解,得到:
在这里插入图片描述

其中, f θ 1 ( ⋅ ) = [ μ θ 1 ( e 1 , e 2 ) , σ θ 1 ( e 1 , e 2 ) ] f_{\theta_1}(\cdot)=[\mu_{\theta_1}(e_1,e_2), \sigma_{\theta_1}(e_1, e_2)] fθ1()=[μθ1(e1,e2),σθ1(e1,e2)] f θ 2 ( ⋅ ) = [ μ θ 1 ( e 1 , e 2 ) , σ θ 2 ( e 1 , e 2 ) ] f_{\theta_2}(\cdot)=[\mu_{\theta_1}(e_1, e_2), \sigma_{\theta_2}(e_1, e_2)] fθ2()=[μθ1(e1,e2),σθ2(e1,e2)]

为了避免(5)中的积分计算,这里采用了蒙特卡洛采样方法,通过采样 z 1 z_1 z1 z 2 z_2 z2来近似 p ( d ∣ e 1 , e 2 ) p(d|e_1, e_2) p(de1,e2)

在这里插入图片描述

这里的 L L L M M M是采样数量, z 1 a z^a_1 z1a z 2 b z_2^b z2b是从分布 p ( z 1 ∣ e 1 , e 2 ) p(z_1|e_1,e_2) p(z1e1,e2) p ( z 2 ∣ e 2 ) p(z_2|e_2) p(z2e2)中获得的。然而公式(6)在计算条件概率的时候依然十分耗时,所以本论文又使用了一种常见的近似方法[11,37]:

在这里插入图片描述

在大部分计算 p ( d ∣ z ˉ 1 , z ˉ 2 ) p(d|\bar{z}_1,\bar{z}_2) p(dzˉ1,zˉ2)的函数中,这里的近似误差(Jensen gap[2])可以很好地被限制[11]。

接下来使用MLP f θ 3 ( ⋅ ) f_{\theta_3}(\cdot) fθ3()来产生对 I I I个项目的交互概率分布 d ′ d' d。对 log ⁡ p ( d ∣ e 1 , e 2 ) \log p(d|e_1,e_2) logp(de1,e2)的重构如下:

在这里插入图片描述

这里的 d i d_i di表示用户 u u u是否与项目 i i i有交互, π i ( f θ 3 ( ⋅ ) ) \pi_i(f_{\theta_3}(\cdot)) πi(fθ3())指的是对项目 i i i的预测评分。

2.1.3 COR模型最优化

首先是在VAE的隐向量采样中使用了重参数化技巧[17, 19],并且使用了 K L a n n e a l i n g KL\quad annealing KLannealing(KL退火)[19],超参数为 β \beta β,来限制KL散度的正则化。最终对于用户 u u u的ELBO目标函数为:

在这里插入图片描述

在训练的过程中,上述的目标函数通过平均所有用户的ELBO来计算得到。在推理阶段,COR会通过 d ′ = f θ 3 ( z ˉ 1 , z ˉ 2 ) d'=f_{\theta_3}(\bar{z}_1,\bar{z}_2) d=fθ3(zˉ1,zˉ2)对项目进行排序,并且推荐排序靠前的商品。

2.2 COR中的因果推理

本文已经将VAE引入了对交互产生过程的因果建模中。现在要介绍如何推理得到干预后交互概率 p ( d ′ ∣ e 1 ′ , e 2 ′ ) p(d'|e_1',e_2') p(de1,e2)(也就是 P ( D ∣ d o ( E 1 = e 1 ′ ) , e 2 ) P(D|do(E_1=e_1'),e_2) P(Ddo(E1=e1),e2)。一种直接的方式是将变化后的特征 e 1 e_1 e1以及交互 d d d送入 g ϕ ( ⋅ ) g_{\phi}(\cdot) gϕ()编码器来抽样 e 2 e_2 e2;然后再将 e 1 ′ e_1' e1 e 2 e_2 e2送进解码器解码计算得到 d ′ d' d

反事实推理
然而,上述的直接方法会有将 d d d中过时的交互影响带入 e 2 e_2 e2中的风险。

在这里插入图片描述

作者提出剪除 e 2 e_2 e2 z 1 z_1 z1的不良影响,同时保持 e 2 e_2 e2 z 2 z_2 z2的路径,因为根据因果图, z 2 z_2 z2不受可观测特征变化即 d o ( E 1 = e 1 ′ ) do(E_1=e_1') do(E1=e1)的影响,在OOD环境中应该保持稳定。为了达到这个目标,文章提出了反事实推理策略,推理的目标是如果 Z 1 Z_1 Z1没有被 d d d影响,那么预测的用户交互 D D D将会变成什么。

根据反事实推理中的三步定义([25]中的Theorem 7.1.7),作者设计了如下的推理策略:

  • Abduction: 如图四(a)所示,基于事实 D = d D=d D=d来估计 z 2 z_2 z2
  • Action: 如图四(b),构建 d o ( D = 0 ) do(D=0) do(D=0)来估计 e 2 ′ e_2' e2 z 1 ′ z_1' z1 d o ( D = 0 ) do(D=0) do(D=0)意味着一个空的交互历史。
  • Prediction: 如图四(c),使用 z 1 ′ z_1' z1 z 2 z_2 z2来计算交互概率 d ′ = f θ 3 ( z 1 ′ , z 2 ) d'=f_{\theta_3}(z_1',z_2) d=fθ3(z1,z2)

整个过程如算法一所示:

在这里插入图片描述

2.3 微调以及快速适应性

作者又考虑到当新的用户交互从OOD环境中收集来的时候模型的适应性。作者追求快速适应性的关键理念是最大限度地重用未改变的用户表示。根据图二的因果图, Z 2 Z_2 Z2不会被 E 1 E_1 E1的变化影响。在此启发下,作者重用 Z 2 Z_2 Z2,并且微调VAE网络来更新 Z 1 Z_1 Z1。此外,VAE中的函数都是基于因果关系构建的。正如之前的研究表明的[32],这些函数在干预下更加稳定,并且需要更少的数据来调整从独立同分布环境到OOD环境的参数偏差[3,32]。

2.4 细粒度因果图COR

作者又考虑了当 E 1 E_1 E1 E 2 E_2 E2 Z 1 Z_1 Z1之间的细粒度因果图可获得时,例如“收入”影响用户对“价格”和“品牌”的偏好而不影响对“商品尺寸”的偏好,如图五(a)所示。

在这里插入图片描述

一般情况下细粒度的因果图很难获得,但是这种因果图是可以根据专家经验来构建的。这样的因果关系对OOD泛化来说是很有帮助的[32, 47]。在此启发下,我们提出了拓展的COR,在估计 p ( z 1 , e 1 , e 2 ) p(z_1, e_1, e_2) p(z1,e1,e2)的时候将细粒度的因果图融入。并且,作者将MLP f θ 1 ( ⋅ ) f_{\theta_1}(\cdot) fθ1()替换为了神经因果模型(nerual causal models, NCM)[47],这个可以将细粒度的因果关系进行编码。

作者假设 z 1 z_1 z1中的一个因子与一个项目特征的偏好一致(例如“价格”)。对于 z 1 z_1 z1中的一个因子,NCM将其在因果图中父结点的表示进行加和,如图五(b)所示,“收入”、“年龄”以及 e 2 e_2 e2的表示被相加后作为“价格”的偏好。然后将这些加和投入MLP来预测 Z 1 Z_1 Z1。注意,我们并没有关于 z 1 z_1 z1和项目特征偏好之间精确对应关系的上帝视角,这种对应关系是基于细粒度因果图在训练期间通过隐式地学习获得的。

除此之外,MLP在 z 1 z_1 z1的所有因子之间共享,来减少参数的数量。不需要改变其他组件,NCM就可以被应用到COR框架。

3 实验

这一部分,作者构建了大量的实验来回答下列问题:

  1. COR在OOD泛化任务上比起基线模型的表现如何?
  2. COR在快速适应性上的的微调效率如何?
  3. 不同的部分对效率的影响有何不同?
3.1 实验设定

数据集

实验是在一组合成数据集以及两组真实世界数据集上展开,如图六所示,遵循如下的真实世界中用户交互产生流程来合成数据集。

  • 合成数据
  1. 用户/项目特征采样:假设有1000个用户和1000个项目,每个用户都有一个可观测的特征(例如“收入”)和是个未观测到的特征。每个项目都有八个可观测的特征(如“类别”(2)、“品牌”(4)以及“价格”(2)),并且有两个未观测特征。未观测的用户/项目特征从标准正态分布中抽取[19],但是用户的收入是从 N ( − 1 , 1 ) \mathcal{N}(-1,1) N(1,1)分布中抽取。
    观测到的项目特征中,类别(鞋子和手机)、品牌(耐克和苹果)、以及价格(高和低)都是{0,1}离散变量,并且基于项目特征之间的一些因果关系进行了基于伯努利分布的采样。例如“苹果”和“手机”都很容易导致“高”价格。

  2. 用户偏好估计:在采用了用户特征之后,根据已有的知识[25]假设用户特征到偏好之间的细粒度因果关系,例如收入对高价格的偏好的积极效应。将用户特征通过积极/消极加权来计算用户偏好,加和之后使用sigmoid函数,来增加关系的非线性复杂度。
    给定用户特征,作者从十维的用户偏好中进行采样,即对八个用户已观测的项目特征的偏好以及两个未观测到的特征的偏好。

  3. 用户交互采样:获得了用户偏好 z z z以及项目特征 i i i之后,便可以通过 r = S ( z T i ) r=S(z^Ti) r=S(zTi)计算用户-项目相关性 r r r,这里的 S ( ⋅ ) S(\cdot) S()是sigmoid函数。接下来作者从一个伯努利分布 B e r n ( r ) Bern(r) Bern(r)[30]中采样交互数据。

  4. OOD数据收集:为了收集OOD环境中的用户交互,作者从 N ( 1 , 1 ) \mathcal{N}(1,1) N(1,1)中重采样用户收入,明显与原始收入不同。之后保持项目特征固定,重复之前的第二步和第三步来采样新的用户交互。

在这里插入图片描述

  • 美团数据集
    https://www.biendata.xyz/competition/smp2021_2/.
    美团的公开食物推荐数据集,拥有丰富的用户以及项目特征,例如用户的消费水平和食物价格。作者认为从工作日到周末的平均消费水平的变化可以视为用户特征的变化,很多用户在周末有这个更高或者更低的消费。因此用户在工作日的交互(例如,购买)以及在周末的交互被分别视为IID和OOD交互。

  • Yelp数据集
    https://www.yelp.com/dataset.
    Yelp是一个餐馆推荐数据集,这里可以将用户的地理位置作为变化的特征。作者首先选择了具有位置变化的用户(例如从佛罗里达州变到了密歇根州)。他们之后通过时间戳排序了用户的评分,并且基于州状态特征将评分分成了两个部分。两个部分分别视为IID和OOD交互。

这里作者只处理那些评分大于等于4的交互作为积极样例[38,45]。对于数据集里的IID或OOD交互,分别将他们分成IID/OOD训练集、验证集以及测试集,比例分别为80%,10%和10%。细粒度因果图在合成数据中是可见的但是在两个真是数据集里是没有的。统计数据如表一所示。

在这里插入图片描述

基线
作者将COR和其他几个有竞争力的方法进行比较:

  • FM[27]和NFM[14]是最具有代表性的基于特征的推荐模型,可以在OOD推荐中使用变化的用户特征。
  • MultiVAE[19]。作者使用了基于VAE的方法,MultiVAE也考虑了交互的产生流程,但是忽略了因果关系 ( E 1 , E 2 ) → ( Z 1 , Z 2 ) → D (E_1,E_2)\to (Z_1, Z_2)\to D (E1,E2)(Z1,Z2)D
  • MacridVAE。这是一种典型的解纠缠推荐方法,它从历史交互中学习分层的用户表示。
  • MacridVAE+FM。Since MacridVAE neglects the user features,we enhance it by linearly combining the prediction scores of MacridVAE and FM in a late-fusion manner for re-ranking.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值