一种基于联邦学习的神经网络协同过滤推荐方法技术

技术编号:33455572 阅读:22 留言:0更新日期:2022-05-19 00:38
一种基于联邦学习的神经网络协同过滤推荐方法,无需集中收集用户的个人数据并且上传到受信的中心服务器来进行存储与训练模型,仅在本地进行数据训练,然后在中心服务器端协同多个本地模型进行优化,进而聚合多个本地模型的中间参数来得到服务端全局较优的模型,并下发到每个终端上。本地参与端训练中,本方法有别于传统的基于聚类、最近邻和矩阵分解等方法,按一定比例将数据集转换为隐式反馈数据集,构建神经协同过滤通用框架NCF,输入one

【技术实现步骤摘要】
一种基于联邦学习的神经网络协同过滤推荐方法


[0001]本专利技术涉及联邦学习
,具体涉及一种基于联邦学习的神经网络协同过滤推荐方法。

技术介绍

[0002]推荐系统已被广泛用于创建个性化预测模型,以帮助个人识别感兴趣的内容。此类系统收集个人的各种特征,例如人口学特征、项目相关的评分数据(显式反馈)或用户与特定项目的交互数据(隐式反馈)。它们的目标是根据过去的交互数据为用户提供其未来的偏好推荐,推荐系统目前被广泛应用于电子商务和在线流媒体服务等各个领域。在传统的推荐系统中,用户的偏好和学习的特征向量可以揭示敏感信息。此外,复杂的技术可以导致数据集的去匿名化。因此,需要在不泄露用户私人数据的情况下构建强大的推荐系统的方法。
[0003]随着云端中计算设备的不断增加,例如手机和可穿戴设备,机器学习的使用也越来越广泛。然而,传统的机器学习方法需要从那些由于传感器和丰富的用户交互而保存大量私人信息的设备传输数据。为了克服将此类信息存储在中央服务器中的挑战并增强用户的隐私,谷歌在2016年提出了一种新技术,名为联邦学习(FL),其中的联合设置允许在不需要传输用户数据的情况下促进机器学习,因此对于隐私和快速分布式计算都有很大的优势。
[0004]联邦学习(FL)是一种机器学习设置,它允许在分布式的环境中训练模型。这种学习技术背后的主要思想是,不同的实体可以在中央服务器的协调下共同训练模型,而无需共享它们的数据。与传统的机器学习不同,传统的机器学习要求用户传输他们的数据,而FL支持更高级别的隐私,因为模型在每个设备上进行本地训练,客户端操作后,仅将参数发送回中央服务器,而不上传其训练数据数据。

技术实现思路

[0005]本专利技术旨在解决推荐系统中隐私泄漏问题,同时不影响推荐效果,提供一种基于联邦学习的神经网络协同过滤推荐方法。
[0006]一种基于联邦学习的神经网络协同过滤推荐方法,包含以下步骤:
[0007]步骤1,中心服务器初始化神经网络模型的训练配置并启动该训练计划,并发送给参与方P1,P2,

,P
N
;参与方将收到的训练配置中的全局参数w0作为本地神经网络协同过滤模型的第0轮模型参数;
[0008]步骤2,中心服务器随机选择C个参与方作为训练参与方参与到第t轮训练中,并向它们发送当前的全局模型;
[0009]步骤3,第t轮训练的各参与方使用本地训练数据集D
c
以及本地步骤local epochs,来更新已有的本地神经网络协同过滤模型的第t

1轮全局模型参数得到本地神经网络协同过滤模型的第t轮各参与方的模型参数c∈C,C为训练参与方的个数,t
为训练轮数;
[0010]步骤4,第t轮训练中的各参与方将其在本地第t轮训练更新后的模型参数上传给服务器,并进行加入高斯噪声的差分隐私处理;
[0011]步骤5,服务器基于FedAvg算法对步骤4各参与方上传的模型参数进行聚合,得到新的全局参数w
t

[0012]步骤6,服务器将依据生成的新的全局参数w
t
,判断所有参与方的本地神经网络协同过滤模型是否已经收敛或达到预定的训练次数:如果是,则转至步骤7;否则,令训练轮数t加1,并返回步骤2;
[0013]步骤7,各参与方使用本地训练好的神经网络协同过滤模型以及命中率@10评估协议,对本地测试数据的进行预测,生成一个前10个推荐项列表,从而对训练后的模型在推荐系统中的应用情况进行评估,并输出推荐结果。
[0014]进一步地,步骤1中服务器发送的训练配置具体内容包括:对任务的描述,通知参与方模型的超参数,超参数包含与训练过程有关的相关信息;当前模型的全局参数w0;常数C,表示在聚合前本地参与方的数量。
[0015]进一步地,步骤3中,首先将数据集转换为隐式反馈数据集,并且采用神经协同过滤NCF框架来进行训练,为方便表示,定义数据集中,A和B分别表示用户u和项目i的数量,K表示潜在空间(latent space)的维度;该框架包括数据输入层、嵌入层、神经协同过滤层、输出层;通过对输入数据使用one

hot编码转化为二值化稀疏向量作为输入特征,然后经过嵌入层将输入层的稀疏表示映射为一个稠密向量,然后送入神经协同过滤层,将潜在向量映射为预测分数;最终输出层是预测分数训练通过最小化交叉熵进行;其中,预测值公式为:
[0016][0017]其中P∈R
A
×
K
,Q∈R
B
×
K
,分别表示用户和项目的潜在因素矩阵;特征向量和分别用来描述用户u和项目i,Θ
f
表示交互函数f的模型参数,函数f被定义为多层神经网络。
[0018]进一步地,步骤4中,第t轮训练中的各参与方将其在本地第t轮训练更新后的模型参数上传给服务器前,对其进行差分隐私处理,加入高斯噪声,保护模型的隐私安全,高斯机制满足(∈,δ)

差分隐私;根据高斯机制,对于返回数字的函数f(x),以下F(x)定义满足(∈,δ)

差分隐私:
[0019]F(x)=f(x)+N(σ2)
[0020][0021]其中s是f的敏感度,而N(σ2)表示从中心为0且方差σ2的高斯分布抽样。
[0022]进一步地,步骤5中,FedAvg算法具体公式如下:
[0023][0024]其中,c∈C,C是该轮训练中中选定的参与方总数,n
c
是参与方的本地训练实例数,
是该轮训练的总实例数,是参与方更新后的模型参数。
[0025]进一步地,步骤6中,参与方的本地神经网络协同模型的收敛是指本地神经网络协同过滤模型的损失函数值不再变化或变化量小于设定的变化阈值。
[0026]进一步地,步骤7中命中率@10计算公式为:
[0027][0028]其中,分母GT是所有的测试集合,分子表示每个参与方前十个推荐项列表中属于测试集合的个数的总和;HR@10值越高则证明该推荐系统效果越好。
[0029]与现有技术相比,本专利技术具有如下有益效果:
[0030]1、本方法基于深度学习的推荐系统,能够取得更好的推荐效果;
[0031]2、在传统的推荐系统中存在数据隐私安全的问题,而采用联邦学习,可以保护数据不进行与中心服务器交互,仅在本地进行训练,且本方法对更新的模型参数进行差分隐私加噪处理,进一步保护了推荐系统的数据安全。
附图说明
[0032]图1为本专利技术实施例中的一种基于联邦学习的神经网络协同过滤推荐方法的系统原理及神经网络协同过滤模型框架。
具体实施方式
[0033]下面结合说明书附图对本专利技术的技术方案做进一步的详细说明。
[0034]在联邦学习推荐系统的准备工作中,需要协调中心服务器和若干参与的客户端,组建整个联邦学习训练环境。中心服务器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联邦学习的神经网络协同过滤推荐方法,其特征在于:包含以下步骤:步骤1,中心服务器初始化神经网络模型的训练配置并启动该训练计划,并发送给参与方P1,P2,...,P
N
;参与方将收到的训练配置中的全局参数w0作为本地神经网络协同过滤模型的第0轮模型参数;步骤2,中心服务器随机选择C个参与方作为训练参与方参与到第t轮训练中,并向它们发送当前的全局模型;步骤3,第t轮训练的各参与方使用本地训练数据集D
c
以及本地步骤local epochs,来更新已有的本地神经网络协同过滤模型的第t

1轮全局模型参数得到本地神经网络协同过滤模型的第t轮各参与方的模型参数c∈C,C为训练参与方的个数,t为训练轮数;步骤4,第t轮训练中的各参与方将其在本地第t轮训练更新后的模型参数上传给服务器,并进行加入高斯噪声的差分隐私处理;步骤5,服务器基于FedAvg算法对步骤4各参与方上传的模型参数进行聚合,得到新的全局参数w
t
;步骤6,服务器将依据生成的新的全局参数w
t
,判断所有参与方的本地神经网络协同过滤模型是否已经收敛或达到预定的训练次数:如果是,则转至步骤7;否则,令训练轮数t加1,并返回步骤2;步骤7,各参与方使用本地训练好的神经网络协同过滤模型以及命中率@10评估协议,对本地测试数据的进行预测,生成一个前10个推荐项列表,从而对训练后的模型在推荐系统中的应用情况进行评估,并输出推荐结果。2.根据权利要求1所述的一种基于联邦学习的神经网络协同过滤推荐方法,其特征在于:步骤1中服务器发送的训练配置具体内容包括:对任务的描述,通知参与方模型的超参数,超参数包含与训练过程有关的相关信息;当前模型的全局参数w0;常数C,表示在聚合前本地参与方的数量。3.根据权利要求1所述的一种基于联邦学习的神经网络协同过滤推荐方法,其特征在于:步骤3中,首先将数据集转换为隐式反馈数据集,并且采用神经协同过滤NCF框架来进行训练,为方便表示,定义数据集中,A和B分别表示用户u和项目i的数量,K表示潜在空间latent space的维度;该...

【专利技术属性】
技术研发人员:肖甫顾怡金诚程凡恺陈小柏周剑
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1