因果推断推荐系统工具箱 - CPR(二)

2021-12-15  本文已影响0人  processor4d

文章名称

【AAAI-2019】【University College London/Noah's Ark Lab】Top-N Recommendation with Counterfactual User Preference Simulation

核心要点

文章旨在解决现有L2R场景下,训练样本系数且不平衡对推荐模型造成的影响。作者把推荐形式化为因果推断问题,并从观测数据中学习SEM,基于此从反事实的角度模拟用户的反馈。利用learning-based方法学习如何高效选取反事实样本,基于模拟数据和观测数据训练目标排序模型。并从理论上分析了生成样本数量和模型预测误差的关系,基于此提出利用启发式的方法控制预测误差带来的负面影响。

上一节描述了CPR框架的整体结构以及其中因果结构模型(SEM)的参数学习的方法, 本节继续介绍如何高效的选取反事实样本,以及作者如何利用理论分析得到启发式的方法,来控制预测误差的负面影响。

方法细节

问题引入

利用从观测数据中学习到的SEM的参数,可以生成用户交互的反事实样本,从而实现推荐系统数据的模拟。然而,我们仍面临一下2个问题,

  • 如何高效的从庞大的物品候选集中筛选推荐列表,这里所谓的高效是指适当地选取样本,加速模型的收敛,提升模型性能。
  • 如何控制反事实样本,减少控制噪声对模型预测误差的影响。这里误差和噪声可能是观测数据里固有的,导致学习得到的SEM存在偏差,也可能由于SEM的建模(假设)误差。

为解决上述问题,作者提出利用learning-based的方法生成模拟的推荐列表\boldsymbol{\hat{r}},并通过理论分析,得到启发式的方法来控制模型的预测误差。

具体做法

Learning-based Intervention

虽然可以随机尝试不同的推荐列表\boldsymbol{\hat{r}},并通过SEM生成对应的反事实交互\boldsymbol{\hat{s}}。但\boldsymbol{\hat{r}}的取值空间是巨大的(所有可能的物品的组合),并且不同的\boldsymbol{\hat{r}}并不具有同样的重要性[1](相对模型训练而言),需要更高效的方法选取\boldsymbol{\hat{r}}

受到[12, 13]的启发,作者选取是目标排序模型损失最大的\boldsymbol{\hat{r}}作为生成反事实样本的推荐列表,来提供更多的信息提升模型训练的效果。利用目标排序模型损失作为reward,可以得到learning-based的\boldsymbol{\hat{r}}选取模型。考虑到\boldsymbol{\hat{r}}的维度很高,作为动作空间可能非常大,作者借鉴[3]学习高斯策略来生成连续的物品向量中心,最后基于如下公式,得到离散的物品集合。

formulation 4
  • 目标推荐模型为f,其损失函数为L_f(可以是交叉熵,负采样softmax等)。
  • \hat{u}表示目标用户,\boldsymbol{\hat{\tau}}_t表示物品的中心向量,C(\boldsymbol{\hat{\tau}}_t)表示生成的样本。
  • \pi(\cdot)是神经网络构建的Gaussian policy[3]。
  • 最终learning-based候选列表生成模型的学习目标如下图所示。


    learning-based Intervention learning objective
  • 基于\boldsymbol{\hat{\tau}}_t和公式4,计算得分\boldsymbol{\hat{\tau}}_t^\top\boldsymbol{Q}_k + \boldsymbol{w}^R_k \alpha_k,并从所有物品集合中选出该排序得分最高的K个物品组成推荐列表
  • 利用p(\hat{r}_k|U = \hat{u}, R = \boldsymbol{\hat{r}}, \boldsymbol{\hat{\beta}})选取\boldsymbol{\hat{r}}中最大的概率最大的M个物品构成选择列表\boldsymbol{\hat{s}}

这里细节比较多,详情可以参阅原文。

Theoretical Analysis

Samples需求量

作者基于PAC(probably approximately correct)学习框架,在pair-wise学习目标上进行了理论分析。

假设具有样本元组(i, j),有\eta, 1-\eta的概率观测到排序i > j或者i < j。那么\eta可以用来表示样本对的难易程度,如果\eta接近于二分之一,那么样本更不容易被分辨。那么,需要产生\frac{log(\frac{1}{\delta})}{2(1-2\eta)^2}个关于(i, j)的样本,来确保模型的预测损失小于\delta,其中\epsilon, \delta \in (0, 1),具体的公式和证明可以参见附录,原文理论描述如下图所示。

Theorem 1

有误差的SEM

另一种造成目标模型具有误差的因素是有误差的SEM,例如,SEM的建模假设不准确。假设SEM模型F有概率\zeta \in (0, 0.5)生成错误的样本元组(u, j, i)1-\zeta的概率生成正确的样本元组(u, i, j)。那么,需要超过\frac{2log(\frac{2 |\mathcal{F}| }{\delta})}{\epsilon^2(1-2\zeta)^2 }的样本,使得模型的预测误差小于\delta。具体证明可以参见因果推断推荐系统工具箱 - CASR(三)[2]。

启发式方法控制噪声

核心思路是利用p(\hat{r}_k|U = \hat{u}, R = \boldsymbol{\hat{r}}, \boldsymbol{\hat{\beta}})作为样本的置信度。这里\hat{r}是给定的(基于学习的方法学到的),如上节介绍,我们利用这个公式选取M个概率值最高的\hat{r}_k,当做是被点击的概率,得到点击列表\boldsymbol{\hat{s}}。此时,我们得到的都是正样本。在启发式控制的时候,先利用这个公式,计算出给定\boldsymbol{\hat{r}}之后的正负样本集合\boldsymbol{\hat{s}}_k^+, \boldsymbol{\hat{s}}_k^-。并利用正负样本训练目标模型。

通过控制正负样本集合k的大小,来平衡噪声和反事实样本数量对目标模型的预测误差的影响。

代码实现

文章的两个部分的伪代码如下图所示。

pseudo code

心得体会

CASR

文章的Learning-Based方法以及理论分析,兵器与文章因果推断推荐系统工具箱 - CASR(三)有许多相似之处,并且作者也在SEM的分析部分引用了CASR[2]。两者都采用hard样本来指导反事实样本的选取。只不过,本文在pairwise的loss上进行的理论分析,因为文章主要的研究场景是L2R。

文章引用

[1] JunWang,LantaoYu,WeinanZhang,YuGong,YinghuiXu,BenyouWang,Peng Zhang, and Dell Zhang. 2017. Irgan: A minimax game for unifying generative and discriminative information retrieval models. In Proceedings of the 40th In- ternational ACM SIGIR conference on Research and Development in Information Retrieval. 515–524.

[2] Zhenlei Wang, Jingsen Zhang, Hongteng Xu, Xu Chen, Yongfeng Zhang, Wayne Xin Zhao, and Ji-Rong Wen. 2021. Counterfactual Data-Augmented Sequential Recommendation. In Proceedings of the 44th International ACM SIGIR Conference on Research and Development in Information Retrieval. 347–356.

[3] Xiangyu Zhao, Liang Zhang, Long Xia, Zhuoye Ding, Dawei Yin, and Jiliang Tang. 2017. Deep reinforcement learning for list-wise recommendations. arXiv preprint arXiv:1801.00209 (2017).

上一篇下一篇

猜你喜欢

热点阅读