CN110874650A - 融合公域数据和私有数据的联盟学习方法、装置和系统 - Google Patents
融合公域数据和私有数据的联盟学习方法、装置和系统 Download PDFInfo
- Publication number
- CN110874650A CN110874650A CN202010048788.9A CN202010048788A CN110874650A CN 110874650 A CN110874650 A CN 110874650A CN 202010048788 A CN202010048788 A CN 202010048788A CN 110874650 A CN110874650 A CN 110874650A
- Authority
- CN
- China
- Prior art keywords
- member node
- alliance
- model parameters
- local
- data
- 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
Links
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例公开了一种融合公域数据和私有数据的联盟学习方法、装置和系统,在所述方法中,联盟中的第二成员节点对至少两个第一成员节点发送的模型参数进行整合后,还基于公域数据对整合得到的第一目标模型参数进行了更新,得到第二目标模型参数,然后将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种融合公域数据和私有数据的联盟学习方法、装置及系统。
背景技术
联盟学习(Federated Learning)是一种新兴的人工智能支撑技术,它的目标是在保证私有数据(如终端数据、个人隐私数据)安全及符合法律法规规定的前提下,在多参与方或多计算节点之间开展高效率的机器学习。
在一种联盟学习场景下,联盟中的多个(两个或两个以上)成员节点会分别依据自己的私有数据训练模型,并将训练得到的模型参数发送至一个指定成员节点,由该指定成员节点对模型参数进行整合得到目标模型。这种联盟学习方式虽然能够保护成员节点本地的私有数据的安全,但是仍然存在片面性,学习效果不理想。
发明内容
本说明书实施例提供了一种融合公域数据和私有数据的联盟学习方法、装置及系统,以提高联盟学习效果。
为解决上述技术问题,本说明书实施例是这样实现的:
第一方面,提出了一种融合公域数据和私有数据的联盟学习方法,包括:
联盟中的第一成员节点将基于本地数据训练得到的模型参数,发送至所述联盟中的第二成员节点,其中,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
所述第二成员节点基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数并发送至所述联盟中的第一成员节点,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据;
所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
第二方面,提出了一种融合公域数据和私有数据的联盟学习方法,包括:
接收联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
第三方面,提出了一种融合公域数据和私有数据的联盟学习方法,包括:
将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
基于所述第二目标模型参数和本地数据再次进行本地训练。
第四方面,提出了一种联盟系统,包括:第二成员节点和多个第一成员节点,其中,所述第一成员节点是所述联盟系统中不参与模型参数整合的成员节点,所述第二成员节点是所述联盟系统中参与模型参数整合的成员节点;
所述联盟系统中的第一成员节点,用于将基于本地数据训练得到的模型参数发送至所述第二成员节点;
所述第二成员节点,用于对所述联盟系统中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数;并将所述第二目标模型参数发送至所述联盟中的第一成员节点;其中,所述公域数据是所述第二成员节点收集的来自所述联盟系统中的至少一个第一成员节点的非私有数据;
所述联盟中的第一成员节点,还用于基于所述第二目标模型参数和本地数据再次进行本地训练。
第五方面,提出了一种融合公域数据和私有数据的联盟学习装置,包括:
第二接收模块,用于接收所述联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
参数整合模块,用于对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
参数更新模块,用于基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
第二参数发送模块,用于将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
第六方面,提出了一种融合公域数据和私有数据的联盟学习装置,包括:
第一参数发送模块,用于将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
第一接收模块,用于接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
第二本地训练模块,用于基于所述第二目标模型参数和本地数据再次进行本地训练。
第七方面,提供了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
第九方面,提供了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
基于所述第二目标模型参数和本地数据再次进行本地训练。
第十方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
基于所述第二目标模型参数和本地数据再次进行本地训练。
由以上本说明书实施例提供的技术方案可见,本说明书实施例提供的方案至少具备如下一种技术效果:联盟中的第二成员节点(参与模型参数整合的成员节点)在对第一成员节点(不参与模型参数整合的成员节点)基于本地数据(包括本地私有数据)训练得到的模型参数整合后,进一步利用第二成员节点收集的公域数据对整合得到的模型参数进行了更新,并将基于公域数据更新后的模型参数反馈给第一成员节点以进行下一轮的训练,这种不仅将私有数据还将公域数据纳入学习对象的联盟学习方式,能够提升训练效果,能训练得到更优的目标模型参数。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本说明书实施例提供的一种示例性的联盟系统示意图。
图2是本说明书实施例提供的一种融合公域数据和私有数据的联盟学习方法的流程示意图之一。
图3是本说明书实施例提供的一种融合公域数据和私有数据的联盟学习方法的流程示意图之二。
图4是本说明书实施例提供的另一种融合公域数据和私有数据的联盟学习方法的流程示意图。
图5是本说明书实施例提供的又一种融合公域数据和私有数据的联盟学习方法的流程示意图。
图6是本说明书实施例提供的一种联盟系统的结构示意图。
图7是本说明书实施例提供的一种电子设备的结构示意图。
图8是本说明书实施例提供的一种融合公域数据和私有数据的联盟学习装置的结构示意图。
图9是本说明书实施例提供的另一种融合公域数据和私有数据的联盟学习装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提升联盟学习效果,本说明书实施例提供一种融合公域数据和私有数据的联盟学习方法、装置及系统。本说明书实施例提供的方法及装置可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述终端设备包括但不限于:智能手机、个人电脑(personal computer,PC)、笔记本电脑、平板电脑、电子阅读器、网络电视、可穿戴设备等智能终端设备中的任一种。
本说明书的实施例中提到的“多个”指的是“两个或两个以上”。
为了更清楚地理解本说明书实施例提供的各技术方案,下面先通过图1对本说明书实施例提供的技术方案的一种可能的应用场景进行说明。
如图1所示,在一种可能出现的应用场景中,一个联盟系统可以包括云端和多个本地端(本地端1、本地端2、……、本地端n)。其中,云端首先会向各本地端部署针对同一机器学习目标的初始模型参数;本地端在收到初始模型参数之后,会基于本地数据进行训练,以对初始模型参数进行更新得到新的模型参数并发送给云端;云端会对接收到的来自多个本地端的模型参数进行整合,得到第一目标模型参数,然后基于公域数据对第一目标模型参数进行更新,得到第二目标模型参数并发送给本地端;本地端在收到第二目标模型参数之后,继续利用本地数据进行训练,以对第二目标模型参数进行更新得到新的模型参数,并将继续训练得到的新的模型参数发送至云端,由云端再次整合和更新。如此不断迭代,直到满足迭代终止条件,将云端最后一次整合、更新得到的第二目标模型参数,作为最终的学习目标。
可选地,在图1所示的联盟系统中,本地端可以将本地训练得到的模型参数以及非私有数据加密后发送给云端,云端也可以将初始模型参数及第二目标模型参数加密后发送给本地端,以防止攻击者截获模型参数后,反推出训练时所使用的私有数据,从而进一步地保护本地端的私有数据的安全。
在一个实际应用示例中,图1中的云端可以是第三方支付平台的服务器,图1中的不同本地端可以是不同金融机构的私有数据存储服务器。
在图1所示的联盟系统中,云端是联盟中参与模型参数整合的成员节点,本地端是联盟中不参与模型参数整合的成员节点。在图1所示的一种可能出现的应用场景的基础上推而广之,一个联盟系统(可以简称为联盟)可以包括多个成员节点,这多个成员节点包括至少两个第一成员节点和至少一个第二成员节点,其中,第一成员节点可以理解为是联盟中不参与模型参数整合的成员节点,第二成员节点可以理解为是联盟中参与模型参数整合的成员节点。下文以包含多个第一成员节点和至少一个第二成员节点的联盟系统(简称联盟)为例,对本说明书提供的各技术方案进行说明。
在本说明提供的实施例中,第一成员节点的本地数据可以包括本地私有数据和可以发送至第二成员节点的非私有数据。其中:
(1)本地私有数据可以看作是一个个的数据孤岛,在未进行联盟学习之前,这些数据是孤立存在的无法联合起来发挥作用,进行联盟学习之后,相当于打通了各个数据孤岛,将各个数据孤岛联合起来学习实现最终的学习目标。此外,各第一成员节点将基于本地私有数据训练得到的模型参数发送至第二成员节点,而没有直接将私有数据发送至第二成员节点,因此还可以保护第一成员节点的私有数据的安全。
(2)第一成员节点中能够发送至第二成员节点的非私有数据,可以在第二成员节点中形成公域数据。应理解,所谓公域数据是相对于私有数据而言的。还应理解,在每一轮迭代过程中,第一成员节点可能会产生新的非私有数据并发送至第二成员节点,因此第二成员节点的公域数据会随着迭代次数的增加不断更新。当然,除了第一成员节点发送至第二成员节点的非私有数据,第二成员节点中的公域数据还可以从其他渠道获得,本说明书对此不做限制。
下面通过图2和图3对本说明书实施例提供的一种联盟学习中的私有数据评估方法进行说明,图2和图3所示的方法可以应用于上文所述的联盟系统(简称联盟),该联盟可以包括多个第一成员节点和至少一个第二成员节点,其中,第一成员节点是联盟中不参与模型参数整合的成员节点,第二成员节点是联盟中参与模型参数整合的成员节点,下文中不再赘述。
图2是本说明书的一个实施例提供的融合公域数据和私有数据的联盟学习方法的实现流程示意图。如图2所示,该方法可以包括如下步骤。
步骤206、联盟中的第一成员节点将基于本地数据训练得到的模型参数,发送至所述联盟中的第二成员节点。
其中,联盟中的第一成员节点进行本地训练时采用的本地数据包括本地私有数据,或者,联盟中的第一成员节点进行本地训练时采用的本地数据包括本地私有数据和发送至第二成员节点的非私有数据。
步骤208、所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数。
作为一个例子,在步骤208之前,可以基于预设规则确定所述联盟中的第一成员节点发送的模型参数的权重,然后在步骤208中,所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行加权计算,得到第一目标模型参数。
其中,确定联盟中第一成员节点发送的模型参数整合时的权重的方法可以有很多种,下面列举两种。
第一种方式
基于预设规则确定所述联盟中的第一成员节点发送的模型参数的权重,可以包括:基于所述联盟中的第一成员节点进行本地训练时所使用的本地数据量,确定所述联盟中的第一成员节点发送的模型参数的权重。
一般而言,第一成员节点进行本地训练时所使用的本地数据量越大(或者说数据规模越大),说明该第一成员节点在联盟学习中的贡献越大,则该第一成员节点发送的模型参数在整合时的权重越大;反之,第一成员节点进行本地训练时所使用的本地数据量越小(或者说数据规模越小),说明该第一成员节点在联盟学习中的贡献越小,则该第一成员节点发送的模型参数在整合时的权重越小。
进一步地,可以基于所述联盟中的第一成员节点进行本地训练时所使用的本地私有数据量,确定所述联盟中的第一成员节点发送的模型参数的权重。由于第二成员节点的公域数据中已经收集了第一成员节点发送的非私有数据,因此在整合时,可以单独依据私有数据量来衡量第一成员节点发送的模型参数的权重。
第二种方式
联盟中的一个第一成员节点发送的模型参数可以用一个向量表示,其中,基于预设规则确定所述联盟中的第一成员节点发送的模型参数的权重,可以包括:基于联盟中的第一成员节点发送的模型参数与中心模型参数之间的距离,确定联盟中的第一成员节点发送的模型参数的权重。
其中,中心模型参数是基于所述联盟中的至少两个第一成员节点发送的模型参数确定的。下面举两个例子说明。
第一个例子,第二成员节点可以计算联盟中的至少两个第一成员节点发送的模型参数的平均向量,然后将该平均向量作为中心模型参数。在此基础上,基于第一成员节点发送的模型参数(一个向量)与所述中心模型参数之间的距离,确定第一成员节点发送的模型参数的权重。
第二个例子,第二成员节点可以将联盟中的至少两个第一成员节点发送的模型参数用空间中的至少两个点表示,一个点表示一个向量,然后基于预设聚类算法对所述至少两个点进行聚类,得到多个分簇;分别确定所述多个分簇中的点的平均向量,得到多个平均向量,一个分簇对应确定一个平均向量;最后走将所述多个平均向量的平均向量作为中心模型参数。在此基础上,基于第一成员节点所在分簇的平均向量与中心模型参数之间的距离,确定第一成员节点所在分簇中所有第一成员节点发送的模型参数的权重。这种情况下,整合时是对各分簇的平均向量进行加权计算。
在根据距离确定权重时,可以预先设定不同的距离范围对应不同的权重。在此基础上,在确定出第一成员节点对应的模型参数与中心模型参数之间的距离之后,可以进一步地确定该距离所处的距离范围,最后将该距离范围对应的权重确定为第一成员节点对应的模型参数的权重。
一般情况下,一个第一成员节点对应的模型参数与中心模型参数的距离越大,说明该第一成员节点的本地数据与其他第一成员节点的本地数据的差异越大;反之,一个第一成员节点对应的模型参数与中心模型参数的距离越小,说明该第一成员节点的本地数据与其他第一成员节点的本地数据的差异越小。
为了满足不同的学习需求,距离(第一成员节点发送的模型参数与中心模型参数的距离)与权重可以正相关,也可以负相关。如果距离与权重正相关,则距离越大权重越大,距离越小权重越小。如果距离与权重负相关,则距离越大权重越小,距离越小权重越大。一般而言,如果要利用某一第一成员节点的本地数据与其他第一成员节点的本地数据的差异,来优化模型参数,则距离与权重可以正相关;如果要摒弃某一第一成员节点的本地数据与其他第一成员节点的本地数据的差异(这种差异可能是不好的,需要摒弃),来优化模型参数,则距离与权重可以负相关。
可以理解,通过加权计算,可以很好地平衡不同第一成员节点的本地数据在联盟学习中的贡献,得到更优的联盟学习结果。
步骤210、所述第二成员节点基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数。
如前文所述,公域数据可以是第二成员节点收集的来自联盟中的至少一个第一成员节点的非私有数据。也即,可选地,在步骤210之前,图2所示的方法还可以包括:联盟中的第一成员节点将本地非私有数据发送至所述第二成员节点,以在第二成员节点中形成公域数据。
不难理解,在联盟学习中,除了将第一成员节点的本地私有数据纳入考量范围,还将各第一成员节点的非私有数据形成的公域数据作为一个整体纳入考量范围,可以拓宽训练数据的范围,从而能从更全面的角度进行学习,以提升联盟学习效果。
步骤212、所述第二成员节点将所述第二目标模型参数发送至所述联盟中的第一成员节点。
步骤214、所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
可见,在下一轮训练中,第一成员节点依据本地数据更新的模型参数是第二成员节点基于公域数据更新得到的第二目标模型参数,而不是上一轮整合得到的第一目标模型参数,因此可以提升联盟学习效果。
总之,本说明书实施例提供的一种融合公域数据和私有数据的联盟学习方法,联盟中的第二成员节点(参与模型参数整合的成员节点)在对第一成员节点(不参与模型参数整合的成员节点)基于本地数据(包括本地私有数据)训练得到的模型参数整合后,进一步利用第二成员节点收集的公域数据对整合得到的模型参数进行了更新,并将更新后的模型参数反馈给第一成员节点以进行下一轮的训练,这种不仅将私有数据还将公域数据纳入学习对象的联盟学习方式,能够提升训练效果,能训练得到更优的目标模型参数。
图3示出了本说明书的另一实施例提供的一种联盟学习中的私有数据评估方法,如图3所示,该方法可以包括如下步骤:
步骤202、第二成员节点基于所述公域数据训练初始模型参数。
步骤204、第二成员节点将所述初始模型参数发送至所述联盟中的第一成员节点。
在联盟学习伊始,第二成员节点会将待训练模型的初始模型参数(或初始模型)部署至第一成员节点。在一种情况下,该初始模型参数(或初始模型)可以是标准版的基础模型。在另一种情况下,如步骤202所述,该初始模型参数(或初始模型)可以是第二成员节点基于上述公域数据进行初步训练得到的。
相应的,联盟中的第一成员节点在进行第一次本地训练时,基于所述初始模型参数和本地数据进行训练。
步骤206、联盟中的第一成员节点将基于本地数据训练得到的模型参数,发送至所述联盟中的第二成员节点。
其中,联盟中的第一成员节点进行本地训练时采用的本地数据包括本地私有数据,或者,联盟中的第一成员节点进行本地训练时采用的本地数据包括本地私有数据和发送至第二成员节点的非私有数据。
步骤208、所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数。
步骤210、所述第二成员节点基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数。
步骤216、判断是否满足迭代终止条件,如果是,结束联盟学习,如果否,执行步骤212。
其中,迭代终止条件可以是到达预设的迭代次数,或者,迭代终止条件可以是本轮迭代整合得到的目标模型参数相对于上一轮迭代整合得到的目标模型参数的变化很小(如小于5%等)。
步骤212、所述第二成员节点将所述第二目标模型参数发送至所述联盟中的第一成员节点。
步骤214、所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练,并返回执行步骤206。
可见,在下一轮训练中,第一成员节点依据本地数据更新的模型参数是第二成员节点基于公域数据更新得到的第二目标模型参数,而不是上一轮整合得到的第一目标模型参数,因此可以提升联盟学习效果。
本说明书实施例提供的一种融合公域数据和私有数据的联盟学习方法,不仅将私有数据还将公域数据纳入学习对象,因此,能够提升训练效果,能训练得到更优的目标模型参数。
以上是对可以应用于联盟系统的一种联盟学习中的私有数据评估方法的说明,下面通过图4所示的实施例,对应用于第二成员节点的一种基于私有数据保护的联盟学习方法进行说明。
图4示出了本说明书的另一个实施例提供的一种基于私有数据保护的联盟学习方法,该方法可以应用于联盟中的第二成员节点。如图4所示,该方法可以包括如下步骤。
步骤402、接收联盟中的第一成员节点发送的模型参数。
其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点。
步骤404、对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数。
具体整合方式可以参考上文对步骤208的说明,此处不做重复描述。
步骤406、基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数。
其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点。
步骤408、将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
可选地,在步骤402之前,图4所示的方法还可以包括:基于公域数据训练初始模型参数;将所述初始模型参数发送至所述联盟中的第一成员节点,以使联盟中的第一成员节点在进行第一次本地训练时,基于所述初始模型参数和本地数据进行训练。
可选地,在步骤406之后,在步骤408之前,图4所示的方法还可以包括:判断是否满足预设迭代终止条件;若满足,结束联盟学习;若不满足,再执行步骤408。
本说明书实施例提供的一种融合公域数据和私有数据的联盟学习方法,不仅将私有数据还将公域数据纳入学习对象,因此,能够提升训练效果,能训练得到更优的目标模型参数。
下面通过图5所示的实施例,对应用于第一成员节点的一种基于私有数据保护的联盟学习方法进行说明。如图5所示,该方法可以包括如下步骤。
步骤502、将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点。
其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据。
步骤504、接收所述第二成员节点发送的第二目标模型参数。
其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点。
步骤506、基于所述第二目标模型参数和本地数据再次进行本地训练,并在未终止迭代时,返回执行步骤502。
可选地,在步骤502之前,图5所示的方法还可以包括:接收所述第二成员节点发送的初始模型参数;基于本地私有数据对所述初始模型参数进行更新,得到模型参数,然后执行步骤502。
本说明书实施例提供的一种基于私有数据保护的联盟学习方法,不仅将私有数据还将公域数据纳入学习对象,因此,能够提升训练效果,能训练得到更优的目标模型参数。
以上是对本说明书提供的方法实施例的说明,下面对本说明书提供的电子设备进行介绍。
如图6所示,本说明书实施例还提供了一种联盟系统,包括第二成员节点61和多个第一成员节点62,其中,第一成员节点62是所述联盟系统中不参与模型参数整合的成员节点,第二成员节点61是所述联盟系统中参与模型参数整合的成员节点。
所述联盟系统中的第一成员节点62,用于将基于本地数据训练得到的模型参数发送至所述第二成员节点61;
所述第二成员节点61,用于对所述联盟系统中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数;并将所述第二目标模型参数发送至所述联盟中的第一成员节点62;其中,所述公域数据是所述第二成员节点收集的来自所述联盟系统中的至少一个第一成员节点62的非私有数据;
所述联盟中的第一成员节点62,还用于基于所述第二目标模型参数和本地数据再次进行本地训练。
同样的,在该系统中,第一成员节点62和第二成员节点61所要实现的内容与上文中所述的实施例中一致,并能取得相同的技术效果,详情请参照上文中对图2至图5所示的实施例的说明,此处不做重复描述。
以上是对本说明书提供的方法实施例的说明,下面对本说明书提供的电子设备进行介绍。
图7是本说明书的一个实施例提供的电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成融合公域数据和私有数据的联盟学习装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
或者,处理器,执行存储器所存放的程序,并具体用于执行以下操作:
将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
基于所述第二目标模型参数和本地数据再次进行本地训练。
上述如本说明书图4或图5所示实施例揭示的融合公域数据和私有数据的联盟学习方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图4或图5提供的融合公域数据和私有数据的联盟学习方法,本说明书在此不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图4所示实施例的方法,并具体用于执行以下操作:
接收联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图5所示实施例的方法,并具体用于执行以下操作:
将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
基于所述第二目标模型参数和本地数据再次进行本地训练。
下面对本说明书提供的融合公域数据和私有数据的联盟学习装置进行说明。
如图8所示,本说明书的一个实施例提供了一种融合公域数据和私有数据的联盟学习装置,该装置可以应用于第二成员节点,在一种软件实施方式中,该融合公域数据和私有数据的联盟学习装置800可包括:第二接收模块802、参数整合模块804、参数更新模块806和第二参数发送模块808。
第二接收模块802,用于接收所述联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点。
参数整合模块804,用于对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数。
参数更新模块806,用于基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点。
第二参数发送模块808,用于将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
可选地,装置800还可以包括:初始参数部署模块,用于在第二接收模块802接收所述联盟中的第一成员节点发送的模型参数之前,基于公域数据训练初始模型参数;将所述初始模型参数发送至所述联盟中的第一成员节点,以使联盟中的第一成员节点在进行第一次本地训练时,基于所述初始模型参数和本地数据进行训练。
可选地,装置800还可以包括:判断模块,用于在更新得到第二目标模型参数之后,在向第一成员节点发送第二目标模型参数之前,判断是否满足预设迭代终止条件;若满足,结束联盟学习;若不满足,再触发第二参数发送模块808将所述第二目标模型参数发送至所述联盟中的第一成员节点。
图8所示的实施例提供的一种融合公域数据和私有数据的联盟学习装置,不仅将私有数据还将公域数据纳入学习对象,因此,能够提升训练效果,能训练得到更优的目标模型参数。
需要说明的是,融合公域数据和私有数据的联盟学习装置900能够实现图4的方法实施例的方法,具体可参考图4所示实施例的融合公域数据和私有数据的联盟学习方法,不再赘述。
如图9所示,本说明书的另一个实施例还提供了一种融合公域数据和私有数据的联盟学习装置,该装置可以应用于第一成员节点,在一种软件实施方式中,该装置900可包括:第一参数发送模块902、第一接收模块904和第二本地训练模块906。
第一参数发送模块902,用于将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据。
第一接收模块904,用于接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点。
第二本地训练模块906,用于基于所述第二目标模型参数和本地数据再次进行本地训练。
可选地,图9所示的装置还包括:第一训练模块,用于在第一参数发送模块902将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点之前,接收所述第二成员节点发送的初始模型参数;并基于本地私有数据对所述初始模型参数进行更新,得到模型参数,然后触发第一参数发送模块902。
图9所示的实施例提供的一种融合公域数据和私有数据的联盟学习装置,不仅将私有数据还将公域数据纳入学习对象,因此,能够提升训练效果,能训练得到更优的目标模型参数。
需要说明的是,融合公域数据和私有数据的联盟学习装置900能够实现图5的方法实施例的方法,具体可参考图5所示实施例的融合公域数据和私有数据的联盟学习方法,不再赘述。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制时,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (19)
1.一种融合公域数据和私有数据的联盟学习方法,包括:
联盟中的第一成员节点将基于本地数据训练得到的模型参数,发送至所述联盟中的第二成员节点,其中,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
所述第二成员节点基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据;
所述第二成员节点将所述第二目标模型参数发送至所述联盟中的第一成员节点;
所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
2.根据权利要求1所述的方法,在所述第二成员节点基于公域数据对所述第一目标模型参数进行更新之前,还包括:
所述联盟中的第一成员节点将本地非私有数据发送至所述第二成员节点。
3.根据权利要求2所述的方法,
所述联盟中的第一成员节点进行本地训练时采用的本地数据包括:本地私有数据和发送至所述第二成员节点的非私有数据。
4.根据权利要求1所述的方法,在所述联盟中的第一成员节点进行第一次本地训练前,还包括:
所述第二成员节点基于所述公域数据训练初始模型参数;
所述第二成员节点将所述初始模型参数发送至所述联盟中的第一成员节点;
其中,所述联盟中的第一成员节点在进行第一次本地训练时,基于所述初始模型参数和本地数据进行训练。
5.根据权利要求1所述的方法,其中,所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数,包括:
所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行加权计算,得到第一目标模型参数。
6.根据权利要求5所述的方法,在所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行加权计算,得到第一目标模型参数之前,还包括:
基于预设规则确定所述联盟中的第一成员节点发送的模型参数的权重。
7.根据权利要求6所述的方法,其中,所述基于预设规则确定所述联盟中的第一成员节点发送的模型参数的权重,包括:
基于所述联盟中的第一成员节点进行本地训练时所使用的本地数据量,确定所述联盟中的第一成员节点发送的模型参数的权重。
8.根据权利要求7所述的方法,其中,所述基于所述联盟中的第一成员节点进行本地训练时所使用的本地数据量,确定所述联盟中的第一成员节点发送的模型参数的权重,包括:
基于所述联盟中的第一成员节点进行本地训练时所使用的本地私有数据量,确定所述联盟中的第一成员节点发送的模型参数的权重。
9.根据权利要求6所述的方法,所述联盟中的一个第一成员节点发送的模型参数用一个向量表示,其中,所述基于预设规则确定所述联盟中的第一成员节点发送的模型参数的权重,包括:
基于所述联盟中的第一成员节点发送的模型参数与中心模型参数之间的距离,确定所述联盟中的第一成员节点发送的模型参数的权重,所述中心模型参数是基于所述联盟中的至少两个第一成员节点发送的模型参数确定的。
10.根据权利要求1-9任一项所述的方法,在所述第二成员节点将所述第二目标模型参数发送至所述联盟中的第一成员节点之前,还包括:
判断是否满足预设迭代终止条件;
若满足,结束联盟学习;
若不满足,再由所述第二成员节点将所述第二目标模型参数发送至所述联盟中的第一成员节点。
11.一种融合公域数据和私有数据的联盟学习方法,包括:
接收联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
12.一种融合公域数据和私有数据的联盟学习方法,包括:
将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
基于所述第二目标模型参数和本地数据再次进行本地训练。
13.一种联盟系统,包括:第二成员节点和多个第一成员节点,其中,所述第一成员节点是所述联盟系统中不参与模型参数整合的成员节点,所述第二成员节点是所述联盟系统中参与模型参数整合的成员节点;
所述联盟系统中的第一成员节点,用于将基于本地数据训练得到的模型参数发送至所述第二成员节点;
所述第二成员节点,用于对所述联盟系统中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数;并将所述第二目标模型参数发送至所述联盟中的第一成员节点;其中,所述公域数据是所述第二成员节点收集的来自所述联盟系统中的至少一个第一成员节点的非私有数据;
所述联盟中的第一成员节点,还用于基于所述第二目标模型参数和本地数据再次进行本地训练。
14.一种融合公域数据和私有数据的联盟学习装置,包括:
第二接收模块,用于接收所述联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
参数整合模块,用于对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
参数更新模块,用于基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
第二参数发送模块,用于将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
15.一种融合公域数据和私有数据的联盟学习装置,包括:
第一参数发送模块,用于将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
第一接收模块,用于接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
第二本地训练模块,用于基于所述第二目标模型参数和本地数据再次进行本地训练。
16.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
17.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收联盟中的第一成员节点发送的模型参数,其中,所述模型参数是所述第一成员节点基于本地数据训练得到的,所述本地数据包括本地私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
对所述联盟中的至少两个第一成员节点发送的模型参数进行整合,得到第一目标模型参数;
基于公域数据对所述第一目标模型参数进行更新,得到第二目标模型参数,其中,所述公域数据是第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第二成员节点是所述联盟中参与模型参数整合的成员节点;
将所述第二目标模型参数发送至所述联盟中的第一成员节点,以使所述联盟中的第一成员节点基于所述第二目标模型参数和本地数据再次进行本地训练。
18.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
基于所述第二目标模型参数和本地数据再次进行本地训练。
19.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
将基于本地数据训练得到的模型参数发送至联盟中的第二成员节点,其中,所述第二成员节点是所述联盟中参与模型参数整合的成员节点,所述本地数据包括本地私有数据;
接收所述第二成员节点发送的第二目标模型参数,其中,所述第二目标模型参数是所述第二成员节点基于公域数据对第一目标模型参数进行更新得到的,所述第一目标模型参数是所述第二成员节点对所述联盟中的至少两个第一成员节点发送的模型参数进行整合得到的,所述公域数据是所述第二成员节点收集的来自所述联盟中的至少一个第一成员节点的非私有数据,所述第一成员节点是所述联盟中不参与模型参数整合的成员节点;
基于所述第二目标模型参数和本地数据再次进行本地训练。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010048788.9A CN110874650B (zh) | 2020-01-16 | 2020-01-16 | 融合公域数据和私有数据的联盟学习方法、装置和系统 |
PCT/CN2020/138823 WO2021143477A1 (zh) | 2020-01-16 | 2020-12-24 | 融合公域数据和私有数据的联盟学习方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010048788.9A CN110874650B (zh) | 2020-01-16 | 2020-01-16 | 融合公域数据和私有数据的联盟学习方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874650A true CN110874650A (zh) | 2020-03-10 |
CN110874650B CN110874650B (zh) | 2020-04-24 |
Family
ID=69718452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010048788.9A Active CN110874650B (zh) | 2020-01-16 | 2020-01-16 | 融合公域数据和私有数据的联盟学习方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110874650B (zh) |
WO (1) | WO2021143477A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111401913A (zh) * | 2020-03-19 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 一种私有数据保护的模型学习方法、装置及系统 |
CN112036580A (zh) * | 2020-05-15 | 2020-12-04 | 支付宝(杭州)信息技术有限公司 | 用于联盟学习的方法、装置及联盟学习系统 |
CN112418444A (zh) * | 2020-05-15 | 2021-02-26 | 支付宝(杭州)信息技术有限公司 | 用于联盟学习的方法、装置及联盟学习系统 |
WO2021143477A1 (zh) * | 2020-01-16 | 2021-07-22 | 支付宝(杭州)信息技术有限公司 | 融合公域数据和私有数据的联盟学习方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
US20180316502A1 (en) * | 2017-04-27 | 2018-11-01 | Factom | Data Reproducibility Using Blockchains |
CN110378423A (zh) * | 2019-07-22 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 特征提取方法、装置、计算机设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107316083B (zh) * | 2017-07-04 | 2021-05-25 | 北京百度网讯科技有限公司 | 用于更新深度学习模型的方法和装置 |
CN109951509A (zh) * | 2017-12-21 | 2019-06-28 | 航天信息股份有限公司 | 一种云存储调度方法、装置、电子设备和存储介质 |
CN109948803A (zh) * | 2019-03-12 | 2019-06-28 | 深圳灵图慧视科技有限公司 | 算法模型优化方法、装置和设备 |
CN110874650B (zh) * | 2020-01-16 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 融合公域数据和私有数据的联盟学习方法、装置和系统 |
-
2020
- 2020-01-16 CN CN202010048788.9A patent/CN110874650B/zh active Active
- 2020-12-24 WO PCT/CN2020/138823 patent/WO2021143477A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
US20180316502A1 (en) * | 2017-04-27 | 2018-11-01 | Factom | Data Reproducibility Using Blockchains |
CN110378423A (zh) * | 2019-07-22 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 特征提取方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
机器之心: "若DL没了独立同分布假设,样本不独立的机器学习方法综述", 《HTTPS://WWW.CHAINNEWS.COM/ARTICLES/515766618901.HTM》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021143477A1 (zh) * | 2020-01-16 | 2021-07-22 | 支付宝(杭州)信息技术有限公司 | 融合公域数据和私有数据的联盟学习方法、装置和系统 |
CN111401913A (zh) * | 2020-03-19 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 一种私有数据保护的模型学习方法、装置及系统 |
CN112036580A (zh) * | 2020-05-15 | 2020-12-04 | 支付宝(杭州)信息技术有限公司 | 用于联盟学习的方法、装置及联盟学习系统 |
CN112418444A (zh) * | 2020-05-15 | 2021-02-26 | 支付宝(杭州)信息技术有限公司 | 用于联盟学习的方法、装置及联盟学习系统 |
CN112418444B (zh) * | 2020-05-15 | 2022-03-29 | 支付宝(杭州)信息技术有限公司 | 用于联盟学习的方法、装置及联盟学习系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110874650B (zh) | 2020-04-24 |
WO2021143477A1 (zh) | 2021-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110874650B (zh) | 融合公域数据和私有数据的联盟学习方法、装置和系统 | |
CN111460511B (zh) | 基于隐私保护的联邦学习、虚拟对象分配方法和装置 | |
CN110457912B (zh) | 数据处理方法、装置和电子设备 | |
US11790078B2 (en) | Computer-based systems configured for managing authentication challenge questions in a database and methods of use thereof | |
CN111008709A (zh) | 联邦学习、资料风险评估方法、装置和系统 | |
CN110414567B (zh) | 数据处理方法、装置和电子设备 | |
CN110874637B (zh) | 基于隐私数据保护的多目标融合学习方法、装置和系统 | |
CN109936525A (zh) | 一种基于图结构模型的异常账号防控方法、装置以及设备 | |
CN110874648A (zh) | 联邦模型的训练方法、系统和电子设备 | |
CN111160572B (zh) | 一种基于多标签的联邦学习方法、装置和系统 | |
CN108965250B (zh) | 一种数字证书安装方法及系统 | |
CN106611137B (zh) | 一种风险控制方法及装置 | |
CN110874647A (zh) | 联盟学习中的私有数据评估、联盟学习方法、装置及系统 | |
CN111813869A (zh) | 一种基于分布式数据的多任务模型训练方法及系统 | |
CN112016136A (zh) | 基于联盟链的数据处理方法及装置 | |
CN111611572B (zh) | 一种基于人脸认证的实名认证方法及装置 | |
CN111461730B (zh) | 一种风控方法、装置、系统和电子设备 | |
CN110781153B (zh) | 基于区块链的跨应用信息共享方法及系统 | |
CN112580085A (zh) | 一种模型训练方法及装置 | |
CN113033717B (zh) | 一种模型生成方法、装置以及用于模型生成的装置 | |
CN114500119A (zh) | 区块链服务的调用方法和装置 | |
CN117422578A (zh) | 基于区块链的实体关系识别方法、装置、设备及介质 | |
CN110278241B (zh) | 一种注册请求处理方法及装置 | |
CN110059097B (zh) | 数据处理方法和装置 | |
CN110008714A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |