博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于分解对抗学习的公平新闻推荐
阅读量:2242 次
发布时间:2019-05-09

本文共 5880 字,大约阅读时间需要 19 分钟。

点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

新闻推荐对于在线新闻服务很重要。现有的新闻推荐模型通常是从用户的新闻点击行为学习的。通常,具有相同敏感属性(如性别)的用户的行为具有相似的模式,新闻推荐模型很可能会捕捉这些模式。这可能导致推荐结果中存在与敏感用户属性有关的一些偏见,例如始终向男性用户推荐体育新闻。这使得用户可能难以收到多样化的新闻信息,存在不公平性。

在本文中,我们提出了一种基于分解对抗学习和正交正则化的公平新闻推荐方法,可以缓解敏感用户属性所带来的新闻推荐中的不公平现象。在我们的方法中,我们提出将用户兴趣模型分解为两个部分。一个部分用于学习一个偏差感知的用户向量,另一部分用于挖掘与敏感属性无关的用户兴趣信息,以学习一个消除偏差的用户向量。此外,我们提出用一个属性预测任务作用于偏差感知的用户向量,以增强其偏差建模的能力,并且我们将对抗学习应用于消除偏差的用户向量,以减少其中的偏差信息。此外,我们提出一种正交性正则化方法,使得消除偏差的用户向量与偏差感知的用户向量正交,以更好地区分二者。在进行公平新闻推荐的时候,我们仅使用消除偏差的用户向量进行新闻排序。在基准数据集上进行的大量实验表明,我们的方法可以用较小的性能代价,有效地提高新闻推荐的公平性。

 

武楚涵:清华大学电子工程系博士生,主要研究方向为自然语言处理,用户建模和推荐系统,目前已在ACL、IJCAI、KDD、AAAI、EMNLP、WSDM、NAACL和CIKM等学术会议上发表或录用论文若干。

一、背景

近年来,新闻平台给用户提供了便利的在线阅读新闻系统,但是每日数以千计的新闻产生使得用户面临着信息过载。那么个性化的新闻推荐系统对于平台则非常重要,它可以帮助减轻用户的信息过载,同时提升用户的新闻阅读体验。

 

已有的推荐方法主要是依赖用户的新闻点击行为进行用户建模,从而进行后续的新闻推荐的。比如DKN方法中,它首先学习新闻表示,再根据候选新闻以及点击新闻的相似度计算注意力权重,得到用户表示,最后进行个性化的新闻匹配。

 

这些方法都是基于用户的点击行为进行用户兴趣建模,但是实际上这些方法都面临着一些潜在的不公平性。由于用户具有一些相似或相同的敏感属性,比如性别或者种族等等。这些用户在新闻的点击浏览行为中,会有一些相似的模式,比如一个男性用户可能偏好体育新闻,女性用户可能偏好时尚新闻等等。模型也会发现这些与敏感属性相关的偏差,并且编码到推荐结果中,使得推荐结果被这种偏差严重影响,带来了一些潜在的不公平性。比如上图的推荐系统,模型只把时尚相关的新闻推荐给女性,只把NBA相关的新闻推荐给男性,而同时对两种类型新闻感兴趣的男性和女性可能难以接触到这种差异化的新闻信息,这也导致了新闻推荐系统中潜在的不公平性。

公平性问题在推荐系统领域近年来被广泛的研究,在公平性感知的推荐方法里面,主要研究的问题可以分为两个方面。

  • 一方面是商品侧公平性,例如研究来自不同提供者的商品,会有比较公平的被推荐机会。

  • 另一方面是用户属性的公平性,例如研究对具有不同敏感属性的用户,推荐在某种意义上相似的结果。

我们的工作同样关注用户公平性。目前已有的研究主要分为:基于规则移除用户表示中含有敏感属性的子空间,并且对模型进行正则化等,这些方法主要研究通过预测得到的商品评分去推导公平性的评测指标。例如,具有不同属性的用户模型对他们有相似的评分预测误差。这些方法实现的是较为粗粒度的公平性,因为总体评分误差的公平不能代表实际推荐结果是公平的,有可能出现误差相同但是结果有很大差异的情况。

 

另一方面,在机器学习领域,公平性也获得广泛的研究,对抗学习其实是机器学习领域常用于从一个深度表示中移除某种敏感属性的方法。其通过预测敏感属性来传递一个负梯度,进而使得模型能够骗过鉴别器,使得敏感属性的信息不断减少。但实际上这些方法存在一些问题。假设模型骗过鉴别器,并产生与鉴别器空间正交的表示。但是鉴别器本身的空间与这个敏感属性的空间并不是重合的,那么模型产生的表示与鉴别器的判别空间正交,还是会存在敏感属性空间的投影,导致敏感属性信息不能被充分的移除。

二、解决方案

首先我们对研究问题的定义进行阐述。新闻推荐包含若干要素。对于一个目标用户u,其具有一个敏感属性z(如性别)。该用户有一系列点击的新闻和候选新闻。模型的目标是预测候选新闻的点击分数,进行个性化排序。而推荐的不公平性可以定义为从用户的top k的推荐结果中预测敏感属性z的能力,预测能力越强则推荐结果越不公平,因为这说明推荐结果受敏感属性z影响越严重。

 

