1. 引言
随着大数据时代政府隐私保护法规和法律的盛行,隐私保护机器学习在学术界和工业界获得了迅速增长的兴趣,在实现隐私保护机器学习的各种技术中,联邦(机器)学习(Federated Learning, FL)最近受到了高度关注。FL最初的想法是由Google [1]提出的,其目标是根据分布在每个用户手机上的个人信息来学习一个中心化的模型。更重要的是,在模型训练过程中,不会将用户的原始个人信息传输到中央服务器,从而确保了隐私保护。此外,可以证明,与基于用户原始数据学习的传统模型相比,学习到的隐私保护模型具有几乎相同的预测能力。这凸显了FL的实用性。国内的王健宗等人[2] [3]在2020年对联邦学习方法作了总结。
随着联邦学习技术研究的不断深入,将联邦学习应用于推荐系统方面也逐步有一些探索。2019年,Ammad-Ud-Din等人[4]首次将联邦学习框架应用到协同过滤算法中,提出一种联邦学习联邦协同过滤算法,该算法由推荐服务器和参与方联合训练协同过滤模型。随后,微众银行在当前推荐系统中最常用的矩阵分解[5]和因子分解机[6]算法的基础上,提出了联邦矩阵分解(Federated Matrix Factorization, FedMF) [7]、联邦分解机(Federated factorization machine, FedFM)等联邦推荐算法。Qi等人在2020年提出了一种联邦新闻推荐(Federated News Recommendations, FedNewsRec)方法[8],用户在新闻平台(网站或应用程序)上的行为存储在用户本地设备上,不上传到服务器。服务器用于维护新闻推荐模型,并通过来自大量用户的模型梯度进行更新。Flanagan等人于2021年提出了一种联邦多视图矩阵分解(Federated Multi-View Matrix Factorization, FED-MVMF)方法,这是第一个带有辅助信息源的联邦多视图矩阵分解方法[9]。但上述算法依然存在着用户隐私泄露问题。
McSherry等人[10]首次在推荐系统中应用差分隐私,通过向项目之间的相似度协方差矩阵添加严格定义的随机化噪声,验证其在推荐系统中的有效性。Liu等人[11]将差分隐私机制引入模型的目标函数,实现了整个模型训练过程中的隐私保护。Yang等人[12]针对推荐系统中的隐私问题,提出一种包括两种扰动方式的差分隐私协同过滤推荐框架,以防止推理攻击对用户造成的威胁。尽管上述差分隐私保护技术在一定程度上保护了个人数据隐私,但也可能因噪声过大而掩盖数据的原始特征,导致推荐系统准确性下降。
Erkin等人[13]使用安全多方计算和部分同态加密技术保护推荐系统的隐私,该方法通过引入半信任的第三方在用户和推荐服务器之间进行数据隔离,从而保护用户隐私。Kim等人[14]采用全同态加密技术对输入的用户评分矩阵进行加密,并利用这些已加密的数据训练矩阵分解模型来保护用户隐私。同年,张永棠[15]使用一种代换加密机制对客户端的用户评分数据进行加密,并将其发送到推荐服务器,推荐服务器再基于密文数据训练协同过滤推荐模型。相比基于隐私的随机推荐方法,上述基于加密的推荐方法能有效保证数据的原始性,但无法解决用户原始数据离开本地的问题。
FedMF方法利用矩阵分解技术,采用分布式学习和同态加密方案,将每个用户的偏好数据(评分)保存在本地,利用传统的随机梯度下降法[16],在每个参与者与第三方服务器之间不断交互更新加密梯度,最终满足最小损失函数,并得到每个参与者对于项目的预测评分,达到向参与者进行推荐的目的。FedMF解决了传统矩阵分解推荐系统中用户偏好数据和特征向量泄露的隐私问题,确保用户信息始终留在本地,在防止隐私泄露的基础上对用户做出相应的推荐。对于用户来说,如何在保护个人隐私的同时,提高推荐准确率、对用户做出精准推荐成为亟待解决的问题。
基于此,本文提出了一种融合时间特征的联邦矩阵分解推荐算法(TF-FedMF),为上述问题的解决提供了思路。该算法通过引入时间特征到矩阵分解中,旨在处理用户偏好的动态变化。为了应对推荐系统中的数据共享和数据隐私问题,算法采用了联邦学习机制。与此同时,采用同态加密技术,实现在密文上进行推荐模型的建立和推荐结果的求解,对上传梯度进行加密传输和存储,不仅在一定程度上保证了数据的真实性,在提供隐私保护的同时,实现了高精度的推荐服务。该算法不仅能够有效保护用户隐私,还能显著提升推荐系统的精度和性能。
2. 理论基础
2.1. 联邦矩阵分解
图1展示了FedMF (联邦矩阵分解)框架。该算法解决了传统矩阵分解推荐系统中用户偏好数据和特征向量等隐私泄露问题,保证用户信息不离开本地,并为终端用户提供严格的隐私保护,同时算法的准确性接近集中式矩阵分解推荐算法的准确性,在这个框架中涉及两类参与者:服务器和用户。假设服务器是诚实但好奇的,用户是诚实的,并且用户的隐私受到服务器的保护。
在开始矩阵分解过程之前,需要对一些参数进行初始化。物品矩阵在服务器端初始化,用户矩阵在本地由每个用户初始化。具体训练过程如下:
1) 服务器使用公钥对物品矩阵V进行加密,得到密文CV。从此,最新的CV为所有用户的下载做准备。
2) 每个用户从服务器下载最新的CV,并使用密钥对其进行解密,得到V的明文。利用V进行局部更新并计算梯度G,然后使用公钥对G进行加密,得到密文CV。然后建立TLS/SSL安全信道,CV通过该安全信道发回服务器。
3) 在收到用户的密文梯度后,服务器使用该密文更新物品矩阵:
。之后,为用户下载准备最新的CV。
Figure 1. FedMF framework
图1. FedMF框架
2.2. 加法同态加密
同态加密(HE) [17]常被用于联邦学习中,通过提供加密参数交换来保护用户的隐私。HE是一种特殊的加密方案,允许任何第三方对加密后的数据进行操作而无需事先解密。如果公式(1)成立,则称加密方案为关于一个运算“
”的同态:
(1)
其中,E是一个加密算法,M是所有可能的数据的集合[18]。
加法同态加密是关于加法的同态加密,通常,它由以下功能组成:
KeyGen:生成密钥对(pk, sk),其中pk是公钥,sk是私钥。
:使用公钥pk加密消息m,得到密文c。
:使用私钥sk解密密文c,得到明文m。
:对两个密文c1和c2进行加法运算
,得到密文ca。
:使用私钥sk解密密文ca,得到明文之和ma。
本文采用Paillier [19]加法同态加密方案,该方案确保了密文计算结果和明文计算结果的同态性,即在密文下进行加法运算与在明文下进行加法运算遵循相同的规则。通过这种方式,可以直接对加密后的用户数据进行操作,从而在一定程度上保护了用户数据的安全。加密公式如式(2)所示:
(2)
公式(2)表示密文的求和等同于求和后的密文,E是加密算法,M是所有可能数据的集合。
2.3. 隐语义模型
隐语义模型也称因子模型[20],是Simon Funk在矩阵分解技术的基础上,通过梯度下降法改进而来的,核心思想是通过用户项目之间的隐含特征联系二者,挖掘分析用户历史行为,得到其潜在兴趣偏好。从矩阵分解的角度来看,隐语义模型是将评分矩阵R分解为两个低维矩阵的乘积来表示用户和物品之间的隐含关系,可表示为:
(3)
其中,
表示A个用户和B个产品的评分集合,评分范围在1~5之间,U是用户特征矩阵,V是物品特征矩阵,
。
用户u对物品i的评分预测矩阵为:
(4)
其中,
是全局偏置,
和
分别是用户u和物品i的偏置,U是用户u的特征向量,V是项目i的特征向量。
3. 融合时间特征的联邦矩阵分解算法
3.1. 融合时间特征的矩阵分解推荐算法
用户对产品的评价和受欢迎程度会随着时间的推移不断变化,用户偏好和项目流行度也同样是动态变化的。而传统的矩阵分解(Matrix Factorization, MF)技术本质上是静态的。在公式(3)中定义的用户对物品评分的预测,是通过用户和物品的潜在特征交互,结合用户和物品的偏差项以及全局平均评分来计算得出的。这种矩阵分解方法在处理大规模推荐系统数据集时非常有效,能够捕捉用户和项目的潜在偏好和特性。然而,传统的MF方法无法处理用户–项目交互的动态效果。为了解决用户–项目交互中的时间效应和动态效应问题,提出了一种将时间特征加入到矩阵分解中的算法,即TF-MF算法(Matrix Factorization Recommendation Algorithm with Temporal Feature Integration)。该方法能够更好地捕捉用户和项目随时间变化的动态偏好和特性,从而提高推荐系统的准确性和适应性。
在公式(3)中加入时间依赖特征,如
、
和
,以使其在t时刻对评分
进行动态预测,并在公式(4)中定义:
(5)
其中,
是时间的函数,
保持不变,
表示物品根据用户的不同而变化。由公式(5)定义的目标函数如下:
(6)
通过随机梯度下降(SGD) [21]更新模型参数如下:
(7)
(8)
(9)
(10)
进一步化简公式(7)~(10)分别如下:
(11)
(12)
(13)
(14)
其中,
是误差项,
是学习率。
3.2. 融合时间特征的联邦矩阵分解推荐算法
基于TF-MF算法,引入联邦学习的概念,即TF-FedMF算法(Federated Matrix Factorization Recommendation Algorithm with Temporal Feature Integration),以实现不收集用户偏好和项目流行度随时间的变化的信息,通过客户端本地为用户提供准确的产品推荐。在TF-FedMF算法中,数据源是分布式的,不存储在第三方服务器上,用户数据及用户带有时间特征的数据仅在用户本地客户端可用,而物品数据及物品带有时间特征的数据则在第三方服务器上存储和共享。同时,为了解决这种信息泄露问题,提出对梯度进行编码,使服务器无法对编码过程进行反转,编码数据也不会泄露任何信息。同时,服务器仍然应该能够使用编码后的梯度进行更新。实现这样一个目标的方法之一就是使用同态加密。基于以上,提出TF-FedMF算法,该算法能够在保护用户隐私的同时,实现准确的产品推荐。
Figure 2. TF-FedMF framework
图2. TF-FedMF框架
如图2所示,展示了TF-FedMF算法框架。在这个框架中涉及两类参与者:服务器和用户。假设服务器是诚实但好奇的,用户是诚实的,并且用户的隐私受到服务器的保护。
密钥生成:章节2.2作为同态加密中涉及的典型函数,首先生成公钥和私钥。密钥生成过程是在其中一个用户上进行的。公钥为包括服务器在内的所有参与者所知。并且密钥只在用户之间共享,需要对服务器进行保护。密钥生成后,会为公钥和私钥建立不同的TLS/SSL。
参数初始化:在启动矩阵分解过程之前,需要对一些参数进行初始化。服务器端初始化物品矩阵V,物品偏置项
,每个用户在本地初始化用户偏置项
及用户矩阵U。
具体过程如下:
1) 参数初始化:服务器端初始化项目矩阵V,用户偏置项
,物品偏置项
,并使用公钥进行加密,得到密文
及
,最新的CV及
为所有用户的下载做准备。
2) 用户终端更新。用户终端从服务器下载最新的CV及
,并使用密钥对其进行解密,获得
,
,利用V和
进行局部更新并计算梯度:
(15)
使用公钥对梯度进行加密,得到密文
。建立TLS/SSL安全信道,
通过该安全信道发回服务器。
3) 在收到用户的密文梯度后,服务器使用该密文更新项目配置文件:
(16)
4) 迭代以上步骤
根据TF-FedMF算法的训练过程,算法在执行过程中,客户端和服务器端仅交替更新模型参数。用户的原始评分信息始终保留在客户端本地,但评分信息仍然能够被共享。传送到服务器的仅是经过同态加密后的密文。只要同态加密系统确保密文的不可区分性,以抵御选择明文攻击[22],任何比特的信息都不会泄露给服务器。这不仅能够实现用户隐私的有效保护,还能够提供准确的推荐结果。与传统的FedMF算法相比,本文提出的算法在客户端和服务器端之间引入了时间因素,证明了时间相关的用户和物品偏差能够被正确地加密、传输和更新。该改进能够显著提升推荐系统的准确性。在确保数据隐私的同时,TF-FedMF算法通过融入时间特征,增强联邦学习框架下的推荐精度和模型的动态适应性。
4. 实验分析
针对所提的TF-FedMF算法,本节将在真实的电影评分数据集上进行实验分析,以验证所提算法能为用户评分数据提供严格的隐私保护,同时还具有较高的推荐准确性。
4.1. 实验数据集
本章实验选取公开MovieLens电影评分数据集中新的ml-latest-small数据集版本作为实验数据集。ml-latest-small数据集包含用户对电影的评分、评分时间、用户和电影的标签等信息,其中每个用户至少评分了20部电影。数据集的具体统计信息如表1所示。
Table 1. Statistical information of experimental dataset
表1. 实验数据集统计信息
数据集 |
用户数量 |
电影数量 |
评分记录 |
评分范围 |
评分稀疏度 |
ml-latst-small |
610 |
9724 |
100,000 |
1~5 |
98.3% |
4.2. 评价指标
推荐准确度是衡量推荐算法优劣的关键指标。本文使用平均绝对误差(Mean Absolute Error, MAE)和均方根误差(Root Mean Square Error, RMSE)两个常用的评价指标对所提算法的准确性进行评估。MAE表示预测评分与真实评分之间的绝对误差的平均值。MAE值越小,精度越高。其定义如下:
(17)
RMSE表示预测评分与真实评分的偏方差的平方根与预测次数n的比值。RMSE更苛刻地衡量了推荐系统的准确性。RMSE越小,精度越高。其定义如下:
(18)
4.3. 参数设置
实验参数值的设定如下:正则化参数的默认值为1e−6,学习率的默认值为1e−3,隐含特征值k的默认值为10,迭代次数d的默认值为100。在本次实验中,每次不同的输出步长都重复实验五次,并将指标的平均值报告为最终结果。
同态加密参数设置:公钥长度设置为1024,通信带宽设置为1 Gb/s,矩阵分解过程中,用户和物品维度设置为100。
实验环境:使用5.1 GHz,6核CPU、32 GB RAM,操作系统为Windows 11,编程语言为Python,使用gmpy模块加速python中的同态加密部分。
4.4. 实验结果
1) 验证时间特征融入是否正确
为探究FedMF模型中时间特征融入矩阵分解可以正确处理用户偏好的动态性,从测试集的RMSE和MAE值进行具体测量,如表2所示。
Table 2. Comparison of time feature integration
表2. 时间特征融入对比
|
TF-MF |
TF-FedMF |
二者不同 |
RMSE |
0.8229 |
0.8239 |
0.1% |
MAE |
0.6345 |
0.6346 |
0.01% |
由表2可得出,TF-MF和TF-FedMF在RMSE和MAE方面的差异非常小。这表明在该数据集和实验设置下,联邦学习的分布式训练方法并没有显著影响模型的预测精度。两者的性能几乎相当,表明联邦学习在保持隐私的同时,仍然能够提供与集中式方法相近的预测精度。从而证明了时间特征矩阵分解可以在联邦学习框架下的正确融入。面对未来在大规模的场景训练中,很多数据无法进行集中学习,联邦学习的效果将会更加优秀,且具有更好的隐私保护安全性。
2) 分析迭代次数对算法性能的影响
由图3可知,在相同迭代次数下,TF-FedMF比FedMF具有更小的RMSE值,说明TF-FedMF比FedMF具有更好的性能。
Figure 3. Comparison between TF-FedMF and FedMF
图3. TF-FedMF与FedMF对比
在整个训练过程中,TF-FedMF的RMSE值相对稳定,波动较小,保持在0.8到0.9之间。相比之下,FedMF的RMSE表现出显著的下降趋势,随着训练轮数(epochs)的增加,从最初的约2逐渐下降到接近1.2。TF-FedMF在训练期间的RMSE值更低且更稳定,表明其预测误差较小,模型性能较好。虽然FedMF在训练过程中的RMSE值有所下降,但其初期误差较大,最终的RMSE值仍高于TF-FedMF,说明其预测误差较大,模型性能相对较差。
尽管FedMF在训练过程中表现出显著改进,但其最终的RMSE值仍高于TF-FedMF。TF-FedMF模型在不同的训练轮数下都表现出更低且更稳定的RMSE值,表明其在推荐系统中的预测性能优于FedMF模型。因此,在这两种模型中,TF-FedMF具有更好的表现。
3) 学习率lr对算法性能影响
设置隐含特征值为10,其他参数保持不变,根据前期的试验性训练,设置学习率的范围为0.0005到0.001,学习率影响梯度下降过程中的步长。过大或过小的学习率都会影响模型的训练效果,而0.0005到0.001这个范围较小,使算法在一个相对稳定的区域内进行微调,从而找到相对较优的学习率。过大的学习率可能会导致模型训练过程中的震荡和发散,模型无法收敛到最优解。过小的学习率则可能导致模型收敛速度过慢,甚至陷入局部最优解,无法充分训练模型。
如图4和图5所示的实验结果可以看出:学习率为0.0007和0.0008时,模型在两个指标(RMSE和MAE)上均表现出较低的误差,说明这两个学习率能够较好地平衡模型的收敛速度和稳定性,是较优的选择。学习率为0.0005和0.0006时,模型在两个指标上均表现出较高的误差,说明这两个学习率过小,导致模型无法充分训练,误差较大。学习率为0.0009和0.001时,模型的误差相对稳定,但不如0.0007和0.0008表现优异,说明这些学习率虽然能够使模型收敛,但可能存在一定的震荡或未能达到全局最优。由此,可得出在给定的条件下,选择学习率为0.0007或0.0008能够获得较低的误差,是较为理想的学习率选择。
Figure 4. RMSE values under different learning rates
图4. 不同学习率下的RMSE值
Figure 5. MAE values under different learning rates
图5. 不同学习率下的MAE值
4) 分析隐含特征L对算法性能的影响
两个图均展示了随着隐含特征值的增加,模型的误差(无论是RMSE还是MAE)均逐渐减小。这表明在给定的条件下,增加隐含特征值能够有效提升模型的性能,减少预测误差。
具体而言,如图6和图7所示,当隐含特征值达到50时,模型的误差达到最低值。通过这两个图,可以得出在给定的条件下,增加隐含特征值能够显著降低模型的误差,提高模型的预测准确性。选择较大的隐含特征值(如50)是一个较优的选择。
Figure 6. RMSE values under different implicit eigenvalues
图6. 不同隐含特征值下的RMSE值
Figure 7. MAE values under different implicit eigenvalues
图7. 不同隐含特征值下的MAE值
5. 结论
本文提出了一种融合时间特征的联邦矩阵分解推荐算法TF-FedMF。该算法考虑时间特征,将时间特征与矩阵分解模型相结合,将用户因素作为时间的函数,保持项目因素不变,物品根据用户的不同而变化,向用户推荐个性化物品。加入联邦学习后,在各用户评分数据不离开本地的条件下,提高了预测评分的准确性。引入同态加密技术,增强了算法的安全性。通过在基准电影数据集上的实验表明,TF-FedMF在推荐精度上优于当前的FedMF模型,更适用于真实的推荐场景。但在TF-FedMF模型训练过程中,时间效率较低,如何提高TF-FedMF模型的时间效率将是我们未来进一步研究的方向。