李文俊 LI Wen-jun
(苏州工业职业技术学院,苏州 215000)
在数字经济快速发展的背景下,网络数据的规模也急剧扩大,我们越来越依赖于以数据为驱动的算法系统。例如,从选择餐厅和商品,到交友和求职,推荐系统已经渗透进在线生活的各领域。尽管推荐系统已经得到广泛的社会和商业认可,但进一步改进的一个关键方面是推荐对参与者的有用性。一个推荐系统通常服务于两类参与者,用户和商品提供者/生产者,因此推荐的有用性也应该是双重的。一方面,推荐系统为用户提供他们潜在的兴趣项目,缓解信息过载给用户带来的困扰,强化用户在平台上的粘性;另一方面,推荐系统也应该帮助商品提供者增加商品的销售量,特别是暂时不受欢迎的商品,为其创造价值。
推荐系统的有效性通常是通过准确性指标来进行评估,但是现在很多研究也从其他不同的角度来衡量推荐结果的质量,最常用的非精度指标包括多样性、新颖性、惊喜性、可解释性,以及近年来广受关注的公平性[1-5]。相关研究认为,决策支持系统会在无意中对已有的用户偏见进行建模或引入新的偏见[6],而推荐算法的不公平问题将对长尾弱势商家或特定用户造成伤害。例如,音乐平台可能会根据历史收听数据从而过多地曝光男性艺术家创作的音乐作品[7],社交平台会不成比例的向男性和女性展示某些类型的招聘广告[8]。随着相关领域研究不断的发展,公平性在推荐算法的研究仍存在许多挑战需要探索。因此,本文从推荐算法公平性问题的定义、研究现状和关键技术进行了总结和分析。
推荐系统不公平问题的来源主要有两个方面:偏见和歧视。
偏见可以分为两类,一类是数据偏见,数据在生成、收集和存储的过程中都有可能引入偏见。例如,采用了带偏见的采样策略收集数据,使用模型对数据进行训练时,模型很可能会学习那些代表性过高的群体样本,在排名结果中将其排在前列,最终导致某些弱势群体的曝光度变低。另一类偏见是算法模型导致的。例如,算法会进一步增强训练数据中已有的偏见和偏态分布。流行度偏见是比较著名的例子,越活跃的用户交互的越多的商品将被更加频繁的出现在推荐结果中,获得更多的曝光量。虽然流行商品可能可以较好的匹配用户的偏好,提高系统的预测精确度,但是用户通常并不认为它们是非常有用的推荐,因为他们很容易从其他地方获取到这些流行商品的信息,例如销售排行榜、广告或者朋友圈。
除了偏见以外,歧视也是一个因为人类有意无意的导致不公平问题的原因,例如对特定种族、性别和宗教等因素的敏感程度。
大多数关于公平性问题的算法都将公平解释为“缺乏歧视”[9],要求算法不应该根据与当前任务无关的属性来歧视不同的输入对象。这类属性被称为受保护或者敏感属性,通常包括性别、宗教、年龄、性取向和种族等。例如,在招聘网站中,JAVA程序员的岗位应该等比例的同时推荐给男性和女性求职者。
推荐系统的目的是根据用户的个人资料和历史记录为用户检索感兴趣的商品。根据不同的应用程序和推荐场景,历史记录可能是对商品的显性用户评分或者是隐性的商品选择(例如查看或点击行为)。推荐系统会为用户u和商品i评估一个分数,这个分数反映了用户u对商品i的偏好程度,或者称为商品i对用户u的相关性。最终,系统为用户u形成一个推荐列表I,其中包括对用户u评估分数最高的若干商品。对于推荐系统,这些评估分数可以被视为效用分数。抽象的说,如果用户或商品的受保护属性不会影响推荐结果的输出,则该推荐系统被视为是“公平”的。
公平是一个复杂的概念,可以从不同的角度进行定义,尤其是在推荐场景中,情况将变的更加复杂。公平性的概念可以从四个角度进行定义,分别是个体公平和群体公平、消费者公平和生产者公平、关联公平和因果公平以及静态公平和动态公平。
个体公平vs群体公平。
个体公平假设类似的实体应该受到类似的对待,即相似的用户应该收到相似的推荐列表。衡量类似的一种方式是基于距离,给定两个实体之间的距离测量d和算法输出之间的距离测量D。在公平的推荐系统上,当两个实体的距离d很小时,希望算法输出的距离D也很小。
群体公平指在通过受保护属性划分的群体间,平均评价指标应该相同。根据上述定义,研究人员提出了许多平均指标,例如机会均等、平均赔率、人口平等。例如根据训练集中用户交互的商品数量将用户分为活跃用户组和非活跃用户组,要求不同的用户组应获得类似的推荐质量,如F1和NDCG指标。
消费者公平vs生产者公平。
考虑到推荐系统中的公平需求可能来自不同的利益相关者,推荐系统中的公平也可以分为用户(消费者)一方的公平和商品(生产者)一方的公平。此外,还有一些情况下,系统可能要求对消费者和生产者都公平。
消费者公平性衡量的是对不同消费者用户组的不同推荐影响。用户组通过受保护属性进行分组,如种族、性别属性等,也可以是主观赋予的属性。有研究根据用户与推荐系统的交互频率对用户进行分组,发现只有一小部分(5%)的活跃用户享有比其他用户(95%)高得多的推荐质量。
生产者公平性考虑了商品和商品生产者在推荐系统中的公平,目的是确保市场公平,避免垄断支配或马太效应。例如,商品受欢迎程度普遍存在着偏见,受欢迎的商品(频繁评级、点击或购买的商品)得到不成比例的更多曝光,而不太受欢迎的商品很少被推荐。
关联公平vs因果公平。
在推荐场景下,现有的大多数工作都是考虑关联(或称基于相关性)的公平性概念。然而,最近一些工作发现,仅仅基于关联概念不能很好地评估公平性,因为这样的公平性定义不能推导导致不公平的潜在因果机制。
关联公平也被称为基于相关性/统计的公平,它衡量个体或者子集之间的统计差异,如平等机会,平均赔率和人口平等。
因果公平不仅仅是建立在数据的基础上,还考虑了对整体结构的因果模型的额外知识。它的研究重点是在受保护属性与模型输出之间的因果关系,而不仅仅是关联关系。
静态公平vs动态公平。
大多数机器学习中的公平性主要是在静态环境中研究的,没有考虑决策如何随着时间的推移而改变数据。然而,推荐中的公平性需要考虑系统的动态特性,因为许多特征会随着时间的推移而变化,比如用户的偏好和商品的流行程度。
静态公平性提供了一种基于公平约束优化的一次性公平性解决方案,重点研究在静态或者一次性上下文中决策的公平性定义。现有的公平性推荐研究都是置于静态环境中的。
动态公平性需要考虑环境中的动态因素,并学习适应这种动态的公平策略。例如,GE研究了推荐系统中商品曝光的动态公平性。这些商品根据训练数据中暴露的数量分为流行组和长尾组。这项工作的直觉是,在基于推荐策略和用户反馈的推荐过程中,商品受欢迎程度可能会发生变化,导致底层组标签随着时间的推移而变化,也就是说,一个曾经不受欢迎的商品现在可能变得受欢迎,反之亦然。为了解决这个问题,作者将这个问题表述为一个带有项目曝光时间变化的公平性约束的马可夫决策过程CMDP,并使用约束型策略优化算法CPO来解决这个问题。
现有的公平性推荐主要集中在三个方面:①公平量化,在各种公平定义下提出量化指标来衡量算法的公平性;②公平性推荐算法建模,开发算法或者模型来提高输出的公平性;③公平评估,开发可解释的算法来识别模型不公平的原因,从而解释模型为什么是公平或不公平的。
公平量化旨在开发和研究量化指标,衡量排名或者推荐中的算法差异。关于公平量化的工作集中在推荐中定义各种类型的不公平概念,例如性别和年龄等敏感特征的不公平,受欢迎和不受欢迎商品的不公平,用户推荐质量的不公平。
公平推荐模型侧重于基于一定的公平定义输出公平的推荐结果,该类算法大致可以分为三类:预处理方法,中处理方法和后处理方法。
由于用户交互数据是观察数据,用户交互数据库的不平衡成为造成偏差的主要因素之一。预处理方式通常旨在改变训练推荐算法的数据来减少这种偏差,再对模型进行训练。因此,当可以接触原始数据时,可以采用预处理方法。这类方法并不显示地包含在模型输出定义的公平性度量上。最具代表性的预处理方法包括:①数据收集过程中的基于公平感知的采样技术,以覆盖所有群体的商品;②平衡技术,以增加少数群体的覆盖面,以及修复技术以确保标签正确性。
中处理方法旨在通过修改现有模型或引入新模型来消除模型训练过程中的偏见[10,11]。一种通用的方法是将公平性要求编码为目标函数的一部分,通常作为正则化项,其优化策略除了最小化原始损失函数之外必须最小化不公平程度。这种方法还试图在推荐的准确性和公平性之间找到一个平衡点。例如Ge研究了推荐场景中公平-效用的平衡关系,并提出了一个基于多目标强化学习的公平感知推荐框架,该框架能够在公平和效用之间的所有可能偏好空间上学习最优推荐策略的单个参数表示。
后处理方法通常旨在对已经生成的推荐列表进行重新排序,或者根据一些特定的约束创建一个新的推荐列表。这类方法是减轻偏见的最常用方法,因为它们可以很容易地应用于任何推荐算法的输出上。
公平评估侧重于回答一个更基本的问题:什么是导致模型不公平的原因?人工智能领域已经有一些开创性的工作,试图推导出模型公平性的解释。例如,Begley利用Shapley值将特征贡献归因于模型差异,从而产生解释[8]。他提出的方法估计来自输入特征的个体贡献的总和,从而理解哪个特征对模型差异贡献最大。虽然这种方法可以解释模型间的差异,但由于推荐系统中的商品/用户特征空间较大,不适用于推荐系统。为了解决这个问题,Ge设计了一个基于学习的反事实推理方法来发现显著影响公平-效用平衡的关键特征,并将它们用作黑盒特征感知推荐系统的公平解释。
随着数字经济在国内迅速发展,越来越多的内容创作者在互联网上提供了越来越多的在线商品,用户对商品的个性化需求也日益膨胀,推荐系统在在线平台上的作用也日趋重要。能否向用户和商家提供公平的推荐内容和推荐机会,将是在线平台长期生存下去留住用户和商家的重要因素。本文遵循系统和结构化的方法来简述了公平性问题的各个方面和方法。首先归纳了推荐系统场景下公平性问题产生的来源,从不同视角阐述了公平性的定义,总结了解决公平性问题的模型方法,并提出了目前存在的问题和未来的可能研究方向。希望相关内容能够为研究人员在该领域的尝试提供帮助。
到目前为止,研究人员已经意识到了在推荐系统中改善公平性的重要意义,并且开始了相关研究的探索。但是,相关领域的研究仍然相对有限,许多重要的问题仍需解决。
首先,在公平性研究领域最大的问题就是没有一个通用的公平性定义。如上文所述,在不同的场景下,公平性考虑的视角相差很大,对公平性的定义也就不统一,甚至有些定义是不能同时满足的。
其次,缺乏支撑公平性研究的数据。公平性研究目前遇到的一个重要挑战就是缺乏数据的支持,现有数据十分有限。大部分实验数据都是通过研究人员独立获得的,收集更多通用数据将可以发现更多的偏见类型和内在规律。
然后,公平约束的长期影响。尽管一些现有的研究表明,某些公平性和效用指标可能在短期内相互平衡,但推荐中公平性的好处应该在动态和长期的背景下考虑。这是因为从长远来看,如果使用者和生产者感到他们受到该系统的公平对待,他们对该系统的留存、兴趣、信任和参与将会增加,这反过来有助于在该平台上创造和培育一个可持续的经济生态系统。
推荐系统涉及用户、内容创作者和商品三类群体,需要兼顾考虑的问题涉及很多。在信息化、智能控制高度发展的今天,工业界系统中为解决公平性问题,需要考虑以下几个方面:①需要构建一个可控的公平系统。推荐系统的精准性、多样性、新颖性、公平性等指标在理论上被证明是不可能同时满足最优的。同时,多种类型的公平性也无法同时满足。为了能够在现实中的系统上应用公平性研究成果,需要构建一个可控的公平系统,使得用户和生产者可以选择他们最关心的公平类型和性能指标,以此满足不同群体的使用需求,实现千人千面。②除了考虑改进个性化推荐算法模型,还需要融合经济学和社会科学的理论和知识,例如经济学的帕累托优化方法、边际效益、最低工资、嫉妒公平等理论、社会学的基尼系数、垄断指数等[5]。文献[2]从帕累托视角出发,通过曝光的负采样策略在一定程度上平衡了用户和物品的双重公平性,并且提高了系统准确率。③需要了解现实系统中不同利益相关者的各种公平要求之间的差异和关系,以及将面向开发者的知识转化为面向用户的,从而直接造福于用户也是非常重要的一面。工业界公平性模型的应用大致可以分为两类,面向用户的和面向开发人员的。面向用户的应用侧重于向真实用户提供公平性推荐结果,从而直接影响用户的服务,而面向开发者的应用主要是帮助开发者了解系统的不公平性。例如,LinkedIn是一个面向用户应用的典型例子,他们开发了一个大规模应用框架,以确保照片领域的公平性,在人才搜索的时候实现候选人排名中的机会均等和人口平等等公平标准。TikTok的视频推荐也是一个面向用户的应用[5],他们在视频推荐中确保非知名博主的新作品与网红明显的视频一样有机会被广大用户所看到。Amazon SageMaker Clarify则是一个面向开发者的应用,它为开发者提供了可解释工具包并部署在AWS云上。基于这些工具包,世界各地的开发者可以容易地检测自己的数据和模型是否存在偏差,以及他们的结构是否公平。