CN111985573A - 因子分解机分类模型构建方法、设备及可读存储介质 - Google Patents

因子分解机分类模型构建方法、设备及可读存储介质 Download PDF

Info

Publication number
CN111985573A
CN111985573A CN202010893160.9A CN202010893160A CN111985573A CN 111985573 A CN111985573 A CN 111985573A CN 202010893160 A CN202010893160 A CN 202010893160A CN 111985573 A CN111985573 A CN 111985573A
Authority
CN
China
Prior art keywords
party
parameter
sharing
model
shared
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010893160.9A
Other languages
English (en)
Inventor
高大山
谭奔
杨柳
鞠策
杨强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202010893160.9A priority Critical patent/CN111985573A/zh
Publication of CN111985573A publication Critical patent/CN111985573A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

本申请公开了一种因子分解机分类模型构建方法、设备及可读存储介质,所述因子分解机分类模型构建方法包括:获取待训练分类模型对应的初始化模型参数和第一稀疏数据,并基于初始化模型参数,与第二设备进行秘密共享,获得秘密共享初始模型参数,以供第二设备确定第二方秘密共享初始模型参数,基于第一稀疏数据中的第一非零部分和秘密共享初始模型参数,与第二设备进行联邦交互,以联合第二设备获取的第二稀疏数据中的第二非零部分和第二方秘密共享初始模型参数,计算秘密共享分类模型误差,基于秘密共享分类模型误差,对待训练分类模型进行更新,获得纵向联邦因子分解机分类模型。本申请解决了基于联邦学习训练分类模型时计算效率低的技术问题。

Description

因子分解机分类模型构建方法、设备及可读存储介质
技术领域
本申请涉及金融科技(Fintech)的人工智能领域,尤其涉及一种因子分解机分类模型构建方法、设备及可读存储介质。
背景技术
随着金融科技,尤其是互联网科技金融的不断发展,越来越多的技术(如分布式、区块链Blockchain、人工智能等)应用在金融领域,但金融业也对技术提出了更高的要求,如对金融业对应待办事项的分发也有更高的要求。
随着计算机软件和人工智能的不断发展,联邦学习的应用领域也越来越广泛,目前,基于联邦学习训练分类模型时的训练数据通常为稠密矩阵,且在训练过程中通常通过同态加密的方法,对稠密矩阵进行加密,以实现在不泄露数据隐私的前提下进行联邦学习的目的,但是,当训练数据为稀疏矩阵数据时,例如用户画像数据等,由于在存储相同的信息时,稀疏矩阵远比稠密矩阵大,进而在基于同态加密的方法,通过联邦学习训练分类模型时的计算量非常大,且计算复杂度非常高,进而导致基于联邦学习训练分类模型时的计算效率极低。
发明内容
本申请的主要目的在于提供一种因子分解机分类模型构建方法、设备及可读存储介质,旨在解决现有技术中基于联邦学习训练分类模型时计算效率低的技术问题。
为实现上述目的,本申请提供一种因子分解机分类模型构建方法,所述因子分解机分类模型构建方法应用于因子分解机分类模型构建设备,所述因子分解机分类模型构建方法包括:
获取待训练分类模型对应的待训练模型参数和第一稀疏数据,并基于所述待训练模型参数,与第二设备进行秘密共享,获得秘密共享初始模型参数;
基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差;
基于所述秘密共享分类模型误差,对所述待训练分类模型进行更新,获得纵向联邦因子分解机分类模型。
本申请还提供一种点击率预测方法,所述点击率预测方法应用于点击率预测设备,所述点击率预测方法包括:
获取第一方待预测用户稀疏数据,并与第二设备进行秘密共享,获得秘密共享模型参数;
基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以对所述第一方待预测用户稀疏数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果;
基于所述第一秘密共享点击率预测结果,与所述第二设备进行聚合交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标点击率预测结果。
本申请还提供一种因子分解机分类模型构建装置,所述因子分解机分类模型构建装置为虚拟装置,且所述因子分解机分类模型构建装置应用于因子分解机分类模型构建设备,所述因子分解机分类模型构建装置包括:
秘密共享模块,用于获取待训练分类模型对应的待训练模型参数和第一稀疏数据,并基于所述待训练模型参数,与第二设备进行秘密共享,获得秘密共享初始模型参数;
误差计算模块,用于基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差;
生成模块,用于基于所述秘密共享分类模型误差,对所述待训练分类模型进行更新,获得纵向联邦因子分解机分类模型。
本申请还提供一种点击率预测装置,所述点击率预测装置为虚拟装置,且所述点击率预测装置应用于点击率预测设备,所述点击率预测装置包括:
秘密共享模块,用于获取第一方待预测用户稀疏数据,并与第二设备进行秘密共享,获得秘密共享模型参数;
预测模块,用于基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以对所述第一方待预测用户稀疏数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果;
聚合模块,用于基于所述第一秘密共享点击率预测结果,与所述第二设备进行聚合交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标点击率预测结果。
本申请还提供一种因子分解机分类模型构建设备,所述因子分解机分类模型构建设备为实体设备,所述因子分解机分类模型构建设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述因子分解机分类模型构建方法的程序,所述因子分解机分类模型构建方法的程序被处理器执行时可实现如上述的因子分解机分类模型构建方法的步骤。
本申请还提供一种点击率预测设备,所述点击率预测设备为实体设备,所述点击率预测设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述点击率预测方法的程序,所述点击率预测方法的程序被处理器执行时可实现如上述的点击率预测方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有实现因子分解机分类模型构建方法的程序,所述因子分解机分类模型构建方法的程序被处理器执行时实现如上述的因子分解机分类模型构建方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有实现点击率预测方法的程序,所述点击率预测方法的程序被处理器执行时实现如上述的点击率预测方法的步骤。
本申请提供了一种因子分解机分类模型构建方法、设备和可读存储介质,相比于现有技术采用基于同态加密的方法进行联邦学习的技术手段,本申请在获取待训练分类模型对应的初始化模型参数和第一稀疏数据之后,与第二设备进行秘密共享,进而第一设备获得秘密共享初始模型参数,第二设备获得第二方秘密共享初始模型参数,进而基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差,其中,在进行联邦交互时,仅利用了第一稀疏数据中的第一非零部分和第二稀疏数据中的第二非零部分进行计算,进而减少了第一稀疏数据和第二稀疏数据中关于零部分的计算过程,使得联邦交互过程中的计算量、计算复杂度以及数据传输量均大幅度降低,进而基于秘密共享分类模型误差,对待训练分类模型进行更新,即可得到纵向联邦因子分解机分类模型,克服了现有技术中由于稀疏矩阵过大,通过同态加密的方法,进行基于联邦学习构建因子分解机分类模型时计算效率低的技术缺陷,进而提高了基于因子分解机分类模型构建时的计算效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请因子分解机分类模型构建方法第一实施例的流程示意图;
图2为本申请因子分解机分类模型构建方法第二实施例的流程示意图;
图3为本申请点击率预测方法第三实施例的流程示意图;
图4为本申请实施例因子分解机分类模型构建方法涉及的硬件运行环境的设备结构示意图;
图5为本申请实施例点击率预测方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种因子分解机分类模型构建方法,在本申请因子分解机分类模型构建方法的第一实施例中,参照图1,所述因子分解机分类模型构建方法应用于第一设备,所述因子分解机分类模型构建方法包括:
步骤S10,获取待训练分类模型对应的待训练模型参数和第一稀疏数据,并基于所述待训练模型参数,与第二设备进行秘密共享,获得秘密共享初始模型参数;
在本实施例中,需要说明的是,所述第一设备和所述第二设备均为纵向联邦学习的参与方,所述第一设备拥有带有样本标签的第一稀疏数据,所述第一稀疏数据可用第一稀疏矩阵和样本标签进行表示,例如,假设所述第一稀疏数据为(XA,Y),XA为所述第一稀疏矩阵,Y为所述样本标签,另外地,所述第二设备拥有不带有样本标签的第二稀疏数据,所述第二稀疏数据可用第二稀疏矩阵进行表示,例如,假设第二稀疏矩阵为XB
另外地,在本实施例中,所述纵向联邦因子分解机分类模型为基于纵向联邦学习构建的机器学习模型,所述纵向联邦因子分解机分类模型的模型参数为第一设备和第二设备共同持有,所述待训练分类模型为初始化的因子分解机分类模型,所述待训练分类模型对应的模型参数可用矩阵进行表示,其中,所述待训练分类模型的模型参数包括属于第一设备的初始化模型参数和属于第二设备的第二方初始化模型参数,其中,所述初始化模型参数包括第一方第一类型模型参数向量、第一方第二类型模型参数矩阵和所述第一方第二类型模型参数矩阵对应的第一方转置矩阵,所述第二方初始化模型参数包括第二方第一类型模型参数向量、第二方第二类型模型参数矩阵和所述第二方第二类型模型参数矩阵对应的第二方转置矩阵,例如,假设所述第一方第一类型模型参数向量为wA,所述第二方第一类型模型参数向量为wB,所述第一方第二类型模型参数矩阵为VA,所述第二方第二类型模型参数矩阵为VB,且所述待训练分类模型的模型参数为第一类型模型参数w=[wA,wB]和第二类型模型参数V=[VA,VB]。
另外地,需要说明的是,对数据进行秘密共享的过程为将数据拆分为两份子数据,且两份子数据分别由秘密共享的两方持有的过程,例如,假设秘密共享的两方为A和B,则对数据X进行秘密共享,则A持有数据X的第一份额[[X]]A,B持有数据X的第二份额[[X]]B,且X=[[X]]A+[[X]]B
另外地,需要说明的是,所述因子分解机分类模型的模型表达式如下所示:
Figure BDA0002656268880000061
z(x)=<w,x>+∑i<j<Vi,Vj>xixj
其中,f(x)为所述因子分解机分类模型,x为模型输入数据对应的数据矩阵,其中,所述模型输入数据包括第一稀疏数据(XA,Y)和第二稀疏数据XB,其中,Y为所述样本标签,XA具有dA个特征维度的第一稀疏矩阵,XB具有dB个特征维度的第二稀疏矩阵,第一类型模型参数为w,其中,w为d维向量,第二类型模型参数为V,其中,V为d*dx的矩阵,且w=[wA,wB],也即,w是由第一方第一类型模型参数向量wA和第二方第一类型模型参数向量wB组成,其中,wA为dA维向量,wB为dB维向量,另外地,V=[VA,VB],其中,V是由第一方第二类型模型参数矩阵VA和所述第二方第二类型模型参数矩阵VB组成,其中,VA为dA*dX维矩阵,VB为dB*dX维矩阵,<w,x>为w和x的内积,Vi为V的第i列的列向量,Vj为V的第j列的列向量,xi为x的第i列的列向量,xj为x的第j列的列向量。
获取待训练分类模型对应的待训练模型参数和第一稀疏数据,并基于所述待训练模型参数,与第二设备进行秘密共享,获得秘密共享初始模型参数,具体地,对所述因子分解机分类模型进行初始化,获得所述待训练分类模型,并获取所述待训练分类模型对应的初始化模型参数,其中,所述第二设备获得第二方初始化模型参数,并将所述第二方初始化模型参数拆分为第二方初始化模型参数第一份额和第二方初始化模型参数第二份额,进而获取第一稀疏数据,并将所述初始化模型参数拆分为初始化模型参数第一份额和初始化模型参数第二份额,其中,所述初始化模型参数第一份额包括第一方第一类型模型参数向量第一份额、第一方第二类型模型参数矩阵第一份额和所述第一方转置矩阵第一份额,所述初始化模型参数第二份额包括第一方第一类型模型参数向量第二份额、第一方第二类型模型参数矩阵第二份额和所述第一方转置矩阵第二份额,进而将所述初始化模型参数第二份额发送至所述第二设备,以供所述第二设备将所述初始化模型第二份额和所述第二方初始化模型第一份额作为所述第二方秘密共享模型参数,进而接收所述第二设备发送的第二方初始化模型参数第二份额,将所述初始化模型参数第一份额和所述第二方初始化模型参数第二份额作为所述秘密共享初始模型参数,其中,所述第二方初始化模型参数第一份额包括第二方第一类型模型参数向量第一份额、第二方第二类型模型参数矩阵第一份额和所述第二方转置矩阵第一份额,所述第二方初始化模型参数第二份额包括第二方第一类型模型参数向量第二份额、第二方第二类型模型参数矩阵第二份额和所述第二方转置矩阵第二份额,例如,假设所述初始化模型参数为GA,所述第二方初始化模型参数诶GB,则进行秘密共享后,第一设备拥有初始化模型第一份额[[GA]]A和第二方初始化模型第二份额[[GB]]A,第二设备拥有初始化模型第二份额[[GA]]B和第二方初始化模型第一份额[[GB]]B,且GA=[[GA]]A+[[GA]]B,GB=[[GB]]A+[[GB]]B
步骤S20,基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差;
在本实施例中,需要说明的是,所述第一非零部分为所述第一稀疏矩阵中非零的各列向量,所述第二设备包括第二方秘密共享初始模型参数和第二稀疏矩阵,其中,所述第二稀疏矩阵包括第二非零部分,其中,所述第二非零部分为所述第二稀疏矩阵中非零的各列向量。
基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差,具体地,基于所述第一稀疏数据中的第一非零部分和所述秘密共享初始模型参数,与所述第二设备进行联邦交互,以联合所述第二设备确定的第二稀疏数据中的第二非零部分和第二方秘密共享初始模型参数,计算各秘密共享误差参数项,进而基于各所述秘密共享参数项、秘密共享样本标签、预设权重信息和预设秘密共享分类模型误差计算公式,计算所述秘密共享分类模型误差,其中,所述秘密共享样本标签为将所述样本标签与第二设备进行秘密共享获得的,其中,所述秘密共享样本标签为所述样本标签的第一份额,所述样本标签的第二份额为第二方秘密共享样本标签,且由所述第二设备持有,所述预设权重信息为计算秘密共享分类模型误差时各秘密共享参数项的计算权重占比。
其中,所述秘密共享初始模型参数包括第一类型共享模型参数和第二类型共享模型参数,所述第二设备包括第二方秘密共享初始模型参数和第二稀疏矩阵,其中,所述第二方秘密共享初始模型参数包括第二方第一类型共享模型参数和第二方第二类型共享模型参数,
所述基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差包括:
步骤S21,基于所述第一类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第一类型共享模型参数和所述第二稀疏矩阵的第二非零部分,计算所述第一类型稀疏矩阵安全内积;
在本实施例中,需要说明的是,所述第一类型共享模型参数为第一设备持有的秘密共享的第一类型模型参数,其中,所述第一类型共享模型参数包括第五共享参数和第六共享参数,其中,所述第五共享参数为第一方第一类型模型参数向量的第一份额,所述第六共享参数为第二方第一类型模型参数向量的第二份额,所述第二方第一类型共享模型参数为第二设备持有的秘密共享的第一类型模型参数,其中,所述第二方第一类型共享参数包括第七共享参数和第八共享参数,其中,所述第七共享参数为第一方第一类型模型参数向量的第二份额,所述第八共享参数为第二方第一类型模型参数向量的第一份额,所述第一类型稀疏矩阵安全内积包括第三非零特征项交叉内积和第四非零特征项交叉内积,其中,所述第三非零特征项交叉内积为第一设备中秘密共享的第一方第一类型模型参数向量和所述第一非零部分的交叉特征项内积,也即,所述第三非零特征项交叉内积为第一设备中秘密共享的第一方第一类型模型参数向量和第一非零部分中每一列向量的乘积的累加值,其中,所述第三非零特征项交叉内积可用向量进行表示,所述第四非零特征项交叉内积为第一设备中秘密共享的第二方第一类型模型参数向量和所述第二非零部分的交叉特征项内积,所述第四非零特征项交叉内积为第一设备中为秘密共享的第二方第一类型模型参数向量和第二非零部分中每一列向量的乘积的累加值,其中,所述第四非零特征项交叉内积可用向量进行表示。
基于所述第一类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第一类型共享模型参数和所述第二稀疏矩阵的第二非零部分,计算所述第一类型稀疏矩阵安全内积,具体地,第二设备生成第三公钥和第三公钥对应的第三私钥,并对基于所述第三公钥,对所述第七共享参数进行同态加密,获得加密第七共享参数,并将所述第三公钥和所述加密第七共享参数发送至所述第一设备,进而第一设备接收所述第三公钥和所述加密第七共享参数,进而基于所述第三公钥,对所述第五共享参数进行同态加密,获得加密第五共享参数,进而计算所述加密第五共享参数和所述加密第七共享参数之和,获得加密第一方第一类型模型参数向量,进而计算所述加密第一方第一类型模型参数向量和所述第一稀疏矩阵中的第一非零部分中的每一第一非零列向量的乘积,获得各所述第一非零列向量对应的第一向量乘积,其中,所述第一稀疏矩阵的每一行对应一个样本维度,所述第一稀疏矩阵的每一列对应一个特征维度,进而将各所述第一向量乘积进行累加,获得第三加密内积,进而构建均匀分布的且与所述第三加密内积的特征维度一致的第三非零特征项交叉内积,并基于所述第三公钥,对所述第三非零特征项交叉内积进行同态加密,获得加密第三非零特征项交叉内积,进而计算所述第三加密内积和所述加密第三非零特征项交叉内积的差值,获得加密第二方第三非零特征项交叉内积,并将所述加密第二方第三非零特征项交叉内积发送至所述第二设备,进而第二设备基于所述第三私钥,对应所述加密第二方第三非零特征项交叉内积进行解密,获得第二方第三非零特征项交叉内积,其中,所述第二方第三非零特征项交叉内积为第二设备中秘密共享的第一方第一类型模型参数向量和所述第一非零部分的交叉特征项内积,也即,所述第二方第三非零特征项交叉内积为第二设备中秘密共享的第一方第一类型模型参数向量和第一非零部分中每一列向量的乘积的累加值,相同地,第一设备生成第四公钥和第四公钥对应的第四私钥,并基于所述第四公钥,对所述第六共享参数进行同态加密,获得加密第六共享参数,进而将所述第四公钥和所述加密第六共享参数发送至所述第二设备,进而第二设备接收所述第四公钥和所述加密第六共享参数,并基于所述第四公钥,对所述第八共享参数进行同态加密,获得加密第八共享参数,进而计算所述加密第六共享参数和所述加密第八共享参数,获得加密第二方第一类型模型参数向量,进而计算所述加密第二方第一类型模型参数向量和所述第二稀疏矩阵中第二非零部分中的每一第二非零列向量的乘积,获得各所述第二非零列向量对应的第二向量乘积,其中,所述第二稀疏矩阵的每一行对应一个样本维度,所述第二稀疏矩阵的每一列对应一个特征维度,进而将各所述第二向量乘积进行累加,获得第四加密内积,进而构建与所述第四加密内积特征维度一致的第二方第四非零特征项交叉内积,其中,所述第二方第四非零特征项交叉内积为第二设备中秘密共享的第二方第一类型模型参数向量和所述第二非零部分的交叉特征项内积,所述第二方第四非零特征项交叉内积为第二设备中为秘密共享的第二方第一类型模型参数向量和第二非零部分中每一列向量的乘积的累加值,进而基于所述第四公钥,对所述第二方第四非零特征项交叉内积进行同态加密,获得加密第二方第四非零特征项交叉内积,进而计算所述第四加密内积和所述加密第二方第四非零特征项交叉内积的差值,获得加密第四非零特征项交叉内积,并将所述加密第四非零特征项交叉内积发送至所述第一设备,进而第一设备接收所述加密第四非零特征项交叉内积,并对所述加密第四非零特征项交叉内积进行解密,获得第四非零特征项交叉内积,其中,所述第三非零特征项交叉内积和所述第四非零特征项交叉内积可选择在同一时间进行计算,也可选择在不同时间进行计算。
另外地,所述第三非零特征项交叉内积和所述第四非零特征项交叉内积的表达式如下所示:
Figure BDA0002656268880000101
Figure BDA0002656268880000102
其中,Q1为所述第三非零特征项交叉内积,Q2为所述第四非零特征项交叉内积,wA为所述第一方第一类型模型参数向量,
Figure BDA0002656268880000103
为所述第一非零列向量,XA为所述第一稀疏矩阵,dA表示所述第一稀疏矩阵具有dA个特征维度,wB为所述第二方第一类型模型参数向量,
Figure BDA0002656268880000104
为所述第二非零列向量,XB为所述第二稀疏矩阵,dB表示所述第一稀疏矩阵具有dB个特征维度,[[]]A表示括号中的内容为秘密共享的数据,且属于第一设备,进而所述第二方第三非零特征项交叉内积和所述第二方第四非零特征项交叉内积的表达式如下所示:
Figure BDA0002656268880000111
Figure BDA0002656268880000112
其中,Q3为所述第二方第三非零特征项交叉内积,Q4为所述第二方第四非零特征项交叉内积,[[]]B表示括号中的内容为秘密共享的数据,且属于第二设备。
另外地,所述第三非零特征项交叉内积和所述第二方第三非零特征项交叉内积的关联关系,以及所述第四非零特征项交叉内积和第二方第四非零特征项交叉内积的关联关系如下所示:
Figure BDA0002656268880000113
Figure BDA0002656268880000114
步骤S22,基于所述第二类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述第二类型稀疏矩阵安全内积;
在本实施例中,需要说明的是,所述第二类型共享模型参数为第一设备持有的秘密共享的第二类型模型参数,其中,所述第二类型共享模型参数包括第一共享参数和第三共享参数,其中,所述第一共享参数为第二方第二类型模型参数矩阵的第二份额,所述第三共享参数为第一方第二类型模型参数矩阵的第一份额,所述第二方第二类型共享模型参数为第二设备持有的秘密共享的第二类型模型参数,其中,所述第二方第二类型共享参数包括第二共享参数和第四共享参数,其中,所述第二共享参数为第二方第二类型模型参数矩阵的第一份额,所述第四共享参数为第一方第二类型模型参数矩阵的第二份额,所述第二类型稀疏矩阵安全内积包括第一非零特征项交叉内积和第二非零特征项交叉内积,其中,所述第一非零特征项交叉内积为第一设备中秘密共享的第二方第二类型模型参数矩阵和所述第二非零部分的交叉特征项内积,也即,所述第一非零特征项交叉内积为第一设备中秘密共享的第二方第二类型模型参数矩阵中的每一列向量和第二非零部分中每一列向量的乘积的累加值,所述第二非零特征项交叉内积为第一设备中秘密共享的第一方第二类型模型参数矩阵和所述第一非零部分的交叉特征项内积,所述第二非零特征项交叉内积为第一设备中为秘密共享的第一方第二类型模型参数矩阵中每一列向量和第一非零部分中每一列向量的乘积的累加值。
基于所述第二类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述第二类型稀疏矩阵安全内积,具体地,基于所述第一共享参数,与所述第二设备进行联邦交互,以联合所述第二共享参数和所述第二非零部分,计算所述第一非零特征项交叉内积,并协助所述第二设备计算所述第一非零特征项交叉内积对应的第二方第一非零特征项交叉内积,其中,所述第二方第一非零特征项交叉内积为第二设备中秘密共享的第二方第二类型模型参数矩阵和所述第二非零部分的交叉特征项内积,也即,所述第二方第一非零特征项交叉内积为第二设备中秘密共享的第二方第二类型模型参数矩阵中的每一列向量和第二非零部分中每一列向量的乘积的累加值,相同地,基于所述第三共享参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第四共享参数,计算第二非零特征项交叉内积,并协助所述第二设备计算第二方第二非零特征项交叉内积,其中,所述第二方第二非零特征项交叉内积为第二设备中秘密共享的第一方第二类型模型参数矩阵和所述第一非零部分的交叉特征项内积,所述第二方第二非零特征项交叉内积为第二设备中为秘密共享的第一方第二类型模型参数矩阵中每一列向量和第一非零部分中每一列向量的乘积的累加值,其中,所述第一非零特征项交叉内积和所述第二非零特征项交叉内积可选择在同一时间进行计算,也可选择在不同时间进行计算。
另外地,所述第一非零特征项交叉内积和所述第二非零特征项交叉内积的表达式如下所示:
Figure BDA0002656268880000121
Figure BDA0002656268880000122
其中,R1为所述第一非零特征项交叉内积,R2为所述第二非零特征项交叉内积,VA为所述第一方第二类型模型参数向量,
Figure BDA0002656268880000123
为所述第一非零列向量,XA为所述第一稀疏矩阵,VB为所述第二方第二类型模型参数向量,
Figure BDA0002656268880000124
为所述第二非零列向量,XB为所述第二稀疏矩阵,[[]]A表示括号中的内容为秘密共享的数据,且属于第一设备,进而,所述第二方第一非零特征项交叉内积和所述第二方第二非零特征项交叉内积的表达式如下:
Figure BDA0002656268880000131
Figure BDA0002656268880000132
其中,R3为所述第二方第一非零特征项交叉内积,R4为所述第二方第二非零特征项交叉内积,[[]]B表示括号中的内容为秘密共享的数据,且属于第二设备。
另外地,所述第一非零特征项交叉内积和所述第二方第一非零特征项交叉内积的关联关系,以及所述第二非零特征项交叉内积和第二方第二非零特征项交叉内积的关联关系如下所示:
Figure BDA0002656268880000133
Figure BDA0002656268880000134
步骤S23,基于所述第二类型共享模型参数、所述第一非零部分和所述预设秘密共享乘法三元组,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述秘密共享中间参数。
在本实施例中,需要说明的是,所述预设秘密共享乘法三元组为第一设备持有的秘密共享的乘法三元组,且所述第二设备持有所述预设秘密共享乘法三元组对应的第二方秘密共享乘法三元组,其中,所述预设秘密共享乘法三元组和所述第二方秘密共享乘法三元组之和为所述乘法三元组,其中,所述乘法三元组为三个具有乘积关系的参数组成的数组,例如,假设乘法三元组为(a,b,c),则具有乘积关系c=a*b。
另外地,需要说明的是,所述第二类型共享模型参数包括所述第一共享参数、所述第一共享参数对应的第一共享转置参数、所述第三共享参数和所述第三共享参数对应的第二共享转置参数,其中,所述第一共享转置参数为第一设备持有的秘密共享的所述第二方转置矩阵,所述第二共享转置参数为第一设备持有的秘密共享的所述第一方转置矩阵,所述第二方第二类型共享模型参数包括所述第二共享参数、所述第二共享参数对应的第三共享转置参数、所述第四共享参数和所述第四共享参数对应的第四共享转置参数,其中,所述第三共享转置参数为第二设备持有的秘密共享的所述第二方转置矩阵,所述第四共享转置参数为第二设备持有的秘密共享的所述第一方转置矩阵。
另外地,需要说明的是,所述秘密共享中间参数包括第一方第一秘密共享中间参数和第一方第二秘密共享中间参数,其中,所述第一方第一秘密共享中间参数为第一设备持有的秘密共享的第一中间参数,所述第一方第二秘密共享中间参数为第一设备持有的秘密共享的第二中间参数,其中,所述第一中间参数为第二方第二类型模型参数矩阵、所述第二方转置矩阵、所述第二稀疏矩阵中的第二非零部分和所述第二稀疏矩阵对应的转置矩阵中的非零部分共同组成的秘密共享非零特征项交叉内积,也即所述第一中间参数中的每一数值均为第二方第二类型模型参数矩阵的列向量、所述第二方转置矩阵的列向量、所述第二稀疏矩阵中的第二非零部分的列向量和所述第二稀疏矩阵对应的转置矩阵中的非零部分的列向量四者共同的秘密共享乘积,相同地,所述第二中间参数为第一方第二类型模型参数矩阵、所述第一方转置矩阵、所述第一稀疏矩阵中的第一非零部分和所述第一稀疏矩阵对应的转置矩阵中的非零部分共同组成的秘密共享非零特征项交叉内积,也即所述第二中间参数中的每一数值均为第一方第二类型模型参数矩阵的列向量、所述第一方转置矩阵的列向量、所述第一稀疏矩阵中的第一非零部分的列向量和所述第一稀疏矩阵对应的转置矩阵中的非零部分的列向量四者共同的秘密共享乘积。
基于所述第二类型共享模型参数、所述第一非零部分和所述预设秘密共享乘法三元组,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述秘密共享中间参数,具体地,基于所述预设秘密共享乘法三元组、所述第一共享参数和所述第一共享转置参数,与所述第二设备进行联邦交互,以联合所述第二方秘密共享乘法三元组、所述第二共享参数和所述第三共享转置参数,计算第一方第一转置矩阵内积,且协助第二设备计算第二方第一转置矩阵内积,进而基于所述第一方第一转置矩阵内积,与所述第二设备进行联邦交互,以联合所述第二方第一转置矩阵内积和所述第二非零部分,计算第一方第一秘密共享中间参数,且协助所述第二设备计算第二方第一秘密共享中间参数,相同地,基于所述预设秘密共享乘法三元组、所述第三共享参数和所述第二共享转置参数,与所述第二设备进行联邦交互,以联合所述第二方秘密共享乘法三元组、所述第四共享参数和所述第四共享转置参数,计算第一方第二转置矩阵内积,且协助第二设备计算第二方第二转置矩阵内积,进而基于所述第一方第二转置矩阵内积和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第二转置矩阵内积,计算第一方第二秘密共享中间参数,且协助所述第二设备计算第二方第二秘密共享中间参数,其中,所述第一方第一秘密共享中间参数和所述第一方第二秘密共享中间参数的表达式如下所示:
Figure BDA0002656268880000151
Figure BDA0002656268880000152
其中,T1为所述第一方第一秘密共享中间参数,T2为所述第一方第二秘密共享中间参数,VB为所述第二方第二类型模型参数矩阵,
Figure BDA0002656268880000153
为所述第二方第二类型模型参数矩阵的列向量,XB为所述第二稀疏矩阵,
Figure BDA0002656268880000154
为所述第二稀疏矩阵中的第二非零部分的列向量,VA为所述第一方第二类型模型参数矩阵,
Figure BDA0002656268880000155
为所述第一方第二类型模型参数矩阵的列向量,XA为所述第一稀疏矩阵,
Figure BDA0002656268880000156
为所述第一稀疏矩阵中的第一非零部分的列向量。
其中,所述第二类型共享模型参数包括第二类型秘密共享参数矩阵和所述第二类型秘密共享参数矩阵对应的秘密共享转置参数矩阵,所述第二方第二类型共享模型参数包括第二方第二类型秘密共享参数矩阵和所述第二方第二类型共享参数矩阵对应的第二方秘密共享转置参数矩阵,
所述基于所述第二类型共享模型参数、所述第一非零部分和所述预设秘密共享乘法三元组,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述秘密共享中间参数的步骤包括:
步骤A10,基于所述预设秘密共享乘法三元组,通过与所述第二设备进行联邦交互,计算所述第二类型秘密共享参数矩阵和所述秘密共享转置参数矩阵之间的秘密共享乘积,获得所述秘密共享矩阵内积,以供所述第二设备计算所述第二方第二类型秘密共享参数矩阵和所述第二方秘密共享转置参数矩阵之间的秘密共享乘积,获得所述第二方秘密共享矩阵内积;
在本实施例中,需要说明的是,所述秘密共享矩阵内积包括第一方第一转置矩阵内积和第一方第二转置矩阵内积,所述第二方秘密共享矩阵内积包括第二方第一转置矩阵内积和第二方第二转置矩阵内积,所述第二类型秘密共享参数矩阵包括第一共享参数矩阵和第三共享参数矩阵,其中,所述第一共享参数矩阵为第一共享参数的矩阵表示,所述第三共享参数矩阵为第三共享参数的矩阵表示,所述秘密共享转置参数矩阵包括第一共享转置参数矩阵和第二共享转置参数矩阵,其中,所述第一共享转置参数矩阵为所述第一共享转置参数的矩阵表示,所述第二共享转置参数矩阵为所述第二共享转置参数的矩阵表示,所述第二方第二类型秘密共享参数矩阵包括第二共享参数矩阵和第四共享参数矩阵,其中,所述第二共享参数矩阵为第二共享参数的矩阵表示,所述第四共享参数矩阵为所述第四共享参数的矩阵表示,所述第二方秘密共享转置参数矩阵包括第三共享转置参数矩阵和第四共享转置参数矩阵,其中,所述第三共享转置参数矩阵为所述第三共享转置参数的矩阵表示,所述第四共享转置参数矩阵为所述第四共享转置参数的矩阵表示。
基于所述预设秘密共享乘法三元组,通过与所述第二设备进行联邦交互,计算所述第二类型秘密共享参数矩阵和所述秘密共享转置参数矩阵之间的秘密共享乘积,获得所述秘密共享矩阵内积,以供所述第二设备计算所述第二方第二类型秘密共享参数矩阵和所述第二方秘密共享转置参数矩阵之间的秘密共享乘积,获得所述第二方秘密共享矩阵内积,具体地,第一设备基于所述预设秘密共享乘法三元组,分别对所述第一共享参数矩阵和所述第一共享转置参数矩阵进行盲化,获得所述第一共享参数矩阵对应的第一方第一共享盲化参数矩阵和所述第一共享转置参数矩阵对应的第一方第二共享盲化参数矩阵,相同地,所述第二设备基于所述第二方秘密共享乘法三元组,分别对所述第二共享参数矩阵和所述第三共享转置参数矩阵进行盲化,获得所述第二共享参数矩阵对应的第二方第一共享盲化参数矩阵和所述第三共享转置参数矩阵对应的第二方第二共享盲化参数矩阵,并将所述第二方第一共享盲化参数矩阵和所述第二方第二共享盲化参数矩阵发送至所述第一设备,进而第一设备计算所述第一方第一共享盲化参数矩阵和所述第二方第一共享盲化参数矩阵之和,获得第一盲化参数矩阵,计算所述第一方第二共享盲化参数矩阵和所述第二方第二共享盲化参数矩阵之和,获得第二盲化参数矩阵,并将所述第一方第一共享盲化参数矩阵和所述第一方第二共享盲化参数矩阵发送至所述第二设备,进而第二设备计算所述第一方第一共享盲化参数矩阵和所述第二方第一共享盲化参数矩阵之和,获得第一盲化参数矩阵,计算所述第一方第二共享盲化参数矩阵和所述第二方第二共享盲化参数矩阵之和,获得第二盲化参数矩阵,进一步地,第一设备基于预设第一方转置矩阵内积计算公式,计算所述预设秘密共享乘法三元组、所述第一盲化参数矩阵和所述第二盲化参数矩阵共同对应的第一方第一转置矩阵内积,相同地,第二设备基于预设第二方转置矩阵内积计算公式,计算所述第二方秘密共享乘法三元组、所述第一盲化参数矩阵和所述第二盲化参数矩阵共同对应的第二方第一转置矩阵内积,进一步地,第一设备基于所述预设秘密共享乘法三元组,分别对所述第三共享参数矩阵和所述第二共享转置参数矩阵进行盲化,获得所述第三共享参数矩阵对应的第一方第三共享盲化参数矩阵和所述第二共享转置参数矩阵对应的第一方第四共享盲化参数矩阵,相同地,所述第二设备基于所述第二方秘密共享乘法三元组,分别对所述第四共享参数矩阵和所述第四共享转置参数矩阵进行盲化,获得所述第四共享参数矩阵对应的第二方第三共享盲化参数矩阵和所述第四共享转置参数矩阵对应的第二方第四共享盲化参数矩阵,并将所述第二方第三共享盲化参数矩阵和所述第二方第四共享盲化参数矩阵发送至所述第一设备,进而第一设备计算所述第一方第三共享盲化参数矩阵和所述第二方第三共享盲化参数矩阵之和,获得第三盲化参数矩阵,计算所述第一方第四共享盲化参数矩阵和所述第二方第四共享盲化参数矩阵之和,获得第四盲化参数矩阵,并将所述第一方第三共享盲化参数矩阵和所述第一方第四共享盲化参数矩阵发送至所述第二设备,进而第二设备计算所述第一方第三共享盲化参数矩阵和所述第二方第三共享盲化参数矩阵之和,获得第三盲化参数矩阵,计算所述第一方第四共享盲化参数矩阵和所述第二方第四共享盲化参数矩阵之和,获得第四盲化参数矩阵,进一步地,第一设备基于预设第一方转置矩阵内积计算公式,计算所述预设秘密共享乘法三元组、所述第三盲化参数矩阵和所述第四盲化参数矩阵共同对应的第一方第二转置矩阵内积,相同地,第二设备基于预设第二方转置矩阵内积计算公式,计算所述第二方秘密共享乘法三元组、所述第三盲化参数矩阵和所述第四盲化参数矩阵共同对应的第二方第二转置矩阵内积,其中,所述预设第一方第一转置矩阵内积计算公式和所述预设第二方第一转置矩阵内积公式如下所示:
[[x*y]]A=f*[[a]]A+e*[[b]]A+[[c]]A
[[x*y]]B=e*f+f*[[a]]B+e*[[b]]B+[[c]]B
其中,[[x*y]]A为所述第一方第一转置矩阵内积,[[x*y]]B为所述第二方第一转置矩阵内积,e为所述第一盲化参数矩阵,f为所述第二盲化参数矩阵,乘法三元组为(a,b,c),其中,c=a*b,所述预设秘密共享乘法三元组为([[a]]A,[[b]]A,[[c]]A),所述第二方秘密共享乘法三元组为([[a]]B,[[b]]B,[[c]]B),例如,在一种可实施的方案中,所述第一方第一转置矩阵内积和所述第二方第一转置矩阵内积的计算过程如下:
首先,假设第一设备拥有秘密共享乘法三元组([[a]]A,[[b]]A,[[c]]A),第二设备拥有第二方秘密共享乘法三元组([[a]]B,[[b]]B,[[c]]B),其中,[[a]]A+[[a]]B=a,[[b]]A+[[b]]B=b,[[c]]A+[[c]]B=c,c=a*b,且所述第一共享参数矩阵为[[x]]A,所述第一共享转置参数矩阵为[[y]]A,所述第二设备中所述第二共享参数矩阵为[[x]]B,所述第三共享转置参数矩阵为[[y]]B,其中,[[x]]A+[[x]]B=x,[[y]]A+[[y]]B=y,则第一设备需计算的所述第一方第一共享盲化参数矩阵为[[x*y]]A,所述第二设备计算第一方第一共享盲化参数矩阵为[[x*y]]B,且需满足[[x*y]]A+[[x*y]]B=x*y,具体地,计算流程如下:
首先,第一设备计算[[e]]A=[[x]]A-[[a]]A和[[f]]A=[[y]]A-[[b]]A,第二设备计算[[e]]B=[[x]]B-[[a]]B和[[f]]B=[[y]]B-[[b]]B,进而第一设备将[[e]]A和[[f]]A发送至第二设备,第二设备将[[e]]B和[[f]]B发送至第二设备,进而第一设备和第二设备均获得e=x-a和f=y-b,进而第一设备计算[[x*y]]A=f*[[a]]A+e*[[b]]A+[[c]]A,第二设备计算[[x*y]]B=e*f+f*[[a]]B+e*[[b]]B+[[c]]B,进而[[x*y]]A+[[x*y]]B=e*f+f*a+e*b+c,进而将e=x-a和f=y-b代入该计算表达式,即可获得[[x*y]]A+[[x*y]]B=x*y。
步骤A20,基于所述秘密共享矩阵内积和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方秘密共享矩阵内积和所述第二非零部分,计算所述秘密共享中间参数。
在本实施例中,需要说明的是,所述秘密共享中间参数包括第一方第一秘密共享中间参数矩阵和第一方第二秘密共享中间参数矩阵,其中,所述第一方第一秘密共享中间参数矩阵为所述第一方第一秘密共享中间参数的矩阵表示,所述第一方第二秘密共享中间参数矩阵为所述第一方第二秘密共享中间参数的矩阵表示,所述第二设备通过联邦交互获得第二方秘密共享中间参数,其中,所述第二方秘密共享中间参数包括第二方第一秘密共享中间参数矩阵和第二方第二秘密共享中间参数矩阵,其中,所述第二方第一秘密共享中间参数矩阵为所述第二方第一秘密共享中间参数的矩阵表示,所述第二方第二秘密共享中间参数矩阵为所述第二方第二秘密共享中间参数的矩阵表示。
基于所述秘密共享矩阵内积和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方秘密共享矩阵内积和所述第二非零部分,计算所述秘密共享中间参数,具体地,生成第五公钥和所述第五公钥对应的第五私钥,并基于所述第五公钥,对所述第一方第一转置矩阵内积进行同态加密,获得加密第一方第一转置矩阵内积,并将所述第五公钥和所述加密第一方第一转置矩阵内积发送至所述第二设备,进而所述第二设备基于所述第五公钥,对所述第二方第一转置矩阵内积进行同态加密,获得加密第二方第一转置矩阵内积,并计算所述加密第一方第一转置矩阵内积和所述加密第二方第一转置矩阵内积,获得加密第一转置矩阵内积,其中,所述加密第一转置矩阵内积为向量,进而第二设备生成所述第二稀疏矩阵对应的转置矩阵,获得第二稀疏转置矩阵,进而计算所述加密转置矩阵内积中的每一数值、所述第二稀疏矩阵的每一非零列向量和所述第二稀疏转置矩阵的每一非零列向量三者之间的第一中间参数乘积,获得第一加密中间参数内积,其中,所述第一中间参数内积为各所述第一中间参数乘积的累加值,所述加密转置矩阵内积中的每一数值、所述第二稀疏矩阵的每一非零列向量和所述第二稀疏转置矩阵的每一非零列向量三者一一对应,进而在预设第一向量空间中,构建与所述第二稀疏矩阵的特征维度一致的向量作为所述第二方第一转置矩阵内积,并基于所述第五公钥,对所述第二方第一转置矩阵内积进行同态加密,获得加密第二方第一转置矩阵内积,进而计算所述第一加密中间参数内积与所述加密第二方第二转置矩阵内积的差值,获得加密第一方第一转置矩阵内积,并将所述加密第一方第一转置矩阵内积发送至所述第一设备,进而第一设备基于所述第五私钥,对所述加密第一方第一转置矩阵内积进行解密,获得第一方第一转置矩阵内积,另外地,所述第二设备生成第六公钥和所述第六公钥对应的第六私钥,并基于所述第六私钥,对所述第二方第二转置矩阵内积进行同态加密,获得加密第二方第二转置矩阵内积,并将所述加密第二方第二转置矩阵内积和所述第六公钥发送至所述第一设备,进而第一设备基于所述第六公钥,对所述第一方第二转置矩阵内积进行同态加密,获得加密第一方第二转置矩阵内积,进而计算所述加密第二方第二转置矩阵内积和所述加密第一方第二转置矩阵内积之和,获得加密第二转置矩阵内积,其中,所述加密第二转置矩阵内积为向量,进而生成所述第一稀疏矩阵对应的转置矩阵,获得第一稀疏转置矩阵,并计算所述加密第二转置矩阵内积中的每一数值、所述第一稀疏矩阵中的每一非零列向量和所述第一稀疏转置矩阵中的每一非零列向量三者之间的第二中间参数乘积,获得第二加密中间参数内积,其中,所述第二加密中间参数内积为各所述第二中间参数乘积的累加值,且所述加密第二转置矩阵内积中的每一数值、所述第一稀疏矩阵中的每一非零列向量和所述第一稀疏转置矩阵中的每一非零列向量三者一一对应,进而在预设第二向量空间中,构建与所述第一稀疏矩阵的特征维度一致的向量作为所述第一方第二转置矩阵内积,并基于所述第六公钥,对所述第一方第二转置矩阵内积进行同态加密,获得加密第一方第二转置矩阵内积,进而计算所述第二加密中间参数内积和所述加密第一方第二转置矩阵内积的差值,获得加密第二方第二转置矩阵内积,并将所述加密第二方第二转置矩阵内积发送至所述第二设备,进而第二设备基于所述第六私钥,对所述加密第二方第二转置矩阵内积进行解密,获得第二方第二转置矩阵内积。
步骤S24,基于所述第一类型稀疏矩阵安全内积、所述第二稀疏矩阵安全内积、所述秘密共享中间参数和所述预设权重信息,通过预设秘密共享分类模型误差计算公式,计算所述秘密共享分类模型误差。
在本实施例中,需要说明的是,所述秘密共享参数项包括秘密共享的第一方第一模型输出、秘密共享的第一方第二模型输出和秘密共享的样本标签,所述第一类型稀疏矩阵安全内积包括第三非零特征项交叉内积和第四非零特征项交叉内积,所述第二类型稀疏矩阵安全内积包括第一非零特征项交叉内积和第二非零特征项交叉内积,所述秘密共享中间参数包括第一方第一秘密共享中间参数和第一方第二秘密共享中间参数。
基于所述第一类型稀疏矩阵安全内积、所述第二稀疏矩阵安全内积、所述秘密共享中间参数和所述预设权重信息,通过预设秘密共享分类模型误差计算公式,计算所述秘密共享分类模型误差,具体地,基于模型输出计算公式,计算所述第四非零特征项交叉内积、所述第一非零特征项交叉内积和所述第一方第一秘密共享中间参数共同对应的秘密共享的第一方第一模型输出,并计算所述第三非零特征项交叉内积、所述第二非零特征项交叉内积和所述第一方第二秘密共享中间参数对应的秘密共享的第一方第二模型输出,进而将第一设备基于秘密共享的第一方第一模型输出、秘密共享的第一方第二模型输出和己方持有的秘密共享的样本标签代入所述预设秘密共享分类模型误差计算公式,计算所述秘密共享分类模型误差,其中,秘密共享的第一方第一模型输出的计算表达式如下:
Figure BDA0002656268880000211
其中,[[f(XB)]]A为秘密共享的第一方第一模型输出,
Figure BDA0002656268880000212
为所述第四非零特征项交叉内积,
Figure BDA0002656268880000213
为所述第一非零特征项交叉内积,
Figure BDA0002656268880000214
为所述第一方第一秘密共享中间参数,且秘密共享的第一方第二模型输出的计算表示式如下:
Figure BDA0002656268880000215
其中,[[f(XA)]]A为秘密共享的第一方第二模型输出,
Figure BDA0002656268880000216
为所述第三非零特征项交叉内积,
Figure BDA0002656268880000217
为所述第二非零特征项交叉内积,
Figure BDA0002656268880000218
为所述第一方第二秘密共享中间参数,且所述秘密共享分类模型误差的计算表达式如下所示:
Figure BDA0002656268880000219
其中,Y为所述样本标签,[[αf(XA,XB)-βY]]A为所述秘密共享分类模型误差,其中,α和β为所述预设权重信息中的计算权重占比,优选地,α取值为1/4,β取值为1/2。
相同地,所述第二设备将计算秘密共享的第二方第一模型输出和秘密共享的第二方第二模型输出,并将秘密共享的第二方第一模型输出、秘密共享的第二方第二模型输出和己方持有的秘密共享的样本标签代入所述预设秘密共享分类模型误差计算公式,计算第二方秘密共享分类模型误差,其中,秘密共享的第二方第一模型输出的计算表达式如下:
Figure BDA0002656268880000221
其中,[[f(XB)]]B为秘密共享的第二方第一模型输出,
Figure BDA0002656268880000222
为第二方第四非零特征项交叉内积,
Figure BDA0002656268880000223
为第二方第一非零特征项交叉内积,
Figure BDA0002656268880000224
为第二方第一秘密共享中间参数,且所述第二方第二模型输出的计算表示式如下:
Figure BDA0002656268880000225
其中,[[f(XA)]]B为秘密共享的第二方第二模型输出,
Figure BDA0002656268880000226
为第二方第三非零特征项交叉内积,
Figure BDA0002656268880000227
为第二方第二非零特征项交叉内积,
Figure BDA0002656268880000228
为第二方第二秘密共享中间参数,进而所述第二方秘密共享分类模型误差的计算表达式如下所示:
Figure BDA0002656268880000229
其中,Y为所述样本标签,[[α0f(XA,XB)-β0Y]]B为所述第二方秘密共享分类模型误差,其中,α0和β0为第二设备的预设权重信息中的计算权重占比,优选地,α0取值为1/4,β0取值为1/2。
步骤S30,基于所述秘密共享分类模型误差,对所述待训练分类模型进行更新,获得纵向联邦因子分解机分类模型。
在本实施例中,需要说明的是,所述纵向联邦因子分解机分类模型包括属于第一设备的第一目标模型参数和属于第二设备的第二目标模型参数。
基于所述秘密共享分类模型误差,对所述待训练分类模型进行更新,获得纵向联邦因子分解机分类模型,具体地,基于所述秘密共享分类模型误差,对所述秘密共享初始模型参数进行更新,获得秘密共享初始更新参数,且第二设备基于所述第二方秘密共享分类模型误差,更新所述第二方秘密共享初始模型参数,获得第二方秘密共享初始更新参数,并判断所述秘密共享初始更新参数是否满足预设迭代更新结束条件,若满足,则第一设备将所述秘密共享初始更新参数作为秘密共享更新参数,第二设备将所述第二方秘密共享初始更新参数为第二方秘密共享更新参数,进而第一设备基于所述秘密共享更新参数,与所述第二设备进行解密交互,以联合所述第二方秘密共享更新参数,确定第一目标模型参数,并协助所述第二设备确定第二目标模型参数,其中,所述第二设备在进行解密交互时,提供第二方秘密共享更新参数,所述预设迭代更新结束条件包括损失函数收敛和达到最大迭代次数阀值等。
其中,所述基于所述秘密共享分类模型误差,对所述待训练分类模型进行更新,获得纵向联邦因子分解机分类模型的步骤包括:
步骤S31,基于所述秘密共享分类模型误差,对所述秘密共享初始模型参数进行更新,获得秘密共享更新参数;
在本实施例中,需要说明的是,基于所述秘密共享分类模型误差,对所述秘密共享初始模型参数进行更新,获得秘密共享更新参数,具体地,分别计算所述秘密共享分类模型误差关于所述秘密共享初始模型参数的梯度信息,进而基于所述梯度信息,对所述秘密共享初始模型参数进行迭代更新,直至迭代更新后的秘密共享初始模型参数达到预设迭代更新结束条件,获得所述秘密共享更新参数,其中,在一种可实施例的方案中,所述梯度信息包括第一类型梯度、第二类型梯度、第三类型梯度和第四类型梯度,其中,所述第一类型梯度的计算表达式如下:
Figure BDA0002656268880000231
其中,D1为所述第一类型梯度,θ为超参数,其大小可自行设定,用于控制梯度的取值范围,wA为所述第一方第一类型模型参数向量,[[wA]]A为秘密共享的第一设备持有的第一方第一类型模型参数向量,另外地,所述第二类型梯度的计算表达式如下所示:
Figure BDA0002656268880000232
其中,D2为所述第二类型梯度,θ为超参数,其大小可自行设定,用于控制梯度的取值范围,VA为所述第一方第二类型模型参数矩阵,[[VA]]A为秘密共享的第一设备持有的第一方第二类型模型参数矩阵,进一步地,所述第三类型梯度的计算表达式如下所示:
Figure BDA0002656268880000241
其中,D3为所述第三类型梯度,θ为超参数,其大小可自行设定,用于控制梯度的取值范围,wB为所述第二方第一类型模型参数向量,[[wB]]A为秘密共享的所述第一设备持有的第二方第一类型模型参数向量,另外地,所述第四类型梯度的计算表达式如下所示:
Figure BDA0002656268880000242
其中,D4为所述第四类型梯度,θ为超参数,其大小可自行设定,用于控制梯度的取值范围,VB为所述第二方第二类型模型参数矩阵,[[VB]]A为秘密共享的所述第二设备持有的第二方第二类型模型参数矩阵。
另外地,需要说明的是,所述第二设备可计算所述第二方秘密共享分类模型误差关于所述第二方秘密共享初始模型参数的梯度信息,并基于所述梯度信息,对所述第二方秘密共享初始模型参数进行迭代更新,直至达到预设迭代训练结束条件,获得第二方秘密共享更新参数。
进一步地,基于梯度信息,更新所述秘密共享初始模型参数的计算表达式如下:
Figure BDA0002656268880000243
Figure BDA0002656268880000244
Figure BDA0002656268880000245
Figure BDA0002656268880000246
其中,δ1、δ2、δ3和δ4均为预先设置好的学习率,
Figure BDA0002656268880000247
为第一设备持有的秘密共享的第一方第一类型模型参数向量对应的更新模型参数,
Figure BDA0002656268880000248
为第一设备持有的秘密共享的第一方第二类型模型参数矩阵对应的更新模型参数,
Figure BDA0002656268880000251
为第一设备持有的秘密共享的第二方第一类型模型参数向量对应的更新模型参数,
Figure BDA0002656268880000252
为第一设备持有的秘密共享的第二方第二类型模型参数矩阵对应的更新模型参数。
步骤S32,基于所述秘密共享更新参数,与所述第二设备进行解密交互,得到所述第一目标模型参数,以供所述第二设备得到所述第二目标模型参数。
在本实施例中,基于所述秘密共享更新参数,与所述第二设备进行解密交互,得到所述第一目标模型参数,以供所述第二设备得到所述第二目标模型参数,具体地,基于所述秘密共享更新参数,与所述第二设备进行解密交互,以联合所述第二设备中的第二方秘密共享更新参数,计算第一目标模型参数,其中,在进行解密交互时,所述第二设备将基于所述第二方秘密共享更新参数,联合所述第一设备中的秘密共享更新参数,计算第二目标模型参数。
其中,所述秘密共享更新参数包括第一共享第一方模型更新参数和第一共享第二方模型更新参数,
所述基于所述秘密共享更新参数,与所述第二设备进行解密交互,得到所述第一目标模型参数,以供所述第二设备得到所述第二目标模型参数的步骤包括:
步骤S321,将所述第一共享第二方模型更新参数发送至所述第二设备,以供所述第二设备基于确定的第二共享第二方模型更新参数和所述第一共享第二方模型更新参数,计算所述第二目标模型参数;
在本实施例中,需要说明的是,所述第一共享第一方模型更新参数为秘密共享的第一设备持有的第一方模型更新参数,所述第一共享第二方模型更新参数为秘密共享的第一设备持有的第二方模型更新参数,所述第二共享第二方模型更新参数为秘密共享的第二设备持有的所述第二方模型更新参数。
将所述第一共享第二方模型更新参数发送至所述第二设备,以供所述第二设备基于确定的第二共享第二方模型更新参数和所述第一共享第二方模型更新参数,计算所述第二目标模型参数,具体地,将所述第一共享第二方模型更新参数发送至所述第二设备,以供所述第二设备计算所述第二共享第二方模型更新参数和所述第一共享第二方模型更新参数之和,获得所述第二目标模型参数。
步骤S322,接收所述第二设备发送的第二共享第一方模型更新参数,并基于所述第二共享第一方模型更新参数和所述第一共享第一方模型更新参数,计算所述第一目标模型参数。
在本实施例中,需要说明的是,所述第二共享第一方模型更新参数为秘密共享的第二设备持有的第一方模型更新参数。
接收所述第二设备发送的第二共享第一方模型更新参数,并基于所述第二共享第一方模型更新参数和所述第一共享第一方模型更新参数,计算所述第一目标模型参数,具体地,接收所述第二设备发送的第二共享第一方模型更新参数,并计算所述第二共享第一方模型更新参数和所述第一共享第一方模型更新参数之和,获得所述第一目标模型参数。
所述纵向联邦因子分解机分类模型包括用于进行个性化推荐的推荐模型,相比于现有的纵向联邦学习方法,本申请在基于纵向联邦学习,构建纵向联邦因子分解机分类模型时,结合秘密共享机制和同态加密方法,进行非零特征项交叉内积的计算,减少了关于稀疏矩阵中零部分的计算过程,降低了基于稀疏矩阵的因子分解机分类模型构建时的计算复杂度,进而提高了构建因子分解机分类模型时的计算效率,且由于纵向联邦因子分解机分类模型为基于纵向联邦学习建模构建的,进而构建所述纵向联邦因子分解机分类模型时的训练样本的特征丰富度更高,进而所述纵向联邦因子分解机分类模型的模型性能将更佳,进而所述纵向联邦因子分解机分类模型作为推荐模型的个性化推荐效果将更好。
本申请实施例提供了一种因子分解机分类模型构建方法,相比于现有技术采用基于同态加密的方法进行联邦学习的技术手段,本申请实施例在获取待训练分类模型对应的初始化模型参数和第一稀疏数据之后,与第二设备进行秘密共享,进而第一设备获得秘密共享初始模型参数,第二设备获得第二方秘密共享初始模型参数,进而基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差,其中,在进行联邦交互时,仅利用了第一稀疏数据中的第一非零部分和第二稀疏数据中的第二非零部分进行计算,进而减少了第一稀疏数据和第二稀疏数据中关于零部分的计算过程,使得联邦交互过程中的计算量、计算复杂度以及数据传输量均大幅度降低,进而基于秘密共享分类模型误差,对待训练分类模型进行更新,即可得到纵向联邦因子分解机分类模型,克服了现有技术中由于稀疏矩阵过大,通过同态加密的方法,进行基于联邦学习构建因子分解机分类模型时计算效率低的技术缺陷,进而提高了基于因子分解机分类模型构建时的计算效率。
进一步地,参照图2,基于本申请中第一实施例,在本申请的另一实施例中,所述第二类型稀疏矩阵安全内积包括第一非零特征项交叉内积和第二非零特征项交叉内积,
所述基于所述第二类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算第二类型稀疏矩阵安全内积的步骤包括:
步骤B10,基于所述第二类型共享模型参数,与所述第二设备进行联邦交互,以计算所述第二类型共享模型参数和所述第二非零部分之间的交叉内积,获得所述第一非零特征项交叉内积;
在本实施例中,需要说明的是,所述第二类型共享模型参数包括第一共享参数,其中,所述第一共享参数为秘密共享的第一设备持有的第二方第二类型模型参数矩阵,也即,所述第一共享参数为所述第二方第二类型模型参数矩阵的第二份额,所述第二方第二类型共享模型参数包括第二共享参数,其中,所述第二共享参数为秘密共享的第二设备持有的第二方第二类型模型参数矩阵,也即,所述第二共享参数为所述第二方第二类型模型参数矩阵的第一份额,例如,假设所述第二方第二类型共享模型参数为VB,构建VB=[[VB]]A+[[VB]]B,则[[VB]]A为第一共享参数,[[VB]]B为第二共享参数。
基于所述第二类型共享模型参数,与所述第二设备进行联邦交互,以计算所述第二类型共享模型参数和所述第二非零部分之间的交叉内积,获得所述第一非零特征项交叉内积,具体地,生成同态加密的第一公私密钥对,其中,所述第一公私密钥对包括第一公钥和第一私钥,进而基于所述第一公钥,对所述第一共享参数进行同态加密,获得加密第一共享参数,进而将所述加密第一共享参数和所述第一公钥发送至所述第二设备,进而第二设备即可基于所述第一公钥,对所述第二共享参数进行同态加密,获得加密第二共享参数,进而计算第一加密共享参数与第二加密共享参数之和,即可获得本轮迭代的加密第二方第二类型模型参数矩阵,进而将所述加密第二方第二类型模型参数矩阵和所述第二非零部分的非零特征项交叉内积,获得第二加密内积,进而基于所述第二方第二类型模型参数矩阵的第一目标特征维度,生成均匀分布的处于第一目标特征维度的第二方第一非零特征项交叉内积,并基于所述第一公钥,对所述第二方第一非零特征项交叉内积进行同态加密,获得加密第二方第一非零特征项交叉内积,并基于所述第二加密内积和所述第二方第一非零特征项交叉内积,计算加密第一非零特征项交叉内积,并将所述加密第一非零特征项交叉内积发送至所述第一设备,第一设备即可基于所述第一私钥,对所述加密第一非零特征项交叉内积进行解密,获得所述第一非零特征项交叉内积。
其中,所述第二类型共享模型参数包括第一共享参数,所述第二方第二类型共享模型参数包括第二共享参数,
所述基于所述第二类型共享模型参数,与所述第二设备进行联邦交互,以计算所述第二类型共享模型参数和所述第二非零部分之间的交叉内积,获得所述第一非零特征项交叉内积的步骤包括:
步骤B11,生成第一公钥,并基于所述第一公钥,对所述第一共享参数进行加密,获得加密第一共享参数;
在本实施例中,需要说明的是,加密的方法包括同态加密。
步骤B12,将所述第一公钥和所述加密第一共享参数发送至第二设备,以供所述第二设备基于所述第一公钥、所述加密第一共享参数、第二共享参数和所述第二非零部分,确定第二方第一非零特征项交叉内积和加密第一非零特征项交叉内积;
在本实施例中,将所述第一公钥和所述加密第一共享参数发送至第二设备,以供所述第二设备基于所述第一公钥、所述加密第一共享参数、第二共享参数和所述第二非零部分,确定第二方第一非零特征项交叉内积和加密第一非零特征项交叉内积,具体地,将所述加密第一共享参数和所述第一公钥发送至所述第二设备,进而第二设备即可基于所述第一公钥,对所述第二共享参数进行同态加密,获得加密第二共享参数,进而计算第一加密共享参数与第二加密共享参数之和,即可获得本轮迭代的加密第二方第二类型模型参数矩阵,进一步地,计算所述加密第二方第二类型模型参数矩阵中的每一列向量和所述第二非零部分中每一列向量两两之间的乘积,获得各第一向量乘积,进而对各所述第一向量乘积进行累加,获得第二加密内积,进而生成与所述第二方第二类型模型参数矩阵特征维度一致且均匀分布的向量作为所述第二方第一非零特征项交叉内积,并基于所述第一公钥,对所述第二方第一非零特征项交叉内积进行同态加密,获得加密第二方第一非零特征项交叉内积,进而计算所述第二加密内积和所述加密第二方第一非零特征项交叉内积的差值,获得加密第一非零特征项交叉内积。
步骤B13,接收所述第二设备发送的所述加密第一非零特征项交叉内积,并基于所述第一公钥对应的第一私钥,对所述加密第一非零特征项交叉内积进行解密,获得所述第一非零特征项交叉内积。
步骤B20,基于所述第一非零部分,与所述第二设备进行联邦交互,以计算所述第一非零部分和所述第二方第二类型共享模型参数之间的交叉内积,获得所述第二非零特征项交叉内积。
在本实施例中,需要说明的是,所述第三共享参数为秘密共享的第一设备持有的第一方第二类型模型参数矩阵,也即,所述第三共享参数为所述第一方第二类型模型参数矩阵的第一份额,所述第四共享参数为秘密共享的第二设备持有的第一方第二类型参数矩阵,也即,所述第四共享参数为秘密共享的第二份额,例如,假设所述第一方第二类型共享模型参数为VA,构建VA=[[VA]]A+[[VA]]B,则[[VA]]A为第三共享参数,[[VA]]B为第四共享参数。
基于所述第一非零部分,与所述第二设备进行联邦交互,以计算所述第一非零部分和所述第二方第二类型共享模型参数之间的交叉内积,获得所述第二非零特征项交叉内积,具体地,第二设备生成第二公私密钥对,其中,所述公私密钥对包括第二私钥和第二公钥,进而基于所述第二公钥,对所述第四共享参数进行加密,获得加密第四共享参数,并将所述第二公钥和所述加密第四共享参数发送至所述第一设备,进而第一设备基于所述第二公钥,对所述第三共享参数进行加密,获得加密第三共享参数,进而基于所述加密第三共享参数和所述加密第四共享参数,计算加密第一方第二类型模型参数矩阵,进而计算所述加密第一方第二类型模型参数矩阵和所述第一非零部分的非零特征项交叉内积,获得第一加密内积,进一步地,基于所述加密第一方第二类型模型参数矩阵的第二目标特征维度,构建均匀分布的且处于所述第二目标特征维度的第二非零特征项交叉内积,并基于所述第二公钥,对所诉第二非零特征项交叉内积进行加密,获得加密第二非零特征项交叉内积,进而基于所述第一加密内积和所述加密第二非零特征项交叉内积,获得加密第二方第二非零特征项交叉内积,并将所述加密第二方第二非零特征项交叉内积发送至所述第二设备,进而第二设备基于所述第二私钥,对所述加密第二方第二非零特征项交叉内积进行解密,获得第二方第二非零特征项交叉内积。
其中,所述第二类型共享模型参数包括第三共享参数,所述第二方第二类型共享模型参数包括第四共享参数,
所述基于所述第一非零部分,与所述第二设备进行联邦交互,以计算所述第一非零部分和所述第二方第二类型共享模型参数之间的交叉内积,获得所述第二非零特征项交叉内积的步骤包括:
步骤B21,接收所述第二设备发送的第二公钥和发送的加密第四共享参数,其中,所述加密第四共享参数为所述第二设备基于所述第二公钥加密的所述第四共享参数;
在本实施例中,所述第二设备加密所述第四共享参数的方法包括同态加密。
步骤B22,基于所述第二公钥、所述加密第四共享参数、所述第一非零部分和所述第三共享参数,计算第二非零特征项交叉内积和加密第二方第二非零特征项交叉内积;
在本实施例中,基于所述第二公钥、所述加密第四共享参数、所述第一非零部分和所述第三共享参数,计算第二非零特征项交叉内积和加密第二方第二非零特征项交叉内积,具体地,基于所述第二公钥,对所述第三共享参数进行同态加密,获得加密第三共享参数,进而基于所述加密第三共享参数和所述加密第四共享参数,计算加密第一方第二类型模型参数矩阵,进而计算所述加密第一方第二类型模型参数矩阵和所述第一非零部分的非零特征项交叉内积,获得第一加密内积,进一步地,基于所述加密第一方第二类型模型参数矩阵的第二目标特征维度,构建均匀分布的且处于所述第二目标特征维度的第二非零特征项交叉内积,并基于所述第二公钥,对所诉第二非零特征项交叉内积进行加密,获得加密第二非零特征项交叉内积,进而基于所述第一加密内积和所述加密第二非零特征项交叉内积,获得加密第二方第二非零特征项交叉内积。
其中,所述基于所述第二公钥、所述加密第四共享参数、所述第一非零部分和所述第三共享参数,计算第二非零特征项交叉内积和加密第二方第二非零特征项交叉内积的步骤包括:
步骤B221,基于所述第二公钥,对所述第三共享参数进行加密,获得加密第三共享参数,并计算所述加密第三共享参数和所述加密第四共享参数共同对应的加密模型参数;
在本实施例中,需要说明的是,所述加密模型参数为所述加密第三共享参数和所述加密第四共享参数之和,所述加密模型参数即为所述加密第一方第二类型模型参数矩阵。
步骤B222,计算所述加密模型参数中各列向量和所述第一非零部分中各列向量两两之间的交叉内积,获得所述第一加密内积;
在本实施例中,计算所述加密模型参数中各列向量和所述第一非零部分中各列向量两两之间的交叉内积,获得所述第一加密内积,具体地,计算所述加密模型参数中每一列向量和所述第一非零部分中每一列向量两两之间的乘积,获得各第二向量乘积,进而对各所述第二向量乘积进行累加,获得所述第一加密内积,在另一种可实施的方案中,可将各所述第二向量乘积聚合为向量,获得所述第一加密内积。
步骤B223,基于所述加密模型参数的特征维度,构建所述第二非零特征项交叉内积,并计算所述第二非零特征项交叉内积和所述第一加密内积共同对应的所述加密第二方第二非零特征项交叉内积;
在本实施例中,基于所述加密模型参数的特征维度,构建所述第二非零特征项交叉内积,并计算所述第二非零特征项交叉内积和所述第一加密内积共同对应的所述加密第二方第二非零特征项交叉内积,具体地,构建均匀分布的且与所述加密模型参数特征维度一致的向量作为第二非零特征项交叉内积,进而基于所述第二公钥,对所述第二非零特征项交叉内积进行同态加密,获得加密第二非零特征项交叉内积,并基于所述第一加密内积和所述加密第二非零特征项交叉内积的差值,获得加密第二方第二非零特征项交叉内积。
步骤B23,将所述加密第二方第二非零特征项交叉内积发送至所述第二设备,以供所述第二设备基于所述第二公钥对应的第二私钥,对所述加密第二方第二非零特征项交叉内积进行解密,获得第二方第二非零特征项交叉内积。
在本实施例,需要说明的是,所述第二公钥和所述第二私钥为同态加密的公私密钥对。
本实施例提供了一种基于秘密共享和同态加密相结合的方法计算秘密共享的第二类型稀疏矩阵安全内积的方法,也即基于所述第二类型共享模型参数,与所述第二设备进行联邦交互,以计算所述第二类型共享模型参数和所述第二非零部分之间的交叉内积,获得所述第一非零特征项交叉内积,并基于所述第一非零部分,与所述第二设备进行联邦交互,以计算所述第一非零部分和所述第二方第二类型共享模型参数之间的交叉内积,获得所述第二非零特征项交叉内积,其中,在整个过程中仅利用了第一稀疏数据中的第一非零部分和第二稀疏数据中的第二非零部分进行计算,进而减少了第一稀疏数据和第二稀疏数据中关于零部分的计算过程,而稀疏数据中的零部分的占比通常远大于非零部分,进而使得联邦交互过程中的计算量、计算复杂度以及数据传输量均大幅度降低,相比于现有技术采用基于同态加密的方法进行联邦学习的技术手段,克服了现有技术中由于稀疏矩阵过大,通过同态加密的方法,进行基于联邦学习构建因子分解机分类模型时计算效率低的技术缺陷,进而提高了基于因子分解机分类模型构建时的计算效率。
进一步地,参照图3,基于本申请中第一实施例和第二实施例,在本申请的另一实施例中,所述点击率预测方法应用于第一设备,所述点击率预测方法包括:
步骤C10,获取第一方待预测用户稀疏数据,并与第二设备进行秘密共享,获得秘密共享模型参数;
在本实施例中,需要说明的是,所述第二设备包括第二方待预测用户稀疏数据,所述第二方待预测用户稀疏数据为多个用户数据对应的第二稀疏矩阵,所述第一方待预测用户稀疏数据为多个用户数据对应的第一稀疏矩阵,其中,所述第一稀疏矩阵的每一向量和所述第二方稀疏矩阵中的每一向量均为一个用户的待预测用户数据的编码向量,且所述第一稀疏矩阵的中的编码值和所述第一稀疏矩阵中的编码值均大部分为0,例如,所述第一稀疏矩阵为表示不同用户对不同物品的点击结果,编码值1表示用户点击了物品,编码值0表示用户未点击物品,而由于用户通常只对小部分物品进行点击,进而第一稀疏矩阵中的编码值大部分为0,所述第一设备和所述第二设备均为纵向联邦学习的参与方,且在进行秘密共享之前,第一设备和第二设备基于秘密共享和纵向联邦学习已经训练好了预设点击率预测模型,其中,所述预设点击率预测模型为训练好了的因子分解机分类模型,用于预测用户对应物品的点击概率或者预测用户是否会点击物品,进而所述预设点击率预测模型的模型表达式如下所示:
Figure BDA0002656268880000331
Figure BDA0002656268880000332
其中,x为模型输入数据,w和V为模型参数,f(x)为模型输出,也即为预测的点击率或者为预测的多个点击率组成的向量。
获取第一方待预测用户稀疏数据,并与第二设备进行秘密共享,获得秘密共享模型参数,具体地,获取预设点击率预测模型的第一方点击率模型参数和第一方待预测用户稀疏数据,同时第二设备获取预设点击率模型的第二方点击率模型参数和第二方待预测用户稀疏数据,其中,由于预设点击率模型为基于纵向联邦学习构建的,所以第一设备持有的预设点击率预测模型的一部分模型参数为第一方点击率模型参数,第二设备持有的预设点击率预测模型的一部分模型参数为第二方点击率模型参数,所述第一方待预测用户稀疏数据为第一设备收集的用户对物品的点击结果的数据,所述第二方待预测用户稀疏数据为第二设备收集的用户对物品的点击结果的数据,且在纵向联邦场景中,所述第一方待预测用户稀疏数据和所述第二方待预测用户稀疏数据对应的相同的待预测用户群体,且所述第一方待预测用户稀疏数据和所述第二方待预测用户稀疏数据均可用向量或者矩阵进行表示,例如,假设所述第一方待预测用户稀疏数据为向量(1,0,1,0),其中,编码1表示用户点击了对应的物品,编码0表示用户未点击对应的物品,则向量(1,0,1,0)表示用户点击了物品A和物品C,未点击物品B和物品D,进一步地,基于所述第一方点击率模型参数,与所述第二设备进行秘密共享,其中,所述第二设备在秘密共享中提供所述第二方点击率模型参数,进而第一设备获得秘密共享模型参数,第二设备获得第二方秘密共享模型参数,其中,所述秘密共享模型参数包括第一共享第一方模型参数和第一共享第二方模型参数,所述第二方秘密共享模型参数包括第二共享第一方模型参数和第二共享第二方模型参数,其中,所述第一共享第一方模型参数为所述第一方点击率模型参数的第一份额,所述第二共享第一方模型参数为所述第一方点击率模型参数的第二份额,所述第一共享第二方模型参数为所述第二点击率模型参数的第一份额,所述第二共享第二方模型参数为所述第二点击率模型参数的第二份额。
步骤C20,基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以对所述第一方待预测用户稀疏数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果;
在本实施例中,需要说明的是,所述第一非零部分为所述第一稀疏矩阵中除去零向量之外的剩余部分。
基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以对所述第一方待预测用户稀疏数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果,具体地,基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方待预测用户稀疏数据中的第二非零部分和所述第二方秘密共享模型参数,通过预设秘密共享乘法和预设同态加密算法,计算所述第一秘密共享点击率预测结果。
其中,所述秘密共享模型参数包括第一方第一共享类型模型参数和第一方第二类型共享模型参数,所述第二设备包括第二方待预测用户稀疏数据和第二方秘密共享模型参数,其中,所述第二方秘密共享模型参数包括第二方第一共享类型模型参数和第二方第二共享类型模型参数,所述第一秘密共享点击率预测结果包括第一类型共享预测结果和第二类型共享预测结果,
所述基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以对所述第一方待预测用户稀疏数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果的步骤包括:
步骤C21,基于所述第一非零部分和所述第一方第一共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第一共享类型模型参数,计算所述第一类型共享预测结果;
在本实施例中,需要说明的是,所述第一方第一共享类型模型参数为第一设备持有的秘密共享的第一方点击率模型参数,所述第二方第一共享类型模型参数为第二设备持有的秘密共享的第一方点击率模型参数,所述第一类型共享预测结果至少包括一第一共享第一方预测点击率,一所述第一共享第一方预测点击率对应一用户,其中,所述第一共享第一方预测点击率对应的第一秘密共享点击率计算公式如下:
Figure BDA0002656268880000351
其中,[[z(XA)]]A为所述第一共享第一方点击率,XA为所述第一方待预测用户稀疏数据,wA和VA均为所述第一方点击率模型参数,
Figure BDA0002656268880000352
为与模型训练过程中的所述第三非零特征项交叉内积的计算方式相同的第一安全内积,
Figure BDA0002656268880000353
为与模型训练过程中的所述第二非零特征项交叉内积的计算方式相同的第二安全内积,
Figure BDA0002656268880000354
为与模型训练过程中所述第一方第二秘密共享中间参数的计算方式相同的第三安全内积,[[]]为表示秘密共享的符号,[[]]A为表示秘密共享的数据属于第一设备的秘密共享符号。
基于所述第一非零部分和所述第一方第一共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第一共享类型模型参数,计算所述第一类型共享预测结果,具体地,基于所述第一非零部分和所述第一方第一共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第一共享类型模型参数,分别计算第一安全内积、第二安全内积和第三安全内积,并将第一安全内积、第二安全内积和第三安全内积代入所述第一秘密共享点击率计算公式,获得所述第一类型共享预测结果。
另外地,需要说明的是,所述第二设备可基于第二方第一秘密共享点击率计算公式,计算第二方第一类型共享预测结果,且所述第二方第一类型共享预测结果至少包括一第二共享第一方预测点击率,一所述第二共享第一方预测点击率对应一用户,其中,所述第二方第一秘密共享点击率计算公式如下所示:
Figure BDA0002656268880000361
其中,[[z(XA)]]B为所述第二共享第一方预测点击率,XA为所述第一方待预测用户稀疏数据,wA和VA均为所述第一方点击率模型参数,
Figure BDA0002656268880000362
为与模型训练过程中的所述第二方第三非零特征项交叉内积的计算方式相同的第二方第一安全内积,
Figure BDA0002656268880000363
为与模型训练过程中的所述第二方第二非零特征项交叉内积的计算方式相同的第二方第二安全内积,
Figure BDA0002656268880000364
为与模型训练过程中的所述第二方第二秘密共享中间参数的计算方式相同的第二方第三安全内积,[[]]为表示秘密共享的符号,[[]]B为表示秘密共享的数据属于第一设备的秘密共享符号。
步骤C22,基于所述第一方第二共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第二共享类型模型参数和所述第二方待预测用户稀疏数据的第二非零部分,计算所述第二类型共享预测结果。
在本实施例中,需要说明的是,所述第一方第二共享类型模型参数为第一设备持有的秘密共享的第二方点击率模型参数,所述第二方第二共享类型模型参数为第二设备持有的秘密共享的第二方点击率模型参数,所述第二类型共享预测结果至少包括一第一共享第二方预测点击率,一所述第一共享第二方预测点击率对应一用户,其中,所述第一共享第二方预测点击率对应的第二秘密共享点击率计算公式如下:
Figure BDA0002656268880000365
其中,[[z(XB)]]A为第一共享第二方预测点击率,XB为所述第二方待预测用户稀疏数据,wB和VB均为所述第二方点击率模型参数,
Figure BDA0002656268880000366
为与所述第四非零特征项交叉内积的计算方式相同的第四安全内积,
Figure BDA0002656268880000367
为与所述第一非零特征项交叉内积的计算方式相同的第五安全内积,
Figure BDA0002656268880000371
为与所述第一方第一秘密共享中间参数的计算方式相同的第六安全内积,[[]]为表示秘密共享的符号,[[]]A为表示秘密共享的数据属于第一设备的秘密共享符号。
基于所述第一方第二共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第二共享类型模型参数和所述第二方待预测用户稀疏数据的第二非零部分,计算所述第二类型共享预测结果,具体地,基于所述第一方第二共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第二共享类型模型参数和所述第二方待预测用户稀疏数据的第二非零部分,分别计算第四安全内积、第五安全内积和第六安全内积,并将第四安全内积、第五安全内积和第六安全内积代入所述第二秘密共享点击率计算公式,获得所述第二类型共享预测结果。
另外地,需要说明的是,所述第二设备可基于第二方第二秘密共享点击率计算公式,计算第二方第二类型共享预测结果,且所述第二方第二类型共享预测结果至少包括一第二共享第二方预测点击率,一所述第二共享第二方预测点击率对应一用户,其中,所述第二方第二秘密共享点击率计算公式如下所示:
Figure BDA0002656268880000372
其中,[[z(XB)]]B为第二共享第二方预测点击率,XB为所述第二方待预测用户稀疏数据,wB和VB均为所述第二方点击率模型参数,
Figure BDA0002656268880000373
为与模型训练过程中的所述第二方第四非零特征项交叉内积的计算方式相同的第二方第四安全内积,
Figure BDA0002656268880000374
为与模型训练过程中的所述第二方第一非零特征项交叉内积的计算方式相同的第二方第五安全内积,
Figure BDA0002656268880000375
为与模型训练过程中的所述第二方第一秘密共享中间参数的计算方式相同的第二方第六安全内积,[[]]为表示秘密共享的符号,[[]]B为表示秘密共享的数据属于第二设备的秘密共享符号。
步骤C30,基于所述第一秘密共享点击率预测结果,与所述第二设备进行聚合交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标点击率预测结果。
在本实施例中,基于所述第一秘密共享点击率预测结果,与所述第二设备进行聚合交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标点击率预测结果,具体地,基于所述第一秘密共享点击率预测结果,与所述第二设备进行聚合交互,以聚合所述第一秘密共享点击率预测结果和所述第二秘密共享点击率预测结果,获得所述目标点击率预测结果。
其中,所述第一秘密共享点击率预测结果至少包括一第一共享第一方预测点击率和一第一共享第二方预测点击率,所述第二秘密共享点击率预测结果至少包括一第二共享第一方预测点击率和一第二共享第二方预测点击率,所述目标点击率预测结果至少包括一目标预测点击率,
所述基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率的步骤包括:
步骤C31,接收所述第二设备发送的所述第二共享第一方预测点击率和所述第二共享第二方预测点击率;
步骤C32,基于所述第一共享第一方预测点击率和所述第二共享第一方预测点击率,计算第一方预测点击率;
在本实施例中,基于所述第一共享第一方预测点击率和所述第二共享第一方预测点击率,计算第一方预测点击率,具体地,计算所述第一共享第一方预测点击率和所述第二共享第一方预测点击率的和,获得第一方预测点击率。
步骤C33,基于所述第一共享第二方预测点击率和所述第二共享第二方预测点击率,计算第二方预测点击率;
本实施例中,基于所述第一共享第二方预测点击率和所述第二共享第二方预测点击率,计算第二方预测点击率,具体地,计算所述第一共享第二方预测点击率和所述第二共享第二方预测点击率的和,获得第二方预测点击率。
步骤C34,对所述第一方预测点击率和所述第二方预测点击率进行聚合,获得所述目标预测点击率。
在本实施例中,对所述第一方预测点击率和所述第二方预测点击率进行聚合,获得所述目标预测点击率,具体地,基于预设聚合规则,对所述第一方预测点击率和所述第二方预测点击率进行聚合,获得所述聚合预测点击率,其中,所述预设聚合规则包括求和和加权求平均等,并将所述聚合点预测点击率为预测的用户点击物品的频率表示值,用于表示用户点击物品的频率,进而将所述聚合预测点击率代入所述预设点击率预测模型的模型表达式,获得所述目标预测点击率,其中,所述目标预测点击率为预测的用户对物品的点击概率,所述模型表达式如下:
Figure BDA0002656268880000391
其中,f(x)为所述目标预测点击率,z(x)为所述聚合预测点击率。
另外地,需要说明的是,所述目标预测点击率为基于预设点击率预测模型预测的用户对物品的点击概率,进而将所述目标预测点击率与预设点击率阀值进行比对,若所述目标预测点击率大于或者等于所述预设点击率阀值,则判定用户将点击物品,若所述目标预测点击率小于所述预设点击率阀值,则判定用户不会点击物品,也即,将用户对应物品的点击预测结果分为了点击和不点击两种预测结果。
本实施例提供了一种基于秘密共享和纵向联邦学习预测点击率的方法,通过获取第一方待预测用户稀疏数据,并与第二设备进行秘密共享,获得秘密共享模型参数,进而基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以对所述第一方待预测用户稀疏数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果进而,基于所述第一秘密共享点击率预测结果,与所述第二设备进行聚合交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标点击率预测结果,其中,第一设备与第二设备在进行交互时,发送或者接收的数据均为秘密共享数据,无需第三方生成的公私密钥进行数据的加密,所有的数据传输过程均在参与纵向联邦学习的两方之间进行,保护了数据的隐私性的同时,减少了对数据进行复杂的加密和解密的计算过程,且由于进行秘密共享和进行秘密共享对应的解密时,均只需进行简单的数学运算过程,降低了计算复杂度,且当用户数据为稀疏数据时,本申请只基于用户数据的非零部分,即可完成点击率的预测,进而减少了关于用户数据的零部分的计算量,进而进一步降低了计算复杂度,所以提高了因子分解机分类模型进行点击率预测时的计算效率。
参照图4,图4是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
如图4所示,该因子分解机分类模型构建设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该因子分解机分类模型构建设备还可以包括矩形用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图4中示出的因子分解机分类模型构建设备结构并不构成对因子分解机分类模型构建设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及因子分解机分类模型构建程序。操作系统是管理和控制因子分解机分类模型构建设备硬件和软件资源的程序,支持因子分解机分类模型构建程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与因子分解机分类模型构建系统中其它硬件和软件之间通信。
在图4所示的因子分解机分类模型构建设备中,处理器1001用于执行存储器1005中存储的因子分解机分类模型构建程序,实现上述任一项所述的因子分解机分类模型构建方法的步骤。
本申请因子分解机分类模型构建设备具体实施方式与上述因子分解机分类模型构建方法各实施例基本相同,在此不再赘述。
参照图5,图5是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
如图5所示,该点击率预测设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该点击率预测设备还可以包括矩形用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图5中示出的点击率预测设备结构并不构成对点击率预测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及点击率预测程序。操作系统是管理和控制点击率预测设备硬件和软件资源的程序,支持点击率预测程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与点击率预测系统中其它硬件和软件之间通信。
在图5所示的点击率预测设备中,处理器1001用于执行存储器1005中存储的点击率预测程序,实现上述任一项所述的点击率预测方法的步骤。
本申请点击率预测设备具体实施方式与上述点击率预测方法各实施例基本相同,在此不再赘述。
本申请实施例还提供一种因子分解机分类模型构建装置,所述因子分解机分类模型构建装置应用于因子分解机分类模型构建设备,所述因子分解机分类模型构建装置包括:
秘密共享模块,用于获取待训练分类模型对应的待训练模型参数和第一稀疏数据,并基于所述待训练模型参数,与第二设备进行秘密共享,获得秘密共享初始模型参数;
误差计算模块,用于基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差;
生成模块,用于基于所述秘密共享分类模型误差,对所述待训练分类模型进行更新,获得纵向联邦因子分解机分类模型。
可选地,所述误差计算模块包括:
第一计算单元,用于基于所述第一类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第一类型共享模型参数和所述第二稀疏矩阵的第二非零部分,计算所述第一类型稀疏矩阵安全内积;
第二计算单元,用于基于所述第二类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述第二类型稀疏矩阵安全内积;
第三计算单元,用于基于所述第二类型共享模型参数、所述第一非零部分和所述预设秘密共享乘法三元组,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述秘密共享中间参数;
第四计算单元,用于基于所述第一类型稀疏矩阵安全内积、所述第二稀疏矩阵安全内积、所述秘密共享中间参数和所述预设权重信息,通过预设秘密共享分类模型误差计算公式,计算所述秘密共享分类模型误差。
可选地,所述第二计算单元包括:
第一交互计算子单元,用于基于所述第二类型共享模型参数,与所述第二设备进行联邦交互,以计算所述第二类型共享模型参数和所述第二非零部分之间的交叉内积,获得所述第一非零特征项交叉内积;
第二交互计算子单元,用于基于所述第一非零部分,与所述第二设备进行联邦交互,以计算所述第一非零部分和所述第二方第二类型共享模型参数之间的交叉内积,获得所述第二非零特征项交叉内积。
可选地,所述第一交互计算子单元还用于以下步骤:
生成第一公钥,并基于所述第一公钥,对所述第一共享参数进行加密,获得加密第一共享参数;
将所述第一公钥和所述加密第一共享参数发送至第二设备,以供所述第二设备基于所述第一公钥、所述加密第一共享参数、第二共享参数和所述第二非零部分,确定第二方第一非零特征项交叉内积和加密第一非零特征项交叉内积;
接收所述第二设备发送的所述加密第一非零特征项交叉内积,并基于所述第一公钥对应的第一私钥,对所述加密第一非零特征项交叉内积进行解密,获得所述第一非零特征项交叉内积。
可选地,所述第二交互计算子单元还用于以下步骤:
接收所述第二设备发送的第二公钥和发送的加密第四共享参数,其中,所述加密第四共享参数为所述第二设备基于所述第二公钥加密的所述第四共享参数;
基于所述第二公钥、所述加密第四共享参数、所述第一非零部分和所述第三共享参数,计算第二非零特征项交叉内积和加密第二方第二非零特征项交叉内积;
将所述加密第二方第二非零特征项交叉内积发送至所述第二设备,以供所述第二设备基于所述第二公钥对应的第二私钥,对所述加密第二方第二非零特征项交叉内积进行解密,获得第二方第二非零特征项交叉内积。
可选地,所述第二交互计算子单元还用于以下步骤:
基于所述第二公钥,对所述第三共享参数进行加密,获得加密第三共享参数,并计算所述加密第三共享参数和所述加密第四共享参数共同对应的加密模型参数;
计算所述加密模型参数中各列向量和所述第一非零部分中各列向量两两之间的交叉内积,获得所述第一加密内积;
基于所述加密模型参数的特征维度,构建所述第二非零特征项交叉内积,并计算所述第二非零特征项交叉内积和所述第一加密内积共同对应的所述加密第二方第二非零特征项交叉内积。
可选地,所述第三计算单元还包括:
第三交互计算子单元,用于基于所述预设秘密共享乘法三元组,通过与所述第二设备进行联邦交互,计算所述第二类型秘密共享参数矩阵和所述秘密共享转置参数矩阵之间的秘密共享乘积,获得所述秘密共享矩阵内积,以供所述第二设备计算所述第二方第二类型秘密共享参数矩阵和所述第二方秘密共享转置参数矩阵之间的秘密共享乘积,获得所述第二方秘密共享矩阵内积;
第四交互计算子单元,用于基于所述秘密共享矩阵内积和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方秘密共享矩阵内积和所述第二非零部分,计算所述秘密共享中间参数。
可选地,所述生成模块包括:
更新单元,用于基于所述秘密共享分类模型误差,对所述秘密共享初始模型参数进行更新,获得秘密共享更新参数;
解密单元,用于基于所述秘密共享更新参数,与所述第二设备进行解密交互,得到所述第一目标模型参数,以供所述第二设备得到所述第二目标模型参数。
可选地,所述解密单元包括:
第五交互计算子单元,用于将所述第一共享第二方模型更新参数发送至所述第二设备,以供所述第二设备基于确定的第二共享第二方模型更新参数和所述第一共享第二方模型更新参数,计算所述第二目标模型参数;
第六交互计算子单元,用于接收所述第二设备发送的第二共享第一方模型更新参数,并基于所述第二共享第一方模型更新参数和所述第一共享第一方模型更新参数,计算所述第一目标模型参数。
本申请因子分解机分类模型构建装置的具体实施方式与上述因子分解机分类模型构建方法各实施例基本相同,在此不再赘述。
本申请实施例还提供一种点击率预测装置,所述点击率预测装置应用于点击率预测设备,所述点击率预测装置包括:
秘密共享模块,用于获取第一方待预测用户稀疏数据,并与第二设备进行秘密共享,获得秘密共享模型参数;
预测模块,用于基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以对所述第一方待预测用户稀疏数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果;
聚合模块,用于基于所述第一秘密共享点击率预测结果,与所述第二设备进行聚合交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标点击率预测结果。
可选地,所述聚合模块包括:
接收单元,用于接收所述第二设备发送的所述第二共享第一方预测点击率和所述第二共享第二方预测点击率;
第一计算单元,用于基于所述第一共享第一方预测点击率和所述第二共享第一方预测点击率,计算第一方预测点击率;
第二计算单元,用于基于所述第一共享第二方预测点击率和所述第二共享第二方预测点击率,计算第二方预测点击率;
聚合单元,用于对所述第一方预测点击率和所述第二方预测点击率进行聚合,获得所述目标预测点击率。
可选地,所述预测模块包括:
第一联合计算单元,用于基于所述第一非零部分和所述第一方第一共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第一共享类型模型参数,计算所述第一类型共享预测结果;
第二联合计算单元,用于基于所述第一方第二共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第二共享类型模型参数和所述第二方待预测用户稀疏数据的第二非零部分,计算所述第二类型共享预测结果。
本申请点击率预测装置的具体实施方式与上述点击率预测方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种可读存储介质,且所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的因子分解机分类模型构建方法的步骤。
本申请可读存储介质具体实施方式与上述因子分解机分类模型构建方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种可读存储介质,且所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的点击率预测方法的步骤。
本申请可读存储介质具体实施方式与上述点击率预测方法各实施例基本相同,在此不再赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。

Claims (16)

1.一种因子分解机分类模型构建方法,其特征在于,所述因子分解机分类模型构建方法应用于第一设备,所述因子分解机分类模型构建方法包括:
获取待训练分类模型对应的待训练模型参数和第一稀疏数据,并基于所述待训练模型参数,与第二设备进行秘密共享,获得秘密共享初始模型参数;
基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差;
基于所述秘密共享分类模型误差,对所述待训练分类模型进行更新,获得纵向联邦因子分解机分类模型。
2.如权利要求1所述因子分解机分类模型构建方法,其特征在于,所述秘密共享初始模型参数包括第一类型共享模型参数和第二类型共享模型参数,所述第二设备包括第二方秘密共享初始模型参数和第二稀疏矩阵,其中,所述第二方秘密共享初始模型参数包括第二方第一类型共享模型参数和第二方第二类型共享模型参数,
所述基于所述第一稀疏数据中的第一非零部分、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行联邦交互,计算秘密共享分类模型误差的步骤包括:
基于所述第一类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第一类型共享模型参数和所述第二稀疏矩阵的第二非零部分,计算所述第一类型稀疏矩阵安全内积;
基于所述第二类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述第二类型稀疏矩阵安全内积;
基于所述第二类型共享模型参数、所述第一非零部分和所述预设秘密共享乘法三元组,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述秘密共享中间参数;
基于所述第一类型稀疏矩阵安全内积、所述第二稀疏矩阵安全内积、所述秘密共享中间参数和所述预设权重信息,通过预设秘密共享分类模型误差计算公式,计算所述秘密共享分类模型误差。
3.如权利要求2所述因子分解机分类模型构建方法,其特征在于,所述第二类型稀疏矩阵安全内积包括第一非零特征项交叉内积和第二非零特征项交叉内积,
所述基于所述第二类型共享模型参数和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算第二类型稀疏矩阵安全内积的步骤包括:
基于所述第二类型共享模型参数,与所述第二设备进行联邦交互,以计算所述第二类型共享模型参数和所述第二非零部分之间的交叉内积,获得所述第一非零特征项交叉内积;
基于所述第一非零部分,与所述第二设备进行联邦交互,以计算所述第一非零部分和所述第二方第二类型共享模型参数之间的交叉内积,获得所述第二非零特征项交叉内积。
4.如权利要求3所述因子分解机分类模型构建方法,其特征在于,所述第二类型共享模型参数包括第一共享参数,所述第二方第二类型共享模型参数包括第二共享参数,
所述基于所述第二类型共享模型参数,与所述第二设备进行联邦交互,以计算所述第二类型共享模型参数和所述第二非零部分之间的交叉内积,获得所述第一非零特征项交叉内积的步骤包括:
生成第一公钥,并基于所述第一公钥,对所述第一共享参数进行加密,获得加密第一共享参数;
将所述第一公钥和所述加密第一共享参数发送至第二设备,以供所述第二设备基于所述第一公钥、所述加密第一共享参数、第二共享参数和所述第二非零部分,确定第二方第一非零特征项交叉内积和加密第一非零特征项交叉内积;
接收所述第二设备发送的所述加密第一非零特征项交叉内积,并基于所述第一公钥对应的第一私钥,对所述加密第一非零特征项交叉内积进行解密,获得所述第一非零特征项交叉内积。
5.如权利要求3所述因子分解机分类模型构建方法,其特征在于,所述第二类型共享模型参数包括第三共享参数,所述第二方第二类型共享模型参数包括第四共享参数,
所述基于所述第一非零部分,与所述第二设备进行联邦交互,以计算所述第一非零部分和所述第二方第二类型共享模型参数之间的交叉内积,获得所述第二非零特征项交叉内积的步骤包括:
接收所述第二设备发送的第二公钥和发送的加密第四共享参数,其中,所述加密第四共享参数为所述第二设备基于所述第二公钥加密的所述第四共享参数;
基于所述第二公钥、所述加密第四共享参数、所述第一非零部分和所述第三共享参数,计算第二非零特征项交叉内积和加密第二方第二非零特征项交叉内积;
将所述加密第二方第二非零特征项交叉内积发送至所述第二设备,以供所述第二设备基于所述第二公钥对应的第二私钥,对所述加密第二方第二非零特征项交叉内积进行解密,获得第二方第二非零特征项交叉内积。
6.如权利要求5所述因子分解机分类模型构建方法,其特征在于,所述基于所述第二公钥、所述加密第四共享参数、所述第一非零部分和所述第三共享参数,计算第二非零特征项交叉内积和加密第二方第二非零特征项交叉内积的步骤包括:
基于所述第二公钥,对所述第三共享参数进行加密,获得加密第三共享参数,并计算所述加密第三共享参数和所述加密第四共享参数共同对应的加密模型参数;
计算所述加密模型参数中各列向量和所述第一非零部分中各列向量两两之间的交叉内积,获得所述第一加密内积;
基于所述加密模型参数的特征维度,构建所述第二非零特征项交叉内积,并计算所述第二非零特征项交叉内积和所述第一加密内积共同对应的所述加密第二方第二非零特征项交叉内积。
7.如权利要求2所述因子分解机分类模型构建方法,其特征在于,所述第二类型共享模型参数包括第二类型秘密共享参数矩阵和所述第二类型秘密共享参数矩阵对应的秘密共享转置参数矩阵,所述第二方第二类型共享模型参数包括第二方第二类型秘密共享参数矩阵和所述第二方第二类型共享参数矩阵对应的第二方秘密共享转置参数矩阵,
所述基于所述第二类型共享模型参数、所述第一非零部分和所述预设秘密共享乘法三元组,与所述第二设备进行联邦交互,以联合所述第二方第二类型共享模型参数和所述第二非零部分,计算所述秘密共享中间参数的步骤包括:
基于所述预设秘密共享乘法三元组,通过与所述第二设备进行联邦交互,计算所述第二类型秘密共享参数矩阵和所述秘密共享转置参数矩阵之间的秘密共享乘积,获得所述秘密共享矩阵内积,以供所述第二设备计算所述第二方第二类型秘密共享参数矩阵和所述第二方秘密共享转置参数矩阵之间的秘密共享乘积,获得所述第二方秘密共享矩阵内积;
基于所述秘密共享矩阵内积和所述第一非零部分,与所述第二设备进行联邦交互,以联合所述第二方秘密共享矩阵内积和所述第二非零部分,计算所述秘密共享中间参数。
8.如权利要求1所述因子分解机分类模型构建方法,其特征在于,所述纵向联邦因子分解机分类模型包括属于所述第一设备的第一目标模型参数和属于所述第二设备的第二目标模型参数,
所述基于所述秘密共享分类模型误差,对所述待训练分类模型进行更新,获得纵向联邦因子分解机分类模型的步骤包括:
基于所述秘密共享分类模型误差,对所述秘密共享初始模型参数进行更新,获得秘密共享更新参数;
基于所述秘密共享更新参数,与所述第二设备进行解密交互,得到所述第一目标模型参数,以供所述第二设备得到所述第二目标模型参数。
9.如权利要求8所述因子分解机分类模型构建方法,其特征在于,所述秘密共享更新参数包括第一共享第一方模型更新参数和第一共享第二方模型更新参数,
所述基于所述秘密共享更新参数,与所述第二设备进行解密交互,得到所述第一目标模型参数,以供所述第二设备得到所述第二目标模型参数的步骤包括:
将所述第一共享第二方模型更新参数发送至所述第二设备,以供所述第二设备基于确定的第二共享第二方模型更新参数和所述第一共享第二方模型更新参数,计算所述第二目标模型参数;
接收所述第二设备发送的第二共享第一方模型更新参数,并基于所述第二共享第一方模型更新参数和所述第一共享第一方模型更新参数,计算所述第一目标模型参数。
10.一种点击率预测方法,其特征在于,所述点击率预测方法应用于第一设备,所述点击率预测方法:
获取第一方待预测用户稀疏数据,并与第二设备进行秘密共享,获得秘密共享模型参数;
基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以对所述第一方待预测用户稀疏数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果;
基于所述第一秘密共享点击率预测结果,与所述第二设备进行聚合交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标点击率预测结果。
11.如权利要求10所述点击率预测方法,其特征在于,所述第一秘密共享点击率预测结果至少包括一第一共享第一方预测点击率和一第一共享第二方预测点击率,所述第二秘密共享点击率预测结果至少包括一第二共享第一方预测点击率和一第二共享第二方预测点击率,所述目标点击率预测结果至少包括一目标预测点击率,
所述基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率的步骤包括:
接收所述第二设备发送的所述第二共享第一方预测点击率和所述第二共享第二方预测点击率;
基于所述第一共享第一方预测点击率和所述第二共享第一方预测点击率,计算第一方预测点击率;
基于所述第一共享第二方预测点击率和所述第二共享第二方预测点击率,计算第二方预测点击率;
对所述第一方预测点击率和所述第二方预测点击率进行聚合,获得所述目标预测点击率。
12.如权利要求10所述点击率预测方法,其特征在于,所述秘密共享模型参数包括第一方第一共享类型模型参数和第一方第二类型共享模型参数,所述第二设备包括第二方待预测用户稀疏数据和第二方秘密共享模型参数,其中,所述第二方秘密共享模型参数包括第二方第一共享类型模型参数和第二方第二共享类型模型参数,所述第一秘密共享点击率预测结果包括第一类型共享预测结果和第二类型共享预测结果,
所述基于所述第一方待预测用户稀疏数据中的第一非零部分和所述秘密共享模型参数,与所述第二设备进行纵向联邦预测交互,以对所述第一方待预测用户稀疏数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果的步骤包括:
基于所述第一非零部分和所述第一方第一共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第一共享类型模型参数,计算所述第一类型共享预测结果;
基于所述第一方第二共享类型模型参数,与所述第二设备进行纵向联邦预测交互,以联合所述第二方第二共享类型模型参数和所述第二方待预测用户稀疏数据的第二非零部分,计算所述第二类型共享预测结果。
13.一种因子分解机分类模型构建设备,其特征在于,所述因子分解机分类模型构建设备包括:存储器、处理器以及存储在存储器上的用于实现所述因子分解机分类模型构建方法的程序,
所述存储器用于存储实现因子分解机分类模型构建方法的程序;
所述处理器用于执行实现所述因子分解机分类模型构建方法的程序,以实现如权利要求1至9中任一项所述因子分解机分类模型构建方法的步骤。
14.一种可读存储介质,其特征在于,所述可读存储介质上存储有实现因子分解机分类模型构建方法的程序,所述实现因子分解机分类模型构建方法的程序被处理器执行以实现如权利要求1至9中任一项所述因子分解机分类模型构建方法的步骤。
15.一种点击率预测设备,其特征在于,所述点击率预测设备包括:存储器、处理器以及存储在存储器上的用于实现所述点击率预测方法的程序,
所述存储器用于存储实现点击率预测方法的程序;
所述处理器用于执行实现所述点击率预测方法的程序,以实现如权利要求10至12中任一项所述点击率预测方法的步骤。
16.一种可读存储介质,其特征在于,所述可读存储介质上存储有实现点击率预测方法的程序,所述实现点击率预测方法的程序被处理器执行以实现如权利要求10至12中任一项所述点击率预测方法的步骤。
CN202010893160.9A 2020-08-28 2020-08-28 因子分解机分类模型构建方法、设备及可读存储介质 Pending CN111985573A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010893160.9A CN111985573A (zh) 2020-08-28 2020-08-28 因子分解机分类模型构建方法、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010893160.9A CN111985573A (zh) 2020-08-28 2020-08-28 因子分解机分类模型构建方法、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN111985573A true CN111985573A (zh) 2020-11-24

Family

ID=73441352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010893160.9A Pending CN111985573A (zh) 2020-08-28 2020-08-28 因子分解机分类模型构建方法、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111985573A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726496A (zh) * 2022-03-07 2022-07-08 电子科技大学 一种安全的应用于纵向联邦学习的特征选择方法
CN117648999A (zh) * 2024-01-30 2024-03-05 上海零数众合信息科技有限公司 联邦学习回归模型损失函数评估方法、装置及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726496A (zh) * 2022-03-07 2022-07-08 电子科技大学 一种安全的应用于纵向联邦学习的特征选择方法
CN114726496B (zh) * 2022-03-07 2023-10-03 电子科技大学 一种安全的应用于纵向联邦学习的特征选择方法
CN117648999A (zh) * 2024-01-30 2024-03-05 上海零数众合信息科技有限公司 联邦学习回归模型损失函数评估方法、装置及电子设备
CN117648999B (zh) * 2024-01-30 2024-04-23 上海零数众合信息科技有限公司 联邦学习回归模型损失函数评估方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN112733967B (zh) 联邦学习的模型训练方法、装置、设备及存储介质
Perifanis et al. Federated neural collaborative filtering
CN112085159B (zh) 一种用户标签数据预测系统、方法、装置及电子设备
Frembs et al. Contextuality as a resource for measurement-based quantum computation beyond qubits
CN113159327A (zh) 基于联邦学习系统的模型训练方法、装置、电子设备
CN114401079B (zh) 多方联合信息价值计算方法、相关设备及存储介质
CN114696990B (zh) 基于全同态加密的多方计算方法、系统及相关设备
CN112000988A (zh) 因子分解机回归模型构建方法、设备及可读存储介质
WO2022142366A1 (zh) 机器学习模型更新的方法和装置
CN111428887A (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN112818374A (zh) 一种模型的联合训练方法、设备、存储介质及程序产品
CN112926073A (zh) 联邦学习建模优化方法、设备、介质及计算机程序产品
CN111985573A (zh) 因子分解机分类模型构建方法、设备及可读存储介质
Miao et al. Federated deep reinforcement learning based secure data sharing for Internet of Things
CN112016698A (zh) 因子分解机模型构建方法、设备及可读存储介质
CN111291273A (zh) 推荐系统优化方法、装置、设备及可读存储介质
CN113051586A (zh) 联邦建模系统及方法、联邦模型预测方法、介质、设备
Zhang et al. PPNNP: A privacy-preserving neural network prediction with separated data providers using multi-client inner-product encryption
EP4016506B1 (en) Softmax function secret calculation system, softmax function secret calculation device, softmax function secret calculation method, neural network secret calculation system, neural network secret learning system, and program
WO2022048107A1 (zh) 一种电商平台卖家用户销售额多维统计分析系统及方法
CN114492850A (zh) 基于联邦学习的模型训练方法、设备、介质及程序产品
CN112949866A (zh) 泊松回归模型的训练方法、装置、电子设备及存储介质
US20230325718A1 (en) Method and apparatus for joint training logistic regression model
CN112101609A (zh) 关于用户还款及时性的预测系统、方法、装置及电子设备
CN112000987A (zh) 因子分解机分类模型构建方法、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination