文章名称
【SIGIR-2021】【Max Planck Institute for Informatics】Counterfactual Explanations for Neural Recommenders
核心要点
文章旨在基于注意机制的可解释推荐系统对终端用户仍然不友好的问题,期望将反事实解释应用于神经推荐模型,生成可以被用户理解的物品元组,来作为模型决策的解释。作者利用influence functions来识别和某个推荐结果相关度最高的训练样本,从而得到上述物品元组。
上一节,我们介绍了作者对反事实解释的定义,以及生成反事实解释的思路。本节继续介绍,如何进行反事实解释生成。
方法细节
问题引入
上一节,介绍了作者把可以使得推荐结果变化成
(文章里
的例子是top-1的物品,如果是其他位置的物品也可以套用,只不过
的选取需要做一些改变)的最小历史行为集合称作反事实解释(所谓反事实,是指去掉了历史行为,具体下文解释)。作者是通过不断的从用户的历史行为集合
中删除历史行为,来实现推荐结果变换的,这个不断删除的最小集合
,就是所谓的反事实解释。
具体做法
我们回顾一下对要解决的问题进行一下形式化的定义,
- 用户集合为
,物品集合为
;
- 对用户
的推荐结果为
,其反事实推荐结果为
,
表示修改用户行为后,可以被替换的物品,从其中会挑选出
;
- 用户
的历史行为集合记作
(如用户历史的观看记录),反事实解释(行为)集合记作
,是把推荐结果变为
时,用户的反事实行为集合。
Estimating parameters
如上所述,作者利用Influence function计算用户的历史行为对推荐结果的影响分数,IF是统计学中用来衡量样本点(训练样本)权重的微小变化对模型参数(也同时影响模型结果)的影响[2]。[3]提出了估计“消除某一个样本点所带来的影响“的方法。
假设在原有训练数据权重的情况下(样本权重均为的时候,
表示训练样本的总数),模型的参数为
,该参数是使用经验风险最小化得到的,其具体公式如下图所示。其中
表示样本
在模型参数为
的时候,带来的损失。(注意这里
是一个随机变量,
是一个具体取值了,同理,
是一个具体样本,
表示样本变量,代表其中任何一个样本)。

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

因此,该扰动的影响可以利用如下图所示的公式得到,其中,表示模型参数的海森矩阵。

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

值得注意的是,神经网络通常是非凸的,因此其海森矩阵不可逆。为了模拟这一个性质,作者在海森矩阵的对角线上加上了一个微小的扰动值。
通常神经推荐模型的参数是巨大的,作者利用[1]中的方法对模型参数进行快速估计。
Computing influence on score gaps
如上所述,可以从训练样本中去除掉某个样本点。回到推荐场景,就是从历史行为
中去掉某个物品
(这里有一点存疑,参见心得体会)。通过把去掉物品后的参数
放入模型,重新对候选物品评分,可以得到用户
对物品
的评分
(没有去除物品
之前的得分
)。因此物品
的影响可以表示为如下图所示的公式。

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

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

Filling the gap
如上所述,生成反事实解释,即需要发现可以使得变为
的行为(最小)集合。因此,作者利用IF从用户推荐结果集合
中来寻找可以删除的集合
使得评分
,具体可以描述为如下图所示的公式。

可以看出寻找集合是个组合优化问题,作者利用贪心的方法,把物品按照影响得分
降序排列,不断的把物品
加入到集合
中,直到上式满足。
为了寻找的替换最小集合(同时,控制替换过程的复杂度),需要选择一个替换候选集合。作者采用推荐系统的top-K集合作为
(注意,这里的
不是用来生成消除历史集合
的,而是用来选取新的替换推荐结果
的),这样既能保证相关性,也能保证候选集不会过大(之所以,这样选择
能保证替换集合
最小,是因为
和
都是在top-k即合理,所以相关性大,两者的得分在伯仲之间,改变起来自然比较容易,需要对历史集合做的改动也小)。
代码实现
ACCENT的伪代码如下图所示,

心得体会
去掉样本点时,没有考虑行为的有序性
个人觉得,这里可以扩展的地方是模型处理训练样本是假设他们没有联系,忽略了行为的序列属性,也许在一些场景会影响整体效果,造成解释其实是不合理的?但这只是猜测,也可能可以在这方面做一些探究。
只考虑去掉历史样本
文章只考虑了去掉历史样本,不知道是不是有可能对有些物品去掉了样本仍然不会使得结果变化,是否需要考虑增,改?盲猜,可能作用不大,只是看需要什么样的解释而已。
文章引用
[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.
网友评论