[TOIS 2022] A Generic Federated Recommendation Framework via Fake Marks and Secret Sharing

源码

引言

当你打开淘宝,发现首页上每一件商品都是心头所好,你是否感到疑问?当你播放音乐,发现每日推荐里每一首歌都悦耳动听,你是否感到困惑?当你打开抖音,发现每一条视频都妙趣横生,你是否感到惊奇?

这背后其实是推荐系统在发挥作用,它为你在信息爆炸的时代守护一方乐园,让你喜欢的靠近,让你不喜的远离。

但是,推荐系统为你带来便利的同时,也带走了你的隐私。为了猜得准你喜欢的,它不得不知道你的性别、年龄、地理位置,还有以往的历史记录。

2016年,欧盟颁布了《通用数据保护条例》(GDPR),禁止商业公司在未经允许的情况下收集、处理或交换用户的数据。显然,大多数推荐算法都不符合这些隐私保护相关的法律法规。没有用户数据,基于机器学习的推荐算法很难为用户提供满意的推荐服务。为此,能够保护用户隐私的联邦推荐应运而生。

联邦推荐可以分为两种,分别是跨组织联邦推荐和跨用户联邦推荐。其中,跨组织联邦推荐是指组织作为参与者,多个组织协同训练的联邦推荐场景。跨用户联邦推荐则是指在一个组织内部,用户作为参与者的联邦推荐场景。本文提出的框架是一个通用的跨用户联邦推荐框架。

跨用户联邦推荐可能会暴露用户的两种隐私,分别是用户的评分行为和评分数值。评分行为是指一个用户评分过的物品的集合,评分数值是指一个用户对一个物品具体的评分数值,例如1到5星。但是,在现有工作中,有的工作无法保护用户的这两种隐私,有的工作只能保护用户的评分数值,只有少数工作能够同时保护用户的两种隐私。而且,在这些工作中,很多都采用添加噪声的方式保护用户隐私,虽然能取得较好的隐私保护效果但也牺牲了推荐模型的精度。此外,很多现有工作都是针对一个特定的推荐模型或者一类相似的推荐模型进行联邦化,缺少通用性。

因此,本文的目标是提出一种能够保护用户评分行为和评分数值,同时不牺牲模型精度且具有较好的通用性的跨用户联邦推荐框架。

为实现该目标,本文提出了一种基于虚假标记和秘密共享的通用联邦推荐框架。具体来说,本文扩展了现有的虚假物品采样技术至虚假标记技术,并将其与秘密共享结合起来,解决两种技术各自存在的缺点。

技术贡献

本工作主要贡献如下:

扩展现有的虚假物品采样技术至虚假标记技术,其可以应用在更多的推荐算法上;

将虚假标记技术与秘密共享结合起来,解决这两种技术各自的缺点;

提出一种基于虚假标记和秘密共享的无损且通用的跨用户联邦推荐框架,可以保护用户的评分行为和评分数值;

以六个具有代表性的推荐模型为例展示了如何将该框架应用在一个具体的推荐模型上;

在公开数据集上对六个联邦化的模型进行实验,实验结果表明该框架是无损且通用的。

方法介绍

本文所提出的框架被称为FMSS(Fake Marks and Secret Sharing)。一个基于机器学习的推荐模型的参数通常可以分为两部分,分别是私有参数和共享参数。私有参数一般只与特定用户相关,一定程度上反映该用户的物品偏好,因此保存在用户本地的客户端上。共享参数一般反映物品的特点或用户群体的共同特征,与单个用户的相关性不大,因此一般保存在服务器上。在共享参数中,有部分参数被称为ID敏感参数,因为用户对此类参数中的部分参数进行更新会暴露用户的评分行为。在跨用户联邦推荐场景中,用户(客户端)在本地保存自己的原始数据和私有参数,服务器维护共享参数。

FMSS的客户端-服务器交互如图1所示,训练的详细流程如下:

  1. 服务器初始化所有共享参数,各个客户端初始化各自的私有参数;

  2. 服务器发送共享参数到所有客户端,也就是图1中的Step 1;

  3. 各个客户端使用本地数据计算每个参数的中间值,共享参数的中间值用于发送给服务器更新共享参数,一般情况下是共享参数的梯度,私有参数的中间值保留在本地用于更新私有参数;

  4. 各个客户端随机采样一个虚假标记集合,将虚假标记相关的共享参数的中间值设为0;

  5. 各个客户端把每个参数的中间值划分为若干份随机数,保留其中一份随机数,其他的随机数发送给随机选择的一些客户端,也就是图1中的Step 2;

  6. 各个客户端将接收到的随机数与自己持有的随机数按标记做加法,加法得到的结果就是扰乱后的中间值;

  7. 各个客户端将扰乱后的中间值发送给服务器,也就是图1中的Step 3;

  8. 服务器按照标记计算每一个共享参数上所有客户端的中间值的总和;

  9. 服务器更新共享参数,各个客户端更新私有参数。

[TOIS 2022] A Generic Federated Recommendation Framework via Fake Marks and Secret Sharing_第1张图片

接下来介绍将FMSS应用到一个具体推荐模型上的流程:

  1. 将推荐模型中的参数划分为共享参数和私有参数;

  2. 找出共享参数中的ID敏感参数;

  3. 设计参数中间值的计算方式;

  4. 基于共享参数、私有参数、ID敏感参数和中间值特例化FMSS的训练流程。

参考资料

  1. 微信

  2. b站

你可能感兴趣的:(联邦学习,算法,深度学习,分布式,推荐算法)