一种基于匿名化隐私保护的推荐方法

文档序号:27839640发布日期:2021-12-08 00:55阅读:205来源:国知局
一种基于匿名化隐私保护的推荐方法

1.本发明涉及了推荐系统隐私保护领域,尤其涉及一种基于匿名化隐私保护的推荐方法。


背景技术:

2.随着数据时代的发展,互联网的数据总量正在急速增长,图电影、视频、文字等数据充斥着用户的网络空间的同时也在不断推陈出新。在这种情况下,推荐系统应运而生,推荐系统能够较好地解决数据分发问题,通过适当的算法设计,能将更匹配的数据推送到用户手上,增加用户的使用体验。当前,推荐系统已经成为了目前大多数互联网平台软件系统中不可或缺的一部分。近几年深度学习的迅猛发展,基于深度学习的推荐系统在业界得到了广泛的应用,在推荐效果极大提升的同时,使用的推荐系统模型也变得更加复杂,难以调试,随之而来的就是巨大的训练数据需求。在现有的技术下,商业公司往往通过广泛收集用户数据的方式来获取原始数据资料,进行一定处理后再用于推荐系统模型的训练。但数据收集的过程隐藏着不可忽视的隐私隐患,用户的个人隐私得不到充足的保证。目前,在全球范围内,许多国家与地区都开始重视互联网中的隐私问题,相继推出了各种有关隐私保护的法案,如欧盟的gdpr,中国的数据安全法等。
3.现在普遍采用基于同态加密,基于差分隐私,基于混淆电路三种解决方法,其中,基于同态加密的方法由于有着加密与解密的过程导致运行效率非常慢,每次执行加密解密操作需要耗费大量的时间,不利于商业应用。且需要生成非对称的密钥,需要引入一个可信赖的第三方来作为密钥的生成机构,这种做法也会带来安全隐患。基于差分隐私的方法需要在训练的过程中加入各种噪声数据以达到隐私保护的效果,常见的方式有三种:1、对训练数据加入噪声2、对模型加入噪声3、对训练的梯度加入噪声。三种方式的隐私保护效果都与加入的噪声量有关,噪声越大保护效果越好,但是对推荐性能的损害也会变大,并且在模型抗噪的可解释性上目前学术界仍然缺少足够的理论支撑。基于混淆电路的方法实现难度过高,混淆电路的生成和执行过程都过于复杂,而且也同样存在运行过慢的问题,目前缺乏良好的商业应用。


技术实现要素:

