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


联邦学习将模型的学习过程分发给各个客户端(即用户的设备) , 使得从特定于用户的本地模型中训练出全局模型成为可能 , 确保用户的私有数据永远不会离开客户端设备 , 从而实现了对用户隐私性的保护 。 将联邦学习框架引入到推荐系统问题中 , 能够实现隐私保护的推荐系统 。
二、联邦协同过滤
来自华为 Finland R&D Center 的研究人员首次提出了联邦协同过滤方法(Federated Collaborative Filter, FCF)[2], 该方法聚合用户特定的梯度更新模型权重来更新全局模型 。 具体地说 , 作者提出了一种联邦学习框架下的用于隐式反馈数据集的 CF 方法 。 同时 , 这种方法是可推广的 , 可以扩展到各种推荐系统应用场景中 。 FCF 的完整框架如图 1 。 在中央服务器上更新主模型 Y(item 因子矩阵) , 然后将其分发到各个客户端中 。 每个特定于用户的模型 X(用户因子矩阵)保留在本地客户端中 , 并使用本地用户数据和来自中央服务器的 Y 在客户端上更新 。 在每个客户端上计算通过计算 Y 的梯度得到更新并将更新传输到中央服务器中 , 在那里将这些更新聚合以进一步更新全局模型 Y 。

在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
图 1. 联邦学习模式下的协同过滤
2.1 联邦用户因子更新
首先 , 经典 CF 模型是由低维潜在因子矩阵 X 和 Y 的线性组合表示的:
(1)
其中 , 其中 r_ui 表示用户 u 和 item i 之间的交互 。 r_ui 通常表示显式反馈 , 例如用户直接给出的评级结果 r_ui 。 r_ui 也可以表示隐式反馈 , 例如用户观看了视频 , 或者从网上商店购买了一件商品 , 或者任何类似的行为 。 本文主要考虑隐式反馈的情况 , 对于 r_ui 的预测可以表示为:
(2)
在隐式反馈场景中引入一组二进制变量 p_ui , 以表征用户 u 对 item i 的偏好 , 其中:
(3)
在隐式反馈情况下 , 值 r_ui=0 可以有多种解释 , 例如用户 u 对 item i 不感兴趣 , 或者用户 u 可能不知道 item i 的存在等等 。 为了解决这种不确定性 , 本文引入一个置信参数如下:
(4)
其中 , α>0 。 基于的本人引入置信参数 c_ui , 对所有的用户 u 和 item i 进行优化的代价函数如下所示:
在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
(5)
其中 , λ为正则化参数 。 代价函数的第一项为预测结果与置信参数的偏差 , 第二项为正则化处理项 。 J 相对于 x_u 和 y_i 的微分由下式得出:
在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
(6)
则 x_u 的最优解为:
在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
(7)
在用户因子的每次更新迭代中 , 中央服务器将最新的 item 因子向量 y_i 发送到每个客户端 。 用户基于自己的本地数据 r_ui 分别用公式(3)和公式(4)计算 p(u)和 C^u 。 然后 , 在每个客户端使用公式(7)更新 x_ u 得到(x_ u)* 。 可以针对每个用户 u 独立地更新 , 而不需要参考任何其他用户的数据 。
2.2 联邦 item 因子更新
优化公式(5)中的代价函数 , 可以得到 y_i 的最优估计:
在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
(8)
在推荐系统中,我还有隐私吗?联邦学习:你可以有
本文插图
(9)
由公式(9) , 为了得到 (y_i)* , 需要知道用户因子向量 x_i 和用户与 item 交互的相关信息 C^u、p(u) 值 。 因此 , item 因子 y_i 的更新不能在客户端上完成 , 必须在中央服务器中进行 。 然而 , 从用户隐私保护的角度出发 , 用户 - item 交互信息应当仅保留在客户端设备中 , 因此 , 不能直接使用公式(9)计算 y_i 。 为了解决这一问题 , 本文提出了一种随机梯度下降方法 , 允许在中央服务器中更新 y_i , 同时保护用户的隐私 。 具体的 , 使用下式在中央服务器更新 y_i: