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

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

Info

Publication number
CN112000987A
CN112000987A CN202010893157.7A CN202010893157A CN112000987A CN 112000987 A CN112000987 A CN 112000987A CN 202010893157 A CN202010893157 A CN 202010893157A CN 112000987 A CN112000987 A CN 112000987A
Authority
CN
China
Prior art keywords
party
parameter
sharing
secret sharing
secret
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
CN202010893157.7A
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 CN202010893157.7A priority Critical patent/CN112000987A/zh
Publication of CN112000987A publication Critical patent/CN112000987A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种因子分解机分类模型构建方法、设备及可读存储介质,所述因子分解机分类模型构建方法包括:与第二设备进行秘密共享,获得秘密共享初始模型参数和秘密共享训练数据,基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差,基于所述秘密共享分类误差,确定第一目标分类模型参数,并协助所述第二设备确定第二目标分类模型参数,以构建纵向联邦因子分解机分类模型。本申请解决了基于纵向联邦学习建模构建分类模型时无法保护各参与方的数据隐私的技术问题。

Description

因子分解机分类模型构建方法、设备及可读存储介质
技术领域
本申请涉及金融科技(Fintech)的人工智能领域,尤其涉及一种因子分解机分类模型构建方法、设备及可读存储介质。
背景技术
随着金融科技,尤其是互联网科技金融的不断发展,越来越多的技术(如分布式、区块链Blockchain、人工智能等)应用在金融领域,但金融业也对技术提出了更高的要求,如对金融业对应待办事项的分发也有更高的要求。
随着计算机软件和人工智能的不断发展,联邦学习的应用领域也越来越广泛,目前,纵向联邦学习建模通常采用不加密的两方联邦学习方法或者同态加密的两方纵向联邦学习建模方法进行分类模型的构建,但是,对于不加密的两方联邦学习方法存在数据泄露风险,无法保护纵向联邦学习建模的各参与方的数据隐私,而对于同态加密的两方纵向联邦学习建模方法,需要一个第三方来生成密钥对,提供加密与解密服务,则必需要求第三方可信,若第三方不可信或者可信度较低,则仍然具有泄露数据的风险,在构建分类模型时,纵向联邦学习建模的各参与方的数据隐私仍然得不到保护。
发明内容
本申请的主要目的在于提供一种因子分解机分类模型构建方法、设备及可读存储介质,旨在解决现有技术中基于纵向联邦学习建模构建分类模型时无法保护各参与方的数据隐私的技术问题。
为实现上述目的,本申请提供一种因子分解机分类模型构建方法,所述因子分解机分类模型构建方法应用于因子分解机分类模型构建设备,所述因子分解机分类模型构建方法包括:
与第二设备进行秘密共享,获得秘密共享初始模型参数和秘密共享训练数据;
基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差;
基于所述秘密共享分类误差,确定第一目标分类模型参数,并协助所述第二设备确定第二目标分类模型参数,以构建纵向联邦因子分解机分类模型。
本申请还提供一种点击率预测方法,所述点击率预测方法应用于点击率预测设备,所述点击率预测方法包括:
与第二设备进行秘密共享,获得秘密共享待预测用户数据和秘密共享模型参数;
将所述秘密共享待预测用户数据输入预设点击率预测模型,以基于所述秘密共享模型参数,对所述秘密共享待预测用户数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果;
基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率。
本申请还提供一种因子分解机分类模型构建装置,所述因子分解机分类模型构建装置为虚拟装置,且所述因子分解机分类模型构建装置应用于因子分解机分类模型构建设备,所述因子分解机分类模型构建装置包括:
秘密共享模块,用于与第二设备进行秘密共享,获得秘密共享初始模型参数和秘密共享训练数据;
纵向联邦模块,用于基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差;
确定模块,用于基于所述秘密共享分类误差,确定第一目标分类模型参数,并协助所述第二设备确定第二目标分类模型参数,以构建纵向联邦因子分解机分类模型。
本申请还提供一种点击率预测装置,所述点击率预测装置为虚拟装置,且所述点击率预测装置应用于点击率预测设备,所述点击率预测装置包括:
秘密共享模块,用于与第二设备进行秘密共享,获得秘密共享待预测用户数据和秘密共享模型参数;
预测模块,用于将所述秘密共享待预测用户数据输入预设点击率预测模型,以基于所述秘密共享模型参数,对所述秘密共享待预测用户数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果;
联合计算模块,用于基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率
本申请还提供一种因子分解机分类模型构建设备,所述因子分解机分类模型构建设备为实体设备,所述因子分解机分类模型构建设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述因子分解机分类模型构建方法的程序,所述因子分解机分类模型构建方法的程序被处理器执行时可实现如上述的因子分解机分类模型构建方法的步骤。
本申请还提供一种点击率预测设备,所述点击率预测设备为实体设备,所述点击率预测设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述点击率预测方法的程序,所述点击率预测方法的程序被处理器执行时可实现如上述的点击率预测方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有实现因子分解机分类模型构建方法的程序,所述因子分解机分类模型构建方法的程序被处理器执行时实现如上述的因子分解机分类模型构建方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有实现点击率预测方法的程序,所述点击率预测方法的程序被处理器执行时实现如上述的点击率预测方法的步骤。
本申请提供了一种因子分解机分类模型构建方法、设备和可读存储介质,相比于现有技术采用的基于不加密的两方联邦学习方法或者同态加密的两方纵向联邦学习建模方法构建分类模型的技术手段,本申请通过与第二设备进行秘密共享,获得秘密共享初始模型参数和秘密共享训练数据,进而基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差,进而基于所述秘密共享分类误差,对所述秘密共享初始模型参数进行更新,获得秘密共享分类模型更新参数,其中,在与第二设备进行交互时,发送或者接收的数据均为秘密共享数据,且无需第三方生成的公私密钥进行数据的加密,所有的数据传输过程均在参与纵向联邦学习建模的两方之间进行,保护了数据的隐私性,进而基于所述秘密共享分类模型更新参数,通过与所述第二设备进行解密交互,即可确定第一目标分类模型参数,并协助第二设备确定第二目标分类模型参数,即可完成纵向联邦因子分解机分类模型的构建,克服了现有技术中采用基于不加密的两方联邦学习方法或者同态加密的两方纵向联邦学习建模方法构建分类模型,导致无法保护纵向联邦学习建模的各参与方的数据隐私的技术缺陷,所以,解决了基于纵向联邦学习建模构建分类模型时无法保护各参与方的数据隐私的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请因子分解机分类模型构建方法第一实施例的流程示意图;
图2为本申请因子分解机分类模型构建方法第二实施例的流程示意图;
图3为本申请点击率预测方法第三实施例的流程示意图;
图4为本申请实施例因子分解机分类模型构建方法涉及的硬件运行环境的设备结构示意图;
图5为本申请实施例点击率预测方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种因子分解机分类模型构建方法,在本申请因子分解机分类模型构建方法的第一实施例中,参照图1,所述因子分解机分类模型构建方法应用于第一设备,所述因子分解机分类模型构建方法包括:
步骤S10,与第二设备进行秘密共享,获得秘密共享初始模型参数和秘密共享训练数据;
在本实施例中,需要说明的是,所述第一设备和所述第二设备均为纵向联邦学习的参与方,所述第一设备拥有带有样本标签的第一方训练标签数据,所述第一方训练标签数据可用第一方训练数据矩阵和样本标签进行表示,例如,假设所述第一方训练标签数据为(XA,Y),XA为所述第一方训练数据矩阵,Y为所述样本标签,另外地,所述第二设备拥有不带有样本标签的第二方训练数据,所述第二方训练数据可用第二方训练数据矩阵进行表示,例如,假设第二方训练数据矩阵为XB
另外地,在本实施例中,所述因子分解机分类模型为基于纵向联邦学习构建的机器学习模型,所述因子分解机分类模型的模型参数为第一设备和第二设备共同持有,其中,在进行纵向联邦学习之前,所述因子分解机分类模型包括第一类型初始模型参数和第二类型初始模型参数,所述第一类型初始模型参数包括第一设备持有的第一方第一类型初始模型参数和第二设备持有的第二方第一类型初始模型参数,所述第二类型初始模型参数包括第一设备持有的第一方第二类型初始模型参数和第二设备持有的第二方第二类型模型初始参数,例如,假设所述第一类型初始模型参数为w,所述第二类型初始模型参数为V,则所述第一方第一类型初始模型参数为wA,所述第二方第一类型初始模型参数为wB,所述第一方第二类型初始模型参数为VA,第二方第二类型模型初始参数为VB
另外地,需要说明的是,对数据进行秘密共享的过程为将数据拆分为两份,两份分别由秘密共享的两方持有的过程,例如,假设秘密共享的两方为A和B,则对数据X进行秘密共享,则A持有数据X的第一份额[[X]]A,B持有数据X的第二份额[[X]]B,且X=[[X]]A+[[X]]B
另外地,需要说明的是,所述因子分解机分类模型的模型表达式如下所示:
Figure BDA0002656592060000061
z(x)=<w,x>+∑i<j<Vi,Vj>xixj
其中,x为模型输入数据对应的数据矩阵,其中,所述模型输入数据包括第一方训练标签数据(XA,Y)和第二方训练数据XB,其中,Y为所述样本标签,XA具有dA个特征维度,XB具有dB个特征维度,第一类型初始模型参数为w,其中,w为d维向量,第二类型初始模型参数为V,其中,V为d*d的矩阵,且在所述因子分解机分类模型为进行训练之前,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列的列向量。
与第二设备进行秘密共享,获得秘密共享初始模型参数和秘密共享训练数据,具体地,获取所述因子分解机分类模型对应的初始化模型和第一方训练标签数据,并获取所述初始化模型对应的第一方第一类型初始模型参数和对应的第一方第二类型初始模型参数,相同地,所述第二设备在进行秘密共享之前获取所述第二方训练数据、所述初始化模型对应的第二方第一类型初始模型参数和对应的第二方第二类型模型初始参数,进而第一设备与第二设备进行秘密共享,其中,在进行秘密共享时,所述第一设备提供第一方训练标签数据、第一方第一类型初始模型参数和第一方第二类型初始模型参数,所述第二设备提供第二方训练数据、第二方第一类型初始模型参数和第二方第二类型模型初始参数,进而第一设备获得所述秘密共享初始模型参数和秘密共享训练数据,且所述第二设备获得己方拥有的第二方秘密共享初始模型参数和第二方秘密共享训练数据,其中,所述秘密共享初始模型参数包括第一方第一类型初始模型参数的第一份额、第一方第二类型初始模型参数的第一份额、第二方第一类型初始模型参数的第二份额和第二方第二类型模型初始参数的第二份额,所述第二方秘密共享初始模型参数包括第一方第一类型初始模型参数的第二份额、第一方第二类型初始模型参数的第二份额、第二方第一类型初始模型参数的第一份额和第二方第二类型模型初始参数的第一份额,所述秘密共享训练数据包括第一方训练标签数据的第一份额和第二方训练数据的第二份额,所述第二方秘密共享训练数据包括第一方训练标签数据的第二份额和第二方训练数据的第一份额。
其中,所述秘密共享模型参数包括第一共享参数和第二共享参数,所述秘密共享训练数据包括第一共享训练数据和第二共享训练数据,
所述与第二设备进行秘密共享,获得秘密共享模型参数和秘密共享训练数据的步骤包括:
步骤S11,获取第一方模型参数和第一方训练标签数据,并将所述第一方模型参数的第一份额作为所述第一共享参数;
在本实施例中,需要说明的是,所述第一方模型参数包括第一方第一类型初始模型参数和第一方第二类型初始模型参数,所述第二方秘密共享模型参数包括第三共享参数和第四共享参数。
获取第一方模型参数和第一方训练标签数据,并将所述第一方模型参数的第一份额作为所述第一共享参数,具体地,将所述第一方第一类型初始模型参数、第一方第二类型初始模型参数和第一方训练标签数据均拆分为两份,并将所述第一方第一类型初始模型参数的第一份额和第一方第二类型初始模型参数的第一份额共同作为所述第一共享参数。
步骤S12,将所述第一方模型参数的第二份额发送至所述第二设备,以供所述第二设备确定第三共享参数;
在本实施例中,将所述第一方模型参数的第二份额发送至所述第二设备,以供所述第二设备确定第三共享参数,具体地,将所述第一方第一类型初始模型参数的第二份额和第一方第二类型初始模型参数的第二份额均发送至所述第二设备,进而所述第二设备将所述第一类型初始模型参数的第二份额和所述第一方第二类型初始模型参数的第二份额共同所述第三共享参数。
步骤S13,接收所述第二设备发送的第二共享参数,其中,所述第二共享参数为第二设备获取的第二方模型参数的第二份额,且所述第二方模型参数的第一份额为所述第二设备的第四共享参数;
在本实施例中,接收所述第二设备发送的第二共享参数,其中,所述第二共享参数为第二设备获取的第二方模型参数的第二份额,且所述第二方模型参数的第一份额为所述第二设备的第四共享参数,具体地,所述第二设备分别将所述第二方第一类型初始模型参数和所述第二方第二类型模型初始参数拆分为两份,进而将所述第二方第一类型初始模型参数的第一份额和所述第二方第二类型模型初始参数的第一份额共同作为第四共享参数,并将所述第二方第一类型初始模型参数的第二份额和所述第二方第二类型模型初始参数的第二份额均发送至所述第一设备,进而所述第一设备接收所述第二方第一类型初始模型参数的第二份额和所述第二方第二类型模型初始参数的第二份额,并将所述第二方第一类型初始模型参数的第二份额和所述第二方第二类型模型初始参数的第二份额共同作为所述第二共享参数。
步骤S14,将所述第一方训练标签数据的第一份额作为所述第一共享训练数据,并将所述第一方训练标签数据的第二份额发送至所述第二设备,以供所述第二设备确定第三共享训练数据;
在本实施例中,需要说明的是,所述第二方秘密共享训练数据包括第三共享训练数据和第四共享训练数据。
将所述第一方训练标签数据的第一份额作为所述第一共享训练数据,并将所述第一方训练标签数据的第二份额发送至所述第二设备,以供所述第二设备确定第三共享训练数据,具体地,将所述第一方训练标签数据拆分为两份,进而将所述第一方训练标签数据的第一份额作为第一共享训练数据,并将所述第一方训练标签数据的第二份额发送至所述第二设备,进而所述第二设备将所述第一方训练标签数据的第二份额作为第三共享训练数据。
步骤S15,接收第二设备发送的第二共享训练数据,其中,所述第二共享训练数据为第二设备获取的第二方训练数据的第二份额,且所述第二方训练数据的第一份额为所述第二设备的第四共享训练数据。
在本实施例中,接收第二设备发送的第二共享训练数据,其中,所述第二共享训练数据为第二设备获取的第二方训练数据的第二份额,且所述第二方训练数据的第一份额为所述第二设备的第四共享训练数据,具体地,所述第二设备将所述第二方训练数据拆分为两份,并将所述第二方训练数据的第一份额作为所述第四共享训练数据,将所述第二方训练数据的第二份额发送至所述第一设备,所述第一设备将所述第二方训练数据的第一份额作为所述第二共享训练数据。
步骤S20,基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差;
在本实施例中,需要说明的是,所述秘密共享训练数据包括第一共享参训练数据和第二共享训练数据,其中,所述第一共享训练数据为第一方训练标签数据的第一份额,所述第二共享训练数据为所述第二方训练数据的第二份额,所述秘密共享初始模型参数包括第一共享参数和第二共享参数,其中,所述第一共享参数包括第一方第一类型初始模型参数的第一份额进而第一方第二类型初始模型参数的第一份额,所述第二共享参数包括第二方第一类型初始模型参数的第二份额和第二方第二类型模型初始参数的第二份额。
另外地,所述第二设备在进行纵向联邦学习建模时提供第二方秘密共享训练数据和第二方秘密共享初始模型参数,其中,所述第二方秘密共享训练数据包括第三共享参训练数据和第四共享训练数据,其中,所述第三共享训练数据为第一方训练标签数据的第二份额,所述第四共享训练数据为所述第二方训练数据的第一份额,所述秘密共享初始模型参数包括第三共享参数和第四共享参数,其中,所述第三共享参数包括第一方第一类型初始模型参数的第二份额进而第一方第二类型初始模型参数的第二份额,所述第四共享参数包括第二方第一类型初始模型参数的第一份额和第二方第二类型初始模型参数的第一份额。
基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差,具体地,基于所述第一共享参数、所述第二共享参数、第一共享训练数据和第二共享训练数据,与所述第二设备进行联邦交互,其中,所述第二设备在进行联邦交互时提供第三共享参数、第四共享参数、第三共享训练数据和第四共享训练数据,以计算秘密共享中间参数,进而基于所述秘密共享中间参数和所述预设权重信息,通过预设秘密共享分类误差计算公式,计算秘密共享分类误差。
其中,所述秘密共享训练数据包括秘密共享标签数据,
所述基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差的步骤包括:
步骤S21,基于预设秘密共享机制,通过与所述第二设备进行联邦交互,计算所述秘密共享初始模型参数和所述秘密共享训练数据共同对应的分类参数项;
在本实施例中,需要说明的是,所述分类参数项为用于计算所述秘密共享分类误差的表达式,所述预设秘密共享机制包括秘密共享加法和秘密共享乘法,所述秘密共享初始模型参数包括第一类型共享参数和第二类型共享参数,其中,所述第一类型共享参数包括第一方第一类型初始模型参数的第一份额和第二方第一类型初始模型参数的第二份额,所述第二类型共享参数包括第一方第二类型初始模型参数的第一份额和第二方第二类型初始模型参数的第二份额,且所述第二设备拥有第二方第一类型共享参数和第二方第二类型共享参数,其中,所述第二方第一类型共享参数包括第一方第一类型初始模型参数的第二份额和第二方第一类型初始模型参数的第一份额,所述第二方第二类型共享参数包括第一方第二类型初始模型参数的第二份额和第二方第二类型初始模型参数的第一份额,所述秘密共享标签数据为秘密共享的样本标签,所述分类参数项包括秘密共享交叉特征项内积和秘密共享中间参数。
基于预设秘密共享机制,通过与所述第二设备进行联邦交互,计算所述秘密共享初始模型参数和所述秘密共享训练数据共同对应的分类参数项,具体地,基于秘密共享乘法,通过与所述第二设备进行联邦交互,计算所述第二类型共享参数中每一参数元素与所述秘密共享训练数据每一训练数据元素之间的交叉内积,其中,一所述参数元素与一所述训练数据元素之间存在一所述交叉内积,进而对各所述交叉内积进行累加,获得秘密共享交叉特征项内积,另外地,在进行联邦交互时,基于秘密共享乘法,所述第二设备将计算所述第二方第二类型共享参数中每一第二方参数元素和所述第二方秘密共享训练数据中每一第二训练数据元素之间的第二方交叉内积,获得第二方秘密共享交叉特征项内积,进一步地,基于所述秘密共享乘法对应的第一秘密共享乘法三元组,通过与所述第二设备进行联邦交互,基于所述第一类型共享参数和所述秘密共享训练数据,计算第一中间参数项,并基于所述第二类型共享参数、所述秘密共享交叉特征项内积和所述秘密共享训练数据,计算第二中间参数项,进而计算所述第一中间参数项和所述第二中间参数项之和,获得所述秘密共享中间参数。
其中,所述秘密共享初始模型参数包括第一类型共享参数和第二类型共享参数,所述分类参数项包括秘密共享中间参数,所述预设秘密共享机制包括秘密共享乘法,
所述基于预设秘密共享机制,通过与所述第二设备进行联邦交互,计算所述秘密共享初始模型参数和所述秘密共享训练数据共同对应的分类参数项的步骤包括:
步骤S211,基于所述秘密共享乘法,通过与所述第二设备进行联邦交互,计算所述第二类型共享参数中各元素和所述秘密共享训练数据中各元素之间的交叉内积,获得各元素交叉内积;
在本实施例中,需要说明的是,所述元素交叉内积包括第一元素交叉内积和第二元素交叉内积,所述秘密共享训练数据包括第一秘密共享训练数据和第二秘密共享训练数据,其中,所述第一秘密共享训练数据为第二方训练数据的第二份额,所述第二秘密共享训练数据为第一方训练标签数据的第一份额,所述第二类型共享参数包括第一共享第二类型初始模型参数和第二共享第二类型初始模型参数,其中,所述第一共享第二类型初始模型参数为第二方第二类型初始模型参数的第二份额,所述第二共享第二类型初始模型参数为第一方第二类型初始模型参数的第一份额,且所述第一共享第二类型初始模型参数可为矩阵形式的参数,所述第一共享第二类型初始模型参数的每一列为一第一参数元素,所述第一共享训练数据为矩阵形式的训练数据,所述第一共享训练数据的每一列为一第一训练数据元素,另外地,所述第二共享第二类型初始模型参数可为矩阵形式的参数,所述第二共享第二类型初始模型参数的每一列为一第二参数元素,所述第二共享训练数据为矩阵形式的训练数据,所述第二共享训练数据的每一列为一第二训练数据元素。
基于所述秘密共享乘法,通过与所述第二设备进行联邦交互,计算所述第二类型共享参数中各元素和所述秘密共享训练数据中各元素之间的交叉内积,获得各元素交叉内积,具体地,获取所述秘密共享乘法对应的第二秘密共享乘法三元组,进而基于所述第二秘密共享乘法三元组,通过秘密共享乘法,与所述第二设备进行联邦交互,计算每一所述第一参数元素和每一所述第一训练数据元素之间的内积,获得各所述第一元素交叉内积,其中,所述第二设备在与所述第一设备进行联邦交互时,计算第二方第一元素交叉内积,相同地,获取所述秘密共享乘法对应的第三秘密共享乘法三元组,进而基于所述第三秘密共享乘法三元组,通过秘密共享乘法,与所述第二设备进行联邦交互,计算每一所述第二参数元素和每一所述第二训练数据元素之间的内积,获得各所述第二元素交叉内积,其中,相同地,第二设备计算第二方第二元素交叉内积。
其中,在一种可实施的方案中,计算内积的方法如下:
假设第一设备拥有秘密共享乘法三元组([[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,也即,所述第一元素交叉内积和所述第二方第一元素交叉内积计算完毕。
步骤S212,对各所述元素交叉内积进行累加,获得所述秘密共享交叉特征项内积;
在本实施例中,对各所述元素交叉内积进行累加,获得所述秘密共享交叉特征项内积。具体地,对各所述第一元素交叉内积进行累加,获得所述第一交叉特征项内积,并对各所述第二元素交叉内积进行累加,获得所述第二交叉特征项内积,其中,所述第一交叉特征项内积的计算表达式如下:
Figure BDA0002656592060000131
其中,
Figure BDA0002656592060000132
为第一设备拥有的秘密共享的第一参数元素,也即为第二方第二类型初始模型参数的第二份额中的列向量,
Figure BDA0002656592060000133
第一设备拥有的秘密共享的第一训练数据元素,也即为第二方训练数据的第二份额中的列向量,另外地,所述第二特征交叉特征项内积的计算公式如下:
Figure BDA0002656592060000134
其中,
Figure BDA0002656592060000135
为第一设备拥有的秘密共享的第二参数元素,也即为第一方第二类型初始模型参数的第一份额中的列向量,
Figure BDA0002656592060000136
第一设备拥有的秘密共享的第二训练数据元素,也即为第一方训练标签数据的第一份额中的列向量。
另外地,第二设备计算第二方第一交叉特征项内积的计算公式如下:
Figure BDA0002656592060000137
其中,
Figure BDA0002656592060000138
为第二设备拥有的秘密共享的第二方第一参数元素,也即为第二方第二类型初始模型参数的第一份额中的列向量,
Figure BDA0002656592060000139
第二设备拥有的秘密共享的第二方第二训练数据元素,也即为第一方训练标签数据的第二份额中的列向量,另外地,第二设备计算第二方第二交叉特征项内积计算公式如下:
Figure BDA00026565920600001310
其中,
Figure BDA00026565920600001311
为第二设备拥有的秘密共享的第二方第二参数元素,也即为第一方第二类型初始模型参数的第二份额中的列向量,
Figure BDA00026565920600001312
第二设备拥有的秘密共享的第二方第二训练数据元素,也即为第一方训练标签数据的第二份额中的列向量。
步骤S213,基于所述秘密共享乘法和所述秘密共享加法,通过与所述第二设备进行联邦交互,计算所述第一类型共享参数和所述秘密共享训练数据共同对应的第一中间参数项,并计算所述秘密共享交叉特征项内积、所述秘密共享训练数据和所述第二类型共享参数共同对应的第二中间参数项;
在本实施例中,需要说明的是,所述第一中间参数项包括第一共享中间参数项和第二共享中间参数项,所述第一类型共享参数包括第一共享第一类型初始模型参数和第二共享第一类型初始模型参数,其中,所述第一共享第一类型初始模型参数为第二方第一类型初始模型参数的第二份额,所述第二共享第一类型初始模型参数为所述第一方第一类型初始模型参数的第一份额,所述秘密共享训练数据包括第一共享训练数据和第二共享训练数据,其中,所述第一共享训练数据为第二方训练数据的第二份额,所述第二共享训练数据为第一方训练数据的第一份额,所述第二中间参数项包括第三共享中间参数项和第四共享中间参数项。
基于所述秘密共享乘法和所述秘密共享加法,通过与所述第二设备进行联邦交互,计算所述第一类型共享参数和所述秘密共享训练数据共同对应的第一中间参数项,并计算所述秘密共享交叉特征项内积、所述秘密共享训练数据和所述第二类型共享参数共同对应的第二中间参数项,具体地,基于秘密共享乘法三元组,通过与所述第二设备进行联邦交互,分别计算所述第一共享第一类型初始模型参数和所述第一共享训练数据的各列向量的内积,获得各第一中间参数内积,并将各所述第一中间参数内积累加,获得所述第一共享中间参数项,并分别计算所述第二共享第一类型初始模型参数和所述第二共享训练数据的各列向量的内积,获得各第二中间参数内积,并将各所述第二中间参数内积累加,获得所述第二共享中间参数项,其中,所述第一共享中间参数项的计算表达式如下所示:
Figure BDA0002656592060000141
其中,M1为所述第一共享中间参数项,dB表示XB的特征维度为dB,[[wB]]A为第一设备的秘密共享的第一共享第一类型初始模型参数,也即为第二方第一类型初始模型参数的第二份额,[[XB]]A为所述第一设备的秘密共享的第一共享训练数据中的元素,也即为第二方训练数据的第二份额的列向量,XB为所述第一共享训练数据,另外地,所述第二共享中间参数项的计算表达式如下所示:
Figure BDA0002656592060000142
其中,M2为所述第二共享中间参数项,dA表示XA的特征维度为dA,[[wA]]A为第一设备的秘密共享的第二共享第一类型初始模型参数,也即为第一方第一类型初始模型参数的第一份额,[[XA]]A为所述第一设备的秘密共享的第二共享训练数据中的元素,也即为第一方训练标签数据的第一份额的列向量,XA为所述第二共享训练数据,进一步地,获取第一共享第二类型初始模型参数对应的第一转置矩阵和所述第一共享训练数据对应的第二转置矩阵,进而基于所述秘密共享乘法,通过与第二设备进行联邦交互,计算所述第一共享第二类型初始模型参数、第一转置矩阵、所述第一共享训练数据和所述第二转置矩阵的内积,获得第一内积项,并基于所述第一交叉特征项内积和所述第一内积项,计算第三共享中间参数项,相同地,获取第二方第二类型共享参数对应的第三转置矩阵和所述第二共享训练数据对应的第四转置矩阵,进而基于所述秘密共享乘法,通过与第二设备进行联邦交互,计算所述第二方第二类型共享参数、第三转置矩阵、所述第二共享训练数据和所述第四转置矩阵的内积,获得第二内积项,并基于所述第二交叉特征项内积和所述第二内积项,计算第四共享中间参数项,其中,所述第三共享中间参数项的表达式如下所示:
Figure BDA0002656592060000151
其中,[[ ]]A表示秘密共享后第一设备拥有的部分份额的数据,VB为第二方第二类型共享参数,XB为第二方训练数据,
Figure BDA0002656592060000152
为VB的列向量,且VB具有dx个列向量,
Figure BDA0002656592060000153
为XB的列向量,且XB具有dB个列向量,另外地,所述第四共享中间参数项的表达式如下所示:
Figure BDA0002656592060000154
其中,[[]]A表示秘密共享后第一设备拥有的部分份额的数据,VA为第一方第二类型初始模型参数,XA为第一方训练标签数据,
Figure BDA0002656592060000155
为VA的列向量,且VA具有dx个列向量,
Figure BDA0002656592060000156
为XA的列向量,且XA具有dA个列向量。
另外地,需要说明的时,所述第二设备将基于第二方第一类型初始模型参数的第一份额和所述第二方训练数据的第一份额,计算第二方第一共享中间参数项,其中,所述第二方第一共享中间参数项与所述第一共享中间参数项的计算方式一致,且所述第二设备将基于所述第一方第一类型初始模型参数的第二份额和第一方训练标签数据的第二份额,计算第二方第二共享中间参数项,其中,所述第二方第二共享中间参数项与所述第二共享中间参数项的计算方式一致。
另外地,需要说明的是,所述第二设备将基于秘密共享后第二设备拥有的部分份额的数据,计算第二方第三共享中间参数项和第二方第四共享中间参数项,且计算方式与第一设备中的计算方式一致,所述第二方第三共享中间参数项和所述第二方第四共享中间参数项如下所示:
Figure BDA0002656592060000161
Figure BDA0002656592060000162
其中,[[ ]]B表示秘密共享后第二设备拥有的部分份额的数据。
步骤S214,基于所述第一中间参数项和所述第二中间参数项,确定所述秘密共享中间参数。
在本实施例中,所述秘密共享中间参数包括第一秘密共享中间参数和第二秘密共享中间参数。
基于所述第一中间参数项和所述第二中间参数项,确定所述秘密共享中间参数,具体地,计算所述第一共享中间参数项和所述第三共享中间参数项之和,获得第一秘密共享中间参数,并计算所述第二共享中间参数项和所述第四共享中间参数项之和,获得第二秘密共享中间参数,其中,所述第一秘密共享中间参数的计算表达式如下所示:
Figure BDA0002656592060000163
其中,[[f(XB)]]为所述第一秘密共享中间参数,另外地,所述第二秘密共享中间参数的计算表达式如下所示:
Figure BDA0002656592060000164
其中,[[f(XA)]]为所述第一秘密共享中间参数,另外地,第二设备将计算所述第二方第一共享中间参数项和所述第二方第三共享中间参数项之和,获得第二方第一秘密共享中间参数,并计算所述第二方第二共享中间参数项和所述第二方第四共享中间参数项之和,获得第二方第二秘密共享中间参数。
步骤S22,基于所述分类参数项、所述预设权重信息和所述秘密共享标签数据,计算所述秘密共享分类误差。
在本实施例中,需要说明的是,所述秘密共享标签数据为秘密共享后第一设备拥有的部分份额的样本标签,所述第二设备拥有第二方秘密共享标签数据,所述分类参数项包括第一秘密共享中间参数和第二秘密共享中间参数,所述预设权重信息包括第一权重和第二权重,所述分类参数项包括秘密共享交叉特征项内积和秘密共享中间参数。
基于所述分类参数项、所述预设权重信息和所述秘密共享标签数据,计算所述秘密共享分类误差,具体地,将所述第一秘密共享中间参数、所述第二秘密共享中间参数、所述第一权重、所述第二权重和所述秘密共享标签数据代入预设秘密共享分类误差计算公式,计算秘密共享分类误差。
其中,所述预设权重信息包括第一权重和第二权重,
所述基于所述分类参数项、所述预设权重信息和所述秘密共享标签数据,计算秘密共享分类误差的步骤包括:
步骤S221,基于所述分类参数项和所述第一权重,计算第一加权项,并基于所述秘密共享标签数据和所述第二权重,计算第二加权项;
在本实施例中,基于所述分类参数项和所述第一权重,计算第一加权项,并基于所述秘密共享标签数据和所述第二权重,计算第二加权项,具体地,计算所述分类参数项和所述第一权重的乘积,获得第一加权项,并计算所述秘密共享标签数据和所述第二权重的乘积,获得第二加权项。
步骤S222,基于所述第一加权项和所述第二加权项,计算所述秘密共享分类误差。
在本实施例中,基于所述第一加权项和所述第二加权项,计算所述秘密共享分类误差,具体地,计算所述第一加权项和所述第二加权项的差值,获得所述秘密共享分类误差,其中,所述预设秘密共享分类误差计算公式如下所示:
Figure BDA0002656592060000181
其中,Y为所述样本标签,μ为第一权重优选地,μ的取值为1/4,ν为所述第二权重,优选地,ν的取值为1/2,相同地,第二设备将所述第二方第一秘密共享中间参数、第二方第二秘密共享中间参数和第二方秘密共享标签数据代入所述预设分类误差计算公式,即可计算第二方秘密共享分类误差。
步骤S30,基于所述秘密共享分类误差,确定第一目标分类模型参数,并协助所述第二设备确定第二目标分类模型参数,以构建纵向联邦因子分解机分类模型。
在本实施例中,基于所述秘密共享分类误差,确定第一目标分类模型参数,并协助所述第二设备确定第二目标分类模型参数,以构建纵向联邦因子分解机分类模型,具体地,重复进行所述秘密共享分类误差的计算,以对所述秘密共享初始模型参数进行迭代更新,直至达到预设模型训练结束条件,获得第一秘密共享目标参数,相同地,所述第二设备将重复进行所述第二方秘密共享分类误差的计算,以对所述第二方秘密共享初始模型参数进行迭代更新,直至达到预设模型训练结束条件,获得第二秘密共享目标参数,进而接收第二设备发送的第二秘密共享目标参数中的第二共享第一方目标参数,并获取所述第一秘密共享目标参数中的第一共享第一方目标参数,计算所述第一共享第一方目标参数和所述第二共享第一方目标参数之和,获得所述第一目标分类模型参数,并将所述第一秘密共享目标参数中的第二共享第二方目标参数发送至第二设备,以供所述第二设备计算所述第二共享第二方目标参数和所述第二秘密共享目标参数中的第一共享第二方目标参数之和,获得第二目标分类模型参数,也即,确定了模型训练结束后的第一类型初始模型参数和第二类型初始模型参数,进而即可确定所述纵向联邦因子分解机分类模型。
另外地,需要说明的是,所述纵向联邦因子分解机分类模型为分类模型,相比于现有的纵向联邦学习方法,本申请在基于纵向联邦学习,构建纵向联邦因子分解机分类模型时,无需同态加解密过程,减少了纵向联邦学习建模时的计算量,进而提高了构建纵向联邦因子分解机分类模型时的计算效率,且由于纵向联邦因子分解机分类模型为基于纵向联邦学习建模构建的,进而构建所述纵向联邦因子分解机分类模型时的训练样本的特征丰富度更高,进而所述纵向联邦因子分解机分类模型的模型性能将更佳,进而所述纵向联邦因子分解机分类模型分类效果将更好例如,分类的精度更高等。
本实施例提供了一种因子分解机分类模型构建方法,相比于现有技术采用的基于不加密的两方联邦学习方法或者同态加密的两方纵向联邦学习建模方法构建分类模型的技术手段,本实施例通过与第二设备进行秘密共享,获得秘密共享初始模型参数和秘密共享训练数据,进而基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差,进而基于所述秘密共享分类误差,对所述秘密共享初始模型参数进行更新,获得秘密共享分类模型更新参数,其中,在与第二设备进行交互时,发送或者接收的数据均为秘密共享数据,且无需第三方生成的公私密钥进行数据的加密,所有的数据传输过程均在参与纵向联邦学习建模的两方之间进行,保护了数据的隐私性,进而基于所述秘密共享分类模型更新参数,通过与所述第二设备进行解密交互,即可确定第一目标分类模型参数,并协助第二设备确定第二目标分类模型参数,即可完成纵向联邦因子分解机分类模型的构建,克服了现有技术中采用基于不加密的两方联邦学习方法或者同态加密的两方纵向联邦学习建模方法构建分类模型,导致无法保护纵向联邦学习建模的各参与方的数据隐私的技术缺陷,所以,解决了基于纵向联邦学习建模构建分类模型时无法保护各参与方的数据隐私的技术问题。
进一步地,参照图2,基于本申请中第一实施例,在本申请的另一实施例中,所述基于所述秘密共享分类误差,确定第一目标分类模型参数,并协助所述第二设备确定第二目标分类模型参数的步骤包括:
步骤S31,基于所述秘密共享分类误差,对所述秘密共享初始模型参数进行更新,获得所述秘密共享分类模型更新参数;
在本实施例中,基于所述秘密共享分类误差,对所述秘密共享初始模型参数进行更新,获得所述秘密共享分类模型更新参数,具体地,基于所述秘密共享分类误差,计算所诉秘密共享初始模型参数对应的模型梯度信息,进而基于所述模型梯度信息,更新所述秘密共享初始模型参数,获得所述秘密共享分类模型更新参数。
其中,所述秘密共享模型参数包括第一秘密共享初始模型参数和第二秘密共享初始模型参数,所述秘密共享分类模型更新参数包括第一共享分类模型参数和第二共享分类模型参数,
所述基于所述秘密共享分类误差,对所述秘密共享初始模型参数进行更新,获得所述秘密共享分类模型更新参数的步骤包括:
步骤S311,计算所述秘密共享分类误差关于所述第一秘密共享初始模型参数的第一梯度信息,并计算所述秘密共享分类误差关于所述第二秘密共享初始模型参数的第二梯度信息;
在本实施例中,需要说明的是,所述第一秘密共享初始模型参数包括第一方第一类型初始模型参数的第一份额和第一方第二类型初始模型参数的第一份额,所述第一梯度信息包括第一类型梯度和第二类型梯度,其中,所述第一类型梯度为第一方第一类型初始模型参数的第一份额对应的秘密共享的梯度,所述第二类型梯度为第一方第二类型初始模型参数的第一份额中每一列向量的秘密共享的梯度集合,所述第二秘密共享初始模型参数包括第二方第一类型初始模型参数的第二份额和第二方第二类型初始模型参数的第二份额,所述第二梯度信息包括第三类型梯度和第四类型梯度,其中,所述第三类型梯度为第二方第一类型初始模型参数的第二份额对应的秘密共享的梯度,所述第四类型梯度为第二方第二类型初始模型参数的第二份额中每一列向量的秘密共享的梯度集合。
计算所述秘密共享分类误差关于所述第一秘密共享初始模型参数的第一梯度信息,并计算所述秘密共享分类误差关于所述第二秘密共享初始模型参数的第二梯度信息,具体地,计算所述秘密共享分类误差关于所述第一方第一类型初始模型参数的第一份额的偏导数,获得所述第一类型梯度,并计算所述秘密共享分类误差关于所述第一方第二类型初始模型参数的第一份额中的每一列向量的偏导数,获得第二类型梯度,其中,所述第一类型梯度的计算表达式如下所示:
Figure BDA0002656592060000201
其中,T1为所述第一类型梯度,α为超参数,其大小可自行设定,用于控制梯度的取值范围,wA为所述第一方第一类型初始模型参数,[[wA]]A为所述第一方第一类型初始模型参数的第一份额,另外地,所述第二类型梯度的计算表达式如下所示:
Figure BDA0002656592060000211
其中,T2为所述第二类型梯度,α为超参数,其大小可自行设定,用于控制梯度的取值范围,VA为所述第一方第二类型初始模型参数,[[VA]]A为所述第一方第二类型初始模型参数的第一份额,
Figure BDA0002656592060000212
为所述第一方第二类型初始模型参数的第一份额的列向量,进一步地,计算所述秘密共享分类误差关于所述第二方第一类型初始模型参数的第二份额的偏导数,获得所述第三类型梯度,并计算所述秘密共享分类误差关于所述第二方第二类型初始模型参数的第二份额中的每一列向量的偏导数,获得第四类型梯度,其中,所述第三类型梯度的计算表达式如下所示:
Figure BDA0002656592060000213
其中,T3为所述第三类型梯度,α为超参数,其大小可自行设定,用于控制梯度的取值范围,wB为所述第二方第一类型初始模型参数,[[wB]]A为所述第二方第一类型初始模型参数的第二份额,另外地,所述第四类型梯度的计算表达式如下所示:
Figure BDA0002656592060000214
其中,T4为所述第四类型梯度,α为超参数,其大小可自行设定,用于控制梯度的取值范围,VB为所述第二方第二类型共享参数,[[VB]]A为所述第二方第二类型初始模型参数的第二份额,
Figure BDA0002656592060000215
为所述第二方第二类型初始模型参数的第二份额的列向量。
另外地,需要说明的是,所述第二设备同样可计算所述第二方秘密共享分类误差关于所述第二方第一类型初始模型参数的第一份额的偏导数,获得第五类型梯度,并计算所述第二方秘密共享分类误差关于所述第二方第二类型初始模型参数的第一份额中的每一列向量的偏导数,获得第六类型梯度,进而计算所述第二方秘密共享分类误差关于所述第一方第一类型初始模型参数的第二份额的偏导数,获得所述第七类型梯度,并计算所述第二方秘密共享分类误差关于所述第一方第二类型初始模型参数的第二份额中的每一列向量的偏导数,获得第八类型梯度,其中,第二设备中计算梯度的方式与第一设备计算梯度的方式一致。
步骤S312,基于所述第一梯度信息和预设第一学习参数,更新所述第一秘密共享初始模型参数,直至满足预设联邦学习结束条件,获得所述第一共享分类模型参数;
在本实施例中,需要说明的是,所述预设联邦学习结束条件包括损失函数收敛,达到预设迭代次数阀值等,所述预设第一学习参数包括第一学习率和第二学习率。
基于所述第一梯度信息和预设第一学习参数,更新所述第一秘密共享初始模型参数,直至满足预设联邦学习结束条件,获得所述第一共享分类模型参数,具体地,计算所述第一类型梯度和所述第一学习率的乘积,获得第一梯度下降值,进而计算所述第一方第一类型初始模型参数的第一份额与所述第一梯度下降值的差值,获得第一更新参数,并计算所述第二类型梯度和所述第二学习率的乘积,获得第二梯度下降值,进而计算所述第一方第二类型初始模型参数的第一份额与所述第二梯度下降值的差值,获得第二更新参数,进而判断所述第一更新参数和所述第二更新参数是否满足预设联邦学习结束条件,若满足,则将所述第一更新参数和所述第二更新参数共同作为所述第一共享分类模型参数,若不满足,则重新计算梯度信息,以对所述第一秘密共享初始模型参数进行迭代更新,直至满足预设联邦学习结束条件,其中,计算所述第一更新参数的计算表达式如下所示:
Figure BDA0002656592060000221
其中,δ1为所述第一学习率,
Figure BDA0002656592060000222
为所述第一更新参数,另外地,计算所述第二更新参数的计算表达式如下所示:
Figure BDA0002656592060000223
其中,δ2为所述第二学习率,
Figure BDA0002656592060000224
为所述第二更新参数。
步骤S313,基于所述第二梯度信息和预设第二学习参数,更新所述第二秘密共享初始模型参数,直至满足所述预设联邦学习结束条件,获得所述第二共享分类模型参数。
在本实施例中,需要说明的是,所述预设第二学习参数包括第三学习率和第四学习率。
基于所述第二梯度信息和预设第二学习参数,更新所述第二秘密共享初始模型参数,直至满足所述预设联邦学习结束条件,获得所述第二共享分类模型参数。具体地,计算所述第三类型梯度和所述第三学习率的乘积,获得第三梯度下降值,进而计算所述第二方第一类型初始模型参数的第二份额与所述第三梯度下降值的差值,获得第三更新参数,并计算所述第四类型梯度和所述第四学习率的乘积,获得第四梯度下降值,进而计算所述第二方第二类型初始模型参数的第二份额与所述第四梯度下降值的差值,获得第四更新参数,进而判断所述第三更新参数和所述第四更新参数是否满足预设联邦学习结束条件,若满足,则将所述第三更新参数和所述第四更新参数共同作为所述第二共享分类模型参数,若不满足,则重新计算梯度信息,以对所述第二秘密共享初始模型参数进行迭代更新,直至满足预设联邦学习结束条件,其中,计算所述第三更新参数的计算表达式如下所示:
Figure BDA0002656592060000231
其中,δ3为所述第三学习率,
Figure BDA0002656592060000232
为所述第三更新参数,另外地,计算所述第四更新参数的计算表达式如下所示:
Figure BDA0002656592060000233
其中,δ4为所述第四学习率,
Figure BDA0002656592060000234
为所述第四更新参数。
另外地,需要说明的是,所述第二设备将基于第五类型梯度和预设第五学习率,计算第五更新参数
Figure BDA0002656592060000235
基于第六类型梯度和预设第六学习率,计算第六更新参数
Figure BDA0002656592060000236
基于第七类型梯度和预设第七学习率,计算第七更新参数
Figure BDA0002656592060000237
基于第八类型梯度和预设第八学习率,计算第八更新参数
Figure BDA0002656592060000238
其中,第二设备计算各梯度的方式与第一设备一致。
步骤S32,基于所述秘密共享分类模型更新参数,通过与所述第二设备进行解密交互,确定所述第一目标分类模型参数,以供所述第二设备确定所述第二目标分类模型参数。
在本实施例中,基于所述秘密共享分类模型更新参数,通过与所述第二设备进行解密交互,确定所述第一目标分类模型参数,以供所述第二设备确定所述第二目标分类模型参数,具体地,接收第二设备发送的第七更新参数和第八更新参数,并基于所述第一更新参数、第二更新参数、第七更新参数和第八更新参数,计算第一目标分类模型参数,并将所述第三更新参数和所述第四更新参数发送至所述第二设备,以供所述第二设备基于所述三更新参数、所述第四更新参数、所述第五更新参数和所述第六更新参数,计算第二目标分类模型参数。
其中,所述秘密共享分类模型更新参数包括第一方更新模型参数第一份额和第二方更新模型参数第二份额,
所述基于所述秘密共享分类模型更新参数,通过与所述第二设备进行解密交互,确定所述第一目标分类模型参数,以供所述第二设备确定所述第二目标分类模型参数的步骤包括:
步骤S321,接收所述第二设备基于纵向联邦学习建模确定的第一方更新模型参数第二份额,并将所述第二方更新模型参数第二份额至所述第二设备,以供所述第二设备基于纵向联邦学习建模确定的第二方更新模型参数第一份额和所述第二方更新模型参数第二份额,确定所述第二目标分类模型参数;
在本实施例中,需要说明的是,所述第一方更新模型参数第一份额包括所述第一更新参数和所述第二更新参数,所述第二方更新模型参数第二份额包括第三更新参数和第四更新参数,所述第二方更新模型参数第一份额包括第五更新参数和第六更新参数,所述第一方更新模型参数第二份额包括所述第七更新参数和所述第八更新参数,其中,所述第一更新参数为第一设备通过纵向联邦学习对第一方第一类型初始模型参数的第一份额进行迭代更新确定的模型参数,所述第二更新参数为第一设备通过纵向联邦学习对第一方第二类型初始模型参数的第一份额进行迭代更新确定的模型参数,所述第三更新参数为第一设备通过纵向联邦学习对第二方第一类型初始模型参数的第二份额进行迭代更新确定的模型参数,所述第四更新参数为第一设备通过纵向联邦学习对第二方第二类型初始模型参数的第二份额进行迭代更新确定的模型参数,所述第五更新参数为第二设备通过纵向联邦学习对第二方第一类型初始模型参数的第一份额进行迭代更新确定的模型参数,所述第六更新参数为第二设备通过纵向联邦学习对第二方第二类型初始模型参数的第一份额进行迭代更新确定的模型参数,所述第七更新参数为第二设备通过纵向联邦学习对第一方第一类型初始模型参数的第二份额进行迭代更新确定的模型参数,所述第八更新参数为第二设备通过纵向联邦学习对第一方第二类型初始模型参数的第二份额进行迭代更新确定的模型参数。
接收所述第二设备基于纵向联邦学习建模确定的第一方更新模型参数第二份额,并将所述第二方更新模型参数第二份额至所述第二设备,以供所述第二设备基于纵向联邦学习建模确定的第二方更新模型参数第一份额和所述第二方更新模型参数第二份额,确定所述第二目标分类模型参数,具体地,接收所述第二设备发送的第七更新参数和第八更新参数,并将第三更新参数和第四更新参数发送至所述第二设备,以供所述第二设备计算所述第三更新参数和所述第五更新参数之和,获得第二方第一类型模型更新参数,计算所述第四更新参数和所述第五更新参数之和,获得第二方第二类型模型更新参数,并将所述第二方第一类型模型更新参数和所述第二方第二类型模型更新参数共同作为所述第二目标分类模型参数,其中,所述第二方第一类型模型更新参数的计算表达式如下:
Figure BDA0002656592060000251
其中,
Figure BDA0002656592060000252
为所述第二方第一类型模型更新参数,另外地,所述第二方第二类型模型更新参数的计算表达式如下:
Figure BDA0002656592060000253
其中,
Figure BDA0002656592060000254
为所述第二方第二类型模型更新参数。
步骤S322,对所述第一方更新模型参数第一份额和所述第一方更新模型参数第二份额进行聚合,获得所述第一目标分类模型参数。
在本实施例中,对所述第一方更新模型参数第一份额和所述第一方更新模型参数第二份额进行聚合,获得所述第一目标分类模型参数,具体地,计算所述第一更新参数和所述第七更新参数之和,获得第一方第一类型模型更新参数,并计算所述第二更新参数和所述第八更新参数之和,获得第一方第二类型模型更新参数,并将所述第一方第一类型模型更新参数和所述第一方第二类型模型更新参数共同作为所述第一目标分类模型参数,其中,所述第一方第一类型模型更新参数的计算表达式如下:
Figure BDA0002656592060000255
其中,
Figure BDA0002656592060000256
为所述第一方第一类型模型更新参数,另外地,所述第一方第二类型模型更新参数的计算表达式如下:
Figure BDA0002656592060000261
其中,
Figure BDA0002656592060000262
为所述第一方第二类型模型更新参数。
本实施例提供了一种基于秘密共享分类误差,更新纵向联邦因子分解机分类模型的模型参数的方法,也即,首先第一设备基于秘密共享分类误差,通过计算梯度的方法,更新秘密共享初始模型参数,获得本轮迭代的秘密共享分类模型更新参数,且第二设备同时基于第二方秘密共享分类误差,更新第二方秘密共享初始模型参数,获得本轮迭代的第二方秘密共享分类模型更新参数,直至达到预设联邦学习结束条件,则基于秘密共享机制,第一设备与第二设备进行解密交互,第一设备基于秘密共享分类模型更新参数,协助第二设备基于所述第二方秘密共享分类模型更新参数,确定第二目标分类模型参数,同时第二设备基于第二方秘密共享分类模型更新参数,协助第一设备基于所述秘密共享分类模型更新参数,确定第一目标分类模型参数,进而即可完成纵向联邦因子分解机分类模型的构建,进而为克服现有技术中采用基于不加密的两方联邦学习方法或者同态加密的两方纵向联邦学习建模方法构建分类模型,导致无法保护纵向联邦学习建模的各参与方的数据隐私的技术缺陷奠定了基础。
进一步地,参照图3,基于本申请中第一实施例和第二实施例,在本申请的另一实施例中,所述点击率预测方法应用于第一设备,所述点击率预测方法包括:
步骤A10,与第二设备进行秘密共享,获得秘密共享待预测用户数据和秘密共享模型参数;
在本实施例中,需要说明的是,所述第一设备和所述第二设备均为纵向联邦学习的参与方,且在进行秘密共享之前,第一设备和第二设备基于秘密共享和纵向联邦学习已经训练好了预设点击率预测模型,其中,所述预设点击率预测模型为训练好了的因子分解机分类模型,用于预测用户对应物品的点击概率或者预测用户是否会点击物品,进而所述预设点击率预测模型的模型表达式如下所示:
Figure BDA0002656592060000263
z(x)=<w,x>+∑i<j<Vi,Vj>xixj
其中,x为模型输入数据,w和V为模型参数,f(x)为模型输出,也即为预测的点击率。
与第二设备进行秘密共享,获得秘密共享待预测用户数据和秘密共享模型参数,具体地,获取预设点击率模型的第一方点击率模型参数和第一方待预测用户数据,同时第二设备获取预设点击率模型的第二方点击率模型参数和第二方待预测用户数据,其中,由于预设点击率模型为基于纵向联邦学习构建的,所以第一设备持有的预设点击率预测模型的一部分模型参数为第一方点击率模型参数,第二设备持有的预设点击率预测模型的一部分模型参数为第二方点击率模型参数,所述第一方待预测用户数据为第一设备收集的用户对物品的点击结果的数据,所述第二方待预测用户数据为第二设备收集的用户对物品的点击结果的数据,其中,所述第一方待预测用户数据和所述第二方待预测用户数据均可用向量进行表示,例如,假设所述第一方待预测用户数据为向量(1,0,1,0),其中,编码1表示用户点击了对应的物品,编码0表示用户未点击对应的物品,则向量(1,0,1,0)表示用户点击了物品A和物品C,未点击物品B和物品D,进一步地,基于所述第一方点击率模型参数和第一方待预测用户数据,与所述第二设备进行秘密共享,其中,所述第二设备在秘密共享中提供所述第二方点击率模型参数和第二方待预测用户数据,进而第一设备获得秘密共享模型参数和秘密共享待预测用户数据,第二设备获得第二方秘密共享模型参数和第二方秘密共享待预测用户数据,其中,所述秘密共享模型参数包括第一共享第一方模型参数和第一共享第二方模型参数,所述秘密共享待预测用户数据包括第一共享第一方待预测用户数据和第一共享第二方待预测用户数据,所述第二方秘密共享模型参数包括第二共享第一方模型参数和第二共享第二方模型参数,所述第二方秘密共享待预测用户数据包括第二共享第一方待预测用户数据和第二共享第二方待预测用户数据,其中,所述第一共享第一方模型参数为所述第一方点击率模型参数的第一份额,所述第二共享第一方模型参数为所述第一方点击率模型参数的第二份额,所述第一共享第二方模型参数为所述第二点击率模型参数的第一份额,所述第二共享第二方模型参数为所述第二点击率模型参数的第二份额,所述第一共享第一方待预测用户数据为所述第一方待预测用户数据的第一份额,所述第二共享第一方待预测用户数据为所述第一方待预测用户数据的第二份额,所述第一共享第二方待预测用户数据为所述第二方待预测用户数据的第一份额,所述第二共享第二方待预测用户数据为所述第二方待预测用户数据的第二份额。
步骤A20,将所述秘密共享待预测用户数据输入预设点击率预测模型,以基于所述秘密共享模型参数,对所述秘密共享待预测用户数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果;
在本实施例中,将所述秘密共享待预测用户数据输入预设点击率预测模型,以基于所述秘密共享模型参数,对所述秘密共享待预测用户数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果,具体地,将所述第一共享第一方待预测用户数据和所述第一共享第二方待预测用户数据分别输入所述预设点击率预测模型,以将所述第一共享第一方待预测用户数据和所述第一共享第一方模型参数代入所述预设点击率预测模型的模型表达式,通过秘密共享乘法计算第一共享第一方预测点击率,并以将所述第一共享第二方待预测用户数据和所述第一共享第二方模型参数代入所述预设点击率预测模型的模型表达式,通过秘密共享乘法计算第一共享第二方预测点击率,并将所述第一共享第一方预测点击率和所述第一共享第二方预测点击率作为所述第一秘密共享点击率预测结果,其中,所述第一共享第一方预测点击率和所述第一共享第二方预测点击率均为模型输出值,相同地,第二设备将基于所述第二共享第一方待预测用户数据和所述第二共享第一方模型参数,通过秘密共享乘法计算第二共享第一方预测点击率,并基于所述第二共享第二方待预测用户数据和第二共享第二方模型参数,通过秘密共享乘法计算第二共享第二方预测点击率。
步骤A30,基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率。
在本实施例中,基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率,具体地,基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以聚合所述第一秘密共享点击率预测结果所述第二秘密共享点击率预测结果,获得所述目标预测点击率。
其中,所述第一秘密共享点击率预测结果包括第一共享第一方预测点击率和第一共享第二方预测点击率,所述第二秘密共享点击率预测结果包括第二共享第一方预测点击率和第二共享第二方预测点击率,
所述基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率的步骤包括:
步骤A31,接收所述第二设备发送的所述第二共享第一方预测点击率和所述第二共享第二方预测点击率;
步骤A32,基于所述第一共享第一方预测点击率和所述第二共享第一方预测点击率,计算第一方预测点击率;
在本实施例中,基于所述第一共享第一方预测点击率和所述第二共享第一方预测点击率,计算第一方预测点击率,具体地,计算所述第一共享第一方预测点击率和所述第二共享第一方预测点击率的和,获得所述第一方预测点击率。
步骤A33,基于所述第一共享第二方预测点击率和所述第二共享第二方预测点击率,计算第二方预测点击率;
在本实施例汇总,基于所述第一共享第二方预测点击率和所述第二共享第二方预测点击率,计算第二方预测点击率,具体地,计算所述第一共享第二方预测点击率和所述第二共享第二方预测点击率的和,获得第二方预测点击率。
步骤A34,对所述第一方预测点击率和所述第二方预测点击率进行聚合,获得所述目标预测点击率。
在本实施例中,对所述第一方预测点击率和所述第二方预测点击率进行聚合,获得所述目标预测点击率,具体地,基于预设聚合规则,对所述第一方预测点击率和所述第二方预测点击率进行聚合,获得所述目标预测点击率,其中,所述预设聚合规则包括求和和加权求平均等。
另外地,需要说明的是,所述目标预测点击率为基于预设点击率预测模型预测的用户对物品的点击概率,进而将所述目标预测点击率与预设点击率阀值进行比对,若所述目标预测点击率大于或者等于所述预设点击率阀值,则判定用户将点击物品,若所述目标预测点击率小于所述预设点击率阀值,则判定用户不会点击物品,也即,将用户对应物品的点击预测结果分为了点击和不点击两种预测结果。
本实施例提供了一种基于秘密共享和纵向联邦学习预测点击率的方法,通过与第二设备进行秘密共享,获得秘密共享待预测用户数据和秘密共享模型参数,进而将所述秘密共享待预测用户数据输入预设点击率预测模型,以基于所述秘密共享模型参数,对所述秘密共享待预测用户数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果,进而基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率,其中,第一设备与第二设备在进行交互时,发送或者接收的数据均为秘密共享数据,无需第三方生成的公私密钥进行数据的加密,所有的数据传输过程均在参与纵向联邦学习的两方之间进行,保护了数据的隐私性的同时,减少了对数据进行复杂的加密和解密的计算过程,且由于进行秘密共享和进行秘密共享对应的解密时,均只需进行简单的数学运算过程,降低了计算复杂度,进而提高了因子分解机分类模型进行点击率预测时的计算效率。
参照图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 (14)

1.一种因子分解机分类模型构建方法,其特征在于,所述因子分解机分类模型构建方法应用于第一设备,所述因子分解机分类模型构建方法包括:
与第二设备进行秘密共享,获得秘密共享初始模型参数和秘密共享训练数据;
基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差;
基于所述秘密共享分类误差,确定第一目标分类模型参数,并协助所述第二设备确定第二目标分类模型参数,以构建纵向联邦因子分解机分类模型。
2.如权利要求1所述因子分解机分类模型构建方法,其特征在于,所述秘密共享训练数据包括秘密共享标签数据,
所述基于所述秘密共享训练数据、所述秘密共享初始模型参数和预设权重信息,与所述第二设备进行纵向联邦学习建模,计算秘密共享分类误差的步骤包括:
基于预设秘密共享机制,通过与所述第二设备进行联邦交互,计算所述秘密共享初始模型参数和所述秘密共享训练数据共同对应的分类参数项;
基于所述分类参数项、所述预设权重信息和所述秘密共享标签数据,计算所述秘密共享分类误差。
3.如权利要求2所述因子分解机分类模型构建方法,其特征在于,所述预设权重信息包括第一权重和第二权重,
所述基于所述分类参数项、所述预设权重信息和所述秘密共享标签数据,计算秘密共享分类误差的步骤包括:
基于所述分类参数项和所述第一权重,计算第一加权项,并基于所述秘密共享标签数据和所述第二权重,计算第二加权项;
基于所述第一加权项和所述第二加权项,计算所述秘密共享分类误差。
4.如权利要求2所述因子分解机分类模型构建方法,其特征在于,所述秘密共享初始模型参数包括第一类型共享参数和第二类型共享参数,所述分类参数项包括秘密共享中间参数,所述预设秘密共享机制包括秘密共享乘法,
所述基于预设秘密共享机制,通过与所述第二设备进行联邦交互,计算所述秘密共享初始模型参数和所述秘密共享训练数据共同对应的分类参数项的步骤包括:
基于所述秘密共享乘法,通过与所述第二设备进行联邦交互,计算所述第二类型共享参数中各元素和所述秘密共享训练数据中各元素之间的交叉内积,获得各元素交叉内积;
对各所述元素交叉内积进行累加,获得所述秘密共享交叉特征项内积;
基于所述秘密共享乘法和所述秘密共享加法,通过与所述第二设备进行联邦交互,计算所述第一类型共享参数和所述秘密共享训练数据共同对应的第一中间参数项,并计算所述秘密共享交叉特征项内积、所述秘密共享训练数据和所述第二类型共享参数共同对应的第二中间参数项;
基于所述第一中间参数项和所述第二中间参数项,确定所述秘密共享中间参数。
5.如权利要求1所述因子分解机分类模型构建方法,其特征在于,所述秘密共享模型参数包括第一共享参数和第二共享参数,所述秘密共享训练数据包括第一共享训练数据和第二共享训练数据,
所述与第二设备进行秘密共享,获得秘密共享模型参数和秘密共享训练数据的步骤包括:
获取第一方模型参数和第一方训练标签数据,并将所述第一方模型参数的第一份额作为所述第一共享参数;
将所述第一方模型参数的第二份额发送至所述第二设备,以供所述第二设备确定第三共享参数;
接收所述第二设备发送的第二共享参数,其中,所述第二共享参数为第二设备获取的第二方模型参数的第二份额,且所述第二方模型参数的第一份额为所述第二设备的第四共享参数;
将所述第一方训练标签数据的第一份额作为所述第一共享训练数据,并将所述第一方训练标签数据的第二份额发送至所述第二设备,以供所述第二设备确定第三共享训练数据;
接收第二设备发送的第二共享训练数据,其中,所述第二共享训练数据为第二设备获取的第二方训练数据的第二份额,且所述第二方训练数据的第一份额为所述第二设备的第四共享训练数据。
6.如权利要求1所述因子分解机分类模型构建方法,其特征在于,所述基于所述秘密共享分类误差,确定第一目标分类模型参数,并协助所述第二设备确定第二目标分类模型参数的步骤包括:
基于所述秘密共享分类误差,对所述秘密共享初始模型参数进行更新,获得所述秘密共享分类模型参数;
基于所述秘密共享分类模型参数,通过与所述第二设备进行解密交互,确定所述第一目标分类模型参数,以供所述第二设备确定所述第二目标分类模型参数。
7.如权利要求6所述因子分解机分类模型构建方法,其特征在于,所述秘密共享模型参数包括第一秘密共享初始模型参数和第二秘密共享初始模型参数,所述秘密共享分类模型更新参数包括第一共享分类模型参数和第二共享分类模型参数,
所述基于所述秘密共享分类误差,对所述秘密共享初始模型参数进行更新,获得所述秘密共享分类模型参数的步骤包括:
计算所述秘密共享分类误差关于所述第一秘密共享初始模型参数的第一梯度信息,并计算所述秘密共享分类误差关于所述第二秘密共享初始模型参数的第二梯度信息;
基于所述第一梯度信息和预设第一学习参数,更新所述第一秘密共享初始模型参数,直至满足预设联邦学习结束条件,获得所述第一共享分类模型参数;
基于所述第二梯度信息和预设第二学习参数,更新所述第二秘密共享初始模型参数,直至满足所述预设联邦学习结束条件,获得所述第二共享分类模型参数。
8.如权利要求6所述因子分解机分类模型构建方法,其特征在于,所述秘密共享分类模型参数包括第一方更新模型参数第一份额和第二方更新模型参数第二份额,
所述基于所述秘密共享分类模型参数,通过与所述第二设备进行解密交互,确定所述第一目标分类模型参数,以供所述第二设备确定所述第二目标分类模型参数的步骤包括:
接收所述第二设备基于纵向联邦学习建模确定的第一方更新模型参数第二份额,并将所述第二方更新模型参数第二份额至所述第二设备,以供所述第二设备基于纵向联邦学习建模确定的第二方更新模型参数第一份额和所述第二方更新模型参数第二份额,确定所述第二目标分类模型参数;
对所述第一方更新模型参数第一份额和所述第一方更新模型参数第二份额进行聚合,获得所述第一目标分类模型参数。
9.一种点击率预测方法,其特征在于,所述点击率预测方法应用于第一设备,所述点击率预测方法包括:
与第二设备进行秘密共享,获得秘密共享待预测用户数据和秘密共享模型参数;
将所述秘密共享待预测用户数据输入预设点击率预测模型,以基于所述秘密共享模型参数,对所述秘密共享待预测用户数据对应的目标用户进行点击率预测,获得第一秘密共享点击率预测结果;
基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率。
10.如权利要求9所述点击率预测方法,其特征在于,所述第一秘密共享点击率预测结果包括第一共享第一方预测点击率和第一共享第二方预测点击率,所述第二秘密共享点击率预测结果包括第二共享第一方预测点击率和第二共享第二方预测点击率,
所述基于所述第一秘密共享点击率预测结果,与所述第二设备进行联邦预测交互,以联合所述第二设备确定的第二秘密共享点击率预测结果,计算目标预测点击率的步骤包括:
接收所述第二设备发送的所述第二共享第一方预测点击率和所述第二共享第二方预测点击率;
基于所述第一共享第一方预测点击率和所述第二共享第一方预测点击率,计算第一方预测点击率;
基于所述第一共享第二方预测点击率和所述第二共享第二方预测点击率,计算第二方预测点击率;
对所述第一方预测点击率和所述第二方预测点击率进行聚合,获得所述目标预测点击率。
11.一种因子分解机分类模型构建设备,其特征在于,所述因子分解机分类模型构建设备包括:存储器、处理器以及存储在存储器上的用于实现所述因子分解机分类模型构建方法的程序,
所述存储器用于存储实现因子分解机分类模型构建方法的程序;
所述处理器用于执行实现所述因子分解机分类模型构建方法的程序,以实现如权利要求1至8中任一项所述因子分解机分类模型构建方法的步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储有实现因子分解机分类模型构建方法的程序,所述实现因子分解机分类模型构建方法的程序被处理器执行以实现如权利要求1至8中任一项所述因子分解机分类模型构建方法的步骤。
13.一种点击率预测设备,其特征在于,所述点击率预测设备包括:存储器、处理器以及存储在存储器上的用于实现所述点击率预测方法的程序,
所述存储器用于存储实现点击率预测方法的程序;
所述处理器用于执行实现所述点击率预测方法的程序,以实现如权利要求9至10中任一项所述点击率预测方法的步骤。
14.一种可读存储介质,其特征在于,所述可读存储介质上存储有实现点击率预测方法的程序,所述实现点击率预测方法的程序被处理器执行以实现如权利要求9至10中任一项所述点击率预测方法的步骤。
CN202010893157.7A 2020-08-28 2020-08-28 因子分解机分类模型构建方法、设备及可读存储介质 Pending CN112000987A (zh)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
CN112000987A true CN112000987A (zh) 2020-11-27

Family

ID=73465471

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN112000987A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112529101A (zh) * 2020-12-24 2021-03-19 深圳前海微众银行股份有限公司 分类模型的训练方法、装置、电子设备及存储介质
CN113033826A (zh) * 2021-05-25 2021-06-25 北京百度网讯科技有限公司 基于区块链的模型联合训练方法、装置、设备和介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112529101A (zh) * 2020-12-24 2021-03-19 深圳前海微众银行股份有限公司 分类模型的训练方法、装置、电子设备及存储介质
CN112529101B (zh) * 2020-12-24 2024-05-14 深圳前海微众银行股份有限公司 分类模型的训练方法、装置、电子设备及存储介质
CN113033826A (zh) * 2021-05-25 2021-06-25 北京百度网讯科技有限公司 基于区块链的模型联合训练方法、装置、设备和介质
CN113033826B (zh) * 2021-05-25 2021-09-10 北京百度网讯科技有限公司 基于区块链的模型联合训练方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
JP6825138B2 (ja) プライバシー保護のための分散型マルチパーティセキュリティモデル訓練フレームワーク
KR102337168B1 (ko) 비밀 공유를 사용한 로지스틱 회귀 모델링 방법
CN112149171B (zh) 联邦神经网络模型的训练方法、装置、设备及存储介质
Perifanis et al. Federated neural collaborative filtering
US11580417B2 (en) System and method for processing data and managing information
CN112733967B (zh) 联邦学习的模型训练方法、装置、设备及存储介质
CN112000988A (zh) 因子分解机回归模型构建方法、设备及可读存储介质
CN111428887A (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN112000987A (zh) 因子分解机分类模型构建方法、设备及可读存储介质
EP3863003B1 (en) Hidden sigmoid function calculation system, hidden logistic regression calculation system, hidden sigmoid function calculation device, hidden logistic regression calculation device, hidden sigmoid function calculation method, hidden logistic regression calculation method, and program
CN113836556A (zh) 面向联邦学习的去中心化函数加密隐私保护方法及系统
CN111259446A (zh) 基于联邦迁移学习的参数处理方法、设备及存储介质
CN113051586A (zh) 联邦建模系统及方法、联邦模型预测方法、介质、设备
Zhang et al. PPNNP: A privacy-preserving neural network prediction with separated data providers using multi-client inner-product encryption
CN112016698A (zh) 因子分解机模型构建方法、设备及可读存储介质
CN111985573A (zh) 因子分解机分类模型构建方法、设备及可读存储介质
WO2017107551A1 (zh) 信息确定方法及装置
CN111737921B (zh) 基于循环神经网络的数据处理方法、设备及介质
CN112101609B (zh) 关于用户还款及时性的预测系统、方法、装置及电子设备
CN112949866A (zh) 泊松回归模型的训练方法、装置、电子设备及存储介质
CN114638274A (zh) 特征选择方法、设备、可读存储介质及计算机程序产品
US20230325718A1 (en) Method and apparatus for joint training logistic regression model
WO2023124219A1 (zh) 一种联合学习模型迭代更新方法、装置、系统及存储介质
CN111737920A (zh) 基于循环神经网络的数据处理方法、设备及介质
CN112633356A (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