美文网首页因果可解释推荐系统工具箱
因果可解释推荐系统工具箱 - ACCENT(二)

因果可解释推荐系统工具箱 - ACCENT(二)

作者: processor4d | 来源:发表于2021-11-26 13:55 被阅读0次

文章名称

【SIGIR-2021】【Max Planck Institute for Informatics】Counterfactual Explanations for Neural Recommenders

核心要点

文章旨在基于注意机制的可解释推荐系统对终端用户仍然不友好的问题,期望将反事实解释应用于神经推荐模型,生成可以被用户理解的物品元组,来作为模型决策的解释。作者利用influence functions来识别和某个推荐结果相关度最高的训练样本,从而得到上述物品元组。

上一节,我们介绍了作者对反事实解释的定义,以及生成反事实解释的思路。本节继续介绍,如何进行反事实解释生成。

方法细节

问题引入

上一节,介绍了作者把可以使得推荐结果rec变化成rec^*(文章里rec的例子是top-1的物品,如果是其他位置的物品也可以套用,只不过I_{rep}的选取需要做一些改变)的最小历史行为集合称作反事实解释(所谓反事实,是指去掉了历史行为,具体下文解释)。作者是通过不断的从用户的历史行为集合I_u中删除历史行为,来实现推荐结果变换的,这个不断删除的最小集合I^*_u,就是所谓的反事实解释。

具体做法

我们回顾一下对要解决的问题进行一下形式化的定义,

  • 用户集合为U = \{u_1, u_2, ..., u_{N}\},物品集合为I = \{I_1, I_2, ..., I_{M}\}
  • 对用户u的推荐结果为rec,其反事实推荐结果为rec^*I_{rep}表示修改用户行为后,可以被替换的物品,从其中会挑选出rec^*
  • 用户u的历史行为集合记作I_u(如用户历史的观看记录),反事实解释(行为)集合记作I^*_u,是把推荐结果变为rec^*时,用户的反事实行为集合

Estimating parameters

如上所述,作者利用Influence function计算用户的历史行为对推荐结果的影响分数,IF是统计学中用来衡量样本点(训练样本)权重的微小变化\epsilon对模型参数(也同时影响模型结果)的影响[2]。[3]提出了估计“消除某一个样本点所带来的影响“的方法。

假设在原有训练数据权重的情况下(样本权重均为\frac{1}{n}的时候,n表示训练样本的总数),模型的参数为\hat{\theta},该参数是使用经验风险最小化得到的,其具体公式如下图所示。其中L(z_i, \theta)表示样本z_i在模型参数为\theta的时候,带来的损失。(注意这里\theta是一个随机变量,\hat{\theta}是一个具体取值了,同理,z_i是一个具体样本,z表示样本变量,代表其中任何一个样本)。

empirical risk

那么,当对其中一个样本z的权重进行微小调节时,可以通过如下图所示的公式得到新的最优模型参数\hat{\theta_{\epsilon, z}}

new optimal parameter after small disturbation

因此,该扰动的影响可以利用如下图所示的公式得到,其中,H_{\hat{\theta}} = \frac{1}{n} \sum_{i=1}^{n} \nabla^2_\theta L(z_i, \hat{\theta})表示模型参数的海森矩阵。

influence of disturbation

当移除某一个样本时,相当于把该样本的权重变为-\frac{1}{n}(相对于平均权重而言)。因此,可以令\epsilon = -\frac{1}{n},并利用如下图所示的公式计算得到新的模型参数\hat{\theta}^{-z}(具体推导可以参见文章[3])。

parameter estimation after removing z

值得注意的是,神经网络通常是非凸的,因此其海森矩阵不可逆。为了模拟这一个性质,作者在海森矩阵的对角线上加上了一个微小的扰动值\lambda

通常神经推荐模型的参数是巨大的,作者利用[1]中的方法对模型参数进行快速估计。

Computing influence on score gaps

如上所述,可以从训练样本中去除掉某个样本点z。回到推荐场景,就是从历史行为I_u中去掉某个物品z(这里有一点存疑,参见心得体会)。通过把去掉物品后的参数\hat{\theta}^{-z}放入模型,重新对候选物品评分,可以得到用户u对物品i的评分\hat{y}_{u,i}^{-z}(没有去除物品z之前的得分y_{u,i})。因此物品z的影响可以表示为如下图所示的公式。

influence of z

由于排序通常会比较两个物品的得分(pair-wise),因此需要估计消除物品z对两个物品i,j的影响。具体的估计方法如下图所示(可以看出作者假设了消除物品z对两个物品的影响是线性可加的,甚至是独立的)。

influence of score gap

物品集合Z对两个物品i,j的影响,也是所有集合内物品的影响之和,具体公式如下图所示。

influence of set

Filling the gap

如上所述,生成反事实解释,即需要发现可以使得rec变为rec^*的行为(最小)集合。因此,作者利用IF从用户推荐结果集合I_u中来寻找可以删除的集合Z使得评分\hat{y}_{u, rec}^{-Z} < \hat{y}_{u, rec^*}^{-Z},具体可以描述为如下图所示的公式。

filling gap

可以看出寻找集合Z是个组合优化问题,作者利用贪心的方法,把物品按照影响得分I(z_k, \hat{y}_{u, rec}^{-Z} < \hat{y}_{u, rec^*}^{-Z})降序排列,不断的把物品z_k加入到集合Z中,直到上式满足。

为了寻找的替换最小集合(同时,控制替换过程的复杂度),需要选择一个替换候选集合I_{rep}。作者采用推荐系统的top-K集合作为I_{rep}注意,这里的I_{rep}不是用来生成消除历史集合Z的,而是用来选取新的替换推荐结果rec^*),这样既能保证相关性,也能保证候选集不会过大(之所以,这样选择I_{rep}能保证替换集合Z最小,是因为rec^*rec都是在top-k即合理,所以相关性大,两者的得分在伯仲之间,改变起来自然比较容易,需要对历史集合做的改动也小)。

代码实现

ACCENT的伪代码如下图所示,

pseudo code

心得体会

去掉样本点时,没有考虑行为的有序性

个人觉得,这里可以扩展的地方是模型处理训练样本是假设他们没有联系,忽略了行为的序列属性,也许在一些场景会影响整体效果,造成解释其实是不合理的?但这只是猜测,也可能可以在这方面做一些探究。

只考虑去掉历史样本

文章只考虑了去掉历史样本,不知道是不是有可能对有些物品去掉了样本仍然不会使得结果变化,是否需要考虑增,改?盲猜,可能作用不大,只是看需要什么样的解释而已。

文章引用

[1] Weiyu Cheng, Yanyan Shen, Linpeng Huang, and Yanmin Zhu. 2019. Incorporating Interpretability into Latent Factor Models via Fast Influence Analysis. In KDD.

[2] Frank R. Hampel. 1974. The Influence Curve and Its Role in Robust Estimation. J. Amer. Statist. Assoc. (1974).

[3] Pang Wei Koh and Percy Liang. 2017. Understanding Black-box Predictions via Influence Functions. In ICML.

相关文章

网友评论

    本文标题:因果可解释推荐系统工具箱 - ACCENT(二)

    本文链接:https://www.haomeiwen.com/subject/ovttxrtx.html