CN111061963A - 基于多方安全计算的机器学习模型训练及预测方法、装置 - Google Patents

基于多方安全计算的机器学习模型训练及预测方法、装置 Download PDF

Info

Publication number
CN111061963A
CN111061963A CN201911194334.6A CN201911194334A CN111061963A CN 111061963 A CN111061963 A CN 111061963A CN 201911194334 A CN201911194334 A CN 201911194334A CN 111061963 A CN111061963 A CN 111061963A
Authority
CN
China
Prior art keywords
model
computation
training
machine learning
calculation
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.)
Granted
Application number
CN201911194334.6A
Other languages
English (en)
Other versions
CN111061963B (zh
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911194334.6A priority Critical patent/CN111061963B/zh
Publication of CN111061963A publication Critical patent/CN111061963A/zh
Priority to PCT/CN2020/117484 priority patent/WO2021103792A1/zh
Application granted granted Critical
Publication of CN111061963B publication Critical patent/CN111061963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供基于多方安全计算的非线性机器学习模型训练方法、模型预测方法及装置。非线性机器学习模型被分解为多个子模型,每个子模型部署在对应训练参与方处。在每次循环时,将非线性机器学习模型的模型计算分割为至少一个第一模型计算和至少一个第二模型计算。针对各个第一模型计算,经由各个训练参与方使用对应模型参数以及训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算。针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备的可信执行环境中进行可信计算。在循环未结束时,根据预测差值调整各个训练参与方的子模型。利用该方法,能够在确保隐私数据安全的情况下提高模型训练效率。

Description

基于多方安全计算的机器学习模型训练及预测方法、装置
技术领域
本说明书的实施例通常涉及计算机领域,更具体地,涉及基于多方安全计算(Multi-party Computation,MPC)的非线性机器学习模型训练方法、模型预测方法及装置。
背景技术
对于公司或企业而言,数据是非常重要的资产,比如,用户数据和业务数据。用户数据例如可以包括用户身份数据等。业务数据例如可以包括在公司提供的业务应用上发生的业务数据,比如淘宝上的商品交易数据等。保护数据安全是公司或企业广泛关注的技术问题。
在公司或企业进行业务运营时,通常会需要使用机器学习模型来进行模型预测,以确定业务运营风险或者进行业务运营决策。非线性机器学习模型是机器学习领域广泛使用的机器学习模型。在很多情况下,非线性机器学习模型需要多个模型训练参与方来协同进行模型训练,多个模型训练参与方(例如,电子商务公司、快递公司和银行)各自拥有训练非线性机器学习模型所使用的训练数据中的部分数据。该多个模型训练参与方希望共同使用彼此的数据来统一训练非线性机器学习模型,但又不想把各自的隐私数据提供给其它各个模型训练参与方以防止自己的隐私数据泄露。
面对这种情况,提出了能够保护隐私数据安全的机器学习模型训练方法,其能够在保证多个模型训练参与方的各自隐私数据安全的情况下,协同该多个模型训练参与方来训练非线性机器学习模型,以供该多个模型训练参与方使用。
发明内容
鉴于上述问题,本说明书的实施例提供了一种基于MPC的非线性机器学习模型训练方法、模型预测方法及装置,其能够在保证多个训练参与方的各自隐私数据安全的情况下提高模型训练效率。
根据本说明书实施例的一个方面,提供一种基于多方安全计算的非线性机器学习模型训练方法,其中,所述非线性机器学习模型利用第一数目个训练参与方协同训练并且被分解为第一数目个子模型,每个训练参与方具有一个子模型,所述方法包括:执行下述循环过程,直到满足循环结束条件:将训练样本数据提供给当前非线性机器学习模型,以经由各个训练参与方和可信计算设备配合计算来得到所述当前非线性机器学习模型的当前预测值,其中,所述当前非线性机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,所述第一模型计算是线性模型计算,所述第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个训练参与方,使用各自当前子模型的对应模型参数以及所述训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在所述可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果;基于所述当前预测值和样本标记值,确定当前预测差值;以及在不满足所述循环结束条件时,根据所述当前预测差值,调整各个训练参与方处的子模型,所述调整后的各个训练参与方处的子模型充当下一循环过程的各个训练参与方处的当前子模型。
可选地,在上述方面的一个示例中,各个训练参与方与所述可信计算设备之间交互的计算结果可以是经过加密后的计算结果。
可选地,在上述方面的一个示例中,所述第二模型计算还可以包括线性模型计算,以及所述第一模型计算的数目可以根据用于模型训练的算力、应用场景所要求的训练时效性和/或模型训练精度确定。
可选地,在上述方面的一个示例中,所述可信计算设备可以包括SGX设备或者TrustZone设备。
可选地,在上述方面的一个示例中,所述当前预测差值的确定过程在所述可信计算设备执行或者在拥有所述样本标记值的训练参与方处执行。
可选地,在上述方面的一个示例中,所述循环结束条件可以包括:循环次数达到预定次数;或者当前预测差值在预定差值范围内。
可选地,在上述方面的一个示例中,所述多方安全计算可以包括秘密共享、混淆电路和同态加密中的一种。
可选地,在上述方面的一个示例中,所述非线性机器学习模型可以包括逻辑回归模型或者神经网络模型。
可选地,在上述方面的一个示例中,所述训练样本数据可以包括基于图像数据、语音数据或者文本数据的训练样本数据,或者所述训练样本数据可以包括用户特征数据。
根据本说明书的实施例的另一方面,提供一种基于非线性机器学习模型的模型预测方法,其中,所述非线性机器学习模型经由第一数目个模型拥有方协同训练出并且被分解为第一数目个子模型,每个模型拥有方具有一个子模型,所述模型预测方法包括:接收待预测数据;以及将所述待预测数据提供给非线性机器学习模型,以经由各个模型拥有方和可信计算设备配合计算来得到所述非线性机器学习模型的预测值,其中,所述非线性机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,所述第一模型计算是线性模型计算,所述第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个模型拥有方,使用各自子模型的对应模型参数以及所述待预测数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在所述可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。
可选地,在上述方面的一个示例中,所述待预测数据可以包括图像数据、语音数据或者文本数据。或者,所述待预测数据可以包括用户特征数据。
根据本说明书的实施例的另一方面,提供一种基于多方安全计算的非线性机器学习模型训练装置,其中,所述非线性机器学习模型利用第一数目个训练参与方协同训练并且被分解为第一数目个子模型,每个训练参与方具有一个子模型,所述非线性机器学习模型训练装置包括:模型预测单元,将训练样本数据提供给当前机器学习模型,以经由各个训练参与方和可信计算设备配合计算来得到所述当前机器学习模型的当前预测值,其中,所述机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,所述第一模型计算是线性模型计算,所述第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个训练参与方,使用各自当前子模型的对应模型参数以及所述训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在所述可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果;预测差值确定单元,基于所述当前预测值和样本标记值,确定当前预测差值;以及模型调整单元,在不满足所述循环结束条件时,根据所述当前预测差值,调整各个训练参与方处的子模型,所述调整后的各个训练参与方处的子模型充当下一循环过程的各个训练参与方处的当前子模型,其中,所述模型预测单元、所述预测差值确定单元和所述模型调整单元循环执行操作,直到满足循环结束条件。
可选地,在上述方面的一个示例中,所述可信计算设备可以包括SGX(SoftwareGuard Extensions)设备或者TrustZone设备。
可选地,在上述方面的一个示例中,所述预测差值确定单元可以设置在所述可信计算设备或者所述模型拥有方。
根据本说明书的实施例的另一方面,提供一种基于非线性机器学习模型的模型预测装置,其中,所述非线性机器学习模型经由第一数目个模型拥有方协同训练出并且被分解为第一数目个子模型,每个模型拥有方具有一个子模型,所述模型预测装置包括:数据接收单元,接收待预测数据;模型预测单元,将所述待预测数据提供给非线性机器学习模型,以经由各个模型拥有方和可信计算设备配合计算来得到所述非线性机器学习模型的预测值,其中,所述非线性机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,所述第一模型计算是线性模型计算,所述第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个模型拥有方,使用各自子模型的对应模型参数以及所述待预测数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在所述可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:一个或多个处理器,以及与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的非线性机器学习模型训练方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的费线性机器学习模型训练方法。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:一个或多个处理器,以及与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的模型预测方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的模型预测方法。
附图说明
通过参照下面的附图,可以实现对于本说明书的实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了基于多方安全计算的非线性机器学习模型训练方法的一个示例的示意图;
图2示出了根据本说明书的实施例的基于多方安全计算的非线性机器学习模型训练方法的一个示例的示意图;
图3A示出了根据本公开的实施例的经过水平切分的训练样本集的示例的示意图;
图3B示出了根据本公开的实施例的经过垂直切分的训练样本集的示例的示意图;
图4示出了非线性机器学习模型的模型计算分割的一个示例示意图;
图5示出了根据本说明书的实施例的非线性机器学习模型的模型计算的一个示例的流程图;
图6示出了根据本说明书的实施例的基于非线性机器学习模型的模型预测方法的流程图;
图7示出了根据本说明书的实施例的模型训练装置的方框图;
图8示出了根据本说明书的实施例的模型预测装置的方框图;
图9示出了根据本说明书的实施例的用于实现基于多方安全计算的非线性机器学习模型训练的电子设备的方框图;
图10示出了根据本说明书的实施例的用于实现基于非线性机器学习模型的模型预测的电子设备的方框图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书的实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本说明书中,术语“模型拥有方”和“训练参与方”可以互换使用。
图1示出了基于多方安全计算的非线性机器学习模型训练方法100的一个示例的示意图。在图1中示出的非线性机器学习模型训练方法100中,以三个训练参与方Alice、Bob和Charlie为例来进行说明,其中,第一训练参与方Alice为训练发起方,即,使用Alice处的训练样本数据来进行训练。在图1中示出的方法中,非线性机器学习模型被分割为3个子模型结构,各个训练参与方Alice、Bob和Charlie处都具有一个子模型。
如图1所示,首先,在块110,第一训练参与方Alice、第二训练参与方Bob和Charlie初始化各自子模型的子模型参数,以获得其子模型参数的初始值,并且将已执行训练循环次数t初始化为零。这里,假设循环结束条件为执行预定次数训练循环,例如,执行T次训练循环。
在如上初始化后,循环执行块120到块160的操作。具体地,在块120,基于各个训练参与方的当前子模型来执行多方安全计算,以获得待训练的非线性机器学习模型针对训练样本数据的当前预测值
Figure BDA0002294328150000071
在得到当前预测值后,在块130,在第一训练参与方Alice处,确定当前预测值
Figure BDA0002294328150000072
与对应的标记值Y之间的预测差值
Figure BDA0002294328150000073
这里,e是一个列向量,Y是一个表示训练样本X的标记值的列向量,以及,
Figure BDA0002294328150000074
是表示训练样本X的当前预测值的列向量。如果训练样本X仅包含单个训练样本,则e、Y和
Figure BDA0002294328150000075
都是仅具有单个元素的列向量。如果训练样本X包含多个训练样本,则e、Y和
Figure BDA0002294328150000076
都是具有多个元素的列向量,其中,
Figure BDA0002294328150000077
中的每个元素是该多个训练样本中的对应训练样本的当前预测值,Y中的每个元素是该多个训练样本中的对应训练样本的标记值,以及e中的每个元素是该多个训练样本的对应训练样本的标记值与当前预测值的差值。
然后,在块140,将预测差值分别发送到第二训练参与方Bob和Charlie。
在块150,在各个训练参与方处,基于所确定的预测差值,调整各个训练参与方处的各个子模型的模型参数。
接着,在块160,判断是否达到预定循环次数。如果未达到预定循环次数,则返回到块120的操作来执行下一训练循环过程,其中,各个训练参与方在当前循环过程所获得的更新后的当前子模型被用作下一训练循环过程的当前子模型。
如果达到预定循环次数,则各个训练参与方将各自的子模型参数的当前更新值,存储为其子模型参数的最终值,从而得到各自的训练后的子模型,然后流程结束。
这里要说明的是,可选地,训练循环过程的结束条件也可以是所确定出的预测差值位于预定范围内,例如,预测差值e中的各个元素ei之和小于预定阈值,或者预测差值e中的各个元素ei的均值小于预定阈值。在这种情况下,块160的操作在块130之后执行。如果满足循环结束条件,则流程结束。否则,执行块140和150的操作,然后返回到块120,执行下一循环。
在图1中示出的非线性机器学习模型训练方法100中,在各个训练参与方处采用多方安全计算(Multi-party Computation,MPC)的方式实现非线性机器学习模型的所有模型计算。在这种情况下,针对涉及非线性计算的模型计算,需要采用泰勒展开等近似方案来实现。这种实现方案计算复杂并且模型计算精度不佳,导致模型训练效果受损以及模型训练效率不高。
鉴于上述,本说明书实施例提出一种非线性机器学习模型训练方法,在该模型训练方法中,非线性机器学习模型利用第一数目个训练参与方协同训练并且被分解为第一数目个子模型,每个训练参与方具有一个子模型。在每次循环时,将非线性机器学习模型的模型计算分割为至少一个第一模型计算和至少一个第二模型计算来配合计算,以得到预测值和预测差值。针对各个第一模型计算,经由各个训练参与方使用各自子模型的对应模型参数以及训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算。针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备的可信执行环境中进行可信计算。在循环未结束时,根据预测差值调整各个训练参与方的子模型。按照这种方式,非线性机器学习模型中的与非线性计算相关的模型计算在可信计算设备的可信执行环境中执行,而无需在各个训练方处采用例如泰勒展开的近似方案来执行MPC计算,由此提高模型训练速度以及模型计算精度,从而提升模型训练效果和模型训练效率。
在本说明书的实施例中,非线性机器学习模型所使用的训练样本数据可以包括基于图像数据、语音数据或文本数据的训练样本数据。相应地,非线性机器学习模型可以应用于基于图像数据、语音数据或者文本数据的业务风险识别、业务分类或者业务决策等等。或者,非线性机器学习模型所使用的训练样本数据可以包括用户特征数据。相应地,非线性机器学习模型可以应用于基于用户特征数据的业务风险识别、业务分类、业务推荐或者业务决策等等。
在本说明书的实施例中,非线性机器学习模型所使用的待预测数据可以包括图像数据、语音数据或文本数据。或者,非线性机器学习模型所使用的待预测数据可以包括用户特征数据。
在本说明书的实施例中,非线性机器学习模型可以包括逻辑回归模型、神经网络模型或者其它类型的非线性机器学习模型。
图2示出了根据本说明书的实施例的基于多方安全计算的非线性机器学习模型训练方法200的一个示例的示意图。在图2中示出的非线性机器学习模型训练方法200中,假设存在M(即,第一数目)个训练参与方。这里,M个训练参与方可以是拥有非线性机器学习模型训练所需数据的M个数据拥有方,即,每个数据拥有方拥有非线性机器学习模型训练所需数据的部分数据。在本说明书的实施例中,M个数据拥有方所拥有的部分数据可以是经过水平切分的训练数据,或者可以是经过垂直切分的训练数据。
图3A示出了根据本公开的实施例的经过水平切分的训练样本集的示例的示意图。图3A中示出了2个数据方Alice和Bob,多个数据方也类似。每个数据方Alice和Bob拥有的训练样本子集中的每条训练样本是完整的,即,每条训练样本包括完整的特征数据(x)和标记数据(y)。比如,Alice拥有完整的训练样本(x0,y0)。
图3B示出了根据本公开的实施例的经过垂直切分的训练样本集的示例的示意图。图3B中示出了2个数据方Alice和Bob,多个数据方也类似。每个数据方Alice和Bob拥有训练样本集中的所有训练样本中的每条训练样本的部分训练子样本,对于每条训练样本,数据方Alice和Bob拥有的部分训练子样本组合在一起,可以构成该训练样本的完整内容。比如,假设某个训练样本的内容包括标签y0和属性特征
Figure BDA0002294328150000091
则经过垂直切分后,训练参与方Alice拥有该训练样本的y0
Figure BDA0002294328150000092
以及训练参与方Bob拥有该训练样本的
Figure BDA0002294328150000093
回到图2,首先,在块210,初始化M个训练参与方处的子模型。
接着,循环执行块220到块260的操作,直到满足循环结束条件。
具体地,在块220,将训练样本数据提供给当前非线性机器学习模型,以经由各个训练参与方(第一训练参与方A 10以及第二训练参与方B、C)和可信计算设备30配合计算来得到当前非线性机器学习模型的当前预测值。
在进行模型计算时,当前非线性机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,第一模型计算是线性模型计算,第二模型计算包括非线性模型计算,如图4所示。这里要说明的是,在本说明书中,第一模型计算仅仅包括线性模型计算,而不能包括非线性模型计算。在一个示例中,第二模型计算可以仅仅包括非线性模型计算。在另一示例中,第二模型计算也可以包括线性模型计算。相应地,可以根据用于模型训练的算力、应用场景所要求的训练时效性和/或模型训练精度确定所分割出的第一模型计算的数目。
具体地,针对各个第一模型计算,经由各个训练参与方,使用各自当前子模型的对应模型参数以及训练样本数据或者在前的第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果。多方安全计算的具体实现过程可以参考本领域中的任何合适的多方安全计算实现方案。在本说明书中,多方安全计算可以包括秘密共享(SecretSharing,SS)、混淆电路(Garbled Circuit,GC)和同态加密(Homomorphic Encryption,HE)中的一种。
针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备30的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。这里,术语“可信执行环境”也可以称为可信计算环境。
图5示出了根据本说明书的实施例的非线性机器学习模型的模型计算的一个示例的流程图。在图5的示例中,非线性机器学习模型被分割为2个第一模型计算(第一模型计算1和第一模型计算2)和2个第二模型计算(第二模型计算1和第二模型计算2),其执行顺序为第一模型计算1->第二模型计算1->第一模型计算2->第二模型计算2。
如图5所示,在接收到训练样本数据后,经由训练参与方A、B和C,使用各自子模型的对应模型参数(即,第一模型计算1所对应的模型参数)来进行MPC计算,以得到第一模型计算1的计算结果。然后,将第一模型计算1的计算结果提供给可信计算设备30。可选地,第一模型计算1的计算结果可以经过加密后提供给可信计算设备30。
接着,在可信计算设备30的可信执行环境中,使用第一模型计算1的计算结果来执行第二模型计算1(即,执行可信计算),以得到第二模型计算1的计算结果。在所接收的第一模型计算1的计算结果是加密后的计算结果时,可信计算设备30需要对所接收的计算结果进行解密,然后使用解密后的计算结果来执行第二模型计算1,以得到各个训练参与方的份额(第二模型计算1的计算结果),并且将所得到的第二模型计算1的计算结果分别提供给各个训练参与方。同样,可选地,第二模型计算1的计算结果可以经过加密后提供给各个训练参与方。
在本说明书中,针对计算结果的加密和解密可以采用可信计算设备可适用的任何加密/解密方法。
在接收到第二模型计算1的计算结果后,经由各个训练参与方使用各自子模型的对应模型参数(即,第一模型计算2所对应的模型参数)来进行MPC计算,以得到第一模型计算2的计算结果。然后,将第一模型计算2的计算结果提供给可信计算设备30。可选地,第一模型计算2的计算结果可以经过加密后提供给可信计算设备30。
然后,在可信计算设备30的可信执行环境中,使用第一模型计算2的计算结果来执行第二模型计算2(即,执行可信计算),以得到当前非线性机器学习模型的当前预测值。
回到图2,在如上得到当前非线性机器学习模型的当前预测值后,在块230,基于当前预测值和样本标记值,确定当前预测差值。
这里要说明的是,在一个示例中,所述当前预测差值的确定过程可以在可信计算设备30中执行。在这种情况下,训练参与方所拥有的样本标记值需要传送到可信计算设备30。
可选地,在另一示例中,所述当前预测差值的确定过程可以在拥有样本标记值的训练参与方(第一训练参与方A 10)处执行。在这种情况下,可信计算设备30所确定出的当前预测值被反馈回第一训练参与方A 10,然后在该训练参与方处确定当前预测差值。按照这种方式,无需将样本标记值发送给可信计算设备30,从而可以进一步保护第一训练参与方A 10处的样本标记值的隐私。
接着,基于所确定出的当前预测差值,调整各个训练参与方处的子模型。例如,在块240,第一训练参与方Alice将所确定出当前预测差值分别发送给各个第二训练参与方,然后,在块250,在各个训练参与方,基于当前预测差值来更新各个训练参与方处的子模型。此外,要说明的是,在当前预测差值在可信计算设备处得出的情况下,可信计算设备将所得到的当前预测差值发送给各个训练参与方。
这里要说明的是,图2中示出的块240和250的操作仅仅是子模型调整方案的一个示例。在得到当前预测差值后,可以采用本领域中任何合适的方式来基于当前预测差值调整各个训练参与方处的子模型。
接着,在块260,判断是否达到预定循环次数。如果达到预定循环次数,则各个训练参与方将各自的子模型参数的当前更新值,存储为其子模型参数的最终值,从而得到各自的训练后的子模型,然后流程结束。
如果未达到预定循环次数,则返回到块220,执行下一循环过程,其中,所述调整后的各个训练参与方处的子模型充当下一循环过程的各个训练参与方的当前子模型。
此外,要说明的是,训练循环过程的结束条件也可以是所确定出的预测差值位于预定范围内。例如,预测差值中的各个元素之和小于预定阈值,或者预测差值中的各个元素的均值小于预定阈值。在这种情况下,块260的操作可以在块230的操作之后进行,即,在块230中确定出当前预测差值后,执行块260的操作。如果满足循环结束条件,则流程结束。否则,执行块240和250的操作,然后返回到块220,执行下一循环。
此外,要说明的是,在本说明书的一个示例中,所述可信计算设备可以包括SGX设备。SGX设备是应用有SGX架构的可信计算设备。SGX架构是Intel架构的扩展。SGX架构在原有架构上扩展了一组新的指令集和内存访问机制。这些扩展允许应用程序实现一个被称为enclave的容器,在应用程序的地址空间中划分出一块被保护的区域,为enclave容器内的代码和数据提供机密性和完整性的保护,免受拥有特殊权限的恶意软件的破坏。SGX架构以硬件安全为强制性保障,不依赖于固件和软件的安全状态,可以提供用户空间的可信执行环境。不同于其他可信计算技术,基于SGX的可信计算基(trusted computing base,TCB)仅仅包括硬件,从而避免基于软件的TCB自身存在软件安全漏洞与威胁的缺陷,极大地提升了计算安全性。此外,SGX架构可以保障运行时的可信执行环境,恶意代码无法访问与篡改其他程序运行时的保护内容,进一步增强了系统安全性。
此外,在本说明书的另一示例中,所述可信计算设备可以包括TrustZone设备。TrustZone设备是能够支持TrustZone技术的可信计算设备。
如上参照图2-图5描述了根据本说明书的实施例的非线性机器学习模型训练方法。
此外,要说明的是,在非线性机器学习模型是神经网络模型的情况下,针对神经网络模型的每层模型的模型计算,都按照图2中所示的方式来分割为至少一个第一模型计算和至少一个第二模型计算,并且经由各个训练参与方来采用MPC的方式实现各个第一模型计算,以及在可信计算设备30的可信执行环境中执行各个第二模型计算。
利用本说明书的实施例,可以提供一种非线性机器学习模型训练方法。在该非线性机器学习模型训练方法中,将非线性机器学习模型的模型计算分割为至少一个第一模型计算和至少一个第二模型计算来配合计算,以得到预测值和预测差值。针对各个第一模型计算,经由各个训练参与方使用对应模型参数以及训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算。针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备的可信执行环境中进行可信计算。按照这种方式,非线性机器学习模型中的与非线性计算相关的模型计算在可信计算设备的可信执行环境中执行,而无需经由各个训练参与方采用例如泰勒展开的近似方案来执行MPC计算,由此提高模型训练速度以及模型计算精度,从而提升模型训练效果和模型训练效率。
此外,根据本说明书的实施例的非线性机器学习模型训练方案,可以根据用于模型训练的算力、应用场景所要求的训练时效性和/或训练安全等级来确定第一模型计算的数目,由此能够在模型计算分割时折衷考虑模型训练环境要求、数据安全需求以及模型训练效率。
此外,根据本说明书的实施例的非线性机器学习模型训练方案,可以在拥有样本标记值的训练参与方处执行当前预测差值的确定过程。按照这种方式,无需将样本标记值发送给可信计算设备,从而可以进一步保护训练参与方处的样本标记值的隐私。
图6示出了根据本说明书的实施例的基于非线性机器学习模型的模型预测方法600的流程图。在图6中示出的实施例中,非线性机器学习模型经由第一数目个模型拥有方协同训练出,并且被分解为第一数目个子模型,每个模型拥有方具有一个子模型。
如图6所示,在块610,接收待预测数据。所述待预测数据可以是从任一模型拥有方处接收。
接着,在块620,将待预测数据提供给非线性机器学习模型,以经由各个模型拥有方和可信计算设备配合计算来得到非线性机器学习模型的预测值,
具体地,在进行模型计算时,将非线性机器学习模型的模型计算按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,第一模型计算是线性模型计算,第二模型计算包括非线性模型计算。针对各个第一模型计算,经由各个模型拥有方,使用各自子模型的对应模型参数以及待预测数据或者在前的第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果。针对各个第二模型计算,使用在前的第一模型计算的计算结果来在可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。
图7示出了根据本说明书的实施例的模型训练装置700的方框图。如图7所示,模型训练装置700包括模型预测单元710、预测差值确定单元720和模型调整单元730。
模型预测单元710、预测差值确定单元720和模型调整单元730循环执行操作,直到满足循环结束条件。所述循环结束条件可以包括:循环次数达到预定次数;或者当前预测差值在预定差值范围内。
具体地,模型预测单元710被配置为将训练样本数据提供给当前机器学习模型,以经由各个训练参与方和可信计算设备配合计算来得到当前机器学习模型的当前预测值,其中,所述机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,第一模型计算是线性模型计算,第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个训练参与方,使用各自当前子模型的对应模型参数以及训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备提供的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。模型预测单元710的操作可以参考上面参照图2-图5描述的块220的操作。
在本说明书的一个示例中,模型预测单元710可以包括多方安全计算模块和可信计算模块。多方安全计算模块被配置为针对各个第一模型计算,经由各个训练参与方,使用各自当前子模型的对应模型参数以及训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果。多方安全计算模块设置在各个训练参与方处。可信计算模块被配置为针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备提供的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。可信计算模块设置在可信计算设备处。多方安全计算模块和可信计算模块配合计算以得出非线性机器学习模型的预测值。
预测差值确定单元720被配置基于当前预测值和样本标记值,确定当前预测差值。可选地,预测差值确定单元720可以设置在可信计算设备处或者设置在训练参与方(第一训练参与方A 10)处。
模型调整单元730被配置为在不满足循环结束条件时,根据当前预测差值,调整各个训练参与方的子模型,所述调整后的各个训练参与方处的子模型充当下一循环过程的各个训练参与方的子模型。模型调整单元730设置在各个训练参与方处。
图8示出了根据本说明书的实施例的模型预测装置800的方框图。如图8所示,模型预测装置800包括数据接收单元810和模型预测单元820。
数据接收单元810被配置为接收待预测数据。所述待预测数据可以是从任一模型拥有方处接收。数据接收单元810设置在各个模型拥有方处。
模型预测单元820被配置为将待预测数据提供给非线性机器学习模型,以经由各个模型拥有方和可信计算设备配合计算来得到非线性机器学习模型的预测值。具体地,在进行模型计算时,将非线性机器学习模型的模型计算按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,第一模型计算是线性模型计算,第二模型计算包括非线性模型计算。针对各个第一模型计算,经由各个模型拥有方,使用各自子模型的对应模型参数以及待预测数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果。针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。
在本说明书的一个示例中,模型预测单元820可以包括多方安全计算模块和可信计算模块。多方安全计算模块被配置为针对各个第一模型计算,经由各个模型拥有方,使用各自子模型的对应模型参数以及待预测数据或者在前的第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果。可信计算模块被配置为针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。多方安全计算模块和可信计算模块配合计算以得出非线性机器学习模型的预测值。多方安全计算模块设置在各个模型拥有方处,以及可信计算模块设置在可信计算设备中。
如上参照图1到图8,对根据本说明书的实施例的非线性机器学习模型训练方法及模型训练装置、模型预测方法及模型预测装置的实施例进行了描述。上面的模型训练装置和模型预测装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图9示出了根据本说明书的实施例的用于实现基于多方安全计算的非线性模型训练的电子设备900的结构框图。
如图9所示,电子设备900可以包括至少一个处理器910、存储器(例如,非易失性存储器)920、内存930、通信接口940以及内部总线960,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线960连接在一起。该至少一个处理器910执行在计算机可读存储介质中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储有计算机可执行指令,其当执行时使得至少一个处理器910:执行下述循环过程,直到满足循环结束条件:将训练样本数据提供给当前非线性机器学习模型,以经由各个训练参与方和可信计算设备配合计算来得到当前非线性机器学习模型的当前预测值,其中,当前非线性机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,第一模型计算是线性模型计算,第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个训练参与方,使用各自当前子模型的对应模型参数以及训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果;基于当前预测值和样本标记值,确定当前预测差值;以及在不满足循环结束条件时,根据当前预测差值,调整各个训练参与方处的子模型,所述调整后的各个训练参与方处的子模型充当下一循环过程的各个训练参与方处的当前子模型。
应该理解的是,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器910执行在本说明书的各个实施例中如上结合图2-8描述的各种操作和功能。
图10示出了根据本说明书的实施例的用于实现基于非线性机器学习模型的模型预测的电子设备1000的结构框图。
如图10所示,电子设备1000可以包括至少一个处理器1010、存储器(例如,非易失性存储器)1020、内存1030、通信接口1040以及内部总线1060,并且至少一个处理器1010、存储器1020、内存1030和通信接口1040经由总线1060连接在一起。该至少一个处理器1010执行在计算机可读存储介质中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储有计算机可执行指令,其当执行时使得至少一个处理器1010:接收待预测数据;以及将待预测数据提供给非线性机器学习模型,以经由各个模型拥有方和可信计算设备配合计算来得到非线性机器学习模型的预测值,其中,非线性机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,第一模型计算是线性模型计算,第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个模型拥有方,使用各自子模型的对应模型参数以及待预测数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。
应该理解的是,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1010执行在本说明书的各个实施例中如上结合图2-8描述的各种操作和功能。
在本说明书的实施例中,电子设备900/1000可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中如上结合图2-8描述的各种操作和功能。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (19)

1.一种基于多方安全计算的非线性机器学习模型训练方法,其中,所述非线性机器学习模型利用第一数目个训练参与方协同训练并且被分解为第一数目个子模型,每个训练参与方具有一个子模型,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
将训练样本数据提供给当前非线性机器学习模型,以经由各个训练参与方和可信计算设备配合计算来得到所述当前非线性机器学习模型的当前预测值,其中,所述当前非线性机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,所述第一模型计算是线性模型计算,所述第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个训练参与方,使用各自当前子模型的对应模型参数以及所述训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在所述可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果;
基于所述当前预测值和样本标记值,确定当前预测差值;以及
在不满足所述循环结束条件时,根据所述当前预测差值,调整各个训练参与方处的子模型,所述调整后的各个训练参与方处的子模型充当下一循环过程的各个训练参与方处的当前子模型。
2.如权利要求1所述的非线性机器学习模型训练方法,其中,各个训练参与方与所述可信计算设备之间交互的计算结果是经过加密后的计算结果。
3.如权利要求1所述的非线性机器学习模型训练方法,其中,所述第二模型计算还包括线性模型计算,以及所述第一模型计算的数目根据用于模型训练的算力、应用场景所要求的训练时效性和/或模型训练精度来确定。
4.如权利要求1所述的非线性机器学习模型训练方法,其中,所述可信计算设备包括SGX设备或TrustZone设备。
5.如权利要求1所述的非线性机器学习模型训练方法,其中,所述当前预测差值的确定过程在所述可信计算设备执行或者在拥有所述样本标记值的训练参与方处执行。
6.如权利要求1所述的非线性机器学习模型训练方法,其中,所述循环结束条件包括:
循环次数达到预定次数;或者
当前预测差值在预定差值范围内。
7.如权利要求1所述的非线性机器学习模型训练方法,其中,所述多方安全计算包括秘密共享、混淆电路和同态加密中的一种。
8.如权利要求1所述的非线性机器学习模型训练方法,其中,所述非线性机器学习模型包括逻辑回归模型或者神经网络模型。
9.如权利要求1到8中任何一个所述的非线性机器学习模型训练方法,其中,所述训练样本数据包括基于图像数据、语音数据或者文本数据的训练样本数据,或者所述训练样本数据包括用户特征数据。
10.一种基于非线性机器学习模型的模型预测方法,其中,所述非线性机器学习模型经由第一数目个模型拥有方协同训练出并且被分解为第一数目个子模型,每个模型拥有方具有一个子模型,所述模型预测方法包括:
接收待预测数据;以及
将所述待预测数据提供给非线性机器学习模型,以经由各个模型拥有方和可信计算设备配合计算来得到所述非线性机器学习模型的预测值,
其中,所述非线性机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,所述第一模型计算是线性模型计算,所述第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个模型拥有方,使用各自子模型的对应模型参数以及所述待预测数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在所述可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。
11.如权利要求10所述的模型预测方法,其中,所述待预测数据包括图像数据、语音数据或者文本数据,或者所述待预测数据包括用户特征数据。
12.一种基于多方安全计算的非线性机器学习模型训练装置,其中,所述非线性机器学习模型利用第一数目个训练参与方协同训练并且被分解为第一数目个子模型,每个训练参与方具有一个子模型,所述非线性机器学习模型训练装置包括:
模型预测单元,将训练样本数据提供给当前机器学习模型,以经由各个训练参与方和可信计算设备配合计算来得到所述当前机器学习模型的当前预测值,其中,所述机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,所述第一模型计算是线性模型计算,所述第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个训练参与方,使用各自当前子模型的对应模型参数以及所述训练样本数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在所述可信计算设备提供的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果;
预测差值确定单元,基于所述当前预测值和样本标记值,确定当前预测差值;以及
模型调整单元,在不满足所述循环结束条件时,根据所述当前预测差值,调整各个训练参与方处的子模型,所述调整后的各个训练参与方处的子模型充当下一循环过程的各个训练参与方处的当前子模型,
其中,所述模型预测单元、所述预测差值确定单元和所述模型调整单元循环执行操作,直到满足循环结束条件。
13.如权利要求12所述的非线性机器学习模型训练装置,其中,所述可信计算设备包括SGX设备或TrustZone设备。
14.如权利要求12所述的非线性机器学习模型训练装置,其中,所述预测差值确定单元设置在所述可信计算设备或者所述模型拥有方。
15.一种基于非线性机器学习模型的模型预测装置,其中,所述非线性机器学习模型经由第一数目个模型拥有方协同训练出并且被分解为第一数目个子模型,每个模型拥有方具有一个子模型,所述模型预测装置包括:
数据接收单元,接收待预测数据;
模型预测单元,将所述待预测数据提供给非线性机器学习模型,以经由各个模型拥有方和可信计算设备配合计算来得到所述非线性机器学习模型的预测值,
其中,所述非线性机器学习模型的模型计算被按照第一模型计算和第二模型计算间隔的方式分割为至少一个第一模型计算和至少一个第二模型计算,所述第一模型计算是线性模型计算,所述第二模型计算包括非线性模型计算,针对各个第一模型计算,经由各个模型拥有方,使用各自子模型的对应模型参数以及所述待预测数据或者在前第二模型计算的计算结果来进行多方安全计算,以得到该第一模型计算的计算结果,以及针对各个第二模型计算,使用在前第一模型计算的计算结果来在所述可信计算设备的可信执行环境中进行可信计算,以得到该第二模型计算的计算结果。
16.一种电子设备,包括:
一个或多个处理器,以及
与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1到9中任一项所述的方法。
17.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到9中任一项所述的方法。
18.一种电子设备,包括:
一个或多个处理器,以及
与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求10或11所述的方法。
19.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求10或11所述的方法。
CN201911194334.6A 2019-11-28 2019-11-28 基于多方安全计算的机器学习模型训练及预测方法、装置 Active CN111061963B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911194334.6A CN111061963B (zh) 2019-11-28 2019-11-28 基于多方安全计算的机器学习模型训练及预测方法、装置
PCT/CN2020/117484 WO2021103792A1 (zh) 2019-11-28 2020-09-24 基于多方安全计算的机器学习模型训练及预测方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911194334.6A CN111061963B (zh) 2019-11-28 2019-11-28 基于多方安全计算的机器学习模型训练及预测方法、装置

Publications (2)

Publication Number Publication Date
CN111061963A true CN111061963A (zh) 2020-04-24
CN111061963B CN111061963B (zh) 2021-05-11

Family

ID=70299119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911194334.6A Active CN111061963B (zh) 2019-11-28 2019-11-28 基于多方安全计算的机器学习模型训练及预测方法、装置

Country Status (2)

Country Link
CN (1) CN111061963B (zh)
WO (1) WO2021103792A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111291416A (zh) * 2020-05-09 2020-06-16 支付宝(杭州)信息技术有限公司 基于隐私保护对业务模型进行数据预处理的方法及装置
CN111368983A (zh) * 2020-05-15 2020-07-03 支付宝(杭州)信息技术有限公司 业务模型训练方法、装置及业务模型训练系统
CN111651792A (zh) * 2020-07-17 2020-09-11 支付宝(杭州)信息技术有限公司 多方协同学习中的风险检测、模型增强方法及装置
CN111931870A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 基于模型复用的模型预测方法、模型预测装置及系统
CN112199706A (zh) * 2020-10-26 2021-01-08 支付宝(杭州)信息技术有限公司 基于多方安全计算的树模型的训练方法和业务预测方法
CN112270415A (zh) * 2020-11-25 2021-01-26 矩阵元技术(深圳)有限公司 一种加密机器学习的训练数据准备方法、装置和设备
CN112561085A (zh) * 2021-02-20 2021-03-26 支付宝(杭州)信息技术有限公司 一种基于多方安全计算的多分类模型训练方法和系统
WO2021103792A1 (zh) * 2019-11-28 2021-06-03 支付宝(杭州)信息技术有限公司 基于多方安全计算的机器学习模型训练及预测方法、装置
CN113434896A (zh) * 2021-08-27 2021-09-24 豪符密码检测技术(成都)有限责任公司 一种矿产资源、地理空间领域数据加密保护和使用的方法
CN113992439A (zh) * 2021-12-27 2022-01-28 支付宝(杭州)信息技术有限公司 分布式多方安全计算系统、方法和节点
CN114548255A (zh) * 2022-02-17 2022-05-27 支付宝(杭州)信息技术有限公司 一种模型的训练方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280462A (zh) * 2017-12-11 2018-07-13 北京三快在线科技有限公司 一种模型训练方法及装置,电子设备
CN108874529A (zh) * 2017-05-10 2018-11-23 腾讯科技(深圳)有限公司 分布式计算系统、方法及存储介质
CN110162995A (zh) * 2019-04-22 2019-08-23 阿里巴巴集团控股有限公司 评估数据贡献程度的方法及其装置
US20190311138A1 (en) * 2015-02-12 2019-10-10 Visa International Service Association Multi-Party Encryption Cube Processing Apparatuses, Methods and Systems
CN110399742A (zh) * 2019-07-29 2019-11-01 深圳前海微众银行股份有限公司 一种联邦迁移学习模型的训练、预测方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372769A1 (en) * 2013-06-18 2014-12-18 Sap Ag Automatic Protocol Selection in Mixed-Protocol Secure Computation
CN109684855B (zh) * 2018-12-17 2020-07-10 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
CN110365535B (zh) * 2019-07-15 2022-03-04 创新先进技术有限公司 一种基于安全多方计算的模型上线方法及装置
CN111061963B (zh) * 2019-11-28 2021-05-11 支付宝(杭州)信息技术有限公司 基于多方安全计算的机器学习模型训练及预测方法、装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190311138A1 (en) * 2015-02-12 2019-10-10 Visa International Service Association Multi-Party Encryption Cube Processing Apparatuses, Methods and Systems
CN108874529A (zh) * 2017-05-10 2018-11-23 腾讯科技(深圳)有限公司 分布式计算系统、方法及存储介质
CN108280462A (zh) * 2017-12-11 2018-07-13 北京三快在线科技有限公司 一种模型训练方法及装置,电子设备
CN110162995A (zh) * 2019-04-22 2019-08-23 阿里巴巴集团控股有限公司 评估数据贡献程度的方法及其装置
CN110399742A (zh) * 2019-07-29 2019-11-01 深圳前海微众银行股份有限公司 一种联邦迁移学习模型的训练、预测方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021103792A1 (zh) * 2019-11-28 2021-06-03 支付宝(杭州)信息技术有限公司 基于多方安全计算的机器学习模型训练及预测方法、装置
CN111291416A (zh) * 2020-05-09 2020-06-16 支付宝(杭州)信息技术有限公司 基于隐私保护对业务模型进行数据预处理的方法及装置
CN111368983A (zh) * 2020-05-15 2020-07-03 支付宝(杭州)信息技术有限公司 业务模型训练方法、装置及业务模型训练系统
CN111651792B (zh) * 2020-07-17 2023-04-18 支付宝(杭州)信息技术有限公司 多方协同学习中的风险检测、模型增强方法及装置
CN111651792A (zh) * 2020-07-17 2020-09-11 支付宝(杭州)信息技术有限公司 多方协同学习中的风险检测、模型增强方法及装置
CN111931870A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 基于模型复用的模型预测方法、模型预测装置及系统
CN111931870B (zh) * 2020-09-25 2024-02-20 支付宝(杭州)信息技术有限公司 基于模型复用的模型预测方法、模型预测装置及系统
CN112199706A (zh) * 2020-10-26 2021-01-08 支付宝(杭州)信息技术有限公司 基于多方安全计算的树模型的训练方法和业务预测方法
CN112270415A (zh) * 2020-11-25 2021-01-26 矩阵元技术(深圳)有限公司 一种加密机器学习的训练数据准备方法、装置和设备
CN112270415B (zh) * 2020-11-25 2024-03-22 矩阵元技术(深圳)有限公司 一种加密机器学习的训练数据准备方法、装置和设备
CN112561085A (zh) * 2021-02-20 2021-03-26 支付宝(杭州)信息技术有限公司 一种基于多方安全计算的多分类模型训练方法和系统
CN112561085B (zh) * 2021-02-20 2021-05-18 支付宝(杭州)信息技术有限公司 一种基于多方安全计算的多分类模型训练方法和系统
CN113434896A (zh) * 2021-08-27 2021-09-24 豪符密码检测技术(成都)有限责任公司 一种矿产资源、地理空间领域数据加密保护和使用的方法
CN113992439A (zh) * 2021-12-27 2022-01-28 支付宝(杭州)信息技术有限公司 分布式多方安全计算系统、方法和节点
CN114548255A (zh) * 2022-02-17 2022-05-27 支付宝(杭州)信息技术有限公司 一种模型的训练方法、装置及设备

Also Published As

Publication number Publication date
CN111061963B (zh) 2021-05-11
WO2021103792A1 (zh) 2021-06-03

Similar Documents

Publication Publication Date Title
CN111061963B (zh) 基于多方安全计算的机器学习模型训练及预测方法、装置
CN110942147B (zh) 基于多方安全计算的神经网络模型训练及预测方法、装置
WO2021164365A1 (zh) 图神经网络模型训练方法、装置及系统
TWI733106B (zh) 基於模型的預測方法和裝置
CN111523673B (zh) 模型训练方法、装置及系统
WO2021143466A1 (zh) 使用可信执行环境来进行神经网络模型训练的方法和装置
CN111062487B (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN112000991B (zh) 多方数据联合处理方法、装置及系统
CN111741020B (zh) 基于数据隐私保护的公共数据集确定方法、装置及系统
CN111523134B (zh) 基于同态加密的模型训练方法、装置及系统
CN111079939A (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN112132270B (zh) 基于隐私保护的神经网络模型训练方法、装置及系统
CN110929887B (zh) 逻辑回归模型训练方法、装置及系统
CN111738438B (zh) 图神经网络模型训练方法、装置及系统
CN111523556A (zh) 模型训练方法、装置及系统
CN112000978B (zh) 隐私数据的输出方法、数据处理系统及存储介质
CN111737756B (zh) 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN111523674A (zh) 模型训练方法、装置及系统
CN112183757B (zh) 模型训练方法、装置及系统
CN111738453B (zh) 基于样本加权的业务模型训练方法、装置及系统
CN111523675B (zh) 模型训练方法、装置及系统
CN112183759A (zh) 模型训练方法、装置及系统
CN111144547A (zh) 基于可信执行环境的神经网络模型预测方法及装置
WO2017065122A1 (ja) 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム
CN112183565B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028947

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant