CN111861099A - 联邦学习模型的模型评估方法及装置 - Google Patents

联邦学习模型的模型评估方法及装置 Download PDF

Info

Publication number
CN111861099A
CN111861099A CN202010489750.5A CN202010489750A CN111861099A CN 111861099 A CN111861099 A CN 111861099A CN 202010489750 A CN202010489750 A CN 202010489750A CN 111861099 A CN111861099 A CN 111861099A
Authority
CN
China
Prior art keywords
node
intermediate result
encrypted
learning model
encryption
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
CN202010489750.5A
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.)
Guangzhishu Beijing Technology Co Ltd
Original Assignee
Guangzhishu Beijing Technology 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 Guangzhishu Beijing Technology Co Ltd filed Critical Guangzhishu Beijing Technology Co Ltd
Priority to CN202010489750.5A priority Critical patent/CN111861099A/zh
Publication of CN111861099A publication Critical patent/CN111861099A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Pure & Applied Mathematics (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Optimization (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Biophysics (AREA)
  • Tourism & Hospitality (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)

Abstract

本申请公开了一种联邦学习模型的模型评估方法及装置,该方法包括:接收第一节点发送的用户的第一样本的第一加密中间结果,其中,第一加密中间结果为第一样本输入第一学习模型训练时产生的;接收第二节点发送的用户的第二样本的第二加密中间结果,其中,第二加密中间结果为第二样本输入第二学习模型训练时产生的;根据第一加密中间结果和第二加密中间结果,获取所有用户的加密排序结果,并发送给第一节点;接收第一节点根据加密排序结果生成的联邦学习模型的加密评估指标,并向评估指标需求节点反馈。本申请在半诚实假设的前提下,引入协助节点参与计算,解决了中间结果存在泄漏风险、最终计算结果被非需求节点获取的技术问题,确保了数据安全。

Description

联邦学习模型的模型评估方法及装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种联邦学习模型的模型评估方法及装置。
背景技术
目前,在企业数字化转型发展进程中,数据驱动的业务创新正起着至关重要的推动作用。为打破数据孤岛,提高数据使用质量,机构间数据合作逐渐频繁。联邦学习是一个能够满足隐私保护和数据安全的可行解决方案,通过同态加密、秘密分享等方式保证各方私有数据不出本地,实现联合计算和建模。另一方面,模型评估指标计算的安全性也需要保证。由此,如何兼顾对联邦学习模型的性能进行准确评估的同时,避免参与节点的私有数据泄露、确保数据安全,已成为了重要的研究方向之一。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种联邦学习模型的模型评估方法,用于解决现有联邦学习模型的模型评估方法中存在的无法兼顾对联邦学习模型的性能进行准确评估的同时,避免参与节点的私有数据泄露的技术问题。
本发明的第二个目的在于提出另一种联邦学习模型的模型评估方法。
本发明的第三个目的在于提出又一种联邦学习模型的模型评估方法。
本发明的第四个目的在于提出一种联邦学习模型的模型评估装置。
本发明的第五个目的在于提出另一种联邦学习模型的模型评估装置。
本发明的第六个目的在于提出又一种联邦学习模型的模型评估装置。
本发明的第七个目的在于提出又一种联邦学习模型的模型评估方法。
本发明的第八个目的在于提出又一种联邦学习模型的模型评估系统。
本发明的第九个目的在于提出又一种电子设备。
本发明的第十个目的在于提出又一种计算机可读存储介质。
为了实现上述目的,本申请第一方面实施例提供了一种联邦学习模型的模型评估方法,所述方法包括以下步骤:接收第一节点发送的用户的第一样本的第一加密中间结果,其中,所述第一加密中间结果为所述第一样本输入第一学习模型训练时产生的;接收第二节点发送的所述用户的第二样本的第二加密中间结果,其中,所述第二加密中间结果为所述第二样本输入第二学习模型训练时产生的;根据所述第一加密中间结果和所述第二加密中间结果,获取所有用户的加密排序结果,并发送给所述第一节点;接收所述第一节点根据所述加密排序结果生成的联邦学习模型的加密评估指标,并向评估指标需求节点反馈。
另外,根据本申请上述实施例的联邦学习模型的模型评估方法还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述根据所述第一加密中间结果和所述第二加密中间结果,获取所有用户的加密排序结果,并发送给所述第一节点,包括:分别对所述第一加密中间结果和所述第二加密中间结果进行解密,得到第一解密中间结果和第二解密中间结果;针对每个用户,根据所述用户的所述第一解密中间结果和所述第二解密中间结果,对所述用户的识别概率进行预测,以生成概率预测值;根据所述概率预测值,对所述用户进行排序,以获取所述用户的排序结果;对所述用户的排序结果进行加密,以生成所述加密排序结果并发给所述第一节点。
根据本申请的一个实施例,所述第一加密中间结果包括所述第一样本的第一中间结果和所述第一节点的第一干扰信息,所述第二加密中间结果包括所述第二样本的第一中间结果和所述第二节点的第二干扰信息。
根据本申请的一个实施例,所述加密评估指标包括所述需求节点生成并发送给所述第一节点的第三干扰信息,其中,所述向评估指标需求节点反馈,包括:对所述加密评估指标进行解密,以获取包括所述第三干扰信息的解密评估指标发送给所述需求节点。
根据本申请的一个实施例,所述接收第一节点发送的用户的第一样本的第一加密中间结果之前,还包括:生成密钥对,分别向所述第一节点和所述第二节点发送公钥。
本申请第一方面实施例提供了联邦学习模型的模型评估方法,能够在半诚实假设的前提下,引入协助节点参与联邦学习模型的评估指标计算,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。进一步地,协助节点将加密评估指标反馈给评估指标需求节点,从而解决了现有技术中存在的最终计算结果可被非需求节点获取的技术问题,确保了评估指标的真实可靠性。进一步地,由于在模型评估的整个过程中所有的数据均是加密数据,使得任何参与训练的节点均无法对评估指标进行篡改,进一步地确保评估指标的真实可靠行,并且可以确保了私有数据的安全,降低了数据信息被泄露的风险。
为了实现上述目的,本申请第二方面实施例提供了另一种联邦学习模型的模型评估方法,所述方法包括以下步骤:对每个用户的样本输入本地学习模型训练时产生的中间结果加密,以生成加密中间结果发送给协助节点;接收所述协助节点发送的所有用户的加密排序结果,其中,所述加密排序结果由所述协助节点根据参与联邦学习模型训练的每个节点发送的所述加密中间结果生成;根据所述加密排序结果,获取所述联邦学习模型的加密评估指标,并将所述加密评估指标反馈给所述协助节点。
另外,根据本申请上述实施例的联邦学习模型的模型评估方法还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述对每个用户的样本输入本地学习模型训练时产生的中间结果加密,以生成加密中间结果发送给协助节点,包括:生成第一干扰信息;利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;对所述干扰中间结果进行加密,以生成所述加密中间结果;将所述加密中间结果发送给所述协助节点。
根据本申请的一个实施例,所述加密排序结果包括所述样本的加密排序值和所述样本的标识信息,其中,所述根据所述加密排序结果,获取所述联邦学习模型的加密评估指标,包括:获取所述样本的标签信息;根据所述标签信息,从所有样本中识别出正样本;根据所述正样本的标识信息,从所述加密排序结果中提取出每个所述正样本的加密排序值;获取所述正样本的第一数量和负样本的第二数量;根据所述第一数量、所述第二数量以及所述正样本的加密排序值,获取加密AUC,其中,所述加密AUC为所述加密评估指标。
根据本申请的一个实施例,采用如下公式计算所述加密AUC:
Figure BDA0002520602230000031
其中,所述sum{i in pos}Encrypt(Rank(yi))表示所有所述正样本的加密排序值的和值,所述M为所述正样本的第一样本数量,所述N为所述负样本的第二样本数量。
根据本申请的一个实施例,所述将所述加密评估指标反馈给所述协助节点,还包括:获取第二干扰信息;利用第二干扰信息对所述加密评估指标进行干扰,以生成干扰加密评估指标并发送给所述协助节点。
根据本申请的一个实施例,所述方法还包括:接收所述协助节点反馈的解密评估指标,其中,所述解密评估指标携带所述第二干扰信息;从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
根据本申请的一个实施例,所述对每个用户的样本输入本地学习模型训练时产生的中间结果加密之前,还包括:将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
根据本申请的一个实施例,所述对每个样本输入本地学习模型训练时产生的中间结果加密之前,还包括:接收所述协助节点发送的加密公钥。
本申请第二方面实施例提供了联邦学习模型的模型评估方法,能够在将获取到的中间结果加密后,发送给协助节点,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。
为了实现上述目的,本申请第三方面实施例提供了又一种联邦学习模型的模型评估方法,所述方法包括以下步骤:获取每个用户的样本输入本地学习模型训练时产生的中间结果;对所述中间结果进行加密,以生成加密中间结果发送给协助节点。
另外,根据本申请上述实施例的联邦学习模型的模型评估方法还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述对所述中间结果进行加密,以生成加密中间结果发送给协助节点,包括:生成第一干扰信息;利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;对所述干扰中间结果进行加密,以生成所述加密中间结果;将所述加密中间结果发送给所述协助节点。
根据本申请的一个实施例,所述方法还包括:向参与所述联邦学习模型中具有标签信息的节点发送第二干扰信息;接收所述协助节点发送的携带所述第二干扰信息的解密评估指标;从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
根据本申请的一个实施例,所述在对每个样本输入本地学习模型训练时产生的中间结果加密之前,还包括:接收所述协助节点发送的加密公钥。
根据本申请的一个实施例,所述方法还包括:将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
本申请第三方面实施例提供了联邦学习模型的模型评估方法,能够将训练过程中产生的中间结果加密后发送给协助节点,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。
为了实现上述目的,本申请第四方面实施例提供了一种联邦学习模型的模型评估装置,所述联邦学习模型的模型评估装置,包括:接收模块,用于接收第一节点发送的用户的第一样本的第一加密中间结果,以及接收第二节点发送的所述用户的第二样本的第二加密中间结果,其中,所述第一加密中间结果为所述第一样本输入第一学习模型训练时产生的,所述第二加密中间结果为所述第二样本输入第二学习模型训练时产生的;获取模块,用于根据所述第一加密中间结果和所述第二加密中间结果,获取所有用户的加密排序结果,并发送给所述第一节点;指标反馈模块,用于接收所述第一节点根据所述加密排序结果生成的联邦学习模型的加密评估指标,并向评估指标需求节点反馈。
另外,根据本申请上述实施例的联邦学习模型的模型评估装置还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述获取模块,包括:解密单元,用于分别对所述第一加密中间结果和所述第二加密中间结果进行解密,得到第一解密中间结果和所述第二解密中间结果;预测单元,用于针对每个用户,根据所述用户的所述第一解密中间结果和所述第二解密中间结果,对所述用户的识别概率进行预测,以生成概率预测值;排序单元,用于根据所述概率预测值,对所述用户进行排序,以获取所述用户的排序结果;加密发送单元,用于对所述用户的排序结果进行加密,以生成所述加密排序结果并发给所述第一节点。
根据本申请的一个实施例,所述第一加密中间结果包括所述第一样本的第一中间结果和所述第一节点的第一干扰信息,所述第二加密中间结果包括所述第二样本的第一中间结果和所述第二节点的第二干扰信息。
根据本申请的一个实施例,所述指标反馈模块,具体用于:对所述加密评估指标进行解密,以获取包括所述第三干扰信息的解密评估指标发送给所述需求节点。
根据本申请的一个实施例,本申请提出的联邦学习模型的模型评估装置,还包括:密钥生成模块,用于在所述接收第一节点发送的用户的第一样本的第一加密中间结果之前,生成密钥对,分别向所述第一节点和所述第二节点发送公钥。
本申请第四方面实施例提供了联邦学习模型的模型评估装置,能够在半诚实假设的前提下,引入协助节点参与联邦学习模型的评估指标计算,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。进一步地,协助节点将加密评估指标反馈给评估指标需求节点,从而解决了现有技术中存在的最终计算结果可被非需求节点获取的技术问题,确保了评估指标的真实可靠性。进一步地,由于在模型评估的整个过程中所有的数据均是加密数据,使得任何参与训练的节点均无法对评估指标进行篡改,进一步地确保评估指标的真实可靠行,并且可以确保了私有数据的安全,降低了数据信息被泄露的风险。
为了实现上述目的,本申请第五方面实施例提供了一种联邦学习模型的模型评估装置,所述联邦学习模型的模型评估装置,包括:发送模块,用于对每个用户的样本输入本地学习模型训练时产生的中间结果加密,以生成加密中间结果发送给协助节点;接收模块,用于接收所述协助节点发送的所有用户的加密排序结果,其中,所述加密排序结果由所述协助节点根据参与联邦学习模型训练的每个节点发送的所述加密中间结果生成;指标反馈模块,用于根据所述加密排序结果,获取所述联邦学习模型的加密评估指标,并将所述加密评估指标反馈给所述协助节点。
另外,根据本申请上述实施例的联邦学习模型的模型评估装置还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述发送模块,包括:生成单元,用于生成第一干扰信息;第一干扰单元,用于利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;加密单元,用于对所述干扰中间结果进行加密,以生成所述加密中间结果;发送单元,用于将所述加密中间结果发送给所述协助节点。
根据本申请的一个实施例,所述指标反馈模块,包括:第一获取单元,用于获取所述样本的标签信息;识别单元,用于根据所述标签信息,从所有样本中识别出正样本;提取单元,用于根据所述正样本的标识信息,从所述加密排序结果中提取出每个所述正样本的加密排序值;第二获取单元,用于获取所述正样本的第一数量和负样本的第二数量;第三获取单元,用于根据所述第一数量、所述第二数量以及所述正样本的加密排序值,获取加密AUC,其中,所述加密AUC为所述加密评估指标。
根据本申请的一个实施例,所述第三获取单元用如下公式计算所述加密AUC:
Figure BDA0002520602230000061
其中,所述sum{i in pos}Encrypt(Rank(yi))表示所有所述正样本的加密排序值的和值,所述M为所述正样本的第一样本数量,所述N为所述负样本的第二样本数量。
根据本申请的一个实施例,所述指标反馈模块,还包括:第四获取单元,用于获取第二干扰信息;第二干扰单元,用于利用第二干扰信息对所述加密评估指标进行干扰,以生成干扰加密评估指标并发送给所述协助节点。
根据本申请的一个实施例,所述接收模块,还用于:接收所述协助节点反馈的解密评估指标,其中,所述解密评估指标携带所述第二干扰信息;从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
根据本申请的一个实施例,所述发送模块,具体用于:将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
根据本申请的一个实施例,所述接收模块,还用于:在对每个样本输入本地学习模型训练时产生的中间结果加密之前,接收所述协助节点发送的加密公钥。
本申请第五方面实施例提供了联邦学习模型的模型评估装置,能够在将获取到的中间结果加密后,发送给协助节点,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。
为了实现上述目的,本申请第六方面实施例提供了一种联邦学习模型的模型评估装置,所述联邦学习模型的模型评估装置,包括:获取模块,用于获取每个用户的样本输入本地学习模型训练时产生的中间结果;发送模块,用于对所述中间结果进行加密,以生成加密中间结果发送给协助节点。
另外,根据本申请上述实施例的联邦学习模型的模型评估装置还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述发送模块,包括:生成单元,用于生成第一干扰信息;干扰单元,用于利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;加密单元,用于对所述干扰中间结果进行加密,以生成所述加密中间结果;发送单元,用于将所述加密中间结果发送给所述协助节点。
根据本申请的一个实施例,所述发送模块,还用于:向参与所述联邦学习模型中具有标签信息的节点发送第二干扰信息;所述接收模块,还用于:接收所述协助节点发送的携带所述第二干扰信息的解密评估指标,以及从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
根据本申请的一个实施例,所述接收模块,还用于:在对每个样本输入本地学习模型训练时产生的中间结果加密之前,接收所述协助节点发送的加密公钥。
根据本申请的一个实施例,所述获取模块,还用于:将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
本申请第六方面实施例提供了联邦学习模型的模型评估装置,能够将训练过程中产生的中间结果加密后发送给协助节点,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。。
为了实现上述目的,本申请第七方面实施例提供了又一种联邦学习模型的模型评估方法,所述方法包括以下步骤:第一节点向协助节点发送用户的第一样本的第一加密中间结果,其中,所述第一加密中间结果为所述第一样本输入第一学习模型训练时产生的;第二节点向协助节点发送所述用户的第二样本的第二加密中间结果,其中,所述第二加密中间结果为所述第二样本输入第二学习模型训练时产生的;所述协助节点接收所述第一加密中间结果和所述第二加密中间结果,并根据所述第一加密中间结果和所述第二加密中间结果,获取所有用户的加密排序结果,并发送给所述第一节点;所述第一节点根据所述加密排序结果生成的联邦学习模型的加密评估指标,并向所述协助节点发送;所述协助节点将所述加密评估指标反馈给评估指标需求节点反馈。
为了实现上述目的,本申请第八方面实施例提供了又一种联邦学习模型的模型评估系统,所述系统包括:如本申请第四方面实施例所述的联邦学习模型的模型评估装置、如本申请第五方面实施例所述的联邦学习模型的模型评估装置以及如本申请第六方面实施例所述的联邦学习模型的模型评估装置。
为了实现上述目的,本申请第九方面实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请第一方面实施例中任一项所述的联邦学习模型的模型评估方法,或者实现如本申请第二方面实施例中任一项所述的联邦学习模型的模型评估方法,或者实现如本申请第三方面实施例中任一项所述的联邦学习模型的模型评估方法。
为了实现上述目的,本申请第十方面实施例提供了一种计算机可读存储介质,该程序被处理器执行时实现如本申请第一方面实施例中任一项所述的联邦学习模型的模型评估方法,或者实现如本申请第二方面实施例中任一项所述的联邦学习模型的模型评估方法,或者实现如本申请第三方面实施例中任一项所述的联邦学习模型的模型评估方法。
附图说明
图1为本申请一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图2为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图3为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图4为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图5为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图6为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图7为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图8为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图9为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图10为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图11为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图12为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图13为本申请另一个实施例公开的联邦学习模型的模型评估方法的流程示意图;
图14为本申请一个实施例公开的AUC的计算架构图;
图15为本申请一个实施例公开的联邦学习模型的模型评估装置的示意图;
图16为本申请另一个实施例公开的联邦学习模型的模型评估装置的示意图;
图17为本申请另一个实施例公开的联邦学习模型的模型评估装置的示意图;
图18为本申请另一个实施例公开的联邦学习模型的模型评估装置的示意图;
图19为本申请另一个实施例公开的联邦学习模型的模型评估装置的示意图;
图20为本申请另一个实施例公开的联邦学习模型的模型评估装置的示意图;
图21为本申请一个实施例公开的云平台的架构图;
图22为本申请实施例提供的一种联邦学习模型的模型评估系统的结构示意图;
图23为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面参照附图描述根据本申请实施例提出的联邦学习模型的模型评估方法及装置。
图1为本申请一个实施例公开的联邦学习模型的模型评估方法的流程示意图。
本申请提供的联邦学习模型的模型评估方法在半诚实假设的前提下对联邦学习模型进行评估。
其中,半诚实假设,指的是在模型评估的过程中,各节点均将准确地按照协议进行计算,但同时也将记录下所有中间结果,用以推导额外信息。
其中,联邦学习模型可以为纵向联邦学习模型,纵向联邦学习模型(以下简称联邦学习模型),指的是通过联合不同的参与节点进行机器学习,且各参与节点数据维度不一致场景下的联合学习模型。
需要说明的是,在对联邦学习模型进行模型评估的过程中,可以预先根据节点是否为数据拥有者,将所涉及的节点初步分为:协助节点(非数据拥有者)和参与节点(数据拥有者),共两类节点。进一步地,再根据节点是否携带有标签,将参与节点进一步分为:第一节点(携带有标签)和第二节点(未携带有标签)。即言,在进行模型评估的过程中,参与计算的节点,包括:协助节点、第一节点和第二节点。
其中,第一节点和第二节点各自拥有的私有用户数据中,包括针对同一个用户的不同方面的数据。例如,第一节点为公司A,其拥有的用户数据为公司A中100名员工的工资数据、工作年限及晋升机会,第二节点为银行B,其拥有的用户数据为公司A中100名员工的消费记录、固定资产及个人信用额度。其中,公司A和银行B拥有的用户数据来自同一组用户,即言,公司A数据中的100名员工与银行B数据中的100名员一致。
如图1所示,以协助节点作为执行主体,对本申请实施例提出的联邦学习模型的模型评估方法进行解释说明,具体包括以下步骤:
S101、接收第一节点发送的用户的第一样本的第一加密中间结果,其中,第一加密中间结果为第一样本输入第一学习模型训练时产生的。
在本申请的实施例中,可以在半诚实假设的前提下,引入协助节点参与计算,对纵向联邦学习模型进行评估。
本申请实施例中,为了保证各参与节点的私有数据的安全性,可以首先由协助节点生成密钥对,包括私钥和公钥,然后协助节点并分别向第一节点和第二节点发送公钥。
需要说明的是,在试图生成密钥对时,可以基于同态加密(HomomophicEncryption)的方式生成密钥对,其中,同态加密算法,包括:RSA算法、EIGamal算法、Pallier算法、Damgard-Jurlk算法等。在实际应用中,可以针对不同的应用场景及数据处理需求进行选取。
举例而言,针对原始数据A,对经过同态加密的数据进行处理后输出一个结果A1,并将结果A1进行解密得到数据A2;对未经过加密的数据A进行处理后输出一个结果A3,此时,A2与A3是一致的。
本申请实施例中,在试图生成密钥对时,可以采用Pallier算法生成密钥对,以保证加法和数乘的同态。
举例而言,可以采用Pallier算法生成密钥对,对原始数据B和C进行加密处理,分别得到经过加密处理的数据B1和C1。那么,将B1与C1相加,得到一个结果D1;将B与C相加,得到一个结果D,再对结果D进行加密处理,得到经过加密处理的数据D2,此时,D1与D2是一致的。即言,Encrypt(B)+Encrypt(C)=Encrypt(B+C)。同时,将B1与实数a相乘,得到一个结果E1;将B与实数a相乘,得到一个结果E,此时,E1与E是一致的。即言,a*Encrypt(B1)=Encrypt(a*B1)。
由此,本申请中由协助节点基于同态加密等方式生成密钥对,并分别将公钥发送给第一节点和第二节点,使得在数据交互和计算的过程中,能够确保第一节点和第二节点数据的安全,避免了中间结果被非对应的数据拥有节点知晓,从而避免了私有数据信息被泄露的问题。
需要说明的是,在对联邦学习模型进行模型评估的过程中,第一节点和第二节点均对应有本地学习模型,以通过将样本输入对应的本地学习模型中,生成对应的加密中间结果。其中,本地学习模型为联邦学习模型的一部分,各参与节点的本地学习模型组成整体的联邦学习模型。
可选地,在试图对联邦学习模型进行模型评估时,第一节点可以将第一样本输入第一学习模型中进行训练,以产生第一中间结果,为了保证第一中间结果的安全性,对第一中间结果进行加密,生成第一加密中间结果。进一步地,第一节点将第一中间加密结果发送给协助节点,相应地,协助节点就可以接收到第一节点发送的第一加密中间结果。
S102、接收第二节点发送的用户的第二样本的第二加密中间结果,其中,第二加密中间结果为第二样本输入第二学习模型训练时产生的。
可选地,在试图对联邦学习模型进行模型评估时,第二节点可以将第二样本输入第二学习模型中进行训练,以产生第二中间结果,为了保证第二中间结果的安全性,对第二中间结果进行加密,生成第二加密中间结果。进一步地,第二节点将第二中间加密结果发送给协助节点,相应地,协助节点就可以接收到第二节点发送的第二加密中间结果。
S103、根据第一加密中间结果和第二加密中间结果,获取所有用户的加密排序结果,并发送给第一节点。
可选地,在获取到第一加密中间结果和第二加密中间结果后,协助节点可以采用私钥对第一加密中间结果和第二加密中间结果解密,其中每个中间结果可以反映出用户的实际情况,因此,协助节点可以基于各个参与节点的中间结果,综合预测出每个用户的联邦学习模型的最终识别结果,然后对用户进行排序,得到一个排序结果,为了保证用户的排序结果的安全性,可以采用公钥对用户的排序结果进行加密,生成加密排序结果然后发给第一节点。
S104、接收第一节点根据加密排序结果生成的联邦学习模型的加密评估指标,并向评估指标需求节点反馈。
其中,加密评估指标,可以为任一经过加密处理的,用以判断模型性能的指标。
举例来说,针对二分类问题,可以选择AUC(Area Under the Curve)作为评估指标。其中,在二分类问题中,AUC是一个重要的模型评价指标,可以通过计算接受者操作特征曲线(Receiver Operating Characteristic Curve,简称ROC)下方面积大小,对模型的性能进行评估。
可选地,协助节点可以接收第一节点根据加密排序结果生成的联邦学习模型的加密评估指标,并向评估指标需求节点反馈。
其中,针对不同实际需求,需求节点可以为至少一个参与节点。例如,需求节点可以为携带有标签的第一节点;又例如,需求节点可以为未携带有标签的第二节点;再例如,需求节点可以为第一节点和第二节点。
由此,本申请能够在半诚实假设的前提下,引入协助节点参与联邦学习模型的评估指标计算,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。进一步地,协助节点将加密评估指标反馈给评估指标需求节点,从而解决了现有技术中存在的最终计算结果可被非需求节点获取的技术问题,确保了评估指标的真实可靠性。进一步地,由于在模型评估的整个过程中所有的数据均是加密数据,使得任何参与训练的节点均无法对评估指标进行篡改,进一步地确保评估指标的真实可靠性,并且可以确保了私有数据的安全,降低了数据信息被泄露的风险。
作为一种可能的实现方式,如图2所示,在上述实施例的基础上,上述步骤S103中,协助节点获取所有用户的加密排序结果,并发送给第一节点的过程,具体包括以下步骤:
S201、分别对第一加密中间结果和第二加密中间结果进行解密,得到第一解密中间结果和第二解密中间结果。
需要说明的是,由于为了确保数据交互过程中的安全性,避免数据信息被泄露,协议节点接收到的第一加密中间结果和第二加密中间结果是经过加密产生的。本申请中,协助节点在获取到第一加密中间结果和第二加密中间结果后,可以采用私钥对第一加密中间结果和第二加密中间结果进行解密,进而得到第一解密中间结果和第二解密中间结果。
S202、针对每个用户,根据用户的第一解密中间结果和第二解密中间结果,对用户的识别概率进行预测,以生成概率预测值。
可选地,在获取到用户的第一解密中间结果和第二解密中间结果后,可以将第一解密中间结果和第二解密中间结果代入预设的映射函数中,通过预设的映射函数对用户的识别概率进行预测,以生成概率预测值。
举例而言,可以将第一解密中间结果和第二解密中间结果代入yi=f(Uia+Uib)中进行计算,得到概率预测值。其中,Uia表示无标签的第二节点对应的第i个用户的第一样本对应的中间结果,Uib表示有标签的第一节点对应的第i个用户的第二样本对应的中间结果,yi表示概率预测值。
S203、根据概率预测值,对用户进行排序,以获取用户的排序结果。
本申请中,概率预测值能够反映出用户属于某一类的可能性,将所有用户的概率预测值进行比较,以对用户进行排序。
可选地,为了保证中间结果的安全性,第一节点和第二节点可以生成一个干扰信息,例如,第一节点生成一个第一干扰信息,第二节点生成一个第二干扰信息,然后分别干扰后形成中间结果。也就是说,第一加密中间结果,包括:第一样本的第一中间结果和第一节点的第一干扰信息;第二加密中间结果,包括:第二样本的第一中间结果和第二节点的第二干扰信息。因此,经过解密处理得到的第一解密中间结果和第二解密中间结果中,均携带有第一干扰信息和第二干扰信息。
举例而言,第一解密中间结果为Uib+Rb,其中,Rb表示第一干扰信息;第二解密中间结果为Uia+Ra,其中,Ra表示第二干扰信息。
需要说明的是,由于概率预测值的排序与第一解密中间结果和第二解密中间结果的线性求和结果的排序是一致的,即言,Rank(yi)=Rank(Uia+Ra+Uib+Rb),因此,协助节点可以通过对Uia+Ra+Uib+Rb进行排序,以得到用户的排序结果。
其中,本申请对于用户的排序方式不作限定,可以根据实际情况进行设定。例如,可以进行正序或者倒序进行排序。
需要说明的是,前述第一干扰信息和第二干扰信息,可以采用掩码(Mask)技术生成。可选地,可以采用掩码技术生成任一随机向量,即言生成任一随机数,以分别对第一节点和第二节点的中间结果进行干扰信息。
由此,第一加密中间结果和第二加密中间结果中分别包含有第一干扰信息和第二干扰信息。进一步地,经过解密处理得到的第一解密中间结果和第二解密中间结果中,亦均携带有第一干扰信息和第二干扰信息,使得协助节点也不会获取到真实的中间结果,从而能够更好地保证参与节点私有数据的安全性。
S204、对用户的排序结果进行加密,以生成加密排序结果并发给第一节点。
可选地,在获取到用户的排序结果后,可以基于前述公钥对用户的排序结果进行加密,以生成加密排序结果,并发给第一节点。
举例而言,在获取到Rank(yi)后,可以生成加密排序结果Encrypt(Rank(yi)),并发给第一节点。
由此,本申请能够在协助节点分别接收到第一加密中间结果和第二加密中间结果后,由协助节点进行样本概率值的排序,并将获取到的所有用户的排序结果进行加密处理后,发送给有标签的第一节点完成评估指标的计算,从而能够在半诚实假设的前提下,引入协助节点参与计算,确保了数据信息交互和计算过程中的数据安全。
进一步地,在协助节点将所有用户的加密排序结果发送给第一节点后,可以接收第一节点根据加密排序结果生成的联邦学习模型的加密评估指标,并根据实际情况将加密评估指标反馈给评估指标需求节点。
作为一种可能的实现方式,如图3所示,在上述实施例的基础上,上述步骤S104中,协助节点接收加密评估指标,并向评估指标需求节点进行反馈的过程,具体包括以下步骤:
S301、接收第一节点生成的联邦学习模型的加密评估指标。
需要说明的是,第一节点在接收到协助节点发送的所有用户的加密排序结果后,可以根据加密排序结果中的样本的加密排序值和样本的标识信息,以及对应的样本的标签信息,计算得到联邦学习模型的加密评估指标,并将加密评估指标反馈给协助节点。
S302、对加密评估指标进行解密,以获取解密评估指标,并发送给需求节点。
可选地,协议节点可以基于自身生成的私钥对加密评估指标进行解码,得到解密评估指标,并发送给需求节点。
可选地,加密评估指标包括需求节点生成并发送给第一节点的第三干扰信息,相应的,解密评估指标也包括需求节点生成的第三干扰信息。
进一步地,需求节点在获取到解密评估指标后可以基于自身产生的第三干扰信息对解密评估指标进行去干扰,以获取到实际评估指标。需要说明的是,需求节点可以为有标签的第一节点,也可以为无标签的第二节点。针对不同的需求节点,加密评估指标中带有的干扰信息是不同的,即言,协助节点接收到的加密评估指标是不同的。
例如,如果第一节点为需求节点,则协助节点接收到的加密评估指标中包含有由第一节点产生的第三干扰信息。
又例如,如果第二节点为需求节点,则协助节点接收到的加密评估指标中包含有由第二节点产生的第三干扰信息。
由此,本申请能够在协助节点接收到第一节点发送的加密评估指标后,由协助节点将加密评估指标反馈给评估指标需求节点,从而避免了计算结果被非需求节点获取,确保了第一节点和第二节点所拥有数据的数据安全。进一步地,可以由第一节点利用需求节点生成的第三干扰信息,对加密评估指标进行干扰,从而使得协助节点也无法知道实际评估指标,确保了实际评估指标仅能够被需求节点获取。
图4为本申请一个实施例公开的联邦学习模型的模型评估方法的流程示意图。
如图4所示,以第一节点作为执行主体,对本申请实施例提出的联邦学习模型的模型评估方法进行解释说明,具体包括以下步骤:
S401、对每个用户的样本输入本地学习模型训练时产生的中间结果加密,以生成加密中间结果发送给协助节点。
需要说明的是,第一节点首先可以接收协助节点发送的加密公钥。
本申请中,第一节点可以将第一样本输入第一学习模型中进行训练,以产生中间结果。可选地,将样本的特征向量与权重向量进行点乘,以生成中间结果。举例来说,第一节点可以将样本输入至本地学习模型中,提取到样本的特征向量Xb,然后Xb与本地学习模型中的权重向量Wb进行点乘,以生成中间结果Uib=Wb*Xb。
进一步地,为了保证第一中间结果不被泄露,在第一节点利用协助节点发送的公钥,对每个用户的样本输入本地学习模型训练时产生的中间结果加密,然后将加密中间结果发送给协助节点。S402、接收协助节点发送的所有用户的加密排序结果,其中,加密排序结果由协助节点根据参与联邦学习模型训练的每个节点发送的加密中间结果生成。
需要说明的是,在第一节点在将加密中间结果发送给协助节点后,协助节点可以根据第一加密中间结果和第二加密中间结果,对所有用户进行排序及加密,然后发送给第一节点。关于协助节点根据第一加密中间结果和第二加密中间结果,对所有用户进行排序的过程可参见上述实施例中相关内容的记载,此处不再赘述。
进一步地,第一节点可以接收所有用户的加密排序结果。
S403、根据加密排序结果,获取联邦学习模型的加密评估指标,并将加密评估指标反馈给协助节点。
可选地,第一节点在接收到加密排序结果后,可以结合第一样本及加密排序结果,获取联邦学习模型的加密评估指标,并将加密评估指标反馈给协助节点。
由此,本申请能够在将获取到的中间结果加密后,发送给协助节点,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。
作为一种可能的实现方式,如图5所示,在上述实施例的基础上,上述步骤S401中,第一节点对中间结果进行加密,并将加密中间结果发送给协助节点的过程,具体包括以下步骤:
S501、生成第一干扰信息。
在本申请实施例中,可以采用掩码(Mask)技术生成第一干扰信息,以对数据进行安全处理。
其中,第一干扰信息可以为任一随机生成的向量,向量包括至少一个元素。换言之,第一干扰信息为由随机生成的至少一个元素组成的向量。
需要说明的是,由于所添加的第一干扰信息中元素的个数与原始数据中元素的个数相同,即言,第一干扰信息长度与原始数据的长度相同,由此,在对原始数据进行添加第一干扰信息和去除第一干扰信息的操作后,得到的数据与原始数据一致,并且对原始数据添加第一干扰信息增加原始数据的长度,在只获得携带有第一干扰信息的数据的情况下,无法获知原始数据,从而保障了数据的安全性。
S502、利用第一干扰信息对中间结果进行干扰,以生成干扰中间结果。
需要说明的是,为了确保协助节点也无法获取到真实的中间结果,保证参与节点的私有数据的安全,第一节点可以利用第一干扰信息对中间结果进行干扰,使得协助节点接收到的第一节点的中间结果中携带有第一干扰信息。
举例来说,针对中间结果Uib,可以利用第一干扰信息Rb对中间结果进行干扰,以生成干扰中间结果为Uib+Rb。
S503、对干扰中间结果进行加密,以生成加密中间结果。
S504、将加密中间结果发送给协助节点。
举例来说,针对干扰中间结果Uib+Rb,可以生成加密中间结果Encrypt(Uib+Rb),然后将加密中间结果Encrypt(Uib+Rb)发送给协助节点。
由此,本申请能够通过第一节点将第一节点的用户样本输入对应的本地学习模型中,输出中间结果,然后利用第一干扰信息对中间结果进行干扰,以生成干扰中间结果,使得协助节点接收到的第一节点的中间结果中携带有第一干扰信息,并非真正的中间结果,更好地保证参与节点的私有数据的安全性。进一步地,通过对干扰中间结果进行加密处理,以将得到的加密中间结果发送给协助节点,有效地避免了中间结果被窃取后存在的泄密危机。
进一步地,在第一节点接收到协助节点发送的所有用户的加密排序结果,可以根据加密排序结果,执行联邦学习模型的加密评估指标的计算,并将获取到的加密评估指标反馈给协助节点。
作为一种可能的实现方式,如图6所示,在上述实施例的基础上,上述步骤S403中根据加密排序结果,获取联邦学习模型的加密评估指标的过程,具体包括以下步骤:
S601、获取样本的标签信息。
需要说明的是,对于与第一节点对应的本地学习模型的训练数据,每个存储于数据库中的用户样本都具有对应的标签信息。可选地,可以从用户的样本中提取标签信息。
S602、根据标签信息,从所有样本中识别出正样本。
可选地,可以提取加密排序结果中的标识信息,其中,标识信息为用户的标识,例如可以为用户的账号、设备号等。在有标签的第一节点,每个样本都具有标签信息,通过该标签信息可以识别出样本为正样本还是负样本。例如,标签信息为0,则说明书样本为负样本,标签信息为1,则说明样本为正样本。
S603、根据正样本的标识信息,从加密排序结果中提取出每个正样本的加密排序值。
可选地,第一节点将正样本的标识信息,与加密排序结果中的每个样本的标识信息进行对比,进而能够从加密排序结果中提取出每个正样本的加密排序值。
S604、获取正样本的第一数量和负样本的第二数量。
可选地,可以获取正样本的第一数量和负样本的第二数量,并分别标记为M和N。
S605、根据第一数量、第二数量以及正样本的加密排序值,获取加密AUC,其中,加密AUC为加密评估指标。
可选地,在获取到第一数量、第二数量和正样本的加密排序值后,可以采用如下公式计算加密AUC:
Figure BDA0002520602230000161
其中,sum{i in pos}Encrypt(Rank(yi))表示所有正样本的加密排序值的和值,M为正样本的第一样本数量,N为负样本的第二样本数量。
由此,本申请能够通过协助节点来实现所有用户的排序,并将排序结果加密后传输给第一节点,使得第一节点无法获取到真实的所有用户的排序结果,进而无法对AUC的计算进行篡改,保证了AUC计算的真实性。
进一步地,若第一节点为需求节点,第一节点在获取到加密评估指标后,可以利用第二干扰信息对加密评估指标进行干扰,然后将干扰后的加密评估指标反馈给协助节点。
作为一种可能的实现方式,如图7所示,在上述实施例的基础上,上述步骤S403中,将加密评估指标反馈给协助节点的过程,具体包括以下步骤:
S701、获取第二干扰信息。
在本申请实施例中,可以采用掩码(Mask)技术生成第二干扰信息,以对数据进行安全处理。
需要说明的是,第二干扰信息为来自需求节点的干扰信息。可选地,如果第一节点为需求节点,则第二干扰信息来自第一节点;如果第二节点为需求节点,则第二干扰信息来自第二节点。
S702、利用第二干扰信息对加密评估指标进行干扰,以生成干扰加密评估指标并发送给协助节点。
举例来说,针对加密评估指标Encrypt(AUC),可以利用第二干扰信息Ra’对加密评估指标进行干扰,以生成干扰加密评估指标为Encrypt(AUC)+Encrypt(Rc)。
由此,本申请能够利用获取到的第二干扰信息对加密评估指标进行干扰,以生成干扰加密评估指标并发送给协助节点,保证协助节点无法获取到实际的AUC,保证了AUC到达需求节点时的真实可靠。
需要说明的是,若第一节点为需求节点,则可以接收协助节点反馈的解密评估指标,并对接收到的解密评估指标进行处理,以获取联邦学习模型的实际评估指标。
作为一种可能的实现方式,如图8所示,在上述实施例的基础上,获取联邦学习模型的实际评估指标的过程,具体包括以下步骤:
S801、接收协助节点反馈的解密评估指标,其中,解密评估指标携带第二干扰信息。
需要说明的是,由于第一节点为需求节点,则其接收到的协助节点反馈的解密评估指标携带有自身产生的第二干扰信息。
S802、从解密评估指标中去除第二干扰信息,获取联邦学习模型的实际评估指标。
举例而言,第一节点接收到的协助节点反馈的解密评估指标,第一节点可以基于由自身生成的第二干扰信息AUC+Rc,从解密评估指标中去除第二干扰信息,即可以得到联邦学习模型的实际评估指标AUC。例如,解密评估指标为AUC+Rc,第二干扰信息为Rc,然后利用AUC+Rc-Rc,就可以得到真实的AUC。
由此,本申请能够利用第一节点自身产生的第二干扰信息对解密评估指标进行更新,以在去除第二干扰信息后,使第一节点能够得到实际的AUC,保证协助节点无法获取到实际的AUC,避免了最终结果被非需求节点获取。
图9为本申请一个实施例公开的联邦学习模型的模型评估方法的流程示意图。
如图9所示,以第二节点作为执行主体,对本申请实施例提出的联邦学习模型的模型评估方法进行解释说明,具体包括以下步骤:
S901、获取每个用户的样本输入本地学习模型训练时产生的中间结果。
可选地,第二节点可以将样本输入至本地学习模型中,以提取样本的特征向量。进一步地,第二节点可以提取本地学习模型中的权重向量,并将样本的特征向量与权重向量进行点乘,以生成中间结果。
举例来说,第二节点可以将样本输入至本地学习模型中,提取到样本的特征向量Xa,然后提取本地学习模型中的权重向量Wa,并将Xa与Wa进行点乘,以生成中间结果Uia=Wa*Xa。
S902、对中间结果进行加密,以生成加密中间结果发送给协助节点。
需要说明的是,在对每个用户的样本输入本地学习模型训练时产生的中间结果加密之前,第二节点可以接收协助节点发送的公钥。
进一步地,第二节点可以基于公钥,对每个用户的样本输入本地学习模型训练时产生的中间结果加密。
由此,本申请中能够将训练过程中产生的中间结果加密后发送给协助节点,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。
需要说明的是,为了确保第二节点的中间结果不被协助节点得知,本申请中,第二节点在生成中间结果之后,可以利用第一干扰信息对中间结果进行干扰,并在对中间结果进行干扰后,在通过加密处理得到加密中间结果,并发送给协助节点。
作为一种可能的实现方式,如图10所示,在上述实施例的基础上,上述步骤S1002中,对中间结果进行加密,以生成加密中间结果发送给协助节点的过程,具体包括以下步骤:
S1001、生成第一干扰信息。
在本申请实施例中,可以采用掩码(Mask)技术生成第一干扰信息,以对数据进行安全处理。
S1002、利用第一干扰信息对中间结果进行干扰,以生成干扰中间结果。
需要说明的是,为了确保协助节点也无法获取到真实的中间结果,保证参与节点的私有数据的安全,第二节点可以利用第一干扰信息对中间结果进行干扰,使得协助节点接收到的第二节点的中间结果中携带有第一干扰信息。
举例来说,针对中间结果Uia,可以利用第一干扰信息Ra对中间结果进行干扰,以生成干扰中间结果为Uia+Ra。
S1003、对干扰中间结果进行加密,以生成加密中间结果。
S1004、将加密中间结果发送给协助节点。
举例来说,针对干扰中间结果Uia+Ra,可以生成加密中间结果Encrypt(Uia+Ra),然后可以将加密中间结果Encrypt(Uia+Ra)发送给协助节点。
由此,本申请能够通过第二节点将第二节点的用户样本输入对应的本地学习模型中,输出中间结果,然后利用第一干扰信息对中间结果进行干扰,以生成干扰中间结果,使得协助节点接收到的第二节点的中间结果中携带有第一干扰信息,并非真正的中间结果,更好地保证参与节点的私有数据的安全性。进一步地,通过对干扰中间结果进行加密处理,以将得到的加密中间结果发送给协助节点,有效地避免了中间结果被窃取后存在的泄密危机。
需要说明的是,若第二节点为需求节点,则可以接收协助节点反馈的解密评估指标,并对接收到的解密评估指标进行处理,以获取联邦学习模型的实际评估指标。
作为一种可能的实现方式,如图11所示,在上述实施例的基础上,获取联邦学习模型的实际评估指标的过程,具体包括以下步骤:
S1101、向参与联邦学习模型中具有标签信息的节点发送第二干扰信息。
需要说明的是,由于第二节点为需求节点,因此第二节点可以向参与联邦学习模型中具有标签信息的节点发送自身产生的第二干扰信息,以使具有标签信息的节点可以基于第二干扰信息进行评估指标的计算。
需要说明的是,为了确保模型评估过程中的数据安全,可以对参与交互的数据进行加密,由此,第二节点可以基于接收到的协助节点发送的公钥,对第二干扰信息进行加密,并将加密后的第二干扰信息发送给具有标签信息的节点。
举例而言,第二节点可以将第二干扰信息Rd进行加密,以得到Encrypt(Rd),并将Encrypt(Rd)发送给具有标签信息的节点。
S1102、接收协助节点发送的携带第二干扰信息的解密评估指标。
需要说明的是,由于第二节点为需求节点,则其接收到的协助节点反馈的解密评估指标携带有自身产生的第二干扰信息。
S1103、从解密评估指标中去除第二干扰信息,获取联邦学习模型的实际评估指标。
举例而言,第二节点接收到的协助节点反馈的解密评估指标,第二节点可以基于由自身生成的第二干扰信息AUC+Rd,从解密评估指标中去除第二干扰信息,即可以得到联邦学习模型的实际评估指标AUC。例如,解密评估指标为AUC+Rd,第二干扰信息为Rd,然后利用AUC+Rd-Rd,就可以得到真实的AUC。
由此,本申请能够在第二节点为需求节点时,第二节点可以向参与联邦学习模型中具有标签信息的节点发送第二干扰信息,以使具有标签信息的节点可以基于第二干扰信息进行评估指标的计算。进一步地,可以利用第二节点自身产生的第二干扰信息对解密评估指标进行更新,以在去除第二干扰信息后,使第二节点能够得到实际的AUC,保证协助节点无法获取到实际的AUC,避免了最终结果被非需求节点获取。
为实现上述实施例,本发明实施例还提出了另一种联邦学习模型的模型评估方法的流程图,如图12所示,联邦学习模型的模型评估方法,包括以下步骤:
S1201、第一节点向协助节点发送用户的第一样本的第一加密中间结果,其中,第一加密中间结果为第一样本输入第一学习模型训练时产生的。
S1202、第二节点向协助节点发送用户的第二样本的第二加密中间结果,其中,第二加密中间结果为第二样本输入第二学习模型训练时产生的。
S1203、协助节点接收第一加密中间结果和第二加密中间结果,并根据第一加密中间结果和第二加密中间结果,获取所有用户的加密排序结果,并发送给第一节点。
S1204、第一节点根据加密排序结果生成的联邦学习模型的加密评估指标,并向协助节点发送。
S1205、协助节点将加密评估指标反馈给评估指标需求节点反馈。
需要说明的是,关于步骤S1201~S1205的介绍可参见上述实施例中的相关记载,此处不再赘述。
由此,本申请能够在半诚实假设的前提下,引入协助节点参与联邦学习模型的评估指标计算,使得第一节点能够协助节点发送的所有用户的加密排序结果,获取联邦学习模型的加密评估指标,并将加密评估指标反馈给协助节点,以使协助节点可以并向评估指标需求节点反馈该加密评估指标。进一步地,在需求节点接收到加密评估指标后,可以基于自身产生的干扰信息对加密评估指标进行更新,以获取到实际评估指标,实现了对联邦学习模型性能的评估,从而确保了中间结果和最终计算结果的数据安全,避免了实际评估指标被非需求节点获取。进一步地,由于在整个模型评估的过程中所有的数据均是加密数据,使得有标签的第一节点无法对评估指标进行篡改,能够进一步确保了数据安全,有效地避免了数据信息泄露风险。
为实现上述实施例,本发明实施例还提出了另一种联邦学习模型的模型评估方法的流程图,如图13所示,以协助节点、第一节点和第二节点进行模型评估的全过程为例,对本申请实施例提出的联邦学习模型的模型评估方法进行解释说明,具体包括以下步骤:
S1301、协助节点生成密钥对,分别向第一节点和第二节点发送公钥。
S1302、第一节点将第一样本输入至第一学习模型中,生成第一中间结果。
S1303、第一节点生成第一干扰信息。
S1204、第一节点利用第一干扰信息对第一中间结果进行干扰,以生成第一干扰中间结果。
S1305、第一节点对第一干扰中间结果进行加密,以生成第一加密中间结果。
S1306、第一节点将第一加密中间结果发送给协助节点。
S1307、第二节点将第二样本输入至第二学习模型中,生成第二中间结果。
S1308、第二节点生成第二干扰信息。
S1309、第二节点利用第二干扰信息对第二中间结果进行干扰,以生成第二干扰中间结果。
S1310、第二节点对第二干扰中间结果进行加密,以生成第二加密中间结果。
S1311、第二节点将第二加密中间结果发送给协助节点。
S1312、协助节点分别对第一加密中间结果和第二加密中间结果进行解密,得到第一解密中间结果和第二解密中间结果。
S1313、协助节点针对每个用户,根据用户的第一解密中间结果和第二解密中间结果,对用户的识别概率进行预测,以生成概率预测值。
S1314、协助节点根据概率预测值,对用户进行排序,以获取用户的排序结果。
S1315、协助节点对用户的排序结果进行加密,以生成加密排序结果并发给第一节点。
S1316、第一节点获取第一样本的标签信息。
S1317、第一节点根据标签信息,从所有第一样本中识别出正样本。
S1318、第一节点根据正样本的标识信息,从加密排序结果中提取出每个正样本的加密排序值。
S1319、第一节点获取正样本的第一数量和负样本的第二数量。
S1320、第一节点根据第一数量、第二数量以及正样本的加密排序值,计算加密AUC。
S1321、第一节点获取第三干扰信息。
S1322、第一节点利用第三干扰信息对加密评估指标进行干扰,以生成干扰加密评估指标并发送给协助节点。
S1323、协助节点对干扰加密评估指标进行解密,以获取包括第三干扰信息的干扰解密评估指标发送给需求节点。
如图14所示,本申请在半诚实假设的前提下,引入协助节点,与第一节点和第二节点共同参与计算,并采用同态加密算法、随机掩码技术以及AUC的计算公式等方式,对纵向联邦学习模型的性能进行评估,使得仅需求节点能够获取到实际评估指标,从而在避免数据泄露的前提下,使需求节点能够了解到纵向联邦学习模型的性能。
由此,本申请能够在半诚实假设的前提下,引入协助节点参与联邦学习模型的评估指标计算,使得第一节点能够协助节点发送的所有用户的加密排序结果,获取联邦学习模型的加密评估指标,并将加密评估指标反馈给协助节点,以使协助节点可以并向评估指标需求节点反馈该加密评估指标。进一步地,在需求节点接收到加密评估指标后,可以基于自身产生的干扰信息对加密评估指标进行更新,以获取到实际评估指标,实现了对联邦学习模型性能的评估,从而确保了中间结果和最终计算结果的数据安全,避免了实际评估指标被非需求节点获取。进一步地,由于在整个模型评估的过程中所有的数据均是加密数据,使得有标签的第一节点无法对评估指标进行篡改,能够进一步确保了数据安全,有效地避免了数据信息泄露风险。
基于同一申请构思,本申请实施例还提供了一种联邦学习模型的模型评估方法对应的装置。
图15为本申请实施例提供的联邦学习模型的模型评估装置的结构示意图。如图15所示,以协助节点作为执行主体,该联邦学习模型的模型评估装置1000,包括:接收模块110、获取模块120和指标反馈模块130。
其中,接收模块110,用于接收第一节点发送的用户的第一样本的第一加密中间结果,以及接收第二节点发送的所述用户的第二样本的第二加密中间结果,其中,所述第一加密中间结果为所述第一样本输入第一学习模型训练时产生的,所述第二加密中间结果为所述第二样本输入第二学习模型训练时产生的;获取模块120,用于根据所述第一加密中间结果和所述第二加密中间结果,获取所有用户的加密排序结果,并发送给所述第一节点;指标反馈模块130,用于接收所述第一节点根据所述加密排序结果生成的联邦学习模型的加密评估指标,并向评估指标需求节点反馈。
根据本申请的一个实施例,如图16所示,图15中的获取模块120,包括:解密单元121、预测单元122、排序单元123和加密发送单元124。其中,解密单元121,用于分别对所述第一加密中间结果和所述第二加密中间结果进行解密,得到第一解密中间结果和所述第二解密中间结果;预测单元122,用于针对每个用户,根据所述用户的所述第一解密中间结果和所述第二解密中间结果,对所述用户的识别概率进行预测,以生成概率预测值;排序单元123,用于根据所述概率预测值,对所述用户进行排序,以获取所述用户的排序结果;加密发送单元124,用于对所述用户的排序结果进行加密,以生成所述加密排序结果并发给所述第一节点。
根据本申请的一个实施例,所述第一加密中间结果包括所述第一样本的第一中间结果和所述第一节点的第一干扰信息,所述第二加密中间结果包括所述第二样本的第一中间结果和所述第二节点的第二干扰信息。
根据本申请的一个实施例,指标反馈模块130,具体用于:对所述加密评估指标进行解密,以获取包括所述第三干扰信息的解密评估指标发送给所述需求节点。
根据本申请的一个实施例,联邦学习模型的模型评估装置1000,还包括:密钥生成模块140,用于在所述接收第一节点发送的用户的第一样本的第一加密中间结果之前,生成密钥对,分别向所述第一节点和所述第二节点发送公钥。
由此,本申请能够在半诚实假设的前提下,引入协助节点参与联邦学习模型的评估指标计算,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。进一步地,协助节点将加密评估指标反馈给评估指标需求节点,从而解决了现有技术中存在的最终计算结果可被非需求节点获取的技术问题,确保了评估指标的真实可靠性。进一步地,由于在模型评估的整个过程中所有的数据均是加密数据,使得任何参与训练的节点均无法对评估指标进行篡改,进一步地确保评估指标的真实可靠行,并且可以确保了私有数据的安全,降低了数据信息被泄露的风。
基于同一申请构思,本申请实施例还提供了另一种联邦学习模型的模型评估方法对应的装置。
图17为本申请实施例提供的联邦学习模型的模型评估装置的结构示意图。如图17所示,以第一节点作为执行主体,该联邦学习模型的模型评估装置1000,包括:发送模块210、接收模块220和指标反馈模块230。
其中,发送模块210,用于对每个用户的样本输入本地学习模型训练时产生的中间结果加密,以生成加密中间结果发送给协助节点;
接收模块220,用于接收所述协助节点发送的所有用户的加密排序结果,其中,所述加密排序结果由所述协助节点根据参与联邦学习模型训练的每个节点发送的所述加密中间结果生成;
指标反馈模块230,用于根据所述加密排序结果,获取所述联邦学习模型的加密评估指标,并将所述加密评估指标反馈给所述协助节点。
根据本申请的一个实施例,如图18所示,图17中的发送模块210,包括:生成单元211、第一干扰单元212、加密单元213和发送单元214。其中,生成单元211,用于生成第一干扰信息;第一干扰单元212,用于利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;加密单元213,用于对所述干扰中间结果进行加密,以生成所述加密中间结果;发送单元214,用于将所述加密中间结果发送给所述协助节点。
根据本申请的一个实施例,如图18所示,图17中的指标反馈模块230,包括:第一获取单元231、识别单元232、提取单元233、第二获取单元234和第三获取单元235。其中,第一获取单元231,用于获取所述样本的标签信息;识别单元232,用于根据所述标签信息,从所有样本中识别出正样本;提取单元233,用于根据所述正样本的标识信息,从所述加密排序结果中提取出每个所述正样本的加密排序值;第二获取单元234,用于获取所述正样本的第一数量和负样本的第二数量;第三获取单元235,用于根据所述第一数量、所述第二数量以及所述正样本的加密排序值,获取加密AUC,其中,所述加密AUC为所述加密评估指标。
根据本申请的一个实施例,所述第三获取单元235用如下公式计算所述加密AUC:
Figure BDA0002520602230000241
其中,所述sum{i in pos}Encrypt(Rank(yi))表示所有所述正样本的加密排序值的和值,所述M为所述正样本的第一样本数量,所述N为所述负样本的第二样本数量。
根据本申请的一个实施例,如图18所示,图17中的指标反馈模块230,还包括:第四获取单元236和第二干扰单元237。其中,第四获取单元236,用于获取第二干扰信息;第二干扰单元237,用于利用第二干扰信息对所述加密评估指标进行干扰,以生成干扰加密评估指标并发送给所述协助节点。
根据本申请的一个实施例,所述接收模块220,还用于:接收所述协助节点反馈的解密评估指标,其中,所述解密评估指标携带所述第二干扰信息;从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
根据本申请的一个实施例,所述发送模块210,具体用于:将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
根据本申请的一个实施例,所述接收模块220,还用于:在对每个样本输入本地学习模型训练时产生的中间结果加密之前,接收所述协助节点发送的加密公钥。
由此,本申请能够在将获取到的中间结果加密后,发送给协助节点,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。
基于同一申请构思,本申请实施例还提供了又一种联邦学习模型的模型评估方法对应的装置。
图19为本申请实施例提供的联邦学习模型的模型评估装置的结构示意图。如图19所示,以第二节点作为执行主体,该联邦学习模型的模型评估装置1000,包括:获取模块310和发送模块320。
其中,获取模块310,用于获取每个用户的样本输入本地学习模型训练时产生的中间结果;
发送模块320,用于对所述中间结果进行加密,以生成加密中间结果发送给协助节点。
根据本申请的一个实施例,如图20所示,图19中的发送模块320,包括:生成单元321、干扰单元322、加密单元323和发送单元324。其中,生成单元321,用于生成第一干扰信息;干扰单元322,用于利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;加密单元323,用于对所述干扰中间结果进行加密,以生成所述加密中间结果;发送单元324,用于将所述加密中间结果发送给所述协助节点。
根据本申请的一个实施例,所述发送模块320,还用于:向参与所述联邦学习模型中具有标签信息的节点发送第二干扰信息;所述接收模块310,还用于:接收所述协助节点发送的携带所述第二干扰信息的解密评估指标,以及从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
根据本申请的一个实施例,所述接收模块310,还用于:在对每个样本输入本地学习模型训练时产生的中间结果加密之前,接收所述协助节点发送的加密公钥。
根据本申请的一个实施例,所述获取模块320,还用于:将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
由此,本申请能够将训练过程中产生的中间结果加密后发送给协助节点,避免了参与联邦学习模型训练的各节点之间传输中间结果,确保了参与训练的各节点的私有数据的安全性。
需要说明的是,如图21所示,由本申请提出的联邦学习模型的模型评估装置组成的训练系统,能够与至少一个数据管理系统及辅助系统组成云平台的业务应用层,进而结合数据层与基础支持层建立应用程序,以在消除中间结果泄漏风险、避免最终计算结果被非需求节点获取、确保数据安全的基础上,实现应用程序的功能。
基于同一申请构思,本申请实施例还提供了一种联邦学习模型的模型评估方法对应的系统。
图22为本申请实施例提供的联邦学习模型的模型评估系统的结构示意图。如图22所示,该联邦学习模型的模型评估系统3000,包括联邦学习模型的模型评估装置1000。
基于同一申请构思,本申请实施例还提供了一种电子设备。
图23为本申请实施例提供的电子设备的结构示意图。如图23所示,该电子设备2000,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序,处理器执行程序时,实现前述的联邦学习模型的模型评估方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (40)

1.一种联邦学习模型的模型评估方法,其特征在于,包括以下步骤:
接收第一节点发送的用户的第一样本的第一加密中间结果,其中,所述第一加密中间结果为所述第一样本输入第一学习模型训练时产生的;
接收第二节点发送的所述用户的第二样本的第二加密中间结果,其中,所述第二加密中间结果为所述第二样本输入第二学习模型训练时产生的;
根据所述第一加密中间结果和所述第二加密中间结果,获取所有用户的加密排序结果,并发送给所述第一节点;
接收所述第一节点根据所述加密排序结果生成的联邦学习模型的加密评估指标,并向评估指标需求节点反馈。
2.根据权利要求1所述的模型评估方法,其特征在于,所述根据所述第一加密中间结果和所述第二加密中间结果,获取所有用户的加密排序结果,并发送给所述第一节点,包括:
分别对所述第一加密中间结果和所述第二加密中间结果进行解密,得到第一解密中间结果和第二解密中间结果;
针对每个用户,根据所述用户的所述第一解密中间结果和所述第二解密中间结果,对所述用户的识别概率进行预测,以生成概率预测值;
根据所述概率预测值,对所述用户进行排序,以获取所述用户的排序结果;
对所述用户的排序结果进行加密,以生成所述加密排序结果并发给所述第一节点。
3.根据权利要求1或2所述的模型评估方法,其特征在于,所述第一加密中间结果包括所述第一样本的第一中间结果和所述第一节点的第一干扰信息,所述第二加密中间结果包括所述第二样本的第一中间结果和所述第二节点的第二干扰信息。
4.根据权利要求1所述的模型评估方法,其特征在于,所述加密评估指标包括所述需求节点生成并发送给所述第一节点的第三干扰信息,其中,所述向评估指标需求节点反馈,包括:
对所述加密评估指标进行解密,以获取包括所述第三干扰信息的解密评估指标发送给所述需求节点。
5.根据权利要求1所述的模型评估方法,其特征在于,所述接收第一节点发送的用户的第一样本的第一加密中间结果之前,还包括:
生成密钥对,分别向所述第一节点和所述第二节点发送公钥。
6.一种联邦学习模型的模型评估方法,其特征在于,包括以下步骤:
对每个用户的样本输入本地学习模型训练时产生的中间结果加密,以生成加密中间结果发送给协助节点;
接收所述协助节点发送的所有用户的加密排序结果,其中,所述加密排序结果由所述协助节点根据参与联邦学习模型训练的每个节点发送的所述加密中间结果生成;
根据所述加密排序结果,获取所述联邦学习模型的加密评估指标,并将所述加密评估指标反馈给所述协助节点。
7.根据权利要求6所述的模型评估方法,其特征在于,所述对每个用户的样本输入本地学习模型训练时产生的中间结果加密,以生成加密中间结果发送给协助节点,包括:
生成第一干扰信息;
利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;
对所述干扰中间结果进行加密,以生成所述加密中间结果;
将所述加密中间结果发送给所述协助节点。
8.根据权利要求6所述的模型评估方法,其特征在于,所述加密排序结果包括所述样本的加密排序值和所述样本的标识信息,其中,所述根据所述加密排序结果,获取所述联邦学习模型的加密评估指标,包括:
获取所述样本的标签信息;
根据所述标签信息,从所有样本中识别出正样本;
根据所述正样本的标识信息,从所述加密排序结果中提取出每个所述正样本的加密排序值;
获取所述正样本的第一数量和负样本的第二数量;
根据所述第一数量、所述第二数量以及所述正样本的加密排序值,获取加密AUC,其中,所述加密AUC为所述加密评估指标。
9.根据权利要求8所述的模型评估方法,其特征在于,采用如下公式计算所述加密AUC:
Figure FDA0002520602220000031
其中,所述sum{iinpos}Encrypt(Rank(yi))表示所有所述正样本的加密排序值的和值,所述M为所述正样本的第一样本数量,所述N为所述负样本的第二样本数量。
10.根据权利要求6-9任一项所述的模型评估方法,其特征在于,所述将所述加密评估指标反馈给所述协助节点,还包括:
获取第二干扰信息;
利用第二干扰信息对所述加密评估指标进行干扰,以生成干扰加密评估指标并发送给所述协助节点。
11.根据权利要求10所述的模型评估方法,其特征在于,所述方法还包括:
接收所述协助节点反馈的解密评估指标,其中,所述解密评估指标携带所述第二干扰信息;
从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
12.根据权利要求6-9任一项所述的模型评估方法,其特征在于,所述对每个用户的样本输入本地学习模型训练时产生的中间结果加密之前,还包括:
将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
13.根据权利要求6-9任一项所述的模型评估方法,其特征在于,所述对每个用户的样本输入本地学习模型训练时产生的中间结果加密之前,还包括:
接收所述协助节点发送的加密公钥。
14.一种联邦学习模型的模型评估方法,其特征在于,包括以下步骤:
获取每个用户的样本输入本地学习模型训练时产生的中间结果;
对所述中间结果进行加密,以生成加密中间结果发送给协助节点。
15.根据权利要求14所述的模型评估方法,其特征在于,所述对所述中间结果进行加密,以生成加密中间结果发送给协助节点,包括:
生成第一干扰信息;
利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;
对所述干扰中间结果进行加密,以生成所述加密中间结果;
将所述加密中间结果发送给所述协助节点。
16.根据权利要求14所述的所述的模型评估方法,其特征在于,所述方法还包括:
向参与所述联邦学习模型中具有标签信息的节点发送第二干扰信息;
接收所述协助节点发送的携带所述第二干扰信息的解密评估指标;
从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
17.根据权利要求14-16任一项所述的模型评估方法,其特征在于,所述在对每个样本输入本地学习模型训练时产生的中间结果加密之前,还包括:
接收所述协助节点发送的加密公钥。
18.根据权利要求14-16任一项所述的模型评估方法,其特征在于,所述方法还包括:
将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
19.一种联邦学习模型的模型评估装置,其特征在于,包括:
接收模块,用于接收第一节点发送的用户的第一样本的第一加密中间结果,以及接收第二节点发送的所述用户的第二样本的第二加密中间结果,其中,所述第一加密中间结果为所述第一样本输入第一学习模型训练时产生的,所述第二加密中间结果为所述第二样本输入第二学习模型训练时产生的;
获取模块,用于根据所述第一加密中间结果和所述第二加密中间结果,获取所有用户的加密排序结果,并发送给所述第一节点;
指标反馈模块,用于接收所述第一节点根据所述加密排序结果生成的联邦学习模型的加密评估指标,并向评估指标需求节点反馈。
20.根据权利要求19所述的模型评估装置,其特征在于,所述获取模块,包括:
解密单元,用于分别对所述第一加密中间结果和所述第二加密中间结果进行解密,得到第一解密中间结果和所述第二解密中间结果;
预测单元,用于针对每个用户,根据所述用户的所述第一解密中间结果和所述第二解密中间结果,对所述用户的识别概率进行预测,以生成概率预测值;
排序单元,用于根据所述概率预测值,对所述用户进行排序,以获取所述用户的排序结果;
加密发送单元,用于对所述用户的排序结果进行加密,以生成所述加密排序结果并发给所述第一节点。
21.根据权利要求19或20所述的模型评估装置,其特征在于,所述第一加密中间结果包括所述第一样本的第一中间结果和所述第一节点的第一干扰信息,所述第二加密中间结果包括所述第二样本的第一中间结果和所述第二节点的第二干扰信息。
22.根据权利要求19所述的模型评估装置,其特征在于,所述加密评估指标包括所述需求节点生成并发送给所述第一节点的第三干扰信息,其中,所述指标反馈模块,具体用于:
对所述加密评估指标进行解密,以获取包括所述第三干扰信息的解密评估指标发送给所述需求节点。
23.根据权利要求19所述的模型评估装置,其特征在于,还包括:
密钥生成模块,用于在所述接收第一节点发送的用户的第一样本的第一加密中间结果之前,生成密钥对,分别向所述第一节点和所述第二节点发送公钥。
24.一种联邦学习模型的模型评估装置,其特征在于,包括:
发送模块,用于对每个用户的样本输入本地学习模型训练时产生的中间结果加密,以生成加密中间结果发送给协助节点;
接收模块,用于接收所述协助节点发送的所有用户的加密排序结果,其中,所述加密排序结果由所述协助节点根据参与联邦学习模型训练的每个节点发送的所述加密中间结果生成;
指标反馈模块,用于根据所述加密排序结果,获取所述联邦学习模型的加密评估指标,并将所述加密评估指标反馈给所述协助节点。
25.根据权利要求24所述的模型评估装置,其特征在于,所述发送模块,包括:
生成单元,用于生成第一干扰信息;
第一干扰单元,用于利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;
加密单元,用于对所述干扰中间结果进行加密,以生成所述加密中间结果;
发送单元,用于将所述加密中间结果发送给所述协助节点。
26.根据权利要求24所述的模型评估装置,其特征在于,所述加密排序结果包括所述样本的加密排序值和所述样本的标识信息,其中,所述指标反馈模块,包括:
第一获取单元,用于获取所述样本的标签信息;
识别单元,用于根据所述标签信息,从所有样本中识别出正样本;
提取单元,用于根据所述正样本的标识信息,从所述加密排序结果中提取出每个所述正样本的加密排序值;
第二获取单元,用于获取所述正样本的第一数量和负样本的第二数量;
第三获取单元,用于根据所述第一数量、所述第二数量以及所述正样本的加密排序值,获取加密AUC,其中,所述加密AUC为所述加密评估指标。
27.根据权利要求26所述的模型评估装置,其特征在于,所述第三获取单元用如下公式计算所述加密AUC:
Figure FDA0002520602220000061
其中,所述sum{iinpos}Encrypt(Rank(yi))表示所有所述正样本的加密排序值的和值,所述M为所述正样本的第一样本数量,所述N为所述负样本的第二样本数量。
28.根据权利要求24-27任一项所述的模型评估装置,其特征在于,所述指标反馈模块,还包括:
第四获取单元,用于获取第二干扰信息;
第二干扰单元,用于利用第二干扰信息对所述加密评估指标进行干扰,以生成干扰加密评估指标并发送给所述协助节点。
29.根据权利要求28所述的模型评估装置,其特征在于,所述接收模块,还用于:
接收所述协助节点反馈的解密评估指标,其中,所述解密评估指标携带所述第二干扰信息;
从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
30.根据权利要求24-27任一项所述的模型评估装置,其特征在于,所述发送模块,具体用于:
将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
31.根据权利要求24-27任一项所述的模型评估装置,其特征在于,所述接收模块,还用于:
在对每个样本输入本地学习模型训练时产生的中间结果加密之前,接收所述协助节点发送的加密公钥。
32.一种联邦学习模型的模型评估装置,其特征在于,包括:
获取模块,用于获取每个用户的样本输入本地学习模型训练时产生的中间结果;
发送模块,用于对所述中间结果进行加密,以生成加密中间结果发送给协助节点。
33.根据权利要求32所述的模型评估装置,其特征在于,所述发送模块,包括:
生成单元,用于生成第一干扰信息;
干扰单元,用于利用所述第一干扰信息对所述中间结果进行干扰,以生成干扰中间结果;
加密单元,用于对所述干扰中间结果进行加密,以生成所述加密中间结果;
发送单元,用于将所述加密中间结果发送给所述协助节点。
34.根据权利要求32所述的所述的模型评估装置,其特征在于,所述发送模块,还用于:
向参与所述联邦学习模型中具有标签信息的节点发送第二干扰信息;
所述接收模块,还用于:
接收所述协助节点发送的携带所述第二干扰信息的解密评估指标,以及从所述解密评估指标中去除所述第二干扰信息,获取所述联邦学习模型的实际评估指标。
35.根据权利要求32-34任一项所述的模型评估装置,其特征在于,所述接收模块,还用于:
在对每个样本输入本地学习模型训练时产生的中间结果加密之前,接收所述协助节点发送的加密公钥。
36.根据权利要求32-34任一项所述的模型评估装置,其特征在于,所述获取模块,还用于:
将所述样本输入至所述本地学习模型中,提取所述样本的特征向量,并利用所述本地学习模型中的权重向量与所述特征向量做点乘操作,以生成所述中间结果。
37.一种联邦学习模型的模型评估方法,其特征在于,包括以下步骤:
第一节点向协助节点发送所述用户的第一样本的第一加密中间结果,其中,所述第一加密中间结果为所述第一样本输入第一学习模型训练时产生的;
第二节点向协助节点发送所述用户的第二样本的第二加密中间结果,其中,所述第二加密中间结果为所述第二样本输入第二学习模型训练时产生的;
所述协助节点接收所述第一加密中间结果和所述第二加密中间结果,并根据所述第一加密中间结果和所述第二加密中间结果,获取所有用户的加密排序结果,并发送给所述第一节点;
所述第一节点根据所述加密排序结果生成的联邦学习模型的加密评估指标,并向所述协助节点发送;
所述协助节点将所述加密评估指标反馈给评估指标需求节点反馈。
38.一种联邦学习模型的模型评估系统,其特征在于,包括:
如权利要求19所述的联邦学习模型的模型评估装置、如权利要求24所述的联邦学习模型的模型评估装置以及如权利要求32所述的联邦学习模型的模型评估装置。
39.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-5中任一项所述的联邦学习模型的模型评估方法,或者实现如权利要求6-13中任一项所述的联邦学习模型的模型评估方法,或者实现如权利要求14-18中任一项所述的联邦学习模型的模型评估方法。
40.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的联邦学习模型的模型评估方法,或者实现如权利要求6-13中任一项所述的联邦学习模型的模型评估方法,或者实现如权利要求14-18中任一项所述的联邦学习模型的模型评估方法。
CN202010489750.5A 2020-06-02 2020-06-02 联邦学习模型的模型评估方法及装置 Pending CN111861099A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010489750.5A CN111861099A (zh) 2020-06-02 2020-06-02 联邦学习模型的模型评估方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010489750.5A CN111861099A (zh) 2020-06-02 2020-06-02 联邦学习模型的模型评估方法及装置

Publications (1)

Publication Number Publication Date
CN111861099A true CN111861099A (zh) 2020-10-30

Family

ID=72985369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010489750.5A Pending CN111861099A (zh) 2020-06-02 2020-06-02 联邦学习模型的模型评估方法及装置

Country Status (1)

Country Link
CN (1) CN111861099A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507323A (zh) * 2021-02-01 2021-03-16 支付宝(杭州)信息技术有限公司 基于单向网络的模型训练方法、装置和计算设备
CN112686390A (zh) * 2020-12-28 2021-04-20 科大讯飞股份有限公司 联合建模方法、系统、装置及具有存储功能的装置
CN112732470A (zh) * 2021-03-29 2021-04-30 南方电网数字电网研究院有限公司 电能量数据的联邦学习可靠性评估方法和装置
WO2023216899A1 (zh) * 2022-05-13 2023-11-16 北京字节跳动网络技术有限公司 用于模型性能评估的方法、装置、设备和介质
WO2023216902A1 (zh) * 2022-05-13 2023-11-16 北京字节跳动网络技术有限公司 用于模型性能评估的方法、装置、设备和介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344998A (zh) * 2018-09-06 2019-02-15 盈盈(杭州)网络技术有限公司 一种基于医疗美容场景的客户违约概率预测方法
CN110245510A (zh) * 2019-06-19 2019-09-17 北京百度网讯科技有限公司 用于预测信息的方法和装置
CN110472665A (zh) * 2019-07-17 2019-11-19 新华三大数据技术有限公司 模型训练方法、文本分类方法及相关装置
CN110674528A (zh) * 2019-09-20 2020-01-10 深圳前海微众银行股份有限公司 联邦学习隐私数据处理方法、设备、系统及存储介质
CN110704860A (zh) * 2019-11-18 2020-01-17 深圳前海微众银行股份有限公司 提升安全性的纵向联邦学习方法、设备、系统及存储介质
CN110797124A (zh) * 2019-10-30 2020-02-14 腾讯科技(深圳)有限公司 一种模型多端协同训练方法、医疗风险预测方法和装置
CN111008709A (zh) * 2020-03-10 2020-04-14 支付宝(杭州)信息技术有限公司 联邦学习、资料风险评估方法、装置和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344998A (zh) * 2018-09-06 2019-02-15 盈盈(杭州)网络技术有限公司 一种基于医疗美容场景的客户违约概率预测方法
CN110245510A (zh) * 2019-06-19 2019-09-17 北京百度网讯科技有限公司 用于预测信息的方法和装置
CN110472665A (zh) * 2019-07-17 2019-11-19 新华三大数据技术有限公司 模型训练方法、文本分类方法及相关装置
CN110674528A (zh) * 2019-09-20 2020-01-10 深圳前海微众银行股份有限公司 联邦学习隐私数据处理方法、设备、系统及存储介质
CN110797124A (zh) * 2019-10-30 2020-02-14 腾讯科技(深圳)有限公司 一种模型多端协同训练方法、医疗风险预测方法和装置
CN110704860A (zh) * 2019-11-18 2020-01-17 深圳前海微众银行股份有限公司 提升安全性的纵向联邦学习方法、设备、系统及存储介质
CN111008709A (zh) * 2020-03-10 2020-04-14 支付宝(杭州)信息技术有限公司 联邦学习、资料风险评估方法、装置和系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686390A (zh) * 2020-12-28 2021-04-20 科大讯飞股份有限公司 联合建模方法、系统、装置及具有存储功能的装置
CN112686390B (zh) * 2020-12-28 2023-11-17 科大讯飞股份有限公司 联合建模方法、系统、装置及具有存储功能的装置
CN112507323A (zh) * 2021-02-01 2021-03-16 支付宝(杭州)信息技术有限公司 基于单向网络的模型训练方法、装置和计算设备
CN112732470A (zh) * 2021-03-29 2021-04-30 南方电网数字电网研究院有限公司 电能量数据的联邦学习可靠性评估方法和装置
WO2023216899A1 (zh) * 2022-05-13 2023-11-16 北京字节跳动网络技术有限公司 用于模型性能评估的方法、装置、设备和介质
WO2023216902A1 (zh) * 2022-05-13 2023-11-16 北京字节跳动网络技术有限公司 用于模型性能评估的方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
CN111861099A (zh) 联邦学习模型的模型评估方法及装置
Mandal et al. PrivFL: Practical privacy-preserving federated regressions on high-dimensional data over mobile networks
CN109002861B (zh) 联邦建模方法、设备及存储介质
CN110751291B (zh) 实现安全防御的多方联合训练神经网络的方法及装置
CN109284313B (zh) 基于半监督学习的联邦建模方法、设备及可读存储介质
CN112822005B (zh) 基于同态加密的安全迁移学习系统
WO2017140248A1 (zh) 数据交换方法、数据交换装置及计算装置
EP2894810A1 (en) Searchable Code Processing System and Method
CN109803142B (zh) 一种基于邻域预测的加密域图像可逆数据隐藏方法
CN113537633B (zh) 基于纵向联邦学习的预测方法、装置、设备、介质和系统
CN111741020B (zh) 基于数据隐私保护的公共数据集确定方法、装置及系统
CN111428887A (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN111935179B (zh) 一种基于可信执行环境的模型训练方法和装置
CN112101531B (zh) 基于隐私保护的神经网络模型训练方法、装置及系统
CN113055153B (zh) 一种基于全同态加密算法的数据加密方法、系统和介质
CN111475690B (zh) 字符串的匹配方法和装置、数据检测方法、服务器
CN111159727B (zh) 一种面向多方协同的贝叶斯分类器安全生成系统及方法
CN116070709A (zh) 纵向联邦学习中逻辑回归模型的训练方法及系统
CN112380404B (zh) 数据过滤方法、装置及系统
CN112948883A (zh) 保护隐私数据的多方联合建模的方法、装置和系统
CN111737756B (zh) 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN116402159A (zh) 联邦学习方法、预测方法、装置、电子设备及存储介质
CN111046431A (zh) 数据处理方法、查询方法、装置、电子设备和系统
CN112149140B (zh) 预测方法、装置、设备及存储介质
CN115580496B (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