一种纵向联邦学习架构下的非抽样因子分解机服务方法技术

技术编号:37377722 阅读:20 留言:0更新日期:2023-04-27 07:20
本发明专利技术公开了一种纵向联邦学习架构下的非抽样因子分解机服务方法,属于推荐系统领域,初始化参与纵向联邦学习双方的本地模型,通过初始化的本地模型计算各自的辅助向量,可信第三方发送同态加密公钥给参与纵向联邦学习双方,其中一方向另一方传输自身加密模型以及辅助向量以在另一方求得加密的纵向联邦因子分解机算法的预测值,并接受该预测值,双方通过本地数据与接收到的数据计算出损失函数后求解各自的加密梯度,发送给可信第三方进行解密,双方接收到模型梯度后更新模型,模型收敛后用于推荐任务中。本发明专利技术的优势在于:解决了纵向联邦学习架构下的隐反馈因子分解机在非抽样训练情况下推荐框架模型训练效率差的技术问题。技术问题。技术问题。

【技术实现步骤摘要】
一种纵向联邦学习架构下的非抽样因子分解机服务方法


[0001]本专利技术涉及推荐系统
,具体为一种纵向联邦学习架构下的非抽样因子分解机服务方法。

技术介绍

[0002]因子分解机是一种通用框架,它集成了灵活的特征工程和潜在因子模型的高精度预测的优点。联邦学习作为一种新的机器学习范式允许不同参与者在不泄露私有数据的情况下合作构建智能系统,同时解决了隐私和数据稀疏的问题。纵向联邦学习一般是适用于数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习场景,纵向联邦学习也可以理解为按特征划分的联邦学习。
[0003]假设有两家公司A和B想要协同地训练一个机器学习服务推荐模型,每一家公司都拥有各自的数据。例如,对于社交门户网站与电子商务网站,社交门户网站只有根据用户的个人信息,如职业、性别等,电子商务网站只有用户对商品的隐式反馈数据,如用户对商品的点击情况等,并且A,B两公司的用户集具有较高的重合性。电子商务网站想要在保证用户隐私的情况下获取社交门户网站的数据集并与本公司数据集进行联合训练,以实现为用户提供定制化的推荐服务。
[0004]由于用户隐私和数据安全的原因,A方和B方不能直接交换数据,为了保证训练过程中的数据保密性,此时需要加入了一个第三方的协调者C。C是一个半诚实的第三方,它主要用来帮助参与方进行安全的联邦学习,C独立于各参与方,它将会收集中间结果用来计算梯度和损失值,并将结果转发给每一参与方。C收到的来自参与方的信息是被加密过或者被混淆处理过的,因此各方的原始数据并不会暴露给彼此,并且各参与方只会收到与其拥有的特征相关的模型参数。
[0005]在上述场景下,为了提供更准确的推荐,除了建模用户项交互之外,还要考虑上下文特性,但传统的非抽样联邦因子分解机方法效率不佳。

技术实现思路

[0006](一)解决的技术问题
[0007]针对现有技术的不足,本专利技术提供了一种纵向联邦学习架构下的非抽样因子分解机服务方法,具备在数据通常不能直接从一个数据所有者转移到另一个数据所有者的情况下,有两家公司A和B想要协同地训练一个机器学习服务推荐模型,每一家公司都拥有各自的数据,两方数据集上具有相同的样本空间、不同的特征空间,本专利技术将纵向联邦学习与非抽样因子分解机相结合,纵向联邦学习可以保障数据隐私,同时,使用改进的非抽样因子分解机模型进行训练,采用数学方法,将传统的因子分解机模型转化为矩阵分解模型,同时优化了损失函数等优点,解决了基于纵向联邦学习架构下的非抽样因子分解机推荐框架效率差的问题。
[0008](二)技术方案
[0009]为实现上述目的,本专利技术提供如下技术方案:一种纵向联邦学习架构下的非抽样因子分解机服务方法,包括以下步骤:
[0010]S1、公司A和公司B各自初始化本地模型,即对于公司A,初始化参数w
A
,v
A
并基于此计算出向量P
A
,对于公司B,初始化参数w
B
,v
B
并基于此计算出向量Q
B

[0011]S2、可信第三方服务端C发送公钥pub给公司A、B,公司B将中间结果Q
B
加密得到[[Q
B
]],传输给公司A。
[0012]S3、公司A接收到公司B传输的加密中间结果[[Q
B
]],并通过P
A
,[[Q
B
]],h
aux
求出纵向联邦因子分解机算法的加密预测函数公司A将[[P
A
]]和发送回公司B。
[0013]S4、公司A和公司B分别利用本地与对方传输的数据,计算出损失函数L,公司A求解加密梯度
[0014]S5、公司A和公司B分别将这些加密的参数梯度上传到第三方服务端C解密,结果分别重新返回公司A和公司B,利用梯度下降更新参数。
[0015]S6、重复步骤S2至S5,直至模型收敛。
[0016]优选的,步骤S1所述计算P
A
与Q
B
的具体方法是:
[0017][0018]其中,
[0019][0020][0021]h
aux,d
=h2;h
aux,d+1
=1;h
aux,d+2
=1
[0022]其中,d代表隐因子数量,P
A
∈R
d+2
、Q
B
∈R
d+2
和h
aux
∈R
d+2
表示公司A的特征向量、公司B的特征向量和预测层的辅助神经元权重,P
A
和Q
B
都仅取决于公司A与公司B本地的特征数据,其中,和分别是参与联合建模的公司A和公司B局部模型的全局偏置,m和n分别代表公司A和B的数据的特征数量,和是模型中公司A第i个和公司B第j个变量的权重,f
BI
(A)和f
BI
(B)分别表示公司A数据自身特征和公司B数据自身特征之间的二阶交互,h1表示预测层A、B两公司内部特征交叉项之和的神经元权重,h2表示预测层A、B两公司特征相互交叉项的神经元权重。
[0023]优选的,步骤S2所述采用的加密方法的具体方法为:
[0024][[Q
B
]]=E
pub
(Q
B
)
[0025]其中E
pub
(
·
)为使用公钥pub的加法同态加密函数,[[Q
B
]]为同态加密后的结果。
[0026]优选的,步骤S3所述通过[[P
A
]],[[Q
B
]],[[h
aux
]]求出纵向联邦因子分解机算法的预测值的具体方法是:
[0027][0028]其中[[P
A
]]和[[Q
B
]]表示使用公钥pub的同态加密函数同态加密公司A的特征向量和公司B的特征向量,h
aux
为预测层的辅助神经元权重,

表示向量的元素乘积,P
A
和Q
B
都仅取决于公司A与公司B本地的特征数据。
[0029]优选的,步骤S4中计算损失函数L的具体方法是:
[0030][0031]其中,其中U为公司B的数据集,V
+
为公司A中具有正反馈的数据集,为代入数据集U中第u项和数据集V
+
中第v项特征的预测值,d代表隐因子数量,h
i
,b
j
分别为为向量h
aux
的第i项和第j项,p
u,i
,p
u,j
分别为向量P
A
的第i项和第j项,p
v,i
,p
u,j
分别为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种纵向联邦学习架构下的非抽样因子分解机服务方法,其特征在于:包括以下步骤:S1、公司A和公司B各自初始化本地模型,即对于公司A,初始化参数w
A
,v
A
并基于此计算出向量P
A
,对于公司B,初始化参数w
B
,v
B
并基于此计算出向量Q
B
;S2、可信第三方服务端C发送公钥pub给公司A、B,公司B将中间结果Q
B
加密得到[[Q
B
]],传输给公司A。S3、公司A接收到公司B传输的加密中间结果[[Q
B
]],并通过P
A
,[[Q
B
]],h
aux
求出纵向联邦因子分解机算法的加密预测函数公司A将[[P
A
]]和发送回公司B。S4、公司A和公司B分别利用本地与对方传输的数据,计算出损失函数L,公司A求解加密梯度S5、公司A和公司B分别将这些加密的参数梯度上传到第三方服务端C解密,结果分别重新返回公司A和公司B,利用梯度下降更新参数。S6、重复步骤S2至S5,直至模型收敛。2.根据权利要求1所述的一种纵向联邦学习架构下的非抽样因子分解机服务方法,其特征在于:步骤S1所述计算P
A
与Q
B
的具体方法是:其中,其中,h
aux,d
=h2;h
aux,d+1
=1;h
aux,d+2
=1其中,d代表隐因子数量,P
A
∈R
d+2
、Q
B
∈R
d+2
和h
aux
∈R
d+2
表示公司A的特征向量、公司B的特征向量和预测层的辅助神经元权重,P
A
和Q
B
都仅取决于公司A与公司B本地的特征数据,其中,和分别是参与联合建模的公司A和公司B局部模型的全局偏置,m和n分别代表公司A和B的数据的特征数量,和是模型中公司A第i个和公司B第j个变量的权重,f
BI
(A)和f
BI
(B)分别表示公司A数据自身特征和公司B数据自身特征之间的二阶交互,h1表示预测层A、B两公司内部特征交叉项之和的神经元权重,h2表示预测层A、B两公司特征相互交叉项的神经元权重。3.根据权利要求1所述的一种纵向联邦学习架构下的非抽样因子分解机服务方法,其特征在于:步骤S2所述采用的加密方法的具体方法为:[[Q
B
]]=E
pub
(Q
B
)
...

【专利技术属性】
技术研发人员:黄海郭虹佐
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:

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

1