Causal Representation Learning for Out-of-Distribution Recommendation
1 INTRODUCTION
推荐系统从历史交互数据中学习用户偏好表示,然而用户偏好转移是常见的,这是一种OOD问题
目前解决user feature shifts问题的方法分为三类
- Feature-based models :FM 但无法将用户特征和历史偏好解耦
- Disentangled recommendation:MacridVAE 以往的研究大多忽略了用户特征,将过时的交互编码在表示中
- Model re-training :面临着再训练频率和计算成本问题,需要在特征转移后收集新的交互
现有的方法通过E1和D来学习偏好表示,所以会出现OOD问题,OOD推荐是对干预后相互作用概率的推断:P(D|do(E1 = e ′1), E2)
用户偏好变化对E1有影响,进而影响Z1,可以使用不变偏好Z2迅速适应变化
2 CAUSAL OOD RECOMMENDATION
Causal Representation Learning
通过重建历史交互D来进行优化参数集θ ={θ1, θ2, θ3}
具体来说就是给定e1和d,最大化对数似然log p(d |e1)
然鹅e2是不可观测的,借用变分推理的思想,得到可信度下界(evidence lower bound,ELBO):
😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊😊
Encoder Network
q(e2 |·) = q(e2 |d, e1) 通过d和e1来预测e2,为了达到更精准的评估,使用了amortized inference(平摊推理),并设计了一个encoder
Decoder Network
在图三(b)中,根据等式(1)对p(d∣e1,e2)进行了分解,得到:
为了避免(5)中的积分计算,这里采用了蒙特卡洛采样方法,通过采样z1和z2来近似p**(d∣e1,e2)**:
这里的L和M是采样数量,z1a和z2b是从分布 在计算条件概率的时候依然十分耗时,本论文又使用了一种常见的近似方法
COR Optimization
首先是在VAE的隐向量采样中使用了重参数化技巧,并且使用了KL annealing (KL退火),超参数为β ,来限制KL散度的正则化。最终对于用户u 的ELBO目标函数为:
Causal Inference of COR
利用VAE对交互生成进行因果建模,接下来讲述推导干预后的概率p(d ′|e ′1, e2),
最直白的方式是将d和e1’给到encoder,然后将e1’和e2给decoder得到d ,但是这种方法d可能带有过时的交互(out-of-date inteactions)
从而影响到e2。为了保证这些过时的信息不影响到e1’ ,去除e2到z1的影响,同时保留e2到z2的影响,采用了三个步骤:
- Abduction :根据真实数据D =d 单独估计z2
- Action : 执行do操作(D=0)来估计e2’和z1’ D=0 表示空的交互
- Prediction : 通过z1’和z2来得到d ′ = fθ3 (z′1, z2)
算法流程如图:
考虑模型适应性(Fast Adaptation) 由于在不同的环境下Z2是不变的,所以在可以重复利用不变的用户表示。VAE中的函数都是基于因果关系构建的,这些函数在干预下更加稳定,并且需要更少的数据来调整从IID环境到OOD环境的参数偏差
COR with Fine-grained Causal Graph 细粒度的因果图
考率到E1、E2 和Z1之间的细粒度因果图,例如“收入”影响用户对“价格”和“品牌”的偏好而不影响对“商品尺寸”的偏好
在估计g p(z1 |e1, e2)的时候将细粒度的因果图融入到decoder中,将MLP fθ1 (·) 替代为Neural Causal Models (NCM) 可以编码细粒度的因果关系
NCM将其在因果图中父结点的表示进行加和,“收入”、“年龄”以及e2的表示被相加后作为“价格”的偏好,然后将这些加和投入MLP来预测Z1,这种对应关系是基于细粒度因果图在训练期间通过隐式地学习获得的。