关于我对推荐系统与联邦推荐的一些想法


如今,我正式学习推荐系统方面的知识已经有半年了,看了有三十多篇论文,对推荐系统有一个大致的了解,在今年4月份的时候,尝试学习一些联邦学习+推荐系统方面的知识,也算是对联邦推荐有了一个初步认识,在这里我梳理一下这两个方向的研究趋势以及自己的想法。

推荐系统

推荐系统是解决当今数据爆炸问题的一个有效方法,它就像一个过滤器,可以帮用户过滤掉很多用户不感兴趣的内容,比如说在一个电商平台上,对于大部分男性用户对于化妆品是不感兴趣的,推荐系统就大概率不会向他们推荐化妆品。我相信如今大部分人都在使用着推荐系统,例如淘宝首页的推荐商品,知乎首页的推荐问题等等。搜索和推荐系统作用很像,它也是帮助用户获取其感兴趣的内容,但是搜索适用的场景是用户有明确的意向去找某些内容,比如说我想买一箱牛奶,我可以在淘宝中直接搜索牛奶,或者是更细粒度的,某种品牌某种类型的牛奶,这是主动且明确的。推荐系统适用于我需求不那么明确,而且这个是被动的。
推荐系统也细分很多研究方向:

  • 序列推荐:通过用户的行为序列挖掘用户的表示,常见的序列是依据时间排序的序列。直接使用整体数据对用户进行建模可能会遗漏用户的序列行为信息,而序列推荐则旨在显式地建模用户的序列行为,提升推荐系统的效果。会话推荐我认为也算是一种序列推荐,只不过会话推荐的序列更短,更注重用户的短期偏好。
  • 基于图的推荐:基于图神经网络的推荐,图神经网络可以获取高阶邻居的信息,可以提升模型效果。
  • 可解释推荐:可解释推荐系统不仅给出推荐结果,还给出了推荐理由。
  • 因果推荐:最近非常热的一个研究方向,将因果推断加入到推荐系统中。因果推断简单来说是在一种现象已经发生的情况下,推出因果关系结论的过程。它可以揭示变量之间的因果关系,发现现象背后的深层原因,也可以估计定量的因果效应,分析当原因改变时结果变量的响应,以帮助人们更科学的做决策干预,例如:吸烟是否致癌?一种药物会使得病人生存期延长多少?
  • 推荐系统中的偏差:推荐系统中存在曝光度偏差,物品流行度偏差等等,这个方向主要研究如何消除偏差或者利用这些偏差进行更好地推荐。
  • 推荐系统的公平性:主要是用户公平性和物品公平性。举个例子,比如说一个新闻app中喜欢体育的用户较多,可能整体推荐系统都更偏向向所有用户推荐体育类新闻,这个推荐系统的性能对于喜欢体育新闻的用户和不喜欢体育新闻的用户就是不公平的。这个方向主要研究的是如何尽可能保证推荐系统的公平性。
  • 多任务推荐:推荐系统中,我们通常有多个目标(例如我们希望物品的点击率和转化率都要高),如果只是单纯的集中于优化某一个目标,往往会导致其他被忽略的目标变差。多任务学习通过共享目标之间的表征,优化多个任务的目标,从而改善多个任务的模型性能。
  • 强化学习推荐:强化学习模型能够进行“在线学习“,不断利用新学到的知识更新自己,以及及时做出调整和反馈,有了更多实时性的优势,这也是将强化学习应用于推荐系统的收益所在。
  • 冷启动:新用户、新内容对推荐系统来说都是没有过往信息积累的、陌生的,需要通过一定的曝光量和互动量来收集基础数据。这个过程就是冷启动,冷启动对于新用户的留存是至关重要的。
  • 此外还有新闻推荐、对话推荐系统、POI推荐、基于知识图谱的推荐等等,上述的研究方向有的是按照技术划分的,有的是按照应用场景划分的,划分规则也不一样,同时一篇论文也可能涉及到多个研究方向,方向划分可以参考这篇文章,这里面我认为划分的是比较详细的SIGIR2022 推荐系统相关论文。

接下来看一下AI和DM领域的部分顶会中推荐系统的论文方向,以下数据参考他人博客或文章,某些论文可能同时划分在多个方向内。部分数据是由我个人统计,可能不够准确。

会议/期刊名称 时间 各个方向论文数量 参考来源
WWW 2022 时序推荐13篇、基于图的推荐9篇、可解释推荐7篇、推荐系统中的bias 5篇、因果相关4篇、公平性和隐私保护4、强化学习3篇、冷启动3篇、基于自编码机3篇、跨领域2篇、多任务2篇、对比学习3篇、计算广告6篇、延迟反馈2篇、新闻推荐2篇、其他12篇 WWW2022推荐系统、计算广告论文汇总
SIGIR 2022 CTR预估14篇、协同过滤6篇、序列/会话推荐23篇、POI推荐5篇、跨领域/多行为推荐5篇、知识感知5篇、新闻推荐5篇、图神经网络推荐8篇、强化学习推荐7篇、对比学习推荐11篇、自动化学习推荐3篇、推荐系统的bias 6篇、可解释推荐3篇、长尾/冷启动4篇、推荐系统的公平性6篇、推荐系统的多样性3篇、推荐系统中的攻击/去噪4篇、其他若干篇 SIGIR 2022 推荐系统相关论文分类整理
KDD 2021 计算广告9篇、推荐系统的bias 5篇、多任务/多行为/跨领域4篇、图神经网络推荐2篇、推荐系统可解释性3篇、冷启动3篇、序列推荐3篇、POI推荐1篇、模型蒸馏1篇、推荐系统攻击3篇、推荐系统中的embedding4篇、其他若干篇 KDD2021推荐系统,计算广告论文汇总
ICDE 2022 推荐系统的可解释性1篇、新闻推荐1篇、自编码器1篇、计算广告1篇、在线推荐1篇、推荐系统的embedding 1篇、图神经网络推荐3篇、序列/会话推荐3篇、对比学习1篇、POI推荐2篇、CTR预估2篇、冷启动2篇、跨域推荐1篇、联邦推荐1篇、其他若干篇 ICDE 2022 搜索,广告,推荐系统论文速览
AAAI 2022 图神经网络推荐2篇、元学习2篇、冷启动及探索策略5篇、强化学习2篇、自适应学习4篇、序列推荐1篇 AAAI 2022 推荐系统论文集锦[持续更新]
IJCAI 2022 重排序技术1篇、因果推断1篇、推荐系统的bias 2篇、联邦推荐1篇、序列推荐2篇、对比学习1篇、基于图的推荐2篇、POI推荐2篇、其他若干篇 IJCAI2022推荐系统论文集锦
WSDM 2022 跨域推荐3篇、序列推荐4篇、CTR预估3篇、去偏推荐3篇、路径推荐1篇、联邦推荐1篇、基于图结构的推荐4篇、公平性推荐1篇、基于对比学习的推荐2篇、基于元学习的推荐1篇、基于对抗学习的推荐1篇、基于强化学习的推荐3篇、其他若干篇 WSDM2022推荐系统论文集锦
CIKM 2021 CTR预估10篇、协同过滤6篇、序列/会话推荐12篇、知识感知推荐3篇、社交网络推荐1篇、新闻推荐3篇、对话推荐2篇、跨域推荐3篇、POI推荐3篇、在线推荐1篇、群组推荐2篇、去偏推荐3篇、推荐系统的公平性1篇、可解释推荐系统5篇、冷启动3篇、排序1篇、图神经网络2篇、对比学习2篇、强化学习1篇、变分自编码器1篇 CIKM 2021 推荐系统论文导读

从上述数据来看,序列推荐、可解释推荐、CTR预估非常热门,技术上来讲图神经网络、因果推断及对比学习用的非常多。

联邦推荐

联邦推荐就是联邦学习+推荐系统。联邦学习是由谷歌在2016年提出,最初是为了用于训练谷歌的输入法gboard预测输入模型。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现AI协作。而由于目前用户隐私保护意识提高及世界上多个国家颁布相关隐私数据保护的法律法规,联邦学习成为一种热门的学习模型的方式。
联邦推荐最常见的结构是一个服务器端和多个用户端的结构,用户端保存着源数据,在训练过程中保证用户源数据不离开本地设备。服务器端保存着物品的embedding,每个客户端保存着自身的embedding,其训练大致流程是首先服务器端把物品embedding发送给采样到的客户端,客户端进行本地训练更新自身embedding,并把更新后的物品embedding上传至服务器,待服务器收集齐客户端传来的物品embedding后进行一个聚合,之后重复该过程直至到达最大迭代次数或收敛。
联邦学习和推荐系统的结合也有很多人做了相关的研究

方法 具体算法
协同过滤 FCF、FedRec、FederatedMF、FedMF、SharedMF、FPL、FedRecSys等
深度学习 JointRec、SFSL、FedFast、FL-MV-DSSM、DeepRec、FedGNN等
元学习 SEFR、MetaMF、Fed4Rec等

目前的联邦推荐大部分还都是把已有的推荐模型联邦化。

关于推荐系统的一些想法

推荐系统是非常重要的,我认为它已经成为大部分人不可或缺的一个工具。面对互联网上的海量信息,我们很难去寻找到我们所感兴趣的内容,而推荐系统就像一个过滤器,帮我们过滤掉大部分我们不感兴趣的内容。我们手机上常用的app,包括很多网页都用到了推荐系统。大多数互联网公司都需要用到推荐系统,同时推荐系统也是落地比较成功的一种技术。总而言之,我认为推荐系统的用处非常广,相对应的工作岗位也比较多,发展前景还是比较不错的。但是推荐系统也存在一些问题,比如说学术界和工业界差别较大,目前我读的论文包括做的一些实验数据集都比较小,而且大多都是离线的算法,实际工业界所用的算法和学术界前沿的算法有较大差异,同时学术界所研究的一些问题和工业界实际遇到的问题并不一定都相同。我现在接触的知识大部分都来自学术界,很难接触到工业界的推荐系统,除非去公司里工作才能通过真实的产品与用户发现真正值得研究的问题。推荐系统中的指标也都是人为设定的,也有可能会出现虽然指标提高,但是公司效益并没有提高,指标与实际情况并没有同时变好。还有一点,推荐系统的性能可能并不是稳定增长,经常会出现这种情况:一年时间就可以做出一个80分的推荐系统,但是想把这个推荐系统提到85分可能需要几年,或者更长时间。尽管目前网络舆论上大多都不看好推荐系统的发展,但是就目前就业情景来看,推荐系统还是值得入的一个方向。

关于联邦推荐的一些想法

联邦推荐相对于普通推荐系统的优势在于它可以更好的保护用户隐私,通常我们认为一个用户就是一个客户端,客户端保存着源数据及用户的embedding。初次接触联邦推荐时,我觉得它是一个非常新的研究方向,而且很有前景。但是当我看了一些论文,做过一些实验后,我认为它并没有论文中说的那么好,也可能是我学的不够深入,没有体会到联邦推荐的优势。下面我就简单来谈一下为什么我觉得联邦学习和推荐系统并不能很好的组合在一起,以下只是我个人的一些看法,可能会存在很多错误。
1.许多联邦学习论文中的方法很难拓展到联邦推荐中。联邦学习论文中的实验通常是计算机视觉中的任务,例如mnist数字识别、cifar图片分类(2021年INFOCOM13篇与联邦学习有关的论文中,有11篇论文的实验是mnist数字识别、cifar图片分类)。这些实验通常是服务器存储着模型所有参数,客户端只提供数据,没有专属于本地的参数,这就和通常的联邦推荐场景(联邦推荐通常客户端本地存着自身的embedding)不一样,很多论文中提出的联邦学习方法并不能很好地应用在联邦推荐中。
2.隐私与性能问题。联邦推荐通常要把所有物品的embedding发送给客户端进行本地更新,但是由于用户通常只与少量物品有交互,发送的大部分的物品的embedding没有参与计算,但是由于客户端不知道用户的交互物品序列,通常的做法是发送全体物品,这就造成了一种资源浪费。如果服务器知道用户交互物品,就能只发送用户有交互的那些物品的embedding,但是这会破坏用户隐私;如果只发送一部分物品,这会导致用户端本就少量的交互信息只剩下更少的可以使用,影响了模型性能;如果发送全部物品,大部分物品的embedding没有参与计算,浪费通信资源。隐私、性能与资源利用率很难兼得。
3.客户端数量。联邦学习通常客户端只有几个或者几十个,而联邦推荐中通常一个用户是一个客户端,可以达到上万个(工业级数据上百万或千万都是有可能的),这就可能造成通信上的很多问题(我对网络传输这方面不太了解,只是我的猜测)。
4.隐私暴露问题。联邦推荐相对于其他联邦学习任务更容易暴露用户隐私。联邦推荐通常是转导式学习,是一个特殊到特殊的映射,如果不对客户端上传至服务器的梯度做处理,很容易从上传的梯度反推出客户端交互的物品。通常是通过加入虚拟采样交互物品来混淆实际交互的物品和虚拟交互物品(还有差分隐私技术),但是这种方法会影响模型的性能。
另外我所读的联邦推荐的论文有一些算是开创性的方法,有较大的参考意义,但是很多都是牺牲了隐私换取模型性能,亦或是减轻客户端计算负担,这是否违背了联邦学习的初衷?

未来学习研究打算

我大致统计了一下我所看过的推荐系统论文,其中有协同过滤5篇,基于图的推荐6篇,CTR预估2篇,基于知识图谱的推荐1篇,对比学习4篇,因果推断1篇,序列推荐5篇,冷启动4篇,联邦推荐8篇。之前我是打算学习联邦推荐系统的知识,但由于这个方向资料少(上述的8个会议中的论文只有三篇联邦推荐相关的,都是联邦推荐投毒攻击),而且联邦学习和推荐系统我觉得这并不是一个非常好的组合,所以之后我打算着重学习其他方向。目前打算学习的方向是基于图的推荐和冷启动,基于图的推荐目前比较热门,有很多相关论文,而且国内一些推荐系统方向的大佬都在研究,同时基于图的推荐落地也比较实际,已经有不少公司在使用;冷启动问题是每个推荐系统都需要面对的,解决冷启动问题可以提高新用户的留存率,目前最热门的解决方法是利用元学习的相关知识。目前也有一些研究是将两个方向结合起来,即基于图推荐系统的冷启动。我希望未来自己能从事推荐或广告相关的工作,切身体会真实的推荐系统。

相关