4.针对现有方法的不足,本发明提出了一种基于匿名化隐私保护的推荐方法,使用联邦学习的设计,将推荐系统分成服务端与客户端,服务端表示构建推荐系统的实体,客户端则表示各个用户的设备,用户持有自己的历史交互数据,并且视这部分数据为隐私数据,服务端在不收集用户数据的情况下实现推荐模型的训练;
5.该方法包括以下步骤:
6.步骤1:初始化推荐模型参数;
7.步骤2:根据分类分布数据采样负样本;
8.步骤3:使用贝叶斯个性化排序算法对模型进行优化用户特征模型,使用梯度下降
进行用户特征模型和物品特征模型训练;
9.步骤4:完成一轮训练,直到模型损失稳定,训练完成。
10.如步骤1所述推荐模型分为用户特征模型与物品特征模型,服务端初始化生成n
×
k的物品特征模型,其中k是一个设定的值,用来表示特征的维度,n是物品总数,各个客户端初始化生成1
×
k的用户特征模型,用户特征模型中的每一行代表一个用户,每个客户持有自己的用户特征模型。
11.如步骤1所述:客户端和服务端都是通过标准正态分布生成随机数来初始化模型参数。
12.如步骤2所述:服务端将物品的总体分类分布数据发送给各个客户端,各个客户端根据物品分类分布数据生成自己的固定负样本物品集合,客户端的物品历史交互集合为正样本物品集合,除固定负样本物品集合和正样本物品集合外的全部物品为非固定负样本集合,客户端的正样本物品集合与固定负样本物品集合的并集为本地训练集,进行以下步骤:
13.步骤2.1:计算本地训练集的物品类别分布,得到本地训练集的分类分布数据;
14.步骤2.2:计算本地的物品分类分布与总体分类分布之间的差,得到占比少于总体分布的类别,并根据差值大小进行排序;
15.步骤2.3:按顺序对排序结果中的分类分布进行采样,从不属于本地训练集且属于该类别的物品中采样一个新物品加入到本地训练集中,采样完成后更新客户端的本地训练集分类分布数据;
16.步骤2.4:使用统计学中的卡方检验,计算本地训练集的分类分布数据是否已经拟合总体的分类分布数据,不拟合则返回步骤2.1,如果拟合则停止继续采样,进入步骤3。
17.如步骤3所述:训练并优化用户特征模型,具体包括以下步骤:
18.步骤3.1:服务端不重复地随机选择若干个客户端,并分发物品特征模型;
19.步骤3.2:选中的客户端,利用本地训练集、用户特征模型、从服务端获取到的物品特征模型,训练并更新用户特征模型,使用贝叶斯个性化排序算法对模型进行优化(bayesian personalized ranking,以下简称bpr);
20.客户端在每次训练时从固定负样本物品集合与非固定负样本集合中进行负样本采样,每个正样本物品集合中的正样本对应k个从固定负样本物品集合中采样的负样本,以及1个从非固定负样本物品集合采样的负样本,然后建立正负样本对,使用梯度下降进行用户特征模型和物品特征模型训练,将得到的关于用户特征模型的梯度数据用来更新本地的用户特征模型,关于物品特征模型的梯度数据则上传至服务端。
21.如步骤4所述:物品特征模型训练并优化服务器接收返回的梯度数据,并利用梯度数据更新物品特征模型,然后重复步骤3把所有客户端的本地训练集都处理一遍,完成一轮训练,直到模型损失稳定,训练完成。
22.如步骤3所述的bpr优化算法,其特征在于:bpr优化算法公式如下:
[0023][0024]
其中,d表示训练集,u表示用户,i表示正样本,j表示负样本,θ表示模型参数,λ
θ
是正则化系数,σ是sigmoid函数,x是指函数用户u分别对物品i和j的打分之间的差值。
[0025]
如步骤4所述的一轮训练:把所有客户端的本地训练集都处理一遍的过程。
[0026]
如步骤4所述的模型损失稳定:模型损失稳定通过一个设定的模型损失差值,模型损失差值小于设定的模型损失差值,模型损失稳定。
[0027]
本发明与现有的方法相比,主要有三个优点:
[0028]
1、相比于基于加密的方法,有着10倍以上的训练速度优势,能极大地节省计算资源,尤其是客户端方面的计算资源;
[0029]
2、由于没有引入噪声,所以不会有较大的性能损失,理论性能上限和传统方法相差无几,对于商业推荐模型而言就是保护了推荐服务提供商的商业收益;
[0030]
3、最重要的是本发明不收集任何用户原始的数据,能很好地保护用户的隐私数据,大大减少个人用户隐私泄露的情况,并且本发明的隐私保护方式的保护程度可以被很好地量化,可以更好地说明系统的隐私保护效果。
附图说明
[0031]
图1为本发明的具体实施方式系统结构图
[0032]
图2为本发明的具体实施方式固定负样本生成流程图
具体实施方式
[0033]
下面结合附图和具体实施对本发明作进一步详细说明:
[0034]
本发明为一种基于匿名化隐私保护的推荐实现方法,包括以下步骤:
[0035]
步骤1:初始化推荐模型参数;
[0036]
服务端和各个客户端会初始化推荐模型,服务端生成n
×
k的物品特征模型,各个客户端生成1
×
k的用户特征模型,其中k是一个可设定的值,本实施例为64,用来表示特征的维度,n是物品总数;
[0037]
步骤2:根据分类分布数据采样负样本;
[0038]
如图1所示,服务端首先会将系统内的物品总体分类分布数据发送给各个客户端,然后各个客户端利用总体分类数据生成自己的固定负样本物品集合,生成过程如图2所示,进行以下步骤:
[0039]
步骤2.1:一个电影推荐系统中总共有3种类型的电影(爱情电影,动作电影,恐怖电影)对应的数量分别是(18,6,3),可见总体物品分类分布比例是(6:2:1),假设其中一个客户端的交互历史是(爱情电影:2,动作电影:0,恐怖电影:2),计算可得此时该客户端的分类比例是(1:0:1);
[0040]
步骤2.2:计算本地的物品分类分布与总体分类分布数据之间的差,可得(1/2

2/3=

0.1667),(0

2/9=

0.222),(1/2

1/9=0.3888),可得差值为(

0.1667,

0.222,0.3888),少于总体分类的部分并进行升序排序,得到(

0.222,

0.1667)=(动作电影,爱情电影);
[0041]
步骤2.3:首先对动作电影进行采样,采样完动作电影后按顺序采样爱情电影,并将采样结果加入到本地训练集,所有采样完成后更新客户端本地的物品分类数据;
[0042]
所述步骤2.3中:采样过程为从不属于本地训练集且属于该类别的物品中采样一个新物品加入到本地训练集中;
[0043]
步骤2.4:使用统计学中的卡方检验,计算在0.95置信度的情况下,更新后的本地
训练集的类别分布是否可以认为已经拟合总体的类别分布(6:2:1),卡方检验值公式如下:
[0044][0045]
其中,k2表示卡方值,n表示客户端上物品的个数,c表示总体物品分类的个数,v
i
表示客户端上属于i分类的物品的个数,p
i
是属于i分类的物品在所有物品中的占比,卡方值小于8.67的时候拟合,则停止继续采样,完成固定负样本物品集合生成的过程,否则回到步骤2.2;
[0046]
完成固定负样本物品集合生成后,客户端本地训练集的样本分类数据变成(爱情电影:12,动作电影:4,恐怖电影:2),客户端本地训练集的分类分布为是(6:2:1),与总体分类分布一致,可以停止继续生成固定负样本物品集合,客户端本地训练集除了正样本外还有负样本,所以当客户端向服务端上传梯度数据时,正样本梯度数据(2部爱情电影,2部恐怖电影),也就是隐私数据将被匿名地隐藏在多个负样本之中,使得服务端无法得知客户端的交互历史,难以察觉哪些是正样本所对应的数据,固定负样本物品集合和隐私保护程度相关,数量越多则正样本越安全,由于和总体分类分布比例一致,所以服务端也无法从分类分布的角度去剔除负样本,这种方法生成的固定负样本物品集合是符合bpr优化设计的,所以并不会引入额外的噪声造成性能损失;
[0047]
步骤3:使用贝叶斯个性化排序算法对模型进行优化用户特征模型,使用梯度下降进行用户特征模型和物品特征模型训练;
[0048]
各个客户端完成固定负样本物品集合生成后,开始用户特征模型训练的过程,服务端将在所有客户端中,不重样地随机选取若干个客户端参与训练,选取数量是一个可以调整的超参数,本实施例设为128,然后从服务端将物品特征模型发送给被选中的客户端;
[0049]
被选中的客户端利用本地训练集、用户特征模型,物品特征模型使用bpr算法进行优化,
[0050][0051]
其中,d表示训练集,u表示用户,i表示正样本,j表示负样本,θ表示模型参数,λ
θ
是正则化系数,σ是sigmoid函数,x是指函数用户u分别对物品i和j的打分之间的差值;
[0052]
bpr算法通过对正负样本的打分进行对比,使正样本的分数比负样本高,实现对模型的优化,使用该方式进行优化的话会产生关于正样本以及负样本的梯度数据;得到对应物品特征模型(电影)的梯度数据以及用户特征模型的梯度数据,如[

0.149,2.415,0.033
……
1.254],长度为64,然后将物品特征模型的梯度数据上传给服务器,用户特征模型的梯度数据更新本地用户特征模型;
[0053]
步骤4:完成一轮训练,直到模型损失稳定,训练完成:
[0054]
服务器聚合各个客户端上传的梯度数据并进行累加操作,然后用累加的结果来更新物品特征模型,更新完成后回到步骤3继续选取新的客户端参与训练,把所有客户端的本地训练集都处理一遍的过程为一轮训练,服务端不重复地随机选择若干个客户端,并分发物品特征模型直到完成一轮训练,模型可能需要多轮训练才能训练充分,直到每一轮训练之间,模型损失差值小于0.1时达到稳定,训练完成。
[0055]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1