我们的方法称为FairRec,其核心为分解对抗学习。现有的方法是用一个深度表示同时承担对抗学习和预测任务,但是这两个任务可能会有冲突。具体在新闻推荐场景中就是推荐任务阻碍了敏感属性的移除,敏感属性的移除又阻碍了推荐任务。既然单一的深度表示不能很好地解决这个矛盾,我们则将这个模型分解为两个模型,一个用于建模敏感信息,学习bias-aware 用户embedding;另一个学习与bias无关的用户兴趣表示,即bias-free 的用户embedding。

 

我们将bias-aware和bias-free的用户embedding相加得到统一的用户 embedding,其包含了完整的从点击浏览历史里推测出的用户兴趣信息,以及其他的bias信息,统一用于新闻推荐的训练。这样在训练之中由于两种embedding各司其职,不会导致冲突。而在测试过程中,我们只使用bias-free的用户embedding计算fairness-aware的新闻推荐分数,进行排序。

 

但是只把两个模型进行分解是不能达到理想的目标的,因为这两个模型是对称的,没有特别用于区分二者的信号。因此,我们将一个属性预测任务用于bias-aware 用户embedding,通过优化损失函数LG,使得该用户embedding能够包含更多偏差相关的信息。

 

但是,bias-free 用户embedding依然会包含一些偏差的信息。所以我们将对抗学习的损失函数用于bias-free 用户embedding,通过梯度反传,使得负梯度逐渐移除bias-free用户embedding中含有的偏差信息。

 

但是鉴别器与真实的敏感属性空间具有一定的差别,这导致了仅使用对抗训练的策略并不能很有效的移除bias-free 用户embedding中偏差信息。于是我们提出一种正交性正则化损失函数,它将bias-free用户embedding和bias-aware用户embedding的cosine夹角,变成一个正则化损失函数,使得二者逐渐正交,因为bias-aware用户embedding主要包含偏差相关的信息,bias-free用户embedding会迫使包含尽量少的偏差相关的信息。在训练过程中二者几乎可以做到正交了,余弦相似度小于0.01,这说明二者其实相似度足够低,偏差信息被有效的移除。

 

最后模型的训练损失函数是4个损失函数的加权相加,即推荐损失以及剩下3个损失函数,分别用λG,λD和λA对其进行加权,来控制它们的相对权重,然后对统一的损失函数进行优化。

三、实验结果

模型的实验部分中数据集是MSN新闻数据的点击log,然后其中包含了1万个用户,并且将性别作为一个敏感属性。该数据集中的4000多位用户提供了性别标签,其中有2000多位男性用户,1000多位女性用户。我们将三个损失函数的权重全部设为0.5。为了评测性能,我们采用的是AUC、MRR、nDCG等常用评测排序性能的指标。对于评测公平性,我们提出一种基于推荐结果反映公平性的衡量方法。我们通过Top K的排序结果去预测敏感属性的精确度与Macro-F score来指示推荐结果的公平性,其预测的准确度越高就说明越不公平,准确度越低,越接近随机预测说明公平性越好。

 

我们首先对比了不同模型的推荐公平性。第一组是现有的新闻推荐方法,第二组是公平性相关的方法,MR是通过额外的正则化约束,使得不同用户组之间的推荐结果相似。AL是对抗学习,它通过对抗学习使得用户表中尽可能减少偏差信息。ALGP是标准的对抗学习的一个变种,其使得新闻推荐任务不去影响对抗学习任务。FairRec是我们所提出的方法,random则是进行随机排序,因为随机排序不包含任何性别相关的信息的。对比第一组结果,已有的一些推荐方法都存在比较明显的不公平潜在问题,例如Top10的预测结果达到了0.7左右。这说明我们能够较准确的从推荐结果中预测用户性别,说明推荐结果受性别属性影响比较严重,存在一定的不公平性。第二种方法可以在一定程度上降低推测性别属性的能力,这说明它们可以在一定程度上改进模型推荐的公平性,但是离随机推荐还有较大的差距,即意味着还存在较大的不公平性。我们的方法可以取得与随机推荐非常接近的公平性性能,这说明我们的方法在用户公平性方面取得很好的效果。

 

同时以第一组结果对比推荐性能,可以看到的,我们的方法取得与已有的推荐方法相当甚至更好的推荐性能,这也说明我们的方法可以在很小的性能的损失代价下,有效地提升推荐公平性。

 

接下来我们对模型开展了进一步的分析研究。我们分别从FairRec中移除对抗学习,正交性正则化以及额外的属性预测任务去检测公平性是否有所恶化。当属性预测任务被移除时,模型的公平性恶化最大,这说明没有额外的属性预测任务,bias-aware用户embedding缺乏建模偏差相关信息的能力,这使得它会影响到后面的正交性正则化以及对抗学习任务,使得模型的公平性较差。去掉正交性正则化之后模型公平性恶化也比较严重,这说明对抗学习即便可以通过负梯度去移除偏差相关的信息,但是因为鉴别器本身的预测能力有限,模型只需骗过鉴别器后就不需要优化损失,导致敏感信息不能被有效的移除。移除对抗学习之后,模型性能会有一定的恶化,这是因为对抗学习本身具有一定的纯化bias-free用户embedding的能力。将这三种技术做统一组合,可以看到FairRec可以获得良好的模型推荐公平性。

 

之后对模型进行超参数分析。模型中有三个超参数,我们首先固定两个,对一个进行搜索。我们将λD和λA固定为0,搜索属性预测的损失函数的权重λG。可以看到随着λG不断增加,公平性的结果是在不断提升,但是同时新闻推荐的结果在大于0.5之后下降非常快,因此选择λG为0.5,使得公平性尽量好,同时新闻推荐性能下降在可接受范围。

 

然后我们固定λG等于0.5, λA等于0,选择正交性正则化的权重λD。可以看到随着λD不断增加,公平性很快改进,然后逐渐趋于平缓,但是模型的推荐性能开始下降比较缓慢,然后逐渐快。所以我们选择0.5,使得推荐性能下降不多,而模型公平性较好。

 

最后固定λG,λD为0.5,搜索对抗学习的损失权重λA。可以看到λA刚开始增加,公平性不断的在改善,跨过0.5之后公平性开始慢慢恶化,同时推荐性能在λA是0.4的时候比较差,后面反而有一定的改善。这也就说明λA太小的时候偏差不能够充分消除,λA太大的时候使得偏差信息被反向编码到bias-free用户embedding中,导致原本预测男性1,女性0,变成预测男性0,女性1。因此λA应该选择比较适中(如0.5)。我们为了避免过于复杂的参数选择,简单地选择这三个参数都是0.5,使得模型的性能以及它的推荐的公平性均较为满意。

 

最后我们进行了案例研究,这里面展示了一个男性用户和一个女性用户的点击新闻以及候选新闻,FairRec给出的点击分数以及基线方法NRMS给出的点击分数。对于第一个用户而言,从他的第三个点击新闻可以推测该用户可能对时尚相关的新闻有潜在兴趣,但基线模型NRMS可能觉得这类新闻女性偏好的更多,于是对第二个点击新闻没有赋予很高的权重。同理,对例子中的女性用户,我们可以从其第一个点击新闻推测其对体育新闻的兴趣,但是NRMS可能认为女性对体育新闻偏好较少,所以候选新闻中体育新闻的排序分数是较低。与基线方法不同,我们的方法可以有效地捕捉男女用户的兴趣,并且可以比较全面地推荐用户感兴趣的新闻,这说明我们的方法具有更好的公平性。

四、总结

最后对我们的方法进行总结,我们提出了一种就公平性感知的新闻推荐方法。该方法的核心是分解对抗学习。我们的模型主要目的是学习一个bias-free 的用户embedding,主要编码与偏差信息无关的用户兴趣信息。而模型采用了带权重的四个损失函数,包括来自主要的推荐任务的损失函数,一个额外的敏感属性预测的损失函数,一个对抗学习的损失函数,以及一个正交性正则化的损失函数。通过联合优化这四个不同的损失函数,我们的方法就可以实现学习bias-free的用户embedding。最后我们的结果也可以取得与已有方法具有竞争力的推荐精确度,同时可以大幅的改善新闻推荐的公平性。

未来研究中,我们也会进一步探索如何提升item侧的公平性,如来自不同发布者的新闻,提升它们被推荐机会的公平性。我们也希望继续研究如何将user侧和item侧二者同时提升公平性,使得新闻推荐系统的公平性能够进一步得到改善。

相关资料

论文标题:

FairRec: Fairness-aware News Recommendation with Decomposed Adversarial Learning

论文链接:

https://arxiv.org/pdf/2006.16742v1.pdf

整理:闫   昊

审稿:武楚涵

排版:岳白雪

AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你!

请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

更多资讯请扫码关注

 

(直播回放:https://www.bilibili.com/video/BV1r64y1D74h?share_source=copy_web)

(点击“阅读原文”下载本次报告ppt)

转载地址:http://xzwdb.baihongyu.com/

你可能感兴趣的文章
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>
Chrome开发者工具
查看>>
【LEETCODE】102-Binary Tree Level Order Traversal
查看>>
【LEETCODE】106-Construct Binary Tree from Inorder and Postorder Traversal
查看>>
【LEETCODE】202-Happy Number
查看>>
和机器学习和计算机视觉相关的数学
查看>>
十个值得一试的开源深度学习框架
查看>>
【LEETCODE】240-Search a 2D Matrix II
查看>>
【LEETCODE】53-Maximum Subarray
查看>>
【LEETCODE】215-Kth Largest Element in an Array
查看>>
【LEETCODE】312-Burst Balloons
查看>>
【LEETCODE】232-Implement Queue using Stacks
查看>>
【LEETCODE】225-Implement Stack using Queues
查看>>
【LEETCODE】155-Min Stack
查看>>
【LEETCODE】20-Valid Parentheses
查看>>
【LEETCODE】290-Word Pattern
查看>>