Fork me on GitHub

推荐系统的公平性:从消费者到供给者

以下文章来源于 https://zhuanlan.zhihu.com/p/641711427

导读本次分享主题为推荐系统的公平性。文章将从两个角度来探讨推荐系统的公平性,分别是用户或者消费者的角度,以及商家或者供给者的角度。

全文目录:

1.推荐系统的公平性

2.从消费者的视角

3.从供给者的视角

4.总结


分享嘉宾|徐君 中国人民大学高瓴人工智能学院 教授

编辑整理|王壮 Soul

出品社区|DataFun


01/推荐系统的公平性

1.推荐系统无处不在

现在我们的日常生活中,推荐系统的应用特别多,涉及娱乐、新闻、购物等各个方面。


2.推荐系统的担忧

推荐系统虽然看似是一个服务于用户的工具,但还是会有很多人表达了对推荐系统的担忧:推荐系统不仅仅是在反映消费者的偏好,它也在改变消费者的偏好;在线的推荐系统如果在做决策时有偏差,这种偏差会同时对消费者和供应商产生影响。

3.推荐系统的结果可能是有偏差的

推荐系统的结果有偏差的核心原因是资源是有限,由于资源有限,我们在做任何决定的时候都要有取舍,有取舍自然就会带来偏差,在这里主要有以下三个方面的体现:

(1)用户的注意力是有限的

用户的注意力是有限的,他只能看到有限的商品做出决定,不可能看到所有的商品之后再做决定,不同的物品会得到用户不同的注意力。

(2)推荐位置是有限的

推荐位置是有限的,推荐系统只能推荐有限的物品给用户,不同的供给者得到不同的曝光。

(3)数据偏差

收集到的训练数据是有偏差的,推荐系统中的反馈循环将会强化了这种偏差(如果之前的推荐结果已经有了一些偏差)。

以上这些偏差可能会降低我们对推荐系统的信任,伤害可持续性和长期的发展。

主要体现在以下三个方面:

  • 马太效应:富者越富,穷者越穷
  • 信息茧房效应:推荐系统没有关注到用户探索的需求,有一些物品永远不会对用户曝光,用户很难获得不同于自己的新观点,甚至会强化自己的旧观点
  • 均衡选择:供给者需用通过用户一定程度的投入来维持生存,当供给这得不到足够曝光后,他们可能会选择退出市场,这是不利于推荐系统的可持续发展的

4.什么是公平性

当我们在谈论公平的时候,我们到底在谈论什么?当我们面对不同的对象,当我们处在不同的学科领域,我们对公平的定义是不同的,目前有两种观点是比较流行的。

  • Equality------平等

机会的公平,每个人从相同的地方开始,从相同的支持中平等地获益。

  • Equity------公平

分配的公平,每个人从不同的地方开始,获得不同的支持和调节,从而产出相同的结果。

这里有一个例子,我们在申请工作的时候,平等代表男性和女性应该被平等地对待,性别在这里就是一个sensitive feature,这种sensitive feature不应该影响我们最终的决策;而公平表示我们需要调整我们的申请和形式,给残疾人一些优待,在这里残疾是为一个sensitive feature,我们非但没有丢弃这种sensitive feature,反而应当在sensitive feature等于某个值时,给予一定的照顾。

5.推荐系统中的公平性

推荐系统是一个涉及多方的复杂系统。

从消费者的视角看,我们应当保证推荐系统的平等,当用户被一些敏感特征划分成不同组群时,他们不能被区别地对待,不同的组群获得的推荐结果不应当有太大的差异。

从供给者的视角看,我们应该保证推荐系统的公平,我们要给予小的供给者一些政策支持,避免垄断。小的供给者在市场中天然处在一个相对较弱的位置,资源应当根据需求公平地分配。

02/从消费者的视角

如前面提到的,从消费者的视角,我们应该保证推荐系统的平等,不同的组群不应该被区别地对待。

从数学的角度来看,不同的组群应该共享相同的职位分布,这本质上是一个OOD的问题,由敏感特征造成的分布发生转变时,群组的fairness是否依然存在。

我们使用MovieLens的数据做了一些测试,首先,我们创建了四个数据,这四个数据在职位上有不同的分布,考虑或者不考虑职位这个敏感特征时,我们所获得了的结果是不同的,这也证明这种fairness的差异的确存在。


因此,我们定义了CGF(Counterfactual Group Fairness)这个指标来衡量公平性,它还有一个相对宽松的版本。


接下来,我们从因果分析的视角来看一下敏感属性。用户的embedding可能会包含和敏感属性相关的部分,也可能会包含和敏感属性无关的部分。我们引入经济学中的一个概念------工具变量。工具变量希望可以通过引入一个外部变量将一个confounder的因果的关联关系和非因果的关联关系分开,常见的做法就是使用工具变量的回归,回归之后的参差就是非因果的部分。在这里,我们使用工具变量回归来更好地学习用户的embedding,使用工具变量来表示用户embedding中和敏感属性无关的部分。

以下是具体的模型结构和实验结果,这个模型结构的本质就是希望将原本的用户embedding进行改造,得到一个更好的用户embedding,这个embedding包含两个部分,一部分与敏感特征有关,一部分与敏感特征无关,我们在训练模型的时候,用我们之前定义的CGF作为一个限制,最后构造一个loss,训练得到一个更好的模型。那我们如何得到这个更好的用户embedding呢?首先找出原始用户embedding中外生的部分,如下图模型结构中左边部分所示,再将外生的部分和原始的用户embedding输入到Causal Embedding构造器中,如下图模型结构中右边部分所示,该构造器会将因果的部分和非因果的部分以一定的方式拼接在一起,最终得到更好的用户embedding。

03/从供给者的视角

如前面提到的,从供给者的视角来看,我们需要保证推荐系统的公平,给相对弱小的供给者一些政策的支持,避免垄断。

通过对Yelp数据集的分析,我们发现这种现象的确存在。

怎么去衡量这种fairness呢?目前主要有两种方式:

  • PF:确保来自不同人口群体的个人按照与其各自资格水平成比例的获取utility
  • Max-min fairness(MMF):去尝试提升最差供应商的utility

在这里,我们倾向于使用MMF,因为我们对MMF的优化可以更好地照顾弱势群体。

这本质上是一个在线资源分配的问题,我们既要考虑到供给者的fairness,也要考虑到消费者的utility。

在推荐系统中,我们如何引入这种供给者的fairness呢?我们需要对最终优化目标做一些调整,需要加入MMF。

这个问题需要在对偶空间中求解,并且要在线地去求解。

我们也能证明,这个问题的解的界是有保证的。

由于我们是在对偶空间中求解,在候选集变大的时候,无论是CPU的版本还是GPU的版本,我们的推理时间的增长都不是很明显。

04/总结

在一个多角色共同参与的推荐系统中,从用户的视角来看,我们需要保证平等,从供给者的视角来看,我们需要保证公平。针对平等,我们使用CGF来衡量,针对公平,我们使用MMF来衡量,相应地也会有一些模型优化来提升fairness。

除此之外,我们还有很多问题需要考虑。首先,无论是用户还是供给者,他们都是跨平台的,如何考虑多个平台的fairness是我们接下来需要关注的问题。另外,我们还需要平台fairness和其他各个方面。最后,仅仅保证曝光是不够的,我们可能需要保护优质的供给者,也需要淘汰真的不好的供给者,保证市场的良性循环。

今天的分享就到这里,谢谢大家。



本文地址:https://www.6aiq.com/article/1688554551538
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出