在推荐系统中,我还有隐私吗?联邦学习:你可以有( 三 )


(10)
其中 , 使用公式(8)确定增益参数γ和?J/?(y_i) 。 然而 , 公式(8)包含一个分量 , 它是所有用户 u 的总和 。 因此 , 将 f(u,i)定义为:
在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
(11)
其中 f(u,i)是在每个客户端 u 上独立于所有其他客户端计算的 。 然后 , 所有客户端向中央服务器发送梯度值 f(u,i) 。 将公式(8)重写为客户端梯度的聚合 , 并在中央服务器进行如下计算:
(12)
最后 , 利用公式(12)中的特定于 item 的梯度进行更新 , 然后使用公式(10)在中央服务器上更新 y_i 。 当使用梯度下降法更新 Y 时 , 需要多次迭代梯度下降更新以达到 Y 的最优值 。 因此 , FCF 的一次 epoch 包括更新到 CF 中的 X , 然后用几次梯度下降步骤来更新 Y 。
2.3 隐私设计解决方案
本文的隐私保护联邦学习方案不需要在中央服务器上知道用户的身份 。 这主要是因为每个用户只需向中央服务器发送 f(u,i)的更新 , 利用公式(12)聚合这些更新 , 在此过程中无需参考用户的身份 。
完成的 FCF 流程见如下算法 1:
在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
2.4 实验结果
作者评估了 CF 和 FCF 的推荐性能 , 分别计算前 10 个推荐结果的标准评估指标(the standard evaluation metrics)、精度(Precision) , 召回率(Recall) , F1 , 平均平均精度(MAP)和均方根误差(RMSE) 。 此外 , 还计算了 FCF 和 CF 的性能指标之间的 “diff%” 如下:
在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
表 1 给出了两个真实数据集和模拟数据集在 10 轮模型重建实验中用户平均的测试集性能指标 。 其中 , 真实数据集分别为 The MovieLens rating datasets 和 In-house Production Dataset 。 模拟数据集是通过随机模拟用户、电影和浏览活动生成的 。 具体来说 , 创建一个由 0 和 1 组成的用户 - item 交互矩阵 。 其中 80% 的数据是稀疏的 , 附加的约束条件是每个用户至少有 8 个浏览活动 , 并且每个 item 至少被观察一次 。 在表 1 实验的模型构建过程中 , 每个用户的数据被随机分为 60% 的训练、20% 的验证和 20% 的测试集 。 使用验证集和训练集来寻找最优的超参数和学习模型参数 , 测试集则是用来预测推荐和评估在未知用户数据上的性能分数 。 结果表明 , FCF 和 CF 模型的结果在测试集推荐性能指标方面非常相似 。 平均而言 , 五个指标中任何一个指标的 diff% CF 和 FCF 小于 0.5% 。 标准差 std 也很小 , 表明多次运行后能够收敛到稳定和可接受的解决方案中 。
在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
表 1. 使用所有用户的平均值比较协同过滤器(CF)和联邦协同过滤器(FCF)之间的测试集性能指标 。 这些值表示 10 个不同模型构建的平均标准差 。 diff% 指 CF 和 FCF 平均值之间的百分比差 。
本文是使用联邦学习框架实现隐私保护推荐系统的第一次尝试 , 是基于 CF 的推荐系统实现的 。 在这篇文章中 , 作者表示将会继续探索基于模拟器的对真实世界场景的分析 , 以持续异步的方式(在线学习)从客户端收集更新 。 此外 , 对通信有效载荷和通信效率的分析有助于评估此类系统在实际场景中的应用效果 。 最后作者计划进一步通过结合安全联邦学习方法来研究攻击和威胁对推荐系统的影响 。
三、解决联邦协同过滤中存在的问题 - 新闻推荐
由第二节中的介绍可知 , FCF 实现了联邦学习框架下的推荐系统 , 解决了推荐系统中的用户隐私保护问题 , 同时 FCF 与经典 CF 的推荐性能相差不大 。 但是 , FCF 也存在一些问题 , FCF 要求所有用户都参与到联邦学习的过程中来训练他们的向量 , 这在现实世界的推荐场景中是不实际的 , 一些用户受限于设备、网络性能等 , 无法进行模型训练 。 此外 , FCF 使用 item 的 ID 来表示 item , 这就要求预先对需要处理的 item 进行编号 , 而没有进行编号的新 item 就无法处理了 。 但是我们知道 , 在真正的推荐系统应用场景中 , 大量的新 item、新知识都是实时刷新推送的 , 这种强制预知的方式在实际问题中是不适用的 。