CN115943394A - 用于安全纵向联邦学习的方法、装置和系统 - Google Patents
用于安全纵向联邦学习的方法、装置和系统 Download PDFInfo
- Publication number
- CN115943394A CN115943394A CN202080061690.5A CN202080061690A CN115943394A CN 115943394 A CN115943394 A CN 115943394A CN 202080061690 A CN202080061690 A CN 202080061690A CN 115943394 A CN115943394 A CN 115943394A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- learning model
- loss
- private
- server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
Abstract
通过以下方式使用安全纵向联邦学习来学习机器学习模型:网络机器学习模型从多个私有机器学习模型接收一组私有机器学习模型输出。所述一组私有机器学习模型输出基于所述多个私有机器学习模型中的每一个独占拥有的数据。所述一组私有机器学习模型输出基于所述数据的样本ID对齐。所述网络机器学习模型提供预测,所述预测为所述网络模型基于所述一组私有机器学习模型输出的输出。所述网络模型向所述多个私有机器学习模型中的一个传输所述预测,所述多个私有机器学习模型中的所述一个包括标签。所述网络模型从所述多个私有机器学习模型中的所述一个接收基于所述标签和所述预测的损失,基于所述损失计算梯度,并基于所述损失更新所述网络模型的参数。
Description
相关申请交叉引用
本申请要求于2019年9月9日递交的申请号为62/897,808、发明名称为“用于安全纵向联邦学习的方法和系统(METHOD AND SYSTEM FOR SECURE VERTICAL FEDERATEDLEARNING)”的美国临时专利申请案以及于2020年9月8日递交的申请号为17/014,204、发明名称为“用于安全纵向联邦学习的方法和系统(METHOD AND SYSTEM FOR SECURE VERTICALFEDERATED LEARNING)”的美国专利申请案的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及机器学习领域,尤其涉及一种用于执行安全纵向联邦学习以使用监督学习算法和训练数据集训练机器学习模型的方法和系统,其中训练数据集具有分布在多个不同计算系统之间的样本。
背景技术
机器学习模型是真实过程的计算机化表示。为了训练机器学习模型,收集数据(称为训练数据)并执行机器学习算法来学习机器学习模型的参数(例如权重和偏差)。对于许多实际应用来说,可用的数据量有限,或者数据质量低,这使得机器学习模型的训练很困难。
整合从多个数据所有者(即数据所有者)处获取的数据是获取足够数据(即训练数据)以训练机器学习模型的一种方式。然而,由于对数据共享和隐私的关注和限制日益增加,例如欧洲的《通用数据保护条例》(General Data Protection Regulation,GDPR)和《中国网络安全法》,很难(甚至不可能)传输、合并和融合从不同数据所有者获取的数据。许多数据所有者是公司;然而,这些公司认为他们的数据是不可共享的公司资产。由于担心数据被复制或有益于竞争对手,各公司通常不愿意与公司竞争对手或第三方共享他们的数据。
因此,不同数据所有者之间的大量分散、孤立数据会造成困难。对数据共享和隐私的限制使得很难传输、合并或融合从共同站点的不同数据所有者处获取的数据样本。一个这样的困难涉及生成足够大的训练数据的数据集(称为训练数据集)以有效地训练相关联的机器学习模型。
因此,需要合法有效地使用从分散、孤立的数据所有者处获取的数据来训练机器学习模型,同时保护数据的私密性、机密性和安全性。
提供该背景信息是为了揭示申请人认为可能与本发明相关的信息。不必有意承认,也不应该解释任何前述信息构成针对本发明的现有技术。
发明内容
本发明实施例提供了用于安全纵向联邦学习(secure vertical federatedlearning,SVFL)和SVFL系统的后续操作的方法、计算设备和系统。通过允许数据所有者安全地保密其数据来提供安全性。纵向联邦学习是一类机器学习,涉及使用监督学习算法和来自多个数据所有者的数据样本训练机器学习模型,其中,不同的数据所有者可以拥有相同或重叠的数据样本集,但记录这些数据样本集中至少一个数据样本的不同特征集。下面根据本发明实施例描述的各种学习操作可以由集中和私有机器学习模型或相应的计算装置迭代地并按其适当的次序执行。学习操作由不同数据所有者的计算系统以及(例如基于云的)服务器执行。每个数据所有者可以与一个或多个虚拟机或物理机相关联,这些虚拟机或物理机执行学习算法,以在模型训练期间学习模型的参数。所述服务器还可以包括一个或多个此类机器。本发明还提供了经过训练(通过机器学习)的计算系统和服务器的后续操作。所述操作也以保持数据和模型参数的隐私的纵向联合方式执行。
本发明实施例提供了一种用于机器学习模型的安全纵向联邦学习的方法,所述机器学习模型可以是中央机器学习模型或私有机器学习模型。所述方法包括:运行中央机器学习模型的服务器接收一组输出。所述一组输出从多个计算系统(每个计算系统运行多个私有机器学习模型中的不同的相应一个)中的每一个接收。所述多个计算系统中的不同计算系统传输基于识别的数据样本的不同相应部分生成的所述一组输出中的不同相应输出。所述一组输出基于识别所述数据样本的样本ID对齐。所述方法还包括:所述服务器提供由所述中央机器学习模型基于所述一组输出计算的预测。所述方法还包括:在所述服务器处接收损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出。所述方法还包括:基于所述损失发起所述机器学习模型的当前模型参数的更新。这可以包括:所述服务器更新所述中央机器学习模型,或者向另一个计算设备传输消息,所述消息指示所述损失或所述损失的梯度,并且所述消息使得在所述另一个计算设备处发生所述更新。
在一些实施例中,所述方法包括:所述服务器计算所述损失相对于所述中央机器学习模型的模型参数的梯度。然后,直接或间接基于所述损失的所述梯度更新接受训练的所述机器学习模型的所述当前模型参数。间接基于所述梯度的更新可以包括使用导数的链式法则计算进一步的梯度,并基于所述进一步的梯度进行更新。
在一些实施例中,提供所述预测包括:向所述多个计算系统中的指定计算系统(例如,对应于任务所有者)传输所述预测。具体地,所述指定计算系统保存所述标签。所述损失由所述指定计算系统计算,并且接收所述损失包括从所述指定计算系统接收所述损失。
在一些实施例中,提供所述预测包括:向所述服务器的训练功能提供所述预测。所述训练功能保存所述标签,并且接收所述损失包括从所述训练功能接收所述损失。在此类实施例中,所述方法还包括:在所述接收所述预测之前,所述服务器从所述计算系统中的指定计算系统接收所述标签,并将所述标签存储在所述服务器可访问的存储器中;使用所述训练功能计算所述损失。
在一些实施例中,接受训练的所述机器学习模型为所述中央机器学习模型,所述方法还包括:所述服务器基于所述损失更新所述中央机器学习模型的所述当前模型参数。
在其它实施例中,接受训练的所述机器学习模型为所述多个私有机器学习模型中的一个,并且发起接受训练的所述机器学习模型的当前模型参数的更新包括:所述服务器向运行所述多个私有机器学习模型中的一个的计算系统传输所述损失的指示或所述损失的梯度的指示。
在一些实施例中,所述损失的所述梯度为相对于所述中央机器学习模型的模型参数的梯度。在此类实施例中,更新所述私有机器学习模型中的所述一个的所述当前模型参数直接基于所述损失相对于所述当前模型参数的梯度,所述损失相对于所述当前模型参数的所述梯度使用实现导数链式法则的计算从相对于所述中央机器学习模型的模型参数的所述梯度计算得出。
在各实施例中,所述方法还包括:重复所述训练方法直到达到收敛条件。
本发明实施例提供了一种服务器,包括:计算机处理器,可操作地耦合至存储器;通信接口。所述服务器运行中央机器学习模型。所述服务器用于:从多个计算系统(每个计算系统运行多个私有机器学习模型中的不同的相应一个)中的每一个接收所述私有机器学习模型的一组输出,其中,所述多个计算系统中的不同计算系统传输基于识别的数据样本的不同相应部分生成的所述一组输出中的不同相应输出,所述一组输出基于识别所述数据样本的样本ID对齐。所述服务器还用于:提供由所述中央机器学习模型基于所述一组输出计算的预测。所述服务器还用于:接收基于所述预测与对应于所述数据样本的标签的比较计算得出的损失。所述服务器还用于:基于所述损失发起接受训练的所述机器学习模型的当前模型参数的更新。
根据各实施例,所述服务器可以用于根据上述方法的各实施例进行操作。
本发明实施例提供了一种用于训练机器学习模型的方法。所述方法包括:运行(例如,任务所有者的)指定私有机器学习模型的第一计算系统向运行中央机器学习模型的服务器传输:样本ID;所述指定私有机器学习模型的输出。所述输出基于由所述样本ID识别的数据样本的一部分生成。多个计算系统(包括所述第一计算系统)中的每一个运行多个私有机器学习模型(包括所述指定私有机器学习模型)中的不同的相应一个。所述多个计算系统中的每一个传输一组私有机器学习模型输出(包括所述输出)中的不同的相应一个。所述一组输出中的每一个基于所述数据样本的不同相应部分生成,并且所述一组输出基于所述样本ID对齐。所述方法还包括:所述计算系统从所述服务器接收由所述中央机器学习模型基于组合的所述一组输出计算的预测。所述方法还包括:所述计算系统向所述服务器提供损失。所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出。所述标签可以保存在所述第一计算系统可私有访问并且所述服务器和所述多个计算系统中的其它计算系统不可访问的存储器中。随后,基于所述损失发起接受训练的所述机器学习模型的当前模型参数的更新。
根据上述方法的各实施例,接受训练的所述机器学习模型为所述中央机器学习模型或所述多个私有机器学习模型中的一个。
根据上述方法的各实施例,接受训练的所述机器学习模型的所述当前模型参数的所述更新基于计算的所述损失相对于接受训练的所述机器学习模型的模型参数的梯度执行。
根据上述方法的各实施例,所述多个计算系统中的每一个包括相应的私有数据存储空间,每个相应的私有数据存储空间:可由所述多个计算系统中的相应一个访问并且不可由所述服务器和所述多个计算系统中的其它计算系统访问;保存所述数据样本的所述不同相应部分中的相应一个。
本发明实施例提供了方法的组合,包括由运行中央机器学习模型的服务器和运行私有机器学习模型的一个或多个计算系统执行的方法。本发明实施例提供了诸如计算系统或服务器之类的装置,或此类装置的系统,所述装置或系统用于根据上述方法中的一种或多种进行操作。每个私有机器学习模型使用相应的(私有)计算系统运行。所述中央机器学习模型使用相应的(例如基于云的)服务器运行。本发明实施例还提供了一种包括(例如非瞬时性)计算机可读介质的计算机程序产品,所述计算机可读介质上记录有语句和指令。当所述语句和指令由一台计算机或多台计算机执行时,相应的一台计算机或多台计算机实现上述方法中的一种或多种。
本发明实施例的潜在技术效果如下。可以基于来自多个实体(数据所有者)的数据执行机器学习,无需数据所有者以加密或非加密的形式共享其数据。可以潜在地支持安全、准确且高效的通用机器学习。数据所有者不需要发送其私有数据或其机器学习模型参数。虽然可以共享机器学习模型输出,但这不被认为构成私有数据的共享。不需要近似,不需要加密,并且所述方法与各种机器学习模型兼容。
附图说明
结合附图,通过以下详细描述,本发明的进一步特征和优点将变得显而易见,在附图中:
图1示出了本发明的一个示例实施例提供的需进行纵向联邦学习的两个数据所有者的垂直分区数据;
图2示出了本发明的一个实施例提供的用于使用监督学习算法针对特定任务训练机器学习模型的安全纵向联邦学习(Secure Vertical Federated Learning,SVFL)系统;
图3A示出了本发明的一个实施例提供的由图2所示SVFL系统执行以针对所述特定任务训练所述机器学习模型的方法;
图3B示出了本发明的一些实施例提供的图3A所示方法的进一步细节;
图4示出了本发明的一个实施例提供的可用于生成对新数据的预测的经过训练的SVFL系统;
图5A示出了本发明的一个实施例提供的由图4所示的经过训练的SVFL系统执行以生成预测的方法;
图5B示出了本发明的一些实施例提供的图5A所示方法的进一步细节;
图6示出了本发明的一个可替代实施例提供的用于使用监督学习算法针对特定任务训练机器学习模型的安全纵向联邦学习(Secure Vertical Federated Learning,SVFL)系统;
图7示出了本发明的另一个可替代实施例提供的用于使用监督学习算法针对特定任务训练机器学习模型的安全纵向联邦学习(Secure Vertical Federated Learning,SVFL)系统;
图8A示出了本发明的一个实施例提供的由图7所示SVFL系统执行以针对所述特定任务训练所述机器学习模型的方法;
图8B示出了本发明的一些实施例提供的图8A所示方法的进一步细节;
图9示出了本发明的一个实施例提供的数据所有者模型和云模型之间的关系;
图10示出了可用于实现本文描述的SVFL和方法的计算设备。
需要说明的是,在整个附图中,相同的特征由相同的附图标记标识。
具体实施方式
本发明实施例提供了安全纵向联邦学习(Secure Vertical FederatedLearning,SVFL)方法和系统,以安全地训练用于监督机器学习任务的私有机器学习模型。训练使用由多个数据所有者拥有和存储的私有数据执行。数据所有者运行与中央机器学习模型交互的计算系统,所述中央机器学习模型在中央服务器上运行。训练还使用用于所述监督机器学习任务的中央机器学习模型,而不侵犯这些数据所有者的数据隐私和模型隐私。模型隐私是指私有数据所有者用来表示供使用数据的结构和参数的隐私。数据的使用可以包括,例如,使用所述数据生成私有机器学习模型,基于输入到所述私有机器学习模型中的观察结果(即,新数据样本)使用所述模型生成推断或预测,或其组合。
本文中使用的术语“数据样本”是指存储的数据,所述存储的数据涉及特定实体,例如具有可观察并且可记录为数据的特征的个人、对象或其它可识别实体。可以使用对应的样本ID识别每个数据样本。数据样本集是指多个不同的数据样本。数据样本可以具有多个描述对应实体的不同属性的数据特征(或简称为“特征”)。例如,不同的数据特征可能与一个人的不同财务、社交或行为数据相关。如果数据样本表示为向量,则数据特征可以表示为所述向量的分量。在各实施例中,出于训练目的,不需要从数据样本集中进行采样。相反,可以假设数据样本集是从所有数据的潜在分布中采样的。
通常,根据本发明实施例,首先通过与数据所有者的计算系统交互来训练中央服务器上的中央(共享)机器学习模型。在中央机器学习模型经过充分训练(例如到收敛)之后,例如,依次训练在每个数据所有者的计算系统上运行的私有机器学习模型。然后,可以迭代地重复先训练中央机器学习模型再训练私有机器学习模型的过程,直到实现充分的训练(例如收敛)。例如,在外循环中,训练中央机器学习模型,并且依次训练每个私有机器学习模型,该过程不断重复直到实现收敛。可能会出现一个或多个内循环。在每个内循环中,训练中央机器学习模型或者训练私有机器学习模型中的一个。
在各实施例中,在训练中央机器学习模型的过程中发生的交互包括:将来自私有机器学习模型的输出提供给中央机器学习模型;基于所述输出将中央机器学习模型的当前预测提供给任务所有者的计算系统;将来自任务所有者的计算系统的损失(指示预测性能的反馈)提供回中央机器学习模型。任务所有者可以基于其保存的标签提供所述损失。任务所有者在本文中也称为指定所有者,任务所有者的计算系统(例如运行任务所有者的私有机器学习模型的计算系统)也称为指定计算系统。
应理解,在此处和其它地方,运行机器学习模型以及在不同机器学习模型之间通信涉及运行私有机器学习模型的计算系统(例如,任务所有者的计算系统或数据所有者的计算系统)、运行中央服务器或其组合。
在各实施例中,在训练私有机器学习模型的过程中发生的交互可以包括:将来自私有机器学习模型的输出提供给中央机器学习模型;基于所述输出将来自中央机器学习模型的当前预测提供给任务所有者的计算系统;将来自任务所有者的计算系统的损失提供回中央机器学习模型;将所述损失的梯度提供给接受训练的私有机器学习模型;将来自接受训练的私有机器学习模型的更新输出提供给中央机器学习模型。所述更新输出是在调整接受训练的私有机器学习模型的模型参数后生成的。
训练之后,例如,机器学习模型可用于进行预测。任务所有者(例如,私有数据所有者)的计算系统将其私有机器学习模型的输出发送到中央服务器(即,中央机器学习模型)。所述输出基于需要预测的样本中其对应的特征部分。此外,还提供样本ID。接下来,执行协作,其中每个数据所有者的每个计算系统为同一样本的自身部分提供其机器学习模型输出。(回想一下,不同数据所有者的计算系统具有同一样本的不同特征)。机器学习模型的输出提供给中央机器学习模型。然后,中央机器学习模型生成预测,所述预测是基于私有机器学习模型的输出生成的中央机器学习模型的输出。向任务所有者的计算系统提供中央机器学习模型的预测,任务所有者的计算系统基于该预测做出最终预测。
在一些实施例中,可以将每个私有机器学习模型视为特征提取器。然后,中央机器学习模型连接这些私有机器学习模型提供的特征(例如,特征图),并将连接的特征图馈送到其模型中。本段中的术语“特征”可以与本文中其它地方使用的该术语有所区别。
本文中使用的各种术语应在机器学习的上下文中进行一般性解释。例如,机器学习模型、参数、预测、损失、损失函数、标签、样本、特征等都可以解释为本领域的技术人员容易理解的机器学习术语,例如参考Christopher M.Bishop的《模式识别与机器学习》(Pattern Recognition and Machine Learning)(Springer,2006年)。
例如,标签可以指机器学习模型做出的一些预测的值。在一些情况下,一些数据可以标记为先验,例如在监督机器学习的情况下。在监督机器学习的情况下,训练数据可能就是这种情况。机器学习模型输出的预测可以与此类标签进行比较,两者之间的误差可以量化为反馈给机器学习模型的损失。标签可以解释为数据样本的真实预测结果。标签可以存储在本地、云中或两者中。
根据各实施例,每个数据所有者不一定要与其它方(包括其它数据所有者)共享其数据。同样地,数据所有者也不一定要与其它方共享其机器学习模型的参数(即权重和偏差)。在计算中不一定要使用近似。由于不共享专有数据,因此不一定需要加密,并且可以使用未加密或纯文本数据进行通信。
一些实施例侧重于垂直分区数据的一般场景,其中不同的数据所有者私有地拥有并存储同一数据样本集的不同特征集。一个说明性示例是智能零售,其中零售商(例如,)可以通过使用来自银行(例如,TD)的财务数据和来自社交网络公司(例如,)的社交关系数据显著提高个性化产品推荐的性能。同样地,该银行可能能够通过使用来自该零售商的购买数据和来自该社交网络公司的社交关系数据显著提高信用评分评估的准确性。该社交网络公司可能能够通过分析来自该银行的财务数据和来自该零售商的购买数据更准确地推送用户感兴趣的内容。因此,数据所有者之间的数据共享可以潜在地提高每个数据所有者的系统的性能。然而,数据所有者(例如该零售商、该银行和该社交网络公司)都不愿透露其私有数据或私有机器学习模型。
纵向联邦学习系统可以被视为具有N个数据所有者{F1,F2,…,FN},其中任何一个数据所有者均可能希望通过整合自己的数据和来自其它数据所有者的数据来训练机器学习模型。数据由{D1,D2,…,DN}表示,其中Di表示数据所有者Fi的数据。如果所有数据在N个数据所有者之间自由共享,他们将能够共同训练机器学习模型MSUM。也就是说,MSUM将使用D1∪、D2∪…∪DN进行训练。相反,本发明实施例提供了一种纵向联邦学习方法,其中,数据所有者的计算系统协同训练机器学习模型MFED,使得在训练期间,任何数据所有者Fi的数据Di均不会暴露给其它数据所有者Fk,其中k≠i。此外,根据本发明的各实施例,MFED的准确度(表示为VFED)可以足够接近假设的完全协同机器学习模型(即,当使用自由共享的所有数据共同训练模型时学习的模型)MSUM的准确度VSUM。更正式地,将δ设为非负实数。当使用联邦学习学习到的机器学习模型(“联邦学习模型”)MFED与假设的完全协同机器学习模型MSUM之间的准确度损失表示为:
|VFED–VSUM|<δ.时。
则可以说,所述联邦学习模型相对于所述完全协同模型具有δ准确度损失,其中所述完全协同模型用作基准。
图1示出了本发明的一个实施例提供的用于纵向联邦学习的数据的垂直分区。图1示出了多个数据所有者{F1,F2,…,FN}拥有的数据100{D1,D2,…,DN}。在这种情况下,出于说明目的,数据所有者的数量为N=2。每个数据集可以被视为具有多个数据样本102,如垂直所示。每个数据样本可以具有多个数据特征104。例如,每个数据样本可以对应一个人。网上零售商将拥有与针对其用户的个性化产品推荐相关的数据,不同的数据条目可以表示为不同人(数据样本)的数据特征。同样地,银行将拥有其用户的财务数据,例如信用评分。社交媒体公司将拥有其用户的社交关系数据。在同一个人(数据样本)具有多个或所有数据所有者可访问的数据(特征)的情况下,不同的数据所有者将拥有相同数据样本的不同数据特征。
如图1所示,数据所有者1拥有对应于其多个用户(人员)的数据106,数据所有者2拥有对应于其多个用户的数据108。框110的垂直跨度表示数据所有者1和数据所有者2均拥有其数据的人员(数据样本)。然而,与数据所有者2相比,数据所有者1拥有这些共同人员的不同(可能重叠)的数据特征。框110表示两个数据所有者共同拥有的这些共同人员的数据特征。当框110大致如图所示时,数据被垂直分区,并且可以使用如本文所述的纵向联邦学习。根据垂直分区,不同的数据集{D1,D2,…,DN}包含同一数据样本集的不同特征子集。{D1,D2,…,DN}中包含的特征子集可以相互重叠,也可以不相互重叠。
为了识别和对齐多个不同数据所有者可能拥有其数据的数据样本,可以使用唯一样本ID或键来识别每个数据样本。对于某个人员,样本ID可以是但不限于姓名、出生日期、年龄、地址、政府身份证号码或这些数据的组合,其允许从多个数据源组合某个人员的这些数据。
图2示出了本发明的一个实施例提供的用于针对特定任务T训练机器学习模型的SVFL系统200。在训练阶段,SVFL系统200学习任务T的私有机器学习模型,并进一步学习任务T的中央机器学习模型。SVFL系统200包括任务所有者的计算系统116和多个数据所有者的计算系统(118-1、……、118-k),这些计算系统与中央机器学习模型204交互,中央机器学习模型204可以位于在云(例如,数据中心)中或其它位置运行的中央服务器205中。存在任意数量的k个数据所有者,图2中仅示出并标记了三个数据所有者1、2和k的计算系统。(为了与图1合并,计算系统116可以被视为对应于拥有数据106的数据所有者(和任务所有者),计算系统118可以被视为对应于拥有数据108的数据所有者。)尽管任务所有者被指定为数据所有者j=1,但应理解,这是仅出于说明目的的任意索引。
本文中使用的术语“云”是指按需可用并且不位于任何数据所有者处的计算资源(即,数据存储和计算能力)。“云”可以是Amazon AWS、Microsoft Azure等公共云计算平台、私有云或混合云。“云”的计算资源可以包括物理服务器、服务网络、分布式服务器、虚拟服务器或本领域已知的其它形式的网络服务器和服务技术。这些服务器可以位于数据中心,或者使用位于数据中心的组件进行实例化。这些服务器包括用于处理和存储软件(即,中央机器学习模型的软件)和数据(例如,中央机器学习模型的参数、私有机器学习模型的输出、私有机器学习模型的损失、中央机器学习模型生成的预测以及与数据所有者通信的网络基础设施)的计算资源。
对应于计算系统116的任务所有者是私有地拥有特定任务T的私有机器学习模型的数据所有者。任务所有者私有地拥有并存储(在计算系统116上)与任务T相关的标签208,并且它私自为其私有机器学习模型定义损失函数。任务所有者私有地拥有并存储(在计算系统116上)与任务T相关的私有机器学习模型,并存储其数据集,所述数据集用于在训练阶段针对任务T训练其私有机器学习模型。在训练机器学习模型之前,任务所有者通过将其私有机器学习模型的每个参数设置为初始值来初始化私有机器学习模型212。在各实施例中,任何数据所有者都可以通过使用SVFL系统200发起任务而成为任务所有者。发起任务可以包括启动以下过程:启动SVFL系统200以训练特定任务T的机器学习模型,包括特定任务T的每个私有机器学习模型和中央模型。例如,发起任务可以包括执行必要的操作以启动训练图像分类器的过程。发起任务可以包括定义某个任务并至少向中央机器学习模型传输消息,所述消息触发对应于所述任务的机器学习操作。定义所述任务可以包括此处描述的初始化操作以及SVFL系统200的动作。数据所有者的计算系统可以发起任意数量的任务,从而针对任意数量的任务发起相应机器学习模型的训练。然而,在各实施例中,要求每个任务一次只有一个任务所有者。
如本领域技术人员容易理解的,损失函数是接收机器学习模型的输出(例如预测)并计算损失(基于所接收的输出计算的该损失函数的输出)的函数(相当于代价函数、误差函数或目标函数)。在监督学习中,每个训练数据包括输入(例如训练数据样本)和输出(标签,可以是真实输出或预期输出)。该损失反映了机器学习的输出(例如预测)和标签之间的差异。该损失用于反向传播,以更新机器学习模型的模型参数。可以使用各种损失函数,例如确定均方误差、铰链损失、交叉熵损失等的损失函数。用于训练机器学习模型的适当损失函数取决于正在针对其训练机器学习模型的特定任务。
对于数据所有者2至k,这些k-1个数据所有者中的每一个都将他们自己的私有数据集(224-1、……、224-k)存储在他们的对应计算系统(118-1、……、118-k)上。k-1个数据所有者拥有和存储的每个私有数据集被垂直分区(例如,如上面结合图1一般描述的)。数据所有者的计算系统可以根据需要针对任意数量的任务训练私有机器学习模型,但是可能要求一个任务一次只有一个任务所有者。每个k-1数据所有者私有地拥有并存储私有机器学习模型(222-1、……、222-k),所述私有机器学习模型在训练阶段期间使用从该数据所有者的私有数据集(224-1、……、224-k)采样的私有数据进行训练。所有数据所有者使用其私有数据和私有机器学习模型,与在SVFL系统200中的中央服务器205上运行的中央机器学习模型204进行交互。例如,所述交互本身可以通过交换机器学习输出、损失和损失梯度来执行。这样做是为了在不侵犯任何数据所有者的数据隐私和模型隐私的情况下实现任务T的整体机器学习模型。
任务T的中央机器学习模型204(即,模型0)位于中央服务器205中,并且在训练阶段期间接受训练。执行所述训练的目的在于,经过训练后,中央机器学习模型可用于在后续推理阶段期间进行预测。经过训练的中央机器学习模型可以存储在云中,例如,存储在中央服务器205中。出于安全和隐私考虑,私有数据集不存储在云中,也不存储在其相应数据所有者的私有存储资源之外的任何位置。云包括必要的计算资源(即,虚拟机和存储空间),用于存储任务T的中央机器学习模型204并执行任务T的中央机器学习模型204的训练。
在各实施例中,不同数据所有者的计算系统之间不存在直接连接。相反,交互仅在中央机器学习模型(即运行中央机器学习模型的服务器)和相应数据所有者的计算系统之间成对发生。中央机器学习模型204与任务所有者的计算系统116之间的交互可以包括以下步骤或由以下步骤组成:
·计算系统116将其任务T的私有机器学习模型212(模型1)的输出216发送到任务T的中央机器学习模型204(模型0)。输出216可以是所述私有机器学习模型做出的预测。
·任务T的中央机器学习模型204(模型0)将相对于任务所有者的私有机器学习模型212(例如,模型1)的输出216的损失的梯度218发送到计算系统116。
·任务T的中央机器学习模型204将其为任务T生成的预测209发送到计算系统116。
·计算系统116将为其私有机器学习模型212(例如,模型1)确定的损失值210发送到任务T的中央机器学习模型204。
托管任务T的中央机器学习模型204的中央服务器205与不是任务所有者的数据所有者的计算系统(118-1、……、118-k)之间的交互结合数据所有者2的计算系统118-1进行了举例说明,并且包括以下步骤或由以下步骤组成:
·计算系统118-1将其任务T的私有机器学习模型222-1(例如,模型2)的输出226-1发送到任务T的中央机器学习模型204(例如,模型0)。输出216-1可以是所述私有机器学习模型做出的预测。
·任务T的中央机器学习模型204(例如,模型0)将相对于数据所有者2的私有机器学习模型222-1(例如,模型2)的输出226-1的损失的梯度228发送到计算系统118-1。
可以使用特定符号来解释SVFL系统200的实施例所使用的过程。其中一些符号如下所示:
·Xj(其中,j∈{1,…,k})表示数据所有者j的计算系统的训练数据的集合(称为训练数据集)。训练数据集可以包括由数据所有者j的计算系统收集并由数据所有者j的计算系统存储在存储空间中的部分或全部数据,包括所述数据样本的部分或全部特征。训练数据是指专门用于训练机器学习模型的数据。如上所述,特征可以指数据样本的一部分,在垂直分区数据的情况下,不同数据所有者的计算系统可以存储同一数据样本的不同特征。
·如果采用SVFL方法的全数据训练,则Xj表示数据所有者j的计算系统保存的所有训练数据的集合。全数据训练是指使用所有可用数据训练机器学习模型的情况。
·如果在SVFL系统200的训练期间采用随机训练方法,则Xj可以表示数据所有者j的计算系统拥有和存储的随机采样的训练数据样本的集合。随机训练是指使用所有可用数据的随机子集训练机器学习模型的情况。
·(X1、……、Xk)中的所有数据样本使用唯一样本ID对齐。假设样本ID在数据所有者的计算系统中一致。也就是说,如果两个计算系统具有用于同一样本(例如人员)的两个相应的数据条目,则使用相同的样本ID对这两个数据条目建立索引。
·θj(其中,j∈{1,…,k})表示数据所有者j的计算系统的私有机器学习模型(例如,212、222-1、……、222-k)j的参数的集合。每个私有机器学习模型j的参数的集合包括可以在私有机器学习模型j的训练阶段期间获知的内部变量。
·gj(Xj│θj)(其中,j∈{1,…,k})表示数据所有者j的计算系统的私有机器学习模型(例如,212、222-1、……、222-k)。
·oj=gj(Xj│θj)(其中,j∈{1,…,k})表示相对于Xj的私有机器学习模型j的输出(例如,216、226-1、……、226-k)。机器学习模型输出可根据任务进行配置,但通常与模型基于其中提供的输入生成的所需预测或信息有关。模型输出的示例可以是:指示输入属于哪个类别的分类输出,以及指示基于一个或多个输入的预测结果变量的回归输出。输出oj可以被视为输入Xj的抽象特征,作为私有机器学习模型的输出。
·θ0表示中央机器学习模型204(例如,模型0)的参数的集合。中央机器学习模型204的参数的集合在本发明的SVFL方法的训练阶段期间获知。
·g0(o1,…,ok│θ0)表示存储在云中的中央机器学习模型204(模型0)。
·o0=g(o1,…,ok│θ0)表示中央机器学习模型204(模型0)的输出209。此处,o0还表示由中央机器学习模型204为任务T生成的预测。
图3A和图3B示出了一个实施例提供的由图2所示SVFL系统200执行以训练私有机器学习模型(212、222-1、……、222-k)和中央机器学习模型204的方法300。在步骤302中,初始化SVFL系统200。例如,可以由每个数据所有者j的计算系统在数据所有者之间以一致的方式生成匿名样本ID。可以使用散列方法为每个样本ID生成唯一的散列键,以用作匿名样本ID。如果两个散列键相同,则它们对应的样本ID应该相同。这样,每个数据所有者的计算系统就可以自己私下计算散列键,并且只将散列键发送到云。中央机器学习模型204(例如,模型0)从所有数据所有者j处收集匿名样本ID,并对齐(X1、……、Xk)中的数据样本。
在各实施例中,样本ID通过请求/响应消息传递来提供。如前所述,每个样本都有唯一的样本ID。例如,可以使用散列技术生成样本ID。例如,一个人的服务卡ID号码可以是这个人的唯一ID。在一些实施例中,可以使用散列技术将样本ID匿名化。例如,匿名服务卡ID可以用作样本ID。
接下来,数据所有者1的计算系统116通过发起任务T成为任务所有者。数据所有者1的计算系统116初始化(例如随机地)其私有机器学习模型212(例如,模型1)的参数θ1,并向中央机器学习模型204(模型0)发送任务发起请求。基于从任务所有者处接收的任务发起请求,中央服务器205初始化(例如随机地)中央机器学习模型204(例如,模型0)的参数集合θ0,并向数据所有者2至k的计算系统(例如,118-1、……、118-k)广播任务发起请求。基于从中央机器学习模型204(例如,模型0)接收的任务发起请求,每个数据所有者2至k的每个计算系统(118-1、……、118-k)初始化(例如随机地)其私有机器学习模型222-1(例如,模型2)、……、222-k(例如,模型k)的参数。中央服务器205可以由运行计算机设备(例如计算资源)的云计算平台提供,并且可能与运行所述中央机器学习模型的所述计算机设备(例如计算资源)共置或集成。
例如,可以通过从任务所有者向中央服务器205发送TCP/IP连接请求,并从任务所有者向中央服务器205发送请求被识别为任务所有者的预定义消息来提出任务发起请求。同时,任务所有者还可以向所述服务器发送一组匿名样本ID,使得所述服务器可以进一步使用这组匿名样本ID与其它数据所有者进行协调。所述服务器向其它数据所有者的计算系统广播的任务发起请求类似,但是在这种情况下,是所述服务器向所述其它数据所有者的计算系统发送TCP/IP连接请求。所述服务器还将向其它数据所有者的计算系统发送从任务所有者处接收的所述一组匿名样本ID。这样,数据所有者的计算系统将了解为任务请求的是哪一组数据。
在步骤304中,结合图3B,训练中央机器学习模型204(例如,模型0)。数据所有者1至k的每个计算系统(116、118-1、……、118-k)从仅可由该计算系统访问的存储空间中检索(332)一批数据样本,并将检索到的一批数据样本作为输入提供给它们自己的私有机器学习模型(例如,212、222-1、……、222-k)。每个相应的私有机器学习模型(例如,212、222-1、……、222-k)为此类输入数据样本计算(334)输出(例如,输出o1、……、ok)。这些输出(o1、……、ok)被发送(336)到中央机器学习模型204(模型0),并用作所述中央机器学习模型的输入。然后,基于从数据所有者1至k的计算系统(116、118-1、……、118-k)接收的输出(o1、……、ok),中央机器学习模型204(模型0)计算(338)其预测o0=g0(o1,…,ok│θ0),并向任务所有者(即,数据所有者1)的计算系统116发送(340)预测o0。预测o0是给定当前模型参数θ0并响应于所接收的输入(即所述私有机器学习模型的输出o1、……、ok)时中央机器学习模型204的输出。
应注意,中央机器学习模型204是接收其它机器学习模型的输出(o1、……、ok)作为其输入的模型。这与接收数据样本(X1、……、Xk)作为输入的中央机器学习模型形成对比。也就是说,所述中央机器学习模型基于私有机器学习模型的输出进行训练,这维护了数据所有者的数据隐私,因为不与其它数据所有者共享数据样本。此外,所述私有机器学习模型与所述(至少部分地)经过训练的中央机器学习模型协调训练。机器学习模型之间训练操作的交互迭代进一步促进了训练。
基于从中央机器学习模型204(模型0)接收的预测o0,任务所有者的计算系统116使用与检索到的数据样本相关联的标签计算与其任务T相关的损失,并将所述损失发送回运行中央机器学习模型204(例如,模型0)的中央服务器205。基于由计算系统116计算的所述损失,中央服务器205计算所述损失相对于其当前参数的梯度,表示为也称为中央机器学习模型204(例如,模型0)的“梯度”。然后,中央服务器205使用所述梯度更新中央机器学习模型204(例如,模型0)的参数θ0。迭代步骤304(例如,使用不同的样本)直到实现中央机器学习模型204(例如,模型0)的充分收敛。
更新中央机器学习模型204的参数θ0可以使用各种方法来执行,例如反向传播,如本领域技术人员容易理解的,该方法根据监督学习反馈调整所述中央机器学习模型的参数θ0。例如,可以基于反馈调整神经网络节点权重,使得所述模型生成改善结果的预测,所述改善通过反馈(损失)衡量。
在多种条件下可视为实现了中央机器学习模型204的充分收敛。在一些实施例中,当迭代次数超过用户或SVFL系统200指定的最大迭代次数时,可以发生充分收敛。在一些实施例中,当上次迭代和当前迭代之间的损失变化小于指定阈值时,可以发生充分收敛。在一些实施例中,当梯度的2范数(欧几里德范数)小于指定阈值时,可以发生充分收敛。可以使用指示机器学习已接近稳定状态或足够最适条件的各种其它收敛条件。
在所述中央机器学习模型充分收敛之后,方法300接着进行步骤306至312,这些步骤包括训练在私有数据所有者1至k的计算系统(例如,计算系统116、118-1、……、118-k)中的每一个上运行的私有机器学习模型(212、222-1、……、222-k)中的每一个。首先,私有数据所有者1至k的计算系统(116、118-1、……、118-k)从存储空间中检索(例如一批)数据样本,并将所述数据样本输入到其相应的私有机器学习模型。然后,私有机器学习模型(212、222-1、……、222-k)分别用于基于这些检索到的数据样本计算输出(o1、……、ok)。然后,这些输出(o1、……、ok)被发送到中央服务器205,在这里它们用作所述中央机器学习模型的输入。基于从私有数据所有者1至k的计算系统(116、118、202)接收的输出(o1、……、ok),中央服务器205将所述输出存储为集合S={o1,…,ok}。基于集合S,中央机器学习模型204(模型0)用于计算预测o0。
然后,(由中央服务器205)向任务所有者的计算系统116发送由所述中央机器学习模型提供的预测o0。基于从运行中央机器学习模型204(例如,模型0)的中央服务器205接收的预测o0,任务所有者的计算系统116使用其标签208计算与其任务T相关的损失。然后,任务所有者的计算系统116将所述损失发送回中央服务器205。基于从任务所有者的计算系统116接收的所述损失,实现(例如运行)中央机器学习模型204(例如,模型0)的中央服务器205计算梯度并且中央服务器205将计算得出的梯度发送到私有数据所有者j的计算系统(118-1、……、118-k)。基于从中央服务器205接收的梯度例如,私有数据所有者j的计算系统118-j(其中,j是从1到k-1的整数)通过执行反向传播来更新其私有机器学习模型参数θj。然后,私有数据所有者j的计算系统118-j计算新输出oj’,并将新输出oj’发送到中央服务器205。基于从私有数据所有者j的计算系统118-j接收的新输出oj',中央机器学习模型204(例如,模型0)通过将oj∈S替换为oj’来更新集合S。参数θj的更新对应于当前迭代中私有数据所有者j的私有机器学习模型222-j的训练。
在一些实施例中,可以使用导数的链式法则基于某个i≠j的损失梯度计算某个j的损失梯度(应注意,此处i或j可以等于零。)这可以涉及精确地或近似地在计算上应用公式例如,如上所述,基于从任务所有者处接收的损失,中央机器学习模型可以计算梯度该计算可以涉及计算然后应用链式法则公式计算
对私有数据所有者j的私有机器学习模型222-j进行训练后,将对下一个私有数据所有者(j+1)_的私有机器学习模型222-j+1进行训练。上述过程可以重复,直到任务所有者和所有k-1个私有数据所有者的私有机器学习模型k被训练到收敛314。在多种条件下可视为实现了私有机器学习模型(212、222-1、……、222-k)的收敛。当学习过程的迭代次数超过用户或SVFL系统指定的最大迭代次数时,可以视为发生收敛。当上次迭代和当前迭代之间的损失变化小于指定阈值时,可以视为发生收敛。当对于所有j∈{0,…,k}而言,梯度的2范数均小于指定阈值时,可以视为发生收敛。
如图3A所示,训练序列如下。将中央机器学习模型训练(304)至收敛条件之后,通过以下方式依次训练每个私有机器学习模型:将j初始化(306)为1,训练(308)数据所有者j的私有机器学习模型gj,增加(310)j;如果j仍然不大于k(数据所有者的数量),如比较312所示,则训练数据所有者j的下一个私有机器学习模型gj。此过程一直执行,直到所有k个私有机器学习模型都经过训练。然后,检查(314)收敛条件。如果满足收敛条件,则训练结束,否则从步骤304开始重复此过程。步骤308中每个私有机器学习模型的训练可以包括执行单次训练迭代,如上所述。
尽管图3A和上面的描述指定了训练操作和收敛检查的特定序列,但是应当理解,训练迭代和收敛检查可以以多种方式变化。例如,步骤304的每个实例可以涉及训练中央机器学习模型的单次迭代(或有限次数的迭代),而不必要求收敛检查作为步骤304的一部分。又例如,可以间歇地或在训练周期中的任意时间点执行收敛检查。再例如,可以以任意顺序训练私有机器模型,而不是以一致的顺序训练数据所有者的私有机器学习模型。再例如,在训练私有机器学习模型的给定迭代中,可以训练私有机器学习模型的任意子集,而不必在该次迭代中训练其它私有机器学习模型。
图4示出了本发明的一个实施例提供的在训练(例如预测)模式下运行的SVFL系统400。例如,SVFL系统400可以是诸如根据方法300对所述系统进行训练之后的SVFL系统200的实例。SVFL系统400包括:任务所有者的计算系统116,其包括任务所有者的经过训练的私有机器学习模型212-1(即,在执行方法300期间训练的私有机器学习模型);k个数据所有者中的k-1个数据所有者的计算系统(118-1、……、118-k),每个计算系统(118-1、……、118-k)包括经过训练的私有机器学习模型222-1、……、222-k(即,在执行方法300期间训练的私有机器学习模型);经过训练的中央机器学习模型204(即,在执行方法300期间训练的中央机器学习模型)。
任务所有者的计算系统116是初始化并私有地拥有任务T的数据所有者的计算系统。在SVFL系统400中,任务所有者发起对新数据样本的预测请求并输出其私有机器学习模型212基于所述新数据样本生成的预测。任务所有者拥有并存储其私有机器学习模型212和数据集214。
其它k-1个数据所有者的计算系统(118-1、……、118-k)中的每一个分别存储私有数据集(224-1、……、224-k)。k-1个数据所有者拥有并存储的私有数据集(224-1、……、224-k)被垂直分区(参见图1)。每个数据所有者私有地拥有并存储其经过训练的私有机器学习模型(222-1、……、222-k)。每个私有机器学习模型可以完全访问其数据所有者的私有数据。所有数据所有者都使用自己的私有数据和自己的经过训练的私有机器学习模型与经过训练的中央机器学习模型进行协作,以实现对任务T的预测。
经过训练的中央机器学习模型204生成对任务T的最终预测。例如,中央机器学习模型204可以在中央服务器205中存储和运行。与任务所有者和k-1个数据所有者的计算系统(116、118-1……、118-k)不同,中央服务器205不一定存储数据所有者的任何私有数据集。实际上,为了确保隐私和安全,通常认为最好不要将私有数据集存储在中央服务器205中或与中央机器学习模型204相关联。
在各实施例中,不同数据所有者的计算系统之间不存在直接连接或交互。必要的交互仅发生在私有数据所有者的计算系统(包括任务所有者的计算系统116)与中央服务器205之间。中央服务器205与任务所有者的计算系统116之间的交互包括:任务所有者通过向所述中央服务器发送相应的样本ID来发起对样本的预测请求;任务所有者向所述中央服务器发送其关于所述样本的输出。作为响应,所述中央服务器向任务所有者的计算系统116发送所述中央机器学习模型对任务T的最终预测。
所述中央服务器与不是任务所有者的k-1个数据所有者的计算系统(118-1、……、118-k)之间的交互包括:中央服务器205向计算系统(118-1、……、118-k)中的每一个发送所述样本ID;计算系统(118、202)中的每一个向所述中央服务器发送其关于所述样本ID的输出。
经过训练的SVFL系统400中使用的符号与未经过训练的SVFL系统200中使用的符号相似。然而,为了清楚起见,这些符号定义如下。
·xi,j表示数据所有者j的计算系统存储的数据样本xi的特征向量。
·i∈{1,…,n}表示数据样本xi的唯一样本ID。
·n表示数据样本数。
·j∈{1,…,k}表示第j个数据所有者及其计算系统的索引。
·k表示数据所有者数据所有者和相应计算系统的数量。
·θj表示数据所有者j的经过训练的私有机器学习模型的已学习模型参数的集合。
·gj(xi,j│θj)表示数据所有者j的经过训练的私有机器学习模型。
·oj=gj(xi,j│θj)表示经过训练的私有机器学习模型gj相对于xi,j的输出。
·θ0表示经过训练的中央机器学习模型204的已学习模型参数的集合。
·g0(o1,…,ok│θ0)表示经过训练的中央机器学习模型204。
·o0=g(o1,…,ok│θ0)表示经过训练的中央机器学习模型g0 204相对于(o1、……、ok)的输出。此处,o0还表示由SVFL系统400的经过训练的中央机器学习模型204生成的预测。
使用该符号,下面将描述SVFL系统400使用的预测方法500。
图5A示出了由图4所述的实施例执行的预测方法的步骤。该方法包括以下步骤:步骤502:初始化预测任务。作为所述初始化的一部分,任务所有者的计算系统116对数据样本xi发起该预测方法。任务所有者(为了简单起见,假设任务所有者j=1)的经过训练的私有机器学习模型g1接收数据样本xi,并输出其对数据样本xi的预测o1=g1(xi,1│θ1)。任务所有者的计算系统116将预测o1以及样本ID i发送到中央服务器205。
步骤504:该步骤的实施例在图5B中更详细地示出,涉及其它数据所有者的计算系统(118-1、……、118-k)的协作。基于来自任务所有者的计算系统116的样本ID i,中央服务器205将样本ID i传输(522)(例如广播)到数据所有者2至k(即,不是任务所有者的数据所有者)的计算系统(118-1、……、118-k)。每个数据所有者j的计算系统118-j(其中,j∈{2,…,k})为其经过训练的私有机器学习模型计算(524)其输出oj=gj(xi,j│θj),并将其输出oj发送(526)到中央服务器205。基于所有数据所有者1至k的计算系统(116、118-1、……、118-k)的输出(o1、……、ok),所述中央服务器使用经过训练的中央机器学习模型g0计算预测o0=g0(o1,…,ok|θ0)。所述中央服务器将计算得出的预测o0发送给任务所有者116。基于从所述中央服务器接收的预测o0,任务所有者输出从云接收的预测作为任务T的数据样本xi的最终预测506。
图6示出了本发明的另一个可替代实施例提供的用于使用监督学习算法针对特定任务训练机器学习模型的SLVF系统。与图2类似,所示的SLVF系统600在训练阶段期间示出,在所述训练阶段私有机器学习模型和集中器学习模型均接受训练。在图2的实施例中,任务所有者116拥有并存储与任务T相关的标签,并且中央机器学习模型204与任务所有者的计算系统116进行通信以计算损失。相比之下,在图6所示的SVFL系统600的实施例中,任务所有者的计算系统116通过通信604与中央服务器205共享某些信息。这些信息可以包括标签602以及与任务T相关的损失函数的定义。收到信息604后,中央服务器205可以独立于任务所有者的计算系统116计算损失。上述实施例减少了所述中央服务器与任务所有者的计算系统116通信的需要。在执行学习操作之前,例如,可以使用一个或多个安全消息,将信息604传送到中央服务器205。由于任务所有者的计算系统116与中央服务器205共享标签和损失函数定义,因此中央服务器205可以独立地计算损失。这减少了中央服务器205与任务所有者的计算系统116之间的通信开销。
中央服务器205可以包括训练功能,所述训练功能可操作地耦合至中央机器学习模型204。所述训练功能可以使用可操作地耦合至存储器并执行适当的存储计算机程序指令的计算机处理器提供。所述训练功能用于:从中央机器学习模型204接收预测,将所述预测与相关联标签进行比较,确定与所述预测相关联的损失,并将所述损失提供给中央机器学习模型204作为训练反馈。
在图6的实施例中,SVFL系统600将标签602以及损失函数的定义(两者均与学习任务T相关)存储在中央机器学习模型204的本地位置。该位置可以在所述中央服务器的内存中或(等同地)在云中。所述中央服务器或在云中实例化的另一个相关联计算机可以使用这些存储的信息直接计算与任务T相关的损失。在图2中,预测209从中央机器学习模型204传送到任务所有者(例如数据所有者1)的计算系统116,任务所有者的计算系统116又将损失210传送回中央机器学习模型204。与图2相反,在图6中,可以将预测606从中央机器学习模型204传送到(例如中央服务器205的)本地或集成计算组件,所述计算组件基于本地存储的标签602确定损失,并将损失608传送回中央机器学习模型204,而无需任务所有者(例如数据所有者1)的计算系统116的进一步参与。相应地,可以在减少与数据所有者的进一步通信的情况下,进行中央机器学习模型204的当前训练迭代(可能通过多次迭代)(注意,每次迭代还可能需要输出o1至ok,如下所述)。由于标签和损失函数定义存储在本地,因此可以在减少通信开销的情况下进行训练。
图6的实施例允许SVFL系统600执行可替代安全纵向联邦学习方法,以训练私有机器学习模型和中央机器学习模型。除以下差异之外,所述训练方法与结合图3A描述的方法类似地进行。首先,在初始化302期间,任务所有者的计算系统116另外向中央服务器205发送(604)标签208以及与任务T相关的损失函数。其次,在中央机器学习模型204生成其预测o0=g0(o1,…,ok│θ0)之后,中央机器学习模型204将预测606发送到存储标签602的中央服务器205或其它相关联的计算设备或云计算平台,而不是将该预测发送到任务所有者的计算系统116。该中央服务器205(或其它计算设备或云计算平台)基于所述标签计算损失,并将所述损失提供回中央机器学习模型204。这可以发生在步骤304中训练中央机器学习模型204期间,也可以发生在步骤308中训练一个或多个私有机器学习模型(212、222-1、……、222-k)期间。
图7示出了SVFL系统的另一个实施例,该SVFL系统在预训练和训练阶段期间,为监督机器学习任务T训练私有机器学习模型以及中央机器学习模型。在图7所示的实施例中,预训练SVFL系统700的数据所有者的私有机器学习模型(212、222-1、……、222-k)。每个数据所有者的计算系统(116、118-1、……、118-k)具有其相应的与其私有机器学习模型相关联的预训练机器学习模型(712、724-1、……、724-k)。数据所有者1(即任务所有者)的计算系统116存储的标签208用于提供与SVFL系统700中的数据所有者的预训练机器学习模型(712、724-1、……、724-k)共享的损失反馈。与其它数据所有者的计算系统共享损失预计不一定构成在数据所有者之间共享私有信息的实例。这是因为损失可以作为没有上下文或有意义信息的原始数据提供。下面结合图8提供根据本发明的各实施例所述的预训练操作的细节。
图8A和图8B示出了包括预训练图7所示SVFL系统700的方法800。向图3A所示的训练方法300添加预训练步骤802,并且步骤802应用于部分或所有数据所有者的计算系统(116、118-1、……、118-k)。在预训练步骤802(其实施例如图8B所示)中,每个数据所有者j的计算系统初始化812其相应的预训练机器学习模型的参数集合ωj。数据所有者j的预训练机器学习模型表示为fj(oj|ωj),并与其私有机器学习模型gj相关联。此处,oj=gj(Xj|θj)为私有机器学习模型gj的输出。基于一组(例如随机采样的)训练数据样本Xj,保存私有机器学习模型j的计算系统为每个采样的数据样本计算(814)其私有机器学习模型的输出oj,并将其私有机器学习模型的输出oj发送给其关联的预训练机器学习模型fj。基于来自私有机器学习模型gj的输出oj,预训练机器学习模型fj计算(816)其预测pj=fj(oj|ωj),并将其预测pj发送(818)给任务所有者。此处,如果数据所有者j的计算系统是任务所有者的计算系统116,则不需要向外部发送其预测pj,而是将所述预测保留在内部并基于从数据所有者j的计算系统118-j接收的pj在内部进行处理,任务所有者使用其标签和损失函数计算损失,并将计算得出的损失发送回数据所有者j的预训练机器学习模型724-j。此处,如果数据所有者j的计算系统是任务所有者的计算系统116,则可以直接计算所述损失,而无需向外部传送预测pj和所述损失。
基于从任务所有者处接收的所述损失,预训练机器学习模型fj(即724-j)计算(820)梯度和然后,预训练机器学习模型fj(即724-j)将梯度发送给私有机器学习模型gj。基于来自预训练机器学习模型fj的梯度私有机器学习模型gj计算(822)梯度预训练机器学习模型应用梯度来更新其参数集合ωj。基本上与此同时,私有机器学习模型gj应用梯度来更新其参数集合θj。迭代上述步骤直到预训练机器学习模型fj(即724-j)实现收敛。收敛后,可以删除预训练模型fj(即724-j)。可以对系统700中的每个数据所有者重复所述方法。图8A中的其余步骤按照结合图3A描述的那样进行。训练和预训练可以被认为是由计算机运行的过程,并且可以涉及正向传播和反向传播。
通过使用预训练,可以在进行本文其它部分所述的进一步训练之前,获得模型参数θ1、θ2……θk的改进起点。这样可以改进收敛速度和求解质量等收敛特性。在不进行预训练的情况下,通过随机或任意为每个参数分配值来初始化模型参数。这会导致任意且可能非常不准确的初始条件。在进行预训练的情况下,模型参数的初始值不是随机的,而是使用有限的训练数据集训练模型获得的值。这往往会改进初始条件。
图9示出了本发明的一个实施例提供的私有机器学习模型和中央机器学习模型204之间的关系。示出了数据所有者j的任务T的私有机器学习模型gj(Xj│θj)(其中,j∈{1,…,k})。Xj(其中,j∈{1,…,k})902是该私有机器模型的训练数据样本的集合。θj(其中,j∈{1,…,k})904是数据所有者j的私有机器学习模型j的参数的集合。每个训练数据样本902输入到其相应的模型212中以产生输出oj=gj(Xj│θj)(其中,j∈{1,…,k})906,该输出是私有机器学习模型j相对于训练数据样本Xj的输出。中央机器学习模型204接收所有数据所有者的私有机器学习模型的输出(其中,j∈{1,…,k}),并初始化其参数θ0 908。参数θ0是中央机器学习模型g0的参数的集合。中央机器学习模型g0的输出o0=g(o1,…,ok│θ0)910是中央机器学习模型g0相对于的(o1、……、ok)的输出。相对于每个数据所有者的计算系统的输出的梯度912从中央机器学习模型g0发送到该数据所有者的私有机器学习模型gj。
本发明实施例提供了一种用于训练机器学习模型以执行任务的方法。所述方法由中央机器学习模型执行。所述方法包括:中央机器学习模型接收多组输出。每组输出从多个相应的私有机器学习模型中的每一个接收。从每个私有机器学习模型接收的所述一组输出是基于与该特定私有机器学习模型对应的所有者独占拥有的数据生成的。所述多组输出基于所述数据的样本ID对齐。所述方法包括:所述中央机器学习模型生成预测。所述预测是所述中央机器学习模型的输出,并且基于所述接收的多组输出生成。所述方法包括:所述中央机器学习模型向所述私有机器学习模型中的一个传输所述预测。所述多个接收方私有机器学习模型(并且通常每个私有机器学习模型)具有相关联的标签。所述方法包括:所述中央机器学习模型从所述接收方私有机器学习模型接收基于所述标签和所述预测确定的损失。所述方法包括:所述中央机器学习模型基于所述损失计算梯度;基于所述损失更新所述中央机器学习模型的参数。
在进一步的实施例中,所述中央机器学习模型本地存储所述标签。
根据另一方面的实施例包括一种用于训练机器学习模型的方法。所述方法由私有机器学习模型与中央机器学习模型合作执行。所述方法包括:私有机器学习模型向中央机器学习模型传输所述私有机器学习模型的输出。所述输出是基于与所述私有机器学习模型对应的所有者独占拥有的数据生成的。所述私有机器学习模型的所述输出还包括样本ID。所述方法包括:所述私有机器学习模型从所述中央机器学习模型接收由所述中央机器学习模型计算的预测。所述预测是基于所述私有机器学习模型输出生成的所述中央机器学习模型的输出。所述预测与一组其它私有机器学习模型输出基于所述提供的样本ID以及其它私有机器学习模型输出的样本ID对齐。类似地,所述其它私有机器学习模型输出是基于所述其它私有机器学习模型独占拥有的数据生成的。所述方法包括:所述私有机器学习模型基于所述标签和所述预测计算损失。所述方法包括:所述私有机器学习模型向所述中央机器学习模型传输所述损失。所述方法包括:所述私有机器学习模型从所述中央机器学习模型接收基于所述损失的相对于所述私有机器学习模型的所述输出的梯度。所述方法包括:所述私有机器学习模型通过使用导数的链式法则计算所述损失相对于所述私有机器学习模型的参数的梯度,或执行可比计算。所述方法包括:所述私有机器学习模型基于所述损失更新所述私有机器学习模型的参数。
在进一步的实施例中,所述私有机器学习模型包括用于所述私有机器学习模型独占拥有的数据的本地数据存储空间。
在进一步的实施例中,所述其它私有机器学习模型中的每一个包括用于对应于所述其它私有机器学习模型的其它所有者中的每一个独占拥有的数据的本地数据存储空间。
根据另一方面的实施例包括一种使用中央机器学习模型生成预测的方法。所述方法包括:所述中央机器学习模型从私有机器学习模型接收一组私有机器学习模型输出和样本ID。所述一组私有机器学习模型输出基于对应于所述私有机器学习模型的所有者独占拥有的数据。所述方法包括:所述中央机器学习模型向多个其它私有机器学习模型传输所述样本ID。所述方法包括:所述中央机器学习模型从所述其它私有机器学习模型接收由所述其它私有机器学习模型基于所述样本ID生成的多个其它私有机器学习模型输出。所述方法包括:所述中央机器学习模型计算预测。所述预测由所述中央机器学习模型基于所述一组私有机器学习模型输出和所述一组其它私有机器学习模型输出进行输出。所述方法包括:所述中央机器学习模型向所述私有机器学习模型传输所述预测。
根据另一方面的实施例包括一种使用私有机器学习模型生成预测的方法。所述方法包括:所述私有机器学习模型计算与样本ID相关联的一组私有机器学习模型输出。所述方法包括:所述私有机器学习模型向中央机器学习模型传输所述一组私有机器学习模型输出和所述样本ID。所述方法包括:所述私有机器学习模型从所述中央机器学习模型接收预测。所述预测基于所述一组私有机器学习模型输出以及多个其它私有机器学习模型输出计算,所述多个其它私有机器学习模型输出由相应的多个其它私有机器学习模型基于所述样本ID生成。所述方法包括:所述私有机器学习模型基于所述预测计算私有(最终)预测。
本发明实施例提供了一种用于训练中央机器学习模型的方法,所述方法包括:运行所述中央机器学习模型的服务器从多个计算系统(每个计算系统运行多个私有机器学习模型中的不同的相应一个)中的每一个接收所述私有机器学习模型的一组输出,所述私有机器学习模型的所述一组输出基于已识别数据样本的部分生成,其中,所述多个计算系统中的不同计算系统传输基于所述数据样本的不同相应部分生成的不同相应输出,并且所述一组输出基于所述数据样本的样本ID对齐;所述中央机器学习模型提供预测,其中,所述预测由所述中央机器学习模型基于从所述多个私有机器学习模型中的每一个接收的所述一组输出生成;所述中央机器学习模型接收损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出,其中,所述中央机器学习模型基于所述损失更新所述中央机器学习模型的参数。
根据一些实施例,上述方法还包括:所述中央机器学习模型计算所述损失相对于所述中央机器学习模型的所述参数的梯度,并随后基于所述梯度更新所述中央机器学习模型的所述参数。根据一些实施例,提供所述预测包括:向所述多个计算系统中的指定计算系统传输所述预测,所述指定计算系统保存所述标签,所述损失由所述指定计算系统计算;接收所述损失包括:从所述指定计算系统接收所述损失。
根据一些实施例,上述方法还包括:提供所述预测包括:向所述服务器的训练功能提供所述预测,所述训练功能保存所述标签,所述损失由所述训练功能计算;接收所述损失包括:从所述训练功能接收所述损失。所述方法还包括:在所述接收所述预测之前,所述服务器从所述计算系统中的指定计算系统接收所述标签,并将所述标签存储在所述服务器可访问的存储器中。
本发明实施例提供了一种用于训练私有机器学习模型的方法,所述方法包括:运行经过部分或完全训练的中央机器学习模型的服务器从运行相应多个私有机器学习模型(包括接受训练的所述私有机器学习模型)的多个计算系统接收:识别数据样本的样本ID;所述多个私有机器学习模型的输出,其中,所述多个私有机器学习模型中的不同私有机器学习模型传输基于所述数据样本的不同相应部分生成的所述输出中的不同相应输出;所述中央机器学习模型提供预测,所述预测由所述中央机器学习模型基于所述多个私有机器学习模型的所述输出计算得出;在所述服务器处接收损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出;所述服务器向运行接受训练的所述私有机器学习模型的所述多个计算系统中的一个传输所述损失相对于所述中央机器学习模型的当前参数的梯度,所述梯度由所述服务器基于所述损失确定,其中,接受训练的所述私有机器学习模型的当前模型参数基于所述梯度进行更新。
在上述方法的一些实施例中,提供所述预测包括:向所述多个计算系统中的指定计算系统传输所述预测,所述指定计算系统保存所述标签,所述损失由所述指定计算系统计算;接收所述损失包括:从所述指定计算系统接收所述损失。
在上述方法的其它实施例中,提供所述预测包括:向所述服务器的训练功能提供所述预测,所述训练功能保存所述标签,所述损失由所述训练功能计算;接收所述损失包括:从所述训练功能接收所述损失;所述方法还包括:在所述接收所述预测之前,所述服务器从所述计算系统中的指定计算系统接收所述标签;将所述标签存储在所述服务器可访问的存储器中。
本发明实施例提供了一种用于训练中央机器学习模型的方法,所述方法包括:运行私有机器学习模型的计算系统向运行所述中央机器学习模型的服务器传输:识别一个或多个数据样本的一个或多个样本ID;所述私有机器学习模型的一个或多个输出,所述输出基于所述私有机器学习模型可访问的所述识别的一个或多个数据样本的部分生成,其中,运行相应多个私有机器学习模型(包括所述私有机器学习模型)的多个计算系统中的不同计算系统向所述服务器传输基于所述一个或多个数据样本的不同相应部分生成的不同相应输出,所述不同相应输出包括所述私有机器学习模型的所述一个或多个输出;从所述中央机器学习模型接收预测,所述预测基于组合的所述不同相应输出计算得出,所述不同相应输出基于所述一个或多个样本ID对齐;向所述服务器提供损失,所述损失基于所述预测与对应于所述一个或多个数据样本的标签的比较计算得出,其中,所述中央机器学习模型的当前模型参数基于所述损失进行更新。
根据上述方法的一些实施例,基于所述损失更新所述当前模型参数包括:所述服务器确定所述损失相对于所述中央机器学习模型的当前参数的梯度;所述服务器基于所述损失的所述梯度更新所述中央机器学习模型的所述当前模型参数。
根据上述方法的一些实施例,运行所述私有机器学习模型的所述计算系统包括私有数据存储空间,所述私有数据存储空间保存用于生成所述私有机器学习模型的所述一个或多个输出的所述一个或多个数据样本的部分。
根据上述方法的一些实施例,运行所述相应多个私有机器学习模型的所述多个计算系统中的每一个包括相应的私有数据存储空间,每个私有数据存储空间保存所述一个或多个数据样本的所述不同相应部分的相应部分。
根据一些实施例,上述方法还包括:发起任务并针对所述任务训练所述中央机器学习模型。根据一些实施例,上述方法还包括:重复所述训练方法直到达到收敛条件。
根据上述方法的一些实施例,所述预测由运行所述私有机器学习模型的所述计算系统执行,所述提供所述损失包括将由运行所述私有机器学习模型的所述计算系统计算的所述损失传输到所述服务器,并且所述标签可由运行所述私有机器学习模型的所述计算系统私有访问。
根据上述方法的一些实施例,所述接收所述预测和所述提供所述损失由所述服务器执行,所述方法还包括:在所述接收所述预测之前,从运行所述私有机器学习模型的所述计算系统向所述服务器提供所述标签,并将所述标签存储在所述服务器可访问的存储器中。
本发明实施例提供了一种用于训练私有机器学习模型的方法,所述方法包括:运行所述私有机器学习模型的计算系统向运行经过部分或完全训练的中央机器学习模型的服务器传输:识别一个或多个数据样本的一个或多个样本ID;所述私有机器学习模型的一个或多个输出,所述输出基于所述私有机器学习模型可访问的所述识别的一个或多个数据样本的部分生成,其中,运行相应多个私有机器学习模型(包括所述私有机器学习模型)的多个计算系统中的不同计算系统向所述服务器传输基于所述一个或多个数据样本的不同相应部分生成的不同相应输出,所述不同相应输出包括所述私有机器学习模型的所述一个或多个输出;从所述中央机器学习模型接收预测,所述预测基于组合的所述不同相应输出计算得出,所述不同相应输出基于所述一个或多个样本ID对齐;向所述服务器提供损失,所述损失基于所述预测与对应于所述一个或多个数据样本的标签的比较计算得出;所述私有机器学习模型从所述中央机器学习模型接收所述损失相对于所述中央机器学习模型的当前参数的梯度,所述梯度由所述中央机器学习模型基于所述损失确定,其中,所述私有机器学习模型的当前模型参数基于所述梯度进行更新。
根据一些实施例,上述方法还包括:基于所述更新的参数计算修正输出,并将所述修正输出传输到所述中央机器学习模型,其中,所述中央机器学习模型在后续训练操作中使用所述修正输出。
根据一些实施例,上述方法还包括:所述私有机器学习模型通过使用导数的链式法则计算所述损失相对于所述私有机器学习模型的参数的梯度;基于所述损失相对于所述私有机器学习模型的参数的所述梯度更新所述私有机器学习模型的所述一个或多个参数。
根据一些实施例,上述方法还包括:重复所述训练方法直到达到收敛条件。
根据上述方法的一些实施例,所述接收所述预测由运行所述私有机器学习模型的所述计算系统执行,所述提供所述损失包括将由运行所述私有机器学习模型的所述计算系统计算的所述损失传输到所述服务器,并且所述标签可由运行所述私有机器学习模型的所述计算系统私有访问。
根据上述方法的一些实施例,所述接收所述预测和所述提供所述损失由所述服务器执行,所述方法还包括:在所述接收所述预测之前,从运行所述私有机器学习模型的所述计算系统向所述服务器提供所述标签,并将所述标签存储在所述服务器可访问的存储器中。
根据上述方法的一些实施例,所述接收所述预测由运行所述多个私有机器学习模型中的一个(除所述私有机器学习模型之外)的所述多个计算系统中的一个执行,所述提供所述损失包括将由所述多个计算系统中的所述一个计算的所述损失传输到所述服务器,并且所述标签可由所述多个计算系统中的所述一个私有访问。
本发明实施例提供了一种用于训练中央机器学习模型的方法,所述方法包括:从多个计算系统(每个计算系统运行多个私有机器学习模型中的不同的相应一个)中的每一个向运行所述中央机器学习模型的服务器传输样本ID和所述私有机器学习模型的一组输出,所述私有机器学习模型的所述一组输出基于对应于所述样本ID的已识别数据样本的部分生成,其中,所述多个计算系统中的不同计算系统传输基于所述数据样本的不同相应部分生成的不同相应输出,所述一组输出基于所述样本ID对齐;由所述服务器接收所述一组输出和所述样本ID;所述中央机器学习模型提供预测,其中,所述预测由所述中央机器学习模型基于从所述多个私有机器学习模型中的每一个接收的所述一组输出生成;所述中央机器学习模型接收损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出,其中,所述中央机器学习模型基于所述损失更新所述中央机器学习模型的参数。
根据上述方法的一些实施例,提供所述预测包括:向所述多个计算系统中的指定计算系统传输所述预测,所述指定计算系统保存所述标签;接收所述损失包括:从所述指定计算系统接收所述损失;所述方法还包括:所述指定计算系统计算所述损失。
根据上述方法的一些实施例,提供所述预测包括:向所述服务器的训练功能提供所述预测,所述训练功能保存所述标签;接收所述损失包括:从所述训练功能接收所述损失;所述方法还包括:在所述接收所述预测之前,所述服务器从所述计算系统中的指定计算系统接收所述标签;将所述标签存储在所述服务器可访问的存储器中;通过所述训练功能计算所述损失。
本发明实施例提供了一种用于训练私有机器学习模型的方法,所述方法包括:从运行相应多个私有机器学习模型(包括接受训练的所述私有机器学习模型)的多个计算系统中的每一个向运行经过部分或完全训练的中央机器学习模型的服务器传输:识别数据样本的样本ID;所述多个私有机器学习模型的输出,其中,所述多个私有机器学习模型中的不同私有机器学习模型传输基于所述数据样本的不同相应部分生成的所述输出中的不同相应输出;所述服务器接收所述一组输出和所述样本ID;所述中央机器学习模型提供预测,所述预测由所述中央机器学习模型基于所述多个私有机器学习模型的所述输出计算得出;在所述服务器处接收损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出;所述服务器向运行接受训练的所述私有机器学习模型的所述多个计算系统中的一个传输所述损失相对于所述中央机器学习模型的当前参数的梯度,所述梯度由所述服务器基于所述损失确定;运行接受训练的所述私有机器学习模型的所述多个计算系统中的所述一个基于所述梯度更新接受训练的所述私有机器学习模型的当前模型参数。
根据上述方法的一些实施例,提供所述预测包括:向所述多个计算系统中的指定计算系统传输所述预测,所述指定计算系统保存所述标签;接收所述损失包括:从所述指定计算系统接收所述损失;所述方法还包括:所述指定计算系统计算所述损失。
根据上述方法的一些实施例,提供所述预测包括:向所述服务器的训练功能提供所述预测,所述训练功能保存所述标签,所述损失由所述训练功能计算;接收所述损失包括:从所述训练功能接收所述损失;所述方法还包括:在所述接收所述预测之前,所述服务器从所述计算系统中的指定计算系统接收所述标签;将所述标签存储在所述服务器可访问的存储器中。
本发明实施例提供了一种使用经过训练的私有机器学习模型生成预测的方法,所述方法包括:运行所述私有机器学习模型的计算系统向运行经过训练的中央机器学习模型的服务器传输:识别数据样本的样本ID;所述私有机器学习模型基于所述识别的数据样本的一部分生成的私有机器学习模型输出,其中,运行相应多个经过训练的私有机器学习模型(包括所述经过训练的私有机器学习模型)的多个计算系统中的不同计算系统向所述中央机器学习模型传输基于所述识别的数据样本的不同相应部分生成的不同相应输出,所述不同相应输出包括所述私有机器学习模型输出;运行所述私有机器学习模型的所述计算系统从所述中央机器学习模型接收预测,所述预测基于组合的所述不同相应输出计算得出,其中,由运行所述私有机器学习模型的所述计算系统基于所述预测生成最终预测。
本发明实施例提供了一种计算系统,所述计算系统包括:计算机处理器,可操作地耦合至存储器;通信接口;所述计算系统运行私有机器学习模型并用于:向运行经过训练的中央机器学习模型的服务器传输:识别数据样本的样本ID;由所述私有机器学习模型基于所述识别的数据样本的一部分生成的私有机器学习模型输出,其中,运行相应多个经过训练的私有机器学习模型(包括所述经过训练的私有机器学习模型)的多个计算系统中的不同计算系统向所述中央机器学习模型传输基于所述识别的数据样本的不同相应部分生成的不同相应输出,所述不同相应输出包括所述私有机器学习模型输出;从所述中央机器学习模型接收预测,所述预测基于组合的所述不同相应输出计算得出,其中,由运行所述私有机器学习模型的所述计算系统基于所述预测生成最终预测。
根据一些实施例,上述方法包括输出(或上述计算系统还用于输出)来自所述中央机器学习模型的所述预测作为所述最终预测。
根据上述方法或计算系统的一些实施例,在传输所述样本ID和所述私有机器学习模型输出之前,所述私有机器学习模型、所述多个其它私有机器学习模型和所述中央机器学习模型使用垂直分区训练数据一起协同训练,所述垂直分区训练数据包括其它数据样本,每个数据样本包括多个特征,所述多个特征的不同子集可由所述多个私有机器学习模型中的不同私有机器学习模型访问。
根据上述方法或计算系统的一些实施例,所述样本ID和所述私有机器学习模型输出排除所述数据样本的所述部分,并且进一步排除所述私有机器学习模型的训练参数。
根据上述方法或计算系统的一些实施例,所述私有机器学习模型输出是根据通过预先训练建立到所述私有机器学习模型中的输入输出关系、为响应于所述识别的数据样本的所述部分而生成的。
本文描述的机器学习模型可以在许多计算系统上执行,无论是物理还是虚拟计算系统。所述计算系统可以是集中式或分布式计算系统,并且由数据所有者的每个计算系统(116、118、202)用于存储模型、数据和标签。图10是可用于实现本文所公开方法的实施例的计算设备的框图。在一些实施例中,可以在位于多个地理位置的多个虚拟和/或物理计算设备上执行计算功能。可以使用各种物理或虚拟计算资源来实现本发明的实施例。因此,本发明实施例提供了一种计算机设备或计算机设备的系统,所述计算机设备或计算机设备的系统用于执行本文其它部分描述的计算和通信操作,例如,关于上面所指定的各种方法。每个数据所有者可以具有诸如图10中描述的一个或多个计算设备。所述中央机器学习模型也可以使用诸如图10中描述的一个或多个计算设备来实现。
具体的计算设备可以使用所示的所有组件或仅使用组件的子集,并且集成级别可以因设备而异。此外,计算设备可以包含组件的多个实例,例如多个处理单元、处理器、存储器、网络接口等。计算设备1000通常包括处理器1010、总线和存储器1020,可选地还可以包括大容量存储设备1030、视频适配器1040和I/O接口1060(每个均以虚线示出以指示它们是可选的)。所述计算系统还可以包括一个或多个网络接口1050,用于将所述计算系统连接到通信网络1055。
处理器1010可以包括任何类型的电子数据处理器,并且可以包括一个或多个核心或处理元件。处理器1010可以是中央处理器(central processing unit,CPU)、张量处理器(tensor processor unit,TPU)、神经处理器(neural processing unit,NPU)、图形处理器(graphic processing unit,GPU)、专用集成电路(application specific integratedcircuit,ASIC)和现场可编程门阵列(field programmable gate array,FPGA)。存储器可以包括任何类型的非瞬态系统存储器,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、只读存储器(ROM)或其组合。在实施例中,存储器可包括在开机时使用的ROM以及在执行程序时使用的存储程序和数据的DRAM。总线可以是包括存储器总线或存储器控制器、外围总线或视频总线的任何类型的几种总线体系结构中的一个或多个。
所述大容量存储设备可以包括用于存储数据、程序和其它信息并使所述数据、程序和其它信息可通过所述总线访问的任何类型的非瞬时性存储设备。例如,所述大容量存储设备可以包括固态驱动器、硬盘驱动器、磁盘驱动器或光盘驱动器中的一种或多种。
视频适配器1040和I/O接口1060提供可选接口,用于将外部输入和输出设备耦合至所述处理单元。输入和输出设备的示例包括耦合至视频适配器1040的显示器1070以及耦合至I/O接口1060的I/O设备1080,例如触摸屏。其它设备可以耦合至所述处理单元,并且可以使用额外的或更少的接口。例如,通用串行总线(universal serial bus,USB)(未示出)等串行接口可以用于为外部设备提供接口。或者,所述计算系统可以依赖网络接口连接至所述网络中可用的大容量存储设备、视频适配器和I/O接口。
此外,还可以包括附加组件,例如图形处理器、张量处理器、专用集成电路、现场可编程门阵列、神经形态处理器或其它电子或光子处理组件中的一个或多个,这些附加组件可与处理器1010结合使用或替代处理器1010来执行处理操作。所述处理操作可以包括机器学习操作、支持所述机器学习操作的其它操作或其组合。
除非另有定义,否则本文所用的所有技术和/或科学术语都具有与本发明普通技术人员公知的含义相同的含义。
通过以上实施例的描述,本发明可以仅通过使用硬件实现,也可以通过使用软件和必要的通用硬件平台实现。基于这种理解,本发明的技术方案可以通过软件产品的形式体现。所述软件产品可以存储在非易失性或非瞬时性存储介质中,所述存储介质可以是只读光盘(compact disk read-only memory,CD-ROM)、U盘或可移动硬盘。所述软件产品包括许多指令,所述指令使得计算机设备(个人计算机、服务器或网络设备)能够执行本发明实施例所提供的方法。例如,这种执行可以对应于本文中描述的逻辑操作的模拟。所述软件产品可以附加地或可选地包括多个指令,所述指令使得计算机设备能够执行用于配置或编程根据本发明实施例的数字逻辑装置的操作。
尽管已经参考本发明的特定特征和实施例描述了本发明,但是明显可以在不脱离本发明的情况下制定本发明的各种修改和组合。因此,说明书和附图仅被视为所附权利要求书限定的对本发明的说明,并且预期包括本发明范围内的任何和所有修改、变化、组合或等同物。
Claims (40)
1.一种用于安全纵向联邦学习以训练机器学习模型的方法,其特征在于,所述方法包括:
运行中央机器学习模型的服务器从多个计算系统(每个计算系统运行多个私有机器学习模型中的不同的相应一个)中的每一个接收所述私有机器学习模型的一组输出,其中,所述多个计算系统中的不同计算系统传输基于识别的数据样本的不同相应部分生成的所述一组输出中的不同相应输出,所述一组输出基于识别所述数据样本的样本ID对齐;
所述服务器提供由所述中央机器学习模型基于所述一组输出计算的预测;
在所述服务器处接收损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出;
基于所述损失发起所述机器学习模型的当前模型参数的更新。
2.根据权利要求1所述的方法,其特征在于,还包括:所述服务器计算所述损失相对于所述中央机器学习模型的模型参数的梯度,其中,所述更新接受训练的所述机器学习模型的所述当前模型参数直接或间接基于所述损失的所述梯度。
3.根据权利要求1或2所述的方法,其特征在于,提供所述预测包括:向所述多个计算系统中的指定计算系统传输所述预测,所述指定计算系统存储所述标签,所述损失由所述指定计算系统计算;接收所述损失包括:从所述指定计算系统接收所述损失。
4.根据权利要求1至3中任一项所述的方法,其特征在于,提供所述预测包括:向所述服务器的训练功能提供所述预测,所述训练功能存储所述标签;接收所述损失包括:从所述训练功能接收所述损失;所述方法还包括:在所述接收所述预测之前,所述服务器从所述计算系统中的指定计算系统接收所述标签,并将所述标签存储在所述服务器可访问的存储器中;使用所述训练功能计算所述损失。
5.根据权利要求1至4中任一项所述的方法,其特征在于,接受训练的所述机器学习模型为所述中央机器学习模型,所述方法还包括:所述服务器基于所述损失更新所述中央机器学习模型的所述当前模型参数。
6.根据权利要求1至5中任一项所述的方法,其特征在于,接受训练的所述机器学习模型为所述多个私有机器学习模型中的一个,其中,发起接受训练的所述机器学习模型的当前模型参数的更新包括:所述服务器向运行所述多个私有机器学习模型中的一个的计算系统传输所述损失的指示或所述损失的梯度的指示。
7.根据权利要求6所述的方法,其特征在于,所述损失的所述梯度为相对于所述中央机器学习模型的模型参数的梯度,所述更新所述私有机器学习模型中的所述一个的所述当前模型参数直接基于所述损失相对于所述当前模型参数的梯度,所述损失相对于所述当前模型参数的所述梯度使用实现导数链式法则的计算从相对于所述中央机器学习模型的模型参数的所述梯度计算得出。
8.根据权利要求1至7中任一项所述的方法,其特征在于,还包括:重复所述方法直到达到收敛条件。
9.一种服务器,其特征在于,包括:处理器,可操作地耦合至存储器;通信接口;所述服务器运行中央机器学习模型并用于:
从多个计算系统(每个计算系统运行多个私有机器学习模型中的不同的相应一个)中的每一个接收所述私有机器学习模型的一组输出,其中,所述多个计算系统中的不同计算系统传输基于识别的数据样本的不同相应部分生成的所述一组输出中的不同相应输出,所述一组输出基于识别所述数据样本的样本ID对齐;
提供由所述中央机器学习模型基于所述一组输出计算的预测;
接收基于所述预测与对应于所述数据样本的标签的比较计算得出的损失;
基于所述损失发起所述机器学习模型的当前模型参数的更新。
10.根据权利要求9所述的服务器,其特征在于,还用于:计算所述损失相对于所述中央机器学习模型的模型参数的梯度,其中,所述更新接受训练的所述机器学习模型的所述当前模型参数直接或间接基于所述损失的所述梯度。
11.根据权利要求9或10所述的服务器,其特征在于,提供所述预测包括:向所述多个计算系统中的指定计算系统传输所述预测,所述指定计算系统保存所述标签,所述损失由所述指定计算系统计算;接收所述损失包括:从所述指定计算系统接收所述损失。
12.根据权利要求9至11中任一项所述的服务器,其特征在于,提供所述预测包括:向所述服务器的训练功能提供所述预测,所述训练功能保存所述标签;接收所述损失包括:从所述训练功能接收所述损失;所述服务器还用于:在所述接收所述预测之前,从所述计算系统中的指定计算系统接收所述标签;将所述标签存储在所述服务器可访问的存储器中;使用所述训练功能计算所述损失。
13.根据权利要求9至12中任一项所述的服务器,其特征在于,接受训练的所述机器学习模型为所述中央机器学习模型,所述服务器还用于:基于所述损失更新所述中央机器学习模型的所述当前模型参数。
14.根据权利要求9至13中任一项所述的服务器,其特征在于,接受训练的所述机器学习模型为所述多个私有机器学习模型中的一个,其中,发起接受训练的所述机器学习模型的当前模型参数的更新包括:所述服务器向运行所述多个私有机器学习模型中的一个的计算系统传输所述损失的指示或所述损失的梯度的指示。
15.根据权利要求14所述的服务器,其特征在于,所述损失的所述梯度为相对于所述中央机器学习模型的模型参数的梯度,所述更新所述私有机器学习模型中的所述一个的所述当前模型参数直接基于所述损失相对于所述当前模型参数的梯度,所述损失相对于所述当前模型参数的所述梯度使用实现导数链式法则的计算从相对于所述中央机器学习模型的模型参数的所述梯度计算得出。
16.根据权利要求9至15中任一项所述的服务器,其特征在于,还用于:重复所述训练方法直到达到收敛条件。
17.一种用于安全纵向联邦学习以针对特定任务训练指定私有机器学习模型的方法,其特征在于,所述方法包括:
运行所述指定私有机器学习模型的第一计算系统向运行中央机器学习模型的服务器传输:样本ID;所述指定私有机器学习模型的输出,所述输出基于由所述样本ID识别的数据样本的一部分生成;其中,多个计算系统(包括所述第一计算系统)中的每一个运行多个私有机器学习模型(包括所述指定私有机器学习模型)中的不同的相应一个;所述多个计算系统中的每一个传输一组私有机器学习模型输出(包括所述输出)中的不同的相应一个,所述一组输出中的每一个基于所述数据样本的不同相应部分生成,所述一组输出基于所述样本ID对齐;
所述第一计算系统从所述服务器接收由所述中央机器学习模型基于组合的所述一组输出计算的预测;
所述第一计算系统向所述服务器提供损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出,所述标签保存在所述第一计算系统可私有访问并且所述服务器和所述多个计算系统中的其它计算系统不可访问的存储器中;
所述第一计算系统基于所述损失更新所述专用私有机器学习模型的当前模型参数。
18.根据权利要求17所述的方法,其特征在于,所述当前模型参数的所述更新基于计算的所述损失相对于接受训练的所述机器学习模型的模型参数的梯度执行。
19.根据权利要求17或18所述的方法,其特征在于,所述多个计算系统中的每一个包括相应的私有数据存储空间,每个相应的私有数据存储空间:可由所述多个计算系统中的相应一个访问并且不可由所述服务器和所述多个计算系统中的其它计算系统访问;存储所述数据样本的不同相应部分中的相应一个。
20.一种计算机可读介质,其特征在于,所述计算机可读介质包括指令,当所述指令由计算系统的处理器执行时,使得所述计算系统执行根据权利要求17至19中任一项所述的方法。
21.一种计算系统,其特征在于,包括:处理器,可操作地耦合至存储器;通信接口;所述计算系统运行指定私有机器学习模型并用于:
向运行中央机器学习模型的服务器传输:样本ID;所述指定私有机器学习模型的输出,所述输出基于由所述样本ID识别的数据样本的一部分生成;其中,多个计算系统(包括所述第一计算系统)中的每一个运行多个私有机器学习模型(包括所述指定私有机器学习模型)中的不同的相应一个;所述多个计算系统中的每一个传输一组私有机器学习模型输出(包括所述输出)中的不同的相应一个,所述一组输出中的每一个基于所述数据样本的不同相应部分生成,所述一组输出基于所述样本ID对齐;
从所述服务器接收由所述中央机器学习模型基于组合的所述一组输出计算的预测;
向所述服务器提供损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出,所述标签保存在所述计算系统可私有访问并且所述服务器和所述多个计算系统中的其它计算系统不可访问的存储器中;
随后,基于所述损失发起所述专用私有机器学习模型的当前模型参数的更新。
22.根据权利要求21所述的计算系统,其特征在于,接受训练的所述机器学习模型为所述中央机器学习模型或所述多个私有机器学习模型中的一个。
23.根据权利要求21或22所述的计算系统,其特征在于,接受训练的所述机器学习模型的所述当前模型参数的所述更新基于计算的所述损失相对于接受训练的所述机器学习模型的模型参数的梯度执行。
24.根据权利要求21至23中任一项所述的计算系统,其特征在于,所述多个计算系统中的每一个包括相应的私有数据存储空间,每个相应的私有数据存储空间:可由所述多个计算系统中的相应一个访问并且不可由所述服务器和所述多个计算系统中的其它计算系统访问;存储所述数据样本的不同相应部分中的相应一个。
25.一种用于安全纵向联邦学习以训练中央机器学习模型的方法,其特征在于,所述方法包括:
在运行所述中央机器学习模型的服务器处,从多个计算系统(每个计算系统运行多个私有机器学习模型中的不同的相应一个)中的每一个接收样本ID和所述私有机器学习模型的一组输出,所述私有机器学习模型的所述一组输出基于对应于所述样本ID的已识别数据样本的部分生成,其中,所述多个计算系统中的不同计算系统传输基于所述数据样本的不同相应部分生成的不同相应输出,所述一组输出基于所述样本ID对齐;
所述服务器接收所述一组输出和所述样本ID;
所述中央机器学习模型提供预测,其中,所述预测由所述中央机器学习模型基于从所述多个私有机器学习模型中的每一个接收的所述一组输出生成;
所述中央机器学习模型接收损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出;
其中,所述中央机器学习模型基于所述损失更新所述中央机器学习模型的参数。
26.根据权利要求25所述的方法,其特征在于,提供所述预测包括:向所述多个计算系统中的指定计算系统传输所述预测,所述指定计算系统保存所述标签;接收所述损失包括:从所述指定计算系统接收所述损失;所述方法还包括:所述指定计算系统计算所述损失。
27.根据权利要求25或26所述的方法,其特征在于,提供所述预测包括:向所述服务器的训练功能提供所述预测,所述训练功能保存所述标签;接收所述损失包括:从所述训练功能接收所述损失;所述方法还包括:在所述接收所述预测之前,所述服务器从所述计算系统中的指定计算系统接收所述标签;将所述标签存储在所述服务器可访问的存储器中;通过所述训练功能计算所述损失。
28.一种服务器,其特征在于,包括:
处理器;
存储器,存储指令,当所述指令由所述处理器执行时,使得所述服务器执行根据权利要求25至27中任一项所述的方法。
29.一种用于安全纵向联邦学习以训练私有机器学习模型的方法,其特征在于,所述方法包括:
从运行相应多个私有机器学习模型(包括接受训练的所述私有机器学习模型)的多个计算系统中的每一个向运行经过部分或完全训练的中央机器学习模型的服务器传输:识别数据样本的样本ID;所述多个私有机器学习模型的输出,其中,所述多个私有机器学习模型中的不同私有机器学习模型传输基于所述数据样本的不同相应部分生成的所述输出中的不同相应输出;
所述服务器接收所述一组输出和所述样本ID;
所述中央机器学习模型提供预测,所述预测由所述中央机器学习模型基于所述多个私有机器学习模型的所述输出计算得出;
在所述服务器处接收损失,所述损失基于所述预测与对应于所述数据样本的标签的比较计算得出;
所述服务器向运行接受训练的所述私有机器学习模型的所述多个计算系统中的一个传输所述损失相对于所述中央机器学习模型的当前参数的梯度,所述梯度由所述服务器基于所述损失确定;
运行接受训练的所述私有机器学习模型的所述多个计算系统中的所述一个基于所述梯度更新接受训练的所述私有机器学习模型的当前模型参数。
30.根据权利要求29所述的方法,其特征在于,提供所述预测包括:向所述多个计算系统中的指定计算系统传输所述预测,所述指定计算系统保存所述标签;接收所述损失包括:从所述指定计算系统接收所述损失;所述方法还包括:所述指定计算系统计算所述损失。
31.根据权利要求29或30所述的方法,其特征在于,提供所述预测包括:向所述服务器的训练功能提供所述预测,所述训练功能保存所述标签,所述损失由所述训练功能计算;接收所述损失包括:从所述训练功能接收所述损失;所述方法还包括:在所述接收所述预测之前,所述服务器从所述计算系统中的指定计算系统接收所述标签;将所述标签存储在所述服务器可访问的存储器中。
32.一种计算系统,其特征在于,包括:处理器,可操作地耦合至存储器;通信接口;所述计算系统运行私有机器学习模型并用于执行根据权利要求29至31中任一项所述的方法。
33.一种计算机可读介质,其特征在于,所述计算机可读介质包括指令,当所述指令由计算系统的处理器执行时,使得所述计算系统执行根据权利要求29至31中任一项所述的方法。
34.一种使用经过训练的私有机器学习模型生成预测的方法,其特征在于,所述方法包括:
运行所述私有机器学习模型的计算系统向运行经过训练的中央机器学习模型的服务器传输:识别数据样本的样本ID;所述私有机器学习模型基于所述识别的数据样本的一部分生成的私有机器学习模型输出,其中,运行相应多个经过训练的私有机器学习模型(包括所述经过训练的私有机器学习模型)的多个计算系统中的不同计算系统向所述中央机器学习模型传输基于所述识别的数据样本的不同相应部分生成的不同相应输出,所述不同相应输出包括所述私有机器学习模型输出;运行所述私有机器学习模型的所述计算系统从所述中央机器学习模型接收预测,所述预测基于组合的所述不同相应输出计算得出,其中,由运行所述私有机器学习模型的所述计算系统基于所述预测生成最终预测。
35.根据权利要求34所述的方法,其特征在于,还包括:运行所述私有机器学习模型的所述计算系统输出来自所述中央机器学习模型的所述预测作为所述最终预测。
36.根据权利要求34或35所述的方法,其特征在于,在传输所述样本ID和所述私有机器学习模型输出之前,所述私有机器学习模型、所述多个其它私有机器学习模型和所述中央机器学习模型使用垂直分区训练数据一起协同训练,所述垂直分区训练数据包括其它数据样本,每个数据样本包括多个特征,其中,所述多个特征的不同子集可由所述多个私有机器学习模型中的不同私有机器学习模型访问。
37.根据权利要求34至36中任一项所述的方法,其特征在于,所述样本ID和所述私有机器学习模型输出排除所述数据样本的所述部分,并且进一步排除所述私有机器学习模型的训练参数。
38.根据权利要求34至37中任一项所述的方法,其特征在于,所述私有机器学习模型输出是根据通过预先训练建立到所述私有机器学习模型中的输入输出关系、为响应于所述识别的数据样本的所述部分而生成的。
39.一种计算系统,其特征在于,包括:处理器,可操作地耦合至存储器;通信接口;所述计算系统运行私有机器学习模型并用于执行根据权利要求34至38中任一项所述的方法。
40.一种计算机可读介质,其特征在于,所述计算机可读介质包括指令,当所述指令由计算系统的处理器执行时,使得所述计算系统执行根据权利要求34至38中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962897808P | 2019-09-09 | 2019-09-09 | |
US62/897,808 | 2019-09-09 | ||
US17/014,204 | 2020-09-08 | ||
US17/014,204 US11836583B2 (en) | 2019-09-09 | 2020-09-08 | Method, apparatus and system for secure vertical federated learning |
PCT/CN2020/114170 WO2021047535A1 (en) | 2019-09-09 | 2020-09-09 | Method, apparatus and system for secure vertical federated learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115943394A true CN115943394A (zh) | 2023-04-07 |
Family
ID=74849562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080061690.5A Pending CN115943394A (zh) | 2019-09-09 | 2020-09-09 | 用于安全纵向联邦学习的方法、装置和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11836583B2 (zh) |
EP (1) | EP3903247A4 (zh) |
CN (1) | CN115943394A (zh) |
WO (1) | WO2021047535A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11449797B1 (en) * | 2019-09-23 | 2022-09-20 | Amazon Technologies, Inc. | Secure machine learning workflow automation using isolated resources |
US11188791B2 (en) * | 2019-11-18 | 2021-11-30 | International Business Machines Corporation | Anonymizing data for preserving privacy during use for federated machine learning |
US11599671B1 (en) | 2019-12-13 | 2023-03-07 | TripleBlind, Inc. | Systems and methods for finding a value in a combined list of private values |
US11531782B1 (en) * | 2022-05-13 | 2022-12-20 | TripleBlind, Inc. | Systems and methods for finding a value in a combined list of private values |
US20210192078A1 (en) * | 2019-12-23 | 2021-06-24 | Apple Inc. | User behavior model development with private federated learning |
US20210272014A1 (en) * | 2020-02-28 | 2021-09-02 | Shanghai United Imaging Intelligence Co., Ltd. | System and methods for privacy preserving cross-site federated learning |
US20210312336A1 (en) * | 2020-04-03 | 2021-10-07 | International Business Machines Corporation | Federated learning of machine learning model features |
US20210397940A1 (en) * | 2020-06-10 | 2021-12-23 | Nvidia Corporation | Behavior modeling using client-hosted neural networks |
US11848915B2 (en) * | 2020-11-30 | 2023-12-19 | EMC IP Holding Company LLC | Multi-party prediction using feature contribution values |
US20220210140A1 (en) * | 2020-12-30 | 2022-06-30 | Atb Financial | Systems and methods for federated learning on blockchain |
CN112884163B (zh) * | 2021-03-18 | 2023-06-23 | 中国地质大学(北京) | 基于联邦机器学习算法与云端反馈的组合服务评估方法与系统 |
CN113240127A (zh) * | 2021-04-07 | 2021-08-10 | 睿蜂群(北京)科技有限公司 | 基于联邦学习的训练方法、装置、电子设备及存储介质 |
CN113807538B (zh) * | 2021-04-09 | 2024-02-06 | 京东科技控股股份有限公司 | 联邦学习方法、装置、电子设备及存储介质 |
CN113723621B (zh) * | 2021-04-19 | 2024-02-06 | 京东科技控股股份有限公司 | 一种纵向联邦学习建模方法、装置、设备及计算机介质 |
CN112990612B (zh) * | 2021-05-17 | 2021-08-10 | 湖南三湘银行股份有限公司 | 一种基于联邦学习的预测系统及方法 |
CN113191504B (zh) * | 2021-05-21 | 2022-06-28 | 电子科技大学 | 一种面向计算资源异构的联邦学习训练加速方法 |
CN113537597A (zh) * | 2021-07-16 | 2021-10-22 | 上海大学 | 一种基于隐私保护的材料性能预测方法及系统 |
US11816243B2 (en) * | 2021-08-09 | 2023-11-14 | Adobe Inc. | Preserving user-entity differential privacy in natural language modeling |
WO2023056546A1 (en) * | 2021-10-04 | 2023-04-13 | Fuseforward Technology Solutions Limited | Machine learning training system and method |
WO2022247143A1 (en) * | 2021-11-01 | 2022-12-01 | F. Hoffmann-La Roche Ag | Federated learning of medical validation model |
US20230196081A1 (en) * | 2021-12-21 | 2023-06-22 | International Business Machines Corporation | Federated learning for training machine learning models |
CN114330759B (zh) * | 2022-03-08 | 2022-08-02 | 富算科技(上海)有限公司 | 一种纵向联邦学习模型的训练方法及系统 |
WO2023197100A1 (en) * | 2022-04-11 | 2023-10-19 | Qualcomm Incorporated | Loss reporting for distributed training of a machine learning model |
WO2023225760A1 (en) * | 2022-05-27 | 2023-11-30 | The Toronto-Dominion Bank | Distributed model training with collaboration weights for private data sets |
CN117093903B (zh) * | 2023-10-19 | 2024-03-29 | 中国科学技术大学 | 一种纵向联邦学习场景中标签推理攻击方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9699205B2 (en) * | 2015-08-31 | 2017-07-04 | Splunk Inc. | Network security system |
US10229357B2 (en) * | 2015-09-11 | 2019-03-12 | Facebook, Inc. | High-capacity machine learning system |
CN108496189B (zh) * | 2015-12-04 | 2022-07-12 | 谷歌有限责任公司 | 用于正则化机器学习模型的方法、系统和存储介质 |
US10380503B2 (en) * | 2016-04-08 | 2019-08-13 | Here Global B.V. | Distributed online learning for privacy-preserving personal predictive models |
CN117709426A (zh) * | 2017-02-24 | 2024-03-15 | 渊慧科技有限公司 | 训练机器学习模型的方法、系统和计算机存储介质 |
US11748653B2 (en) | 2017-10-05 | 2023-09-05 | DataRobot, Inc. | Machine learning abstraction |
US11488054B2 (en) | 2017-12-06 | 2022-11-01 | Google Llc | Systems and methods for distributed on-device learning with data-correlated availability |
US11475350B2 (en) | 2018-01-22 | 2022-10-18 | Google Llc | Training user-level differentially private machine-learned models |
US11593634B2 (en) * | 2018-06-19 | 2023-02-28 | Adobe Inc. | Asynchronously training machine learning models across client devices for adaptive intelligence |
US11423254B2 (en) | 2019-03-28 | 2022-08-23 | Intel Corporation | Technologies for distributing iterative computations in heterogeneous computing environments |
-
2020
- 2020-09-08 US US17/014,204 patent/US11836583B2/en active Active
- 2020-09-09 WO PCT/CN2020/114170 patent/WO2021047535A1/en unknown
- 2020-09-09 CN CN202080061690.5A patent/CN115943394A/zh active Pending
- 2020-09-09 EP EP20863233.1A patent/EP3903247A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3903247A4 (en) | 2022-03-09 |
US11836583B2 (en) | 2023-12-05 |
WO2021047535A1 (en) | 2021-03-18 |
EP3903247A1 (en) | 2021-11-03 |
US20210073678A1 (en) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115943394A (zh) | 用于安全纵向联邦学习的方法、装置和系统 | |
Aledhari et al. | Federated learning: A survey on enabling technologies, protocols, and applications | |
CN110990871B (zh) | 基于人工智能的机器学习模型训练方法、预测方法及装置 | |
JP7196195B2 (ja) | 信頼できる実行環境を使用するプライバシー強化深層学習クラウド・サービス | |
US20210174264A1 (en) | Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data | |
WO2022089256A1 (zh) | 联邦神经网络模型的训练方法、装置、设备、计算机程序产品及计算机可读存储介质 | |
WO2021114911A1 (zh) | 用户风险评估方法及装置、电子设备、存储介质 | |
US20230078061A1 (en) | Model training method and apparatus for federated learning, device, and storage medium | |
CN111898137A (zh) | 一种联邦学习的隐私数据处理方法、设备及系统 | |
US20200082272A1 (en) | Enhancing Data Privacy in Remote Deep Learning Services | |
WO2021120677A1 (zh) | 一种仓储模型训练方法、装置、计算机设备及存储介质 | |
BR112019008135B1 (pt) | Método implementado por computador, meio legível por computador e sistema implementado por computador | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN112799708B (zh) | 联合更新业务模型的方法及系统 | |
EP3923207A2 (en) | Clustering techniques for machine learning models | |
CN116529730A (zh) | 使用安全多方计算的隐私保护机器学习 | |
JP2021501920A (ja) | 信頼できるイニシャライザを用いた秘密共有 | |
Riahi et al. | RL-Based Federated Learning Framework Over Blockchain (RL-FL-BC) | |
US11943277B2 (en) | Conversion system, method and program | |
US20230162053A1 (en) | Machine-learning techniques for risk assessment based on clustering | |
US20210248515A1 (en) | Assisted learning with module privacy | |
US20230088588A1 (en) | Security as a service for machine learning | |
US20230113118A1 (en) | Data compression techniques for machine learning models | |
US11847246B1 (en) | Token based communications for machine learning systems | |
US20220318619A1 (en) | Game theoretic deep neural networks for global optimization of machine learning model generation |
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 |