嘿,记得给“机器学习与推荐算法”添加星标
推荐系统,对于我们来说并不陌生,它已经无时无刻不方便着我们的生活、学习、工作等方方面面,并且已经成为许多社交/购物/新闻平台中必不可少的组件。近些年来学术界以及工业界的研究者们已经对其进行了大量研究并提出了许多经典有效的推荐模型,比如UserCF、ItemCF、MF、FM、BPR、Item2vec、NCF、DIN等等,更多推荐模型介绍可参考[一文尽览推荐系统模型演变史]。
另外,根据推荐场景的具体情况,分为了基于显式反馈数据的评分预测任务以及基于隐式反馈数据的个性化排序任务、下一个项目推荐任务以及会话推荐任务等。并且基于现实世界中出现的场景与问题,提出了一系列的子研究方向,比如冷启动推荐、可解释性推荐、跨域推荐、序列推荐、社交推荐等,更多研究方向可参考[带你认识推荐系统全貌的论文清单]。

然而,上述场景需要收集大量的用户行为记录以及用户私有属性信息,虽然使得模型能够掌握用户的行为模式,但也不可避免的造成了用户敏感信息以及隐私问题的担忧。随着近年来大数据技术的发展以及用户终端的普及,对于用户数据的收集越来越简单,以及收集的用户数据数量与日俱增,因此用户对于隐私问题的担忧越来越大。
并且最近国家互联网信息办公室开始公开征求《互联网信息服务算法推荐管理规定》的征求意见,都说明了大家对于数据隐私与安全的重视程度,因此如何在为用户提供高效的推荐服务的同时,能够为用户的数据以及隐私提供安全的保障成为了近年来的研究热点。

其实,对于推荐算法关于隐私和安全问题的研究早已开始。早在推荐算法被提出来的初期,就一直有关于基于隐私保护的推荐系统的研究。比如,正如我们所熟知的Netflix大赛把研究人员关于推荐系统的研究热情带到了高点,但后来却因开放出来的数据集导致用户隐私泄露而叫停。
而攻击的方法也很简单,文献[Arvind et al. 2008]通过将释放出的Netflix数据集与IMDb数据集进行关联就挖掘出了一部分用户的敏感信息。因此后续对于数据的隐私保护方法在推荐中进行了大量尝试,比如匿名化、差分隐私、本地化的差分隐私、同态加密算法、安全多方计算等与推荐方法的结合;以及机器学习思想在推荐中的尝试,比如对抗机器学习、对抗样本生成等,都在一定程度上保护了用户的隐私和安全[利用对抗技术来权衡推荐精度与用户隐私]。

然而,上述保护隐私的场景都是考虑在集中收集用户的个人数据并且上传到受信的中心服务器来进行存储与训练模型的方式进行的。显然,这样的模式会在个人数据传输过程中以及在服务器存储环节中出现隐私泄露以及安全问题。因此基于联邦学习范式的推荐算法登上了历史舞台。

联邦学习,即通过将用户数据保存在本地,然后利用本地数据训练本地模型,然后在服务端协同多个本地模型进行优化,进而聚合多个本地模型的中间参数来得到服务端全局较优的模型,最终下发到每个终端设备上。因此联邦学习实现了模型出域,用户的本地数据不出域的目的,最终达到保护用户原始数据以及隐私的需求。早期比较经典的联邦学习算法为FedAvg,其根据联邦学习的训练过程,大致分为4个部分,即:
本地数据收集与模型初始化;
本地模型训练并上传参数;
服务器聚合本地参数进行全局更新;
更新本地模型。

当然,根据用户的重叠程度、特征的重叠程度等,可以细分为横向联邦学习、纵向联邦学习、迁移联邦学习等(本文中大部分的介绍是基于横向的联邦学习)。根据以上步骤,研究者针对其中涉及到的每个部分进行了更进一步的研究,比如:
如何更好的研究符合实际场景的本地数据(Non-IID数据);
如何挑选有代表性的本地模型参与训练;
如何在服务端进行更加有效的参数聚合;
如何用尽可能少量的交互而达到最优效果;
如何在参数上传下载过程中进行安全与隐私保护等。
最近也有一些研究将联邦学习与表示学习以及自监督学习进行结合的文章,旨在更好的在联邦优化过程中学习更优的特征表示。
推荐算法为了保护用户隐私的需求,很容易迁移到联邦学习范式的场景中,即每个用户表示一个客户端,用户所产生的个人行为(比如浏览历史、点赞收藏历史等)保存在本地,通过与中心服务器进行协同优化,最终达到在本地模型进行预测推理的功能。
首个基于联邦学习范式的推荐框架
Federated Collaborative Filtering for Privacy-Preserving Personalized Recommendation System. arxiv, 2019.
比较经典的联邦推荐系统是19年华为提出的FCF,它是第一个基于联邦学习范式的隐式反馈协同过滤框架。

通过在本地利用个人数据更新自己的用户隐向量 ,以及计算本地的物品隐向量梯度 并上传到中心服务器,其中 表示第