CN111476376B - 联盟学习方法、联盟学习装置及联盟学习系统 - Google Patents
联盟学习方法、联盟学习装置及联盟学习系统 Download PDFInfo
- Publication number
- CN111476376B CN111476376B CN202010587303.3A CN202010587303A CN111476376B CN 111476376 B CN111476376 B CN 111476376B CN 202010587303 A CN202010587303 A CN 202010587303A CN 111476376 B CN111476376 B CN 111476376B
- Authority
- CN
- China
- Prior art keywords
- member node
- node
- nodes
- group
- model
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
本说明书的实施例提供联盟学习方法、联盟学习装置及联盟学习系统。联盟学习系统包括第一成员节点以及至少一个第二成员节点分组。第一成员节点具有全局模型,每个第二成员节点分组具有头节点,并且每个第二成员节点分组的第二成员节点具有本地数据。第一成员节点将当前待学习的全局模型提供给各个第二成员节点分组中的头节点。各个第二成员节点分组的各个第二成员节点使用各自的本地数据对全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型,并经由该第二成员节点分组的头节点将所训练出的第一全局模型提供给第一成员节点。第一成员节点对所获取的第一全局模型执行模型整合,得到经过联盟学习后的目标全局模型。
Description
技术领域
本说明书实施例通常涉及人工智能领域,尤其涉及联盟学习方法、联盟学习装置以及联盟学习系统。
背景技术
随着人工智能技术的发展,业务模型已经逐渐应用于各种业务应用场景,比如,风险评估、语音识别、自然语言处理等。为了解决模型训练时的数据孤岛问题,提出了联盟学习(Federated Learning)。利用联盟学习,各个数据拥有方可以从模型拥有方获取全局模型,在本地使用本地数据来对全局模型进行模型训练,并将所训练出的全局模型提供给模型拥有方来进行模型整合,从而使得本地数据不会外泄,由此确保数据拥有方的数据隐私安全。
发明内容
鉴于上述,本说明书的实施例提供联盟学习方法、联盟学习装置及联盟学习系统。在该联盟学习系统中,第一成员节点具有全局模型,第二成员节点具有训练所需数据,并且第二成员节点被分组为至少一个第二成员节点分组,每个第二成员节点分组具有头节点。在进行模型训练时,第一成员节点将全局模型提供给各个第二成员节点分组的头节点,并由头节点分发给对应第二成员节点分组的其余第二成员节点。各个第二成员节点分组的头节点和其余第二成员节点使用各自的本地数据来联合训练全局模型,得到经由该第二成员节点分组训练出的第一全局模型。所训练出的第一全局模型经由对应的头节点提供给第一成员节点,并在第一成员节点处进行模型整合,由此得到经过联盟学习后的全局模型。按照这种联盟学习方法,可以大大减少联盟学习系统中的第一成员节点与第二成员节点之间的通信量,由此降低联盟学习系统的能量消耗。
根据本说明书的实施例的一个方面,提供一种用于联盟学习系统的联盟学习方法,所述联盟学习系统包括第一成员节点以及至少一个第二成员节点分组,所述第一成员节点具有全局模型,每个第二成员节点分组具有头节点,并且每个第二成员节点分组的第二成员节点具有本地数据,所述方法包括:在所述第一成员节点处,将当前待学习的全局模型提供给各个第二成员节点分组的头节点;在各个第二成员节点分组处,经由该第二成员节点分组的各个第二成员节点使用各自的本地数据对所述全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型,并经由该第二成员节点分组的头节点将所训练出的第一全局模型提供给所述第一成员节点;以及在所述第一成员节点处,对各个第二成员节点分组的第一全局模型执行模型整合,得到经过联盟学习后的目标全局模型。
可选地,在上述方面的一个示例中,所述至少一个第二成员节点分组可以是基于下述成员节点属性信息中的至少一种来对所述联盟学习系统的第二成员节点进行成员节点分组而得到:成员节点位置信息;成员节点设备制造商信息;成员节点可支持通信网络信息;和成员节点特定网络连接信息。
可选地,在上述方面的一个示例中,所述成员节点分组可以在所有第二成员节点处共同执行,在所述第一成员节点处执行,或者在第三成员节点处执行。
可选地,在上述方面的一个示例中,所述至少一个第二成员节点分组的头节点可以基于下述成员节点属性信息中的至少一种来确定:成员节点计算能力;和成员节点网络传输速度。
可选地,在上述方面的一个示例中,各个第二成员节点分组的头节点确定过程可以在该第二成员节点分组的所有第二成员节点处共同执行,在所述第一成员节点处执行,或者在第三成员节点处执行。
可选地,在上述方面的一个示例中,在各个第二成员节点分组处,经由该第二成员节点分组的各个第二成员节点使用各自的本地数据对所述全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型可以包括:在该第二成员节点分组的头节点处,将所得到的全局模型提供给该第二成员节点分组的其余第二成员节点;在该第二成员节点分组的头节点和各个其余第二成员节点处,使用各自的本地数据来对所述全局模型进行模型训练,得到经由各个第二成员节点训练出的第二全局模型;在各个其余第二成员节点处,将所得到的第二全局模型提供给该第二成员节点分组的头节点;以及在该第二成员节点分组的头节点处,对各个第二成员节点的第二全局模型进行模型整合,得到经由该第二成员节点分组训练出的第一全局模型。
可选地,在上述方面的一个示例中,各个第二成员节点具有模型整合权重,以及在该第二成员节点分组的头节点处,对各个第二成员节点的第二全局模型进行模型整合,得到经由该第二成员节点分组训练出的第一全局模型可以包括:在该第二成员节点分组的头节点处,使用各个第二成员节点的模型整合权重来对各个第二成员节点的第二全局模型进行加权模型整合,得到经由该第二成员节点分组训练出的第一全局模型。
可选地,在上述方面的一个示例中,各个第二成员节点分组具有模型整合权重,在所述第一成员节点处,对各个第二成员节点分组的第一全局模型执行模型整合,得到经过联盟学习后的目标全局模型可以包括:在所述第一成员节点处,使用各个第二成员节点分组的模型整合权重来对各个第二成员节点分组的第一全局模型执行加权模型整合,得到经过联盟学习后的目标全局模型。
可选地,在上述方面的一个示例中,所述模型整合权重可以基于各个第二成员节点或各个第二成员节点分组的数据质量确定。
可选地,在上述方面的一个示例中,所述联盟学习方法还可以包括:在各个第二成员节点分组处,将该第二成员节点分组的各个第二成员节点的本地数据提供给样本生成模型来生成该第二成员节点分组的扩展样本数据,在各个第二成员节点分组处,经由该第二成员节点分组的各个第二成员节点使用各自的本地数据对所述全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型可以包括:在各个第二成员节点分组处,经由该第二员节点分组的各个第二成员节点使用各自的本地数据以及所生成的扩展样本数据对所述全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型。
可选地,在上述方面的一个示例中,各个第二成员节点分组的样本生成模型可以由该第二成员节点分组的各个第二成员节点联合训练出的。
可选地,在上述方面的一个示例中,各个第二成员节点分组的样本生成模型可以部署在该第二成员节点分组的部分或全部第二成员节点处、部署在所述第一成员节点处,或者部署在第三成员节点处。
可选地,在上述方面的一个示例中,所述联盟学习方法还可以包括:在各个第二成员节点分组的头节点之间,共享至少部分第二成员节点分组的部分或全部扩展样本数据,在各个第二成员节点分组处,经由该第二成员节点分组的各个第二成员节点使用各自的本地数据以及所生成的扩展样本数据对所述全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型可以包括:在各个第二成员节点分组处,经由该第二成员节点分组的各个第二成员节点使用各自的本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据,对所述全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型。
根据本说明书的实施例的另一方面,提供一种用于联盟学习系统的联盟学习方法,所述联盟学习系统包括第一成员节点以及至少一个第二成员节点分组,所述第一成员节点具有全局模型,每个第二成员节点分组具有头节点,并且每个第二成员节点分组的第二成员节点具有本地数据,所述方法应用于充当头节点的第二成员节点,所述方法包括:从所述第一成员节点获取待学习的全局模型;将所获取的全局模型分发给对应的第二成员节点分组的其余第二成员节点,以在各个其余第二成员节点处,使用各自的本地数据来对所述全局模型进行模型训练,以得到经由该其余第二成员节点训练出的第二全局模型;使用本地数据来对所述全局模型进行模型训练,以得到经由该第二成员节点训练出的第二全局模型;从所述对应的第二成员节点分组的各个其余第二成员节点获取经由该其余第二成员节点训练出的第二全局模型;对经由所述对应的第二成员节点分组的各个第二成员节点训练出的第二全局模型进行模型整合,得到经由所述对应的第二成员节点分组训练出的第一全局模型;以及将经由所述对应的第二成员节点分组训练出的第一全局模型提供给所述第一成员节点。
根据本说明书的实施例的另一方面,提供一种联盟学习系统,包括:第一成员节点,所述第一成员节点具有待学习的全局模型;以及至少一个第二成员节点分组,每个第二成员节点分组具有头节点,并且每个第二成员节点分组的第二成员节点具有本地数据,其中,所述第一成员节点将待学习的全局模型提供给各个第二成员节点分组的头节点,各个第二成员节点分组的各个第二成员节点使用各自的本地数据对该第二成员节点分组的头节点所得到的全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型,以及所述第一成员节点对从各个第二成员节点分组的头节点接收的经由该第二成员节点分组训练出的第一全局模型执行模型整合,得到经过联盟学习后的目标全局模型。
可选地,在上述方面的一个示例中,所述联盟学习系统还可以包括:成员节点分组装置,将所述联盟学习系统的第二成员节点分组为所述至少一个第二成员节点分组。
可选地,在上述方面的一个示例中,所述成员节点分组装置可以基于下述成员节点属性信息中的至少一种来将所述联盟学习系统的第二成员节点分组为所述至少一个第二成员节点分组:成员节点位置信息;成员节点设备制造商信息;成员节点可支持通信网络信息;和成员节点特定网络连接信息。
可选地,在上述方面的一个示例中,所述成员节点分组装置可以部署在所有第二成员节点处,部署在所述第一成员节点处,或者部署在第三成员节点处。
可选地,在上述方面的一个示例中,所述联盟学习系统还可以包括:头节点确定装置,确定各个第二成员节点分组的头节点。
可选地,在上述方面的一个示例中,所述头节点确定装置可以基于下述成员节点属性信息中的至少一种来确定各个第二成员节点分组的头节点:成员节点计算能力;和成员节点网络传输速度。
可选地,在上述方面的一个示例中,所述头节点确定装置可以部署在各个第二成员节点分组的所有第二成员节点处,部署在所述第一成员节点处,或者部署在第三成员节点处。
可选地,在上述方面的一个示例中,所述联盟学习系统还可以包括:样本生成装置,将各个第二成员节点分组的各个第二成员节点的本地数据提供给样本生成模型来生成该第二成员节点分组的扩展样本数据,各个第二成员节点分组的各个第二成员节点使用各自的本地数据以及所生成的扩展样本数据对所述全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型。
可选地,在上述方面的一个示例中,所述样本生成装置可以部署在各个第二成员节点分组的部分或全部第二成员节点处、部署在所述第一成员节点处,或者部署在第三成员节点处。
可选地,在上述方面的一个示例中,所述联盟学习系统还可以包括:样本数据共享装置,在各个第二成员节点分组的头节点之间,共享至少部分第二成员节点分组的部分或全部扩展样本数据,各个第二成员节点分组的各个第二成员节点使用各自的本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据,对该第二成员节点分组的头节点所得到的当前全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型。
根据本说明书的实施例的另一方面,提供一种用于联盟学习系统的联盟学习装置,所述联盟学习系统包括第一成员节点以及至少一个第二成员节点分组,所述第一成员节点具有全局模型,每个第二成员节点分组具有头节点,并且每个第二成员节点分组的第二成员节点具有本地数据,所述联盟学习装置应用于充当头节点的第二成员节点,所述联盟学习装置包括:模型获取单元,从所述第一成员节点获取待学习的全局模型;模型分发单元,将所获取的全局模型分发给对应的第二成员节点分组的其余第二成员节点,以在各个其余第二成员节点处,使用各自的本地数据来对所述全局模型进行模型训练,以得到经由该其余第二成员节点训练出的第二全局模型;模型训练单元,使用本地数据来对所述全局模型进行模型训练,以得到经由该第二成员节点训练出的第二全局模型;模型训练结果获取单元,从所述对应的第二成员节点分组的各个其余第二成员节点获取经由该其余第二成员节点训练出的第二全局模型;模型整合单元,对经由所述对应的第二成员节点分组的各个第二成员节点训练出的第二全局模型进行模型整合,得到经由所述对应的第二成员节点分组训练出的第一全局模型;以及模型提供单元,将经由所述对应的第二成员节点分组训练出的第一全局模型提供给所述第一成员节点。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的由头节点执行的联盟学习方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的由头节点执行的联盟学习方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了联盟学习系统的示例架构示意图。
图2示出了根据本说明书的实施例的联盟学习系统的一个示例的架构示意图。
图3示出了根据本说明书的实施例的联盟学习方法的一个示例的流程图。
图4示出了根据本说明书的实施例的联盟学习系统的另一示例的架构示意图。
图5示出了根据本说明书的实施例的联盟学习方法的另一示例的流程图。
图6示出了根据本说明书的实施例的在第一成员节点处的联盟学习装置的一个示例的方框图。
图7示出了根据本说明书的实施例的在不充当头节点的第二成员节点处的联盟学习装置的一个示例的方框图。
图8示出了根据本说明书的实施例的在充当头节点的第二成员节点处的联盟学习装置的一个示例的方框图。
图9示出了根据本说明书的实施例的用于实现在充当头节点的第二成员节点处的联盟学习过程的电子设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
图1示出了一种联盟学习系统100的示例架构示意图。
如图1所示,联盟学习系统100包括服务端110和多个数据拥有方120。在图1中示出的示例中,多个数据拥有方120包括数据拥有方A 120-1、数据拥有方B 120-2和数据拥有方C 120-3。在其它示例中,多个数据拥有方120例如可以包括两个数据拥有方,或者多于三个数据拥有方。
各个数据拥有方120-1到120-3在本地收集用于联盟学习的数据样本,例如,数据拥有方A收集数据样本,数据拥有方B收集数据样本,以及数据拥有方C收集数据样本。服务端110上部署全局模型W。各个数据拥有方具有的每条数据样本具有全局模型W训练所需的完整维度数据,可以被使用来单独训练全局模型W。
数据拥有方A、B和C与服务端110一起使用数据拥有方A、B和C的数据样本来迭代训练全局模型W。在每次迭代训练时,服务端110将全局模型W提供给数据拥有方A、B和C。数据拥有方A、B和C各自在本地使用各自的数据样本来训练全局模型W,由此分别训练出各自的全局模型、和。
然后,数据拥有方A、B和C分别将各自训练出的全局模型、和提供给服务端110。服务端110按照预定整合规则来对全局模型、和进行模型整合,以得到整合后的全局模型,作为当前训练出的目标全局模型。如果满足迭代结束条件,则模型训练完成。如果不满足迭代结束条件,则服务端110将当前训练出的目标全局模型提供给数据拥有方A、B和C来执行下一迭代过程。
按照上述联盟学习方案,每个数据拥有方都使用相同的全局模型来进行模型训练。各个数据拥有方处的设备(下文中称为“数据拥有方设备”)需要与服务端进行通信,以从服务端获取全局模型以及将本地训练出的全局模型提供给服务端。按照这种联盟学习方案,需要服务端与每个数据拥有方执行多次交互才能完成模型协同处理,从而使得联盟学习系统存在较大的能量消耗。
鉴于上述,本说明书的实施例提供一种联盟学习方法、联盟学习装置和联盟学习系统。在该联盟学习方案中,第一成员节点具有全局模型,第二成员节点具有训练所需数据,并且第二成员节点被分组为至少一个第二成员节点分组,每个第二成员节点分组具有头节点。在进行模型训练时,第一成员节点将全局模型提供给各个第二成员节点分组的头节点,并由头节点分发给对应第二成员节点分组的其余第二成员节点。各个第二成员节点分组的头节点和其余第二成员节点使用各自的本地数据来联合训练全局模型,得到经由该第二成员节点分组训练出的第一全局模型。所训练出的各个第一全局模型经由对应的头节点提供给第一成员节点,并在第一成员节点处进行模型整合,由此得到经过联盟学习后的全局模型。按照这种联盟学习方法,可以大大减少联盟学习系统的第一成员节点与第二成员节点之间的通信量,由此降低联盟学习系统的能量消耗。
本说明书实施例提供的联盟学习方法和联盟学习装置可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务器设备的软件或硬件来执行。所述服务器设备包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述终端设备包括但不限于:智能手机、个人电脑(personal computer,PC)、笔记本电脑、平板电脑、电子阅读器、网络电视、可穿戴设备等智能终端设备中的任一种。
在本说明书的实施例中,术语“第一成员节点”可以是部署或维护全局模型(例如,业务模型)的设备或设备方,比如,终端设备、服务器设备等。“第一成员节点”也可以称为“服务端”、“模型拥有方”或者“第一成员节点设备”。术语“第二成员节点”可以是用于本地收集数据样本的设备或设备方,比如,智能终端设备、服务器设备等。“第二成员节点”也可以称为“数据拥有方”、“数据持有方”、或者“第二成员节点设备”。在第二成员节点上不部署(或不维护)全局模型。
在一个实际应用示例中,第一成员节点例如可以是第三方支付平台的服务器,以及各个第二成员节点例如可以是不同金融机构或医疗机构的私有数据存储服务器或智能终端设备。
在本说明提供的实施例中,第二成员节点的本地数据可以包括本地私有数据和本地非私有数据。在本说明书中,本地私有数据是隐私数据,不能泄露给其它成员节点,从而在进行联盟学习时不能以明文或将该数据全部共享给其它成员节点。本地非私有数据是指可以分享给其它成员节点的本地数据。本地非私有数据可以被其它成员节点使用来形成公域数据。
下文以包括7个第二成员节点的联盟学习系统为例,对本说明书的实施例所提供的联盟学习方法、联盟学习装置及联盟学习系统进行说明。在本说明书的其它实施例中,联盟学习系统可以包括少于7个但不少于2个第二成员节点,或者多于7个第二成员节点。
图2示出了根据本说明书的实施例的联盟学习系统200的一个示例的架构示意图。
如图2所示,联盟学习系统200包括第一成员节点210和多个第二成员节点220。多个第二成员节点220包括第二成员节点220-1到第二成员节点220-7。第一成员节点210以及第二成员节点220-1到220-7可以通过例如但不局限于互联网或局域网等的网络相互通信。
要说明的是,在图2中,为了描述简单,仅仅以7个第二成员节点220-1到220-7并且该7个第二成员节点被分组为2个第二成员节点分组为例来进行说明。在其他实施例中,可以具有更多或更少的第二成员节点,以及更多的第二成员节点分组。
第一成员节点210上部署或者维护全局模型。各个第二成员节点220-1到220-7在本地收集用于联盟学习的数据样本,例如,第二成员节点220-1收集数据样本,第二成员节点220-2收集数据样本,第二成员节点220-3收集数据样本,第二成员节点220-4收集数据样本,第二成员节点220-5收集数据样本,第二成员节点220-6收集数据样本,以及第二成员节点220-7收集数据样本。各个第二成员节点所具有的每条数据样本具有全局模型训练所需的完整维度数据,可以被使用来单独训练全局模型。
在本说明书的实施例中,各个第二成员节点220-1到220-7被分组到不同的第二成员节点分组,例如,如图2所示,第二成员节点220-1、220-3和220-5被分组到第二成员节点分组A,以及第二成员节点220-2、220-4、220-6和220-7被分组到第二成员节点B。在本说明书中,相较于与第一成员节点或其它第二成员节点分组的第二成员节点之间的通信(数据传输),同一第二成员节点分组的第二成员节点之间能够以更快的通信速度(数据传输速度)进行通信。
例如,在一个示例中,可以根据成员节点位置信息、成员节点设备制造商信息、成员节点可支持通信网络信息和成员节点特定网络连接信息等成员节点属性信息中的至少一种来对第二成员节点进行成员节点分组。这里,成员节点位置信息是指成员节点所处于的位置信息。成员节点设备制造商信息是指构成第二成员节点的节点设备的制造商信息。成员节点可支持通信网络信息是指成员节点设备是否支持高效通信网络,例如,5G通信网络。成员节点特定网络连接信息是指成员节点设备是否连接到特定通信网络。所述特定通信网络例如可以是WiFi网络等。
在一个示例中,可以将位于预定距离范围内的成员节点分组在同一第二成员节点分组中。例如,可以将相互距离在预定距离范围(例如,1米或其它合适距离)内的成员节点分组在同一第二成员节点分组内,或者将位于预定区域内的成员节点分组在同一第二成员节点分组内。按照这种方式,可以将位置靠近的第二成员节点聚合在一起,由于这些第二成员节点之间的位置相近,从而可以采用更快的通信方式来进行通信。
在另一示例中,可以将由同一设备制造商生产的第二成员节点分组在同一第二成员节点分组中。按照这种方式,由于同一设备制造商所生产的节点设备之间的兼容性(硬件兼容性和/或软件系统兼容性),从而使得这些第二成员节点之间可以高效地执行通信。
在另一示例中,可以将支持高效通信网络的第二成员节点分组在同一第二成员节点分组中。按照这种方式,由于同一第二成员节点分组中的第二成员节点都支持高效通信网络,从而可以采用该高效通信网络来执行通信,从而提高通信效率。
在另一示例中,可以将连接到特定通信网络(例如,WiFi网络)的第二成员节点分组到同一第二成员节点分组。按照这种方式,可以使得该第二成员节点分组中的第二成员节点可以采用该特定通信网络来进行通信,从而提高通信效率。
此外,在本说明书的其它实施例中,也可以根据上述成员节点属性信息中的任意组合来对联盟学习系统的第二成员节点进行成员节点分组。
此外,每个第二成员节点分组具有头节点。头节点与第一成员节点可通信地连接,用于从第一成员节点获取全局模型,以及将该第二成员节点分组所训练出的全局模型提供给第一成员节点。
此外,头节点还与同一第二成员节点分组的其余第二成员节点可通信地连接,用于将从第一成员节点获取的全局模型分发给同一第二成员节点分组的各个其余第二成员节点。此外,头节点还用于从各个其余第二成员节点获取该其余第二成员节点使用本地数据训练出的全局模型,并且还对头节点训练出的全局模型和各个其余第二成员节点所训练出的全局模型进行模型整合。然后,头节点将经过模型整合后的全局模型提供给第一成员节点。
从上面的描述可知,在本说明书中,与同一第二成员节点分组的其余第二成员节点相比,头节点需要具有更强的处理能力和/或更快的通信速度。相应地,在一个示例中,可以根据成员节点计算能力和成员节点网络传输速度等成员节点属性信息中的至少一种来确定第二成员节点分组的头节点。例如,可以将硬件计算能力最好和/或网络速度最好的第二成员节点确定为头节点。在需要考虑成员节点计算能力和成员节点网络传输速度两者的情况下,可以根据全局模型训练的应用场景需求,为成员节点计算能力和成员节点网络传输速度分配不同的权重,然后对成员节点计算能力和成员节点网络传输速度进行加权处理来确定出最佳的第二成员节点作为头节点。
在如上完成第二成员节点分组和头节点确定后,由各个第二成员节点分组的头节点来与第一成员节点和同一第二成员节点分组的其余第二成员节点进行通信来完成联盟学习过程。要说明的是,第二成员节点分组和头节点确定可以预先完成,也可以在联盟学习过程中实时完成,例如,在每次迭代过程中都执行,或者在联盟学习过程开始时一次完成(例如,在第一次迭代过程中完成),后续不再执行。
图3示出了根据本说明书的实施例的联盟学习方法的一个示例的流程图。在图3中示出的实施例中,第二成员节点分组和头节点确定预先完成。
如图3所示,在块310,第一成员节点将当前待学习的全局模型提供给各个第二成员节点分组的头节点。例如,在一个示例中,第一成员节点可以将当前待学习的全局模型主动推送给各个第二成员节点分组的头节点。在另一示例中,第一成员节点也可以响应于各个第二成员节点分组的头节点的全局模型获取请求而发送给各个头节点。
在获取到当前待学习的全局模型后,在各个第二成员节点分组处,经由该第二成员节点分组的各个第二成员节点使用各自的本地数据对全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型,并经由该第二成员节点分组的头节点将所训练出的第一全局模型提供给第一成员节点。
例如,如图3中所示,在块320,各个第二成员节点分组的头节点将所获取的全局模型分发给同一第二成员节点分组的各个其余第二成员节点。在块330,在各个第二成员节点分组内,头节点和各个其余第二成员节点分别使用各自的本地数据,在本地训练所述全局模型,得到经由各个第二成员节点训练出的全局模型(下文中称为“第二全局模型”)。在块340,针对各个第二成员节点分组,各个其余第二成员节点将各自的第二全局模型提供给头节点。在块350,针对各个第二成员节点分组,头节点对头节点训练出的第二全局模型以及从各个其余第二成员节点获取的第二全局模型进行模型整合,得到经由该第二成员节点分组训练出的全局模型(下文中称为“第一全局模型”),并将所得到的第一全局模型提供给第一成员节点。
要说明的是,在本说明书的一个示例中,每个第二成员节点分组的各个第二成员节点可以具有模型整合权重。例如,在一个示例中,各个第二成员节点的模型整合权重可以基于各个第二成员节点的数据质量确定。在其它示例中,也可以采用其它合适的方式来确定各个第二成员节点的模型整合权重,例如,分配给定的模型整合权重。相应地,该第二成员节点分组的头节点使用各个第二成员节点的模型整合权重来对各个第二成员节点的第二全局模型进行加权模型整合,由此得到经由该第二成员节点分组训练出的第一全局模型。
此外,要说明的是,图3中的块320到块350所描述的在第二成员节点分组内执行的联盟学习过程仅仅是例示实施例,在头节点获取全局模型后,头节点也可以采用其它合适的方式来与同一第二成员节点分组的各个其余第二成员节点来使用各自的本地数据执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型。
回到图3,在接收到经由各个头节点返回的第一全局模型后,在块360,第一成员节点对各个第二成员节点分组的第一全局模型执行模型整合,得到经过联盟学习后的目标全局模型。
在一个示例中,各个第二成员节点分组也可以具有模型整合权重。例如,在一个示例中,各个第二成员节点分组的模型整合权重可以基于各个第二成员节点分组的数据质量确定。在其它示例中,也可以采用其它合适的方式来确定各个第二成员节点分组的模型整合权重,例如,分配给定的模型整合权重。相应地,第一成员节点使用各个第二成员节点分组的模型整合权重来对各个第二成员节点分组的第一全局模型执行加权模型整合,得到经过联盟学习后的目标全局模型。
此外,要说明的是,图3中示出的示例仅仅是联盟学习过程的单次迭代过程。在需要多次迭代训练时,如果未满足迭代训练结束条件,例如,未达到预定迭代次数,则返回到块310,重新执行块310到块360的操作,直到满足迭代训练结束条件。
如上参照图3描述了根据本说明书的实施例的联盟学习方法的一个示例。在图3中示出的联盟学习方法中,将具有训练所需数据的第二成员节点进行成员节点分组,并且每个第二成员节点分组具有头节点。在进行联盟学习时,仅仅头节点与具有全局模型的第一成员节点进行通信,以从第一成员节点获取全局模型,以及将所训练出的第一全局模型提供给第一成员节点,而对应第二成员节点分组的其余第二成员节点不与第一成员节点通信,该其余第二成员节点与对应的头节点通信来获取需要训练的全局模型以及提供所训练出的全局模型,从而可以大大减少联盟学习系统的第一成员节点与第二成员节点之间的通信量。此外,由于同一第二成员节点分组之间的通信比第一成员节点与第二成员节点之间的通信更快,从而可以降低联盟学习系统的能量消耗。
此外,在上述联盟学习方法中,通过为第二成员节点分组的各个第二成员节点分配模型整合权重,可以调整各个第二成员节点对第一全局模型训练的贡献占比,由此提升第一全局模型训练的正确率。此外,通过根据各个第二成员节点的数据质量来确定各个第二成员节点的模型整合权重,可以使得具有较高数据质量的第二成员节点对第一全局模型训练的贡献占比较高,而具有较低数据质量的第二成员节点对第一全局模型训练的贡献占比较低,由此进一步提升第一全局模型训练的正确率。
此外,在上述联盟学习方法中,通过为各个第二成员节点分组分配模型整合权重,可以调整各个第二成员节点分组对目标全局模型训练的贡献占比,由此提升目标全局模型训练的正确率。此外,通过根据各个第二成员节点分组的数据质量来确定各个第二成员节点分组的模型整合权重,可以使得具有较高数据质量的第二成员节点分组对目标全局模型训练的贡献占比较高,而具有较低数据质量的第二成员节点分组对目标全局模型训练的贡献占比较低,由此进一步提升目标全局模型训练的正确率。
图4示出了根据本说明书的实施例的联盟学习系统400的另一示例的架构示意图。图4中示出的联盟学习系统400是图2中示出的联盟学习系统200的改进实施例。
如图4所示,联盟学习系统400包括第一成员节点410、多个第二成员节点420-1到420-7以及第三成员节点430。第一成员节点410和多个第二成员节点420-1到420-7的结构和操作分别与图2中示出的第一成员节点210和第二成员节点220-1到220-7相同,在此不再赘述。
可选地,第三成员节点430可以包括成员节点分组装置431。成员节点分组装置431被配置为将联盟学习系统400的第二成员节点420-1到420-7分组为至少一个第二成员节点分组。
在一个示例中,成员节点分组装置431可以基于成员节点位置信息、成员节点设备制造商信息、成员节点可支持通信网络信息和成员节点特定网络连接信息等成员节点属性信息中的至少一种来将联盟学习系统400的第二成员节点分组为至少一个第二成员节点分组。
可选地,第三成员节点430可以包括头节点确定装置433。头节点确定装置433被配置为确定各个第二成员节点分组的头节点。在一个示例中,头节点确定装置433可以基于成员节点计算能力和成员节点网络传输速度等成员节点属性信息中的至少一种来确定各个第二成员节点分组的头节点。例如,可以将硬件计算能力最好和/或网络速度最好的第二成员节点确定为头节点。在需要考虑成员节点计算能力和成员节点网络传输速度两者的情况下,可以根据全局模型训练的应用场景需求,为成员节点计算能力和成员节点网络传输速度分配不同的权重,然后对成员节点计算能力和成员节点网络传输速度进行加权处理来确定出最佳的第二成员节点作为头节点。
可选地,第三成员节点430还可以包括样本生成装置435。样本生成装置435被配置为将各个第二成员节点分组的各个第二成员节点的本地数据提供给样本生成模型来生成该第二成员节点分组的扩展样本数据。相应地,各个第二成员节点分组的各个第二成员节点使用各自的本地数据以及所生成的扩展样本数据对全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型。按照这种方式,通过为各个第二成员节点分组生成扩展样本数据,可以增加该第二成员节点分组中的样本多样性,减少各个第二成员节点分组之间的样本差异,由此提升该第二成员节点分组本地训练出的全局模型的正确率。在本说明书中,各个第二成员节点分组的样本生成模型可以由该第二成员节点分组中的各个第二成员节点联合训练出的。所训练出的各个第二成员节点分组的样本生成模型可以部署在第三成员节点处。或者,所训练出的各个第二成员节点分组的样本生成模型可以部署在第一成员节点处,或者部署在对应的第二成员节点分组的部分或全部第二成员节点处。
此外,可选地,联盟学习系统400还可以包括样本数据共享装置(未示出)。样本数据共享装置被配置为在各个第二成员节点分组的头节点之间,共享至少部分第二成员节点分组的部分或全部扩展样本数据,例如,在一个示例中,可以共享所述至少一个第二成员节点分组中的期望共享自己的扩展样本数据的第二成员节点分组的部分或全部扩展样本数据。或者,可以共享全部第二成员节点分组的部分或全部扩展样本数据。在本说明书中,样本数据共享装置可以部署在各个头节点中。相应地,各个第二成员节点分组的各个第二成员节点使用各自的本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据,对全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型。
此外,要说明的是,在图4中示出的实施例中,第三成员节点430被示出为包括一个头节点确定装置433和一个样本生成装置435。在本说明书的其它实施例中,第三成员节点430可以包括多个头节点确定装置和多个样本生成装置,每个第二成员节点分组对应一个头节点确定装置和一个样本生成装置。
在图4中示出的示例中,成员节点分组装置431被示出为部署在第三成员节点430处。在本说明书的其它实施例中,成员节点分组装置431也可以部署在所有第二成员节点处。相应地,所有第二成员节点共同协商来实现第二成员节点分组。或者,在另一示例中,成员节点分组装置431也可以部署在第一成员节点处。相应地,第一成员节点可以根据各个第二成员节点的成员节点属性信息来实现第二成员节点分组。
同样,在图4中示出的示例中,头节点确定装置433被示出为部署在第三成员节点430处。在本说明书的其它实施例中,头节点确定装置433也可以部署在对应第二成员节点分组的所有第二成员节点处。相应地,所有第二成员节点共同协商来确定头节点。或者,在另一示例中,头节点确定装置433也可以部署在第一成员节点处。相应地,第一成员节点可以根据各个第二成员节点的成员节点属性信息来确定头节点。
同样,在图4中示出的示例中,样本生成装置435被示出为部署在第三成员节点430处。在本说明书的其它实施例中,样本生成装置435也可以部署在第一成员节点处。相应地,第一成员节点可以经由头节点接收各个第二成员节点的本地数据,并且根据各个第二成员节点的本地数据生成扩展样本数据,然后提供给头节点。或者,在另一示例中,样本生成装置435也可以部署在对应第二成员节点分组的部分或所有第二成员节点处。例如,可以将样本生成装置435部署在头节点处,由此,各个其余第二成员节点将本地数据提供给头节点,头节点将自己拥有的本地数据以及从其余第二成员节点接收的本地数据提供给样本生成模型来生成扩展样本数据。或者,可以将样本生成装置435部署在第二成员节点分组的部分或所有成员节点处,由该成员节点分组中的部分或所有第二成员节点共同来生成该第二成员节点分组的扩展样本数据,由此可以无需其余第二成员节点将本地数据提供给头节点,可以进一步减少成员节点之间的通信数据量,由此提升模型训练效率,降低联盟学习系统的能量消耗。
图5示出了根据本说明书的实施例的联盟学习方法的另一示例的流程图。
如图5所示,在块501,对联盟学习系统中的第二成员节点进行成员节点分组,以得到至少一个第二成员节点分组。例如,可以经由成员节点分组装置,基于成员节点位置信息、成员节点设备制造商信息、成员节点可支持通信网络信息和成员节点特定网络连接信息等成员节点属性信息中的至少一种来将联盟学习系统中的第二成员节点分组为至少一个第二成员节点分组。
在块502,确定各个第二成员节点分组的头节点。例如,可以经由头节点确定装置,基于成员节点计算能力和成员节点网络传输速度等成员节点属性信息中的至少一种确定各个第二成员节点分组的头节点。
在块503,第一成员节点将当前待学习的全局模型提供给各个第二成员节点分组的头节点。例如,在一个示例中,第一成员节点可以将当前待学习的全局模型主动推送给各个第二成员节点分组的头节点。在另一示例中,第一成员节点也可以响应于各个第二成员节点分组的头节点的全局模型获取请求而发送给各个头节点。
在获取到当前待学习的全局模型后,在各个第二成员节点分组处,经由该第二成员节点分组的各个第二成员节点使用各自的本地数据对全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型,并经由该第二成员节点分组的头节点将所训练出的第一全局模型提供给第一成员节点。
例如,如图5中所示,在块504,各个第二成员节点分组的头节点将所获取的全局模型分发给同一第二成员节点分组的各个其余第二成员节点。在块505,生成各个第二成员节点分组的扩展样本数据。例如,可以经由样本生成装置来生成各个第二成员节点分组的扩展样本数据。在块506,在各个第二成员节点分组内,头节点和各个其余第二成员节点分别使用各自的本地数据和扩展样本数据,在本地训练所述全局模型,得到经由该第二成员节点训练出的第二全局模型。在块507,针对各个第二成员节点分组,各个其余第二成员节点将各自的第二全局模型提供给头节点。在块508,针对各个第二成员节点分组,头节点对头节点训练出的第二全局模型以及从各个其余第二成员节点获取的第二全局模型进行模型整合,得到经由该第二成员节点分组训练出的第一全局模型,并将所得到的第一全局模型提供给第一成员节点。
同样,在本说明书的一个示例中,每个第二成员节点分组的各个第二成员节点可以具有模型整合权重。相应地,该第二成员节点分组的头节点使用各个第二成员节点的模型整合权重来对各个第二成员节点的第二全局模型进行加权模型整合,由此得到经由该第二成员节点分组训练出的第一全局模型。
在接收到经由各个头节点返回的第一全局模型后,在块509,第一成员节点对各个第二成员节点分组的第一全局模型执行模型整合,得到经过联盟学习后的目标全局模型。
同样,各个第二成员节点分组也可以具有模型整合权重。相应地,第一成员节点使用各个第二成员节点分组的模型整合权重来对各个第二成员节点分组的第一全局模型执行加权模型整合,得到经过联盟学习后的目标全局模型。
此外,可选地,在为各个第二成员节点分组生成扩展样本数据之后,部分或全部第二成员节点分组还可以经由各自的头节点,将所生成的扩展样本数据中的部分或全部数据共享给其它第二成员节点分组。
此外,要说明的是,图5中示出的示例仅仅是联盟学习过程的单次迭代过程。在需要多次迭代训练时,如果未满足迭代训练结束条件,例如,未达到预定迭代次数,则返回到块503,重新执行块503到块509的操作,直到满足迭代训练结束条件。
利用图5中的联盟学习方法,通过为各个第二成员节点分组生成扩展样本数据,可以增加该第二成员节点分组的样本多样性,减少各个第二成员节点分组之间的样本差异,由此提升该第二成员节点分组本地训练出的全局模型的正确率。
此外,利用图5中的联盟学习方法,通过在为各个第二成员节点分组生成扩展样本数据之后,部分或全部第二成员节点分组经由各自的头节点将所生成的扩展样本数据中的部分或全部数据共享给其它第二成员节点分组,可以进一步增加第二成员节点分组的样本多样性,由此进一步提升该第二成员节点分组本地训练出的全局模型的正确率。
如上参照图1到图5,对根据本说明书的实施例的联盟学习系统和联盟学习方法进行了描述。下面参照图6到图8描述根据本说明书的实施例的联盟学习装置。
图6示出了根据本说明书的实施例的在第一成员节点处的联盟学习装置600的一个示例的方框图。如图6所示,联盟学习装置600包括模型提供单元610、模型获取单元620和模型整合单元630。
模型提供单元610被配置为将全局模型提供给各个第二成员节点分组的头节点。模型获取单元620被配置为从各个第二成员节点分组的头节点获取该第二成员节点分组训练出的第一全局模型。模型整合单元630被配置为对所获取的各个第一全局模型进行模型整合,得到经过联盟学习后的目标全局模型。
图7示出了根据本说明书的实施例的在不充当头节点的第二成员节点处的联盟学习装置700的一个示例的方框图。如图7所示,联盟学习装置700包括模型获取装置710、模型训练单元720和模型发送单元730。
模型获取单元710被配置为从所属第二成员节点分组的头节点获取全局模型。
模型训练单元720被配置为使用本地数据来训练所获取的全局模型,得到经由该第二成员节点训练出的第二全局模型。在另一示例中,在该第二成员节点具有扩展样本数据的情况下,模型训练单元720被配置为使用本地数据和扩展样本数据来训练所获取的全局模型,得到经由该第二成员节点训练出的第二全局模型。此外,在另一示例中,在该第二成员节点还具有由其它第二成员节点分组共享的扩展样本数据的情况下,模型训练单元720被配置为使用本地数据、扩展样本数据和经由其它第二成员节点分组共享的扩展样本数据来训练所获取的全局模型,得到经由该第二成员节点训练出的第二全局模型。
模型发送单元730被配置为将所训练出的第二全局模型提供给头节点。
图8示出了根据本说明书的实施例的在充当头节点的第二成员节点处的联盟学习装置800的一个示例的方框图。如图8所示,联盟学习装置800包括模型获取单元810、模型分发单元820、模型训练单元830、模型训练结果获取单元840、模型整合单元850和模型提供单元860。
模型获取单元810被配置为从第一成员节点获取待学习的全局模型。模型分发单元820被配置为将所获取的全局模型分发给对应的第二成员节点分组的其余第二成员节点,以在各个其余第二成员节点处,使用各自的本地数据来对全局模型进行模型训练,以得到经由该其余第二成员节点训练出的第二全局模型。
模型训练单元830被配置为使用本地数据来对全局模型进行模型训练,以得到经由头节点训练出的第二全局模型。
模型训练结果获取单元840被配置为从对应的第二成员节点分组的各个其余第二成员节点获取经由该其余第二成员节点训练出的第二全局模型。
模型整合单元850被配置为对经由对应的第二成员节点分组的各个第二成员节点训练出的第二全局模型进行模型整合,得到经由对应的第二成员节点分组训练出的第一全局模型。
模型提供单元860被配置为将经由对应的第二成员节点分组训练出的第一全局模型提供给第一成员节点。
如上参照图1到图8,对根据本说明书实施例的联盟学习方法和联盟学习装置进行了描述。上面的联盟学习装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图9示出了根据本说明书的实施例的用于实现在充当头节点的第二成员节点处的联盟学习过程的电子设备的示意图。如图9所示,电子设备900可以包括至少一个处理器910、存储器(例如,非易失性存储器)920、内存930和通信接口940,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线960连接在一起。至少一个处理器910执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器910:从第一成员节点获取待学习的全局模型;将所获取的全局模型分发给对应的第二成员节点分组的其余第二成员节点,以在各个其余第二成员节点处,使用各自的本地数据来对所述全局模型进行模型训练,以得到经由该其余第二成员节点训练出的第二全局模型;使用本地数据来对全局模型进行模型训练,以得到经由该第二成员节点训练出的第二全局模型;从对应的第二成员节点分组的各个其余第二成员节点获取经由该其余第二成员节点训练出的第二全局模型;对经由对应的第二成员节点分组的各个第二成员节点训练出的第二全局模型进行模型整合,得到经由对应的第二成员节点分组训练出的第一全局模型;以及将经由对应的第二成员节点分组训练出的第一全局模型提供给第一成员节点。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器910进行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本说明书的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本说明书的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (21)
1.一种用于联盟学习系统的联盟学习方法,所述联盟学习系统包括第一成员节点以及至少一个第二成员节点分组,所述第一成员节点具有全局模型,每个第二成员节点分组具有头节点,并且每个第二成员节点分组的第二成员节点具有本地数据,所述方法包括:
在所述第一成员节点处,将当前待学习的全局模型提供给各个第二成员节点分组中的头节点;
在每个第二成员节点分组处,将该第二成员节点分组的各个第二成员节点的本地数据提供给样本生成模型来生成该第二成员节点分组的扩展样本数据;
在各个第二成员节点分组的头节点之间,共享至少部分第二成员节点分组的部分或全部扩展样本数据;
在各个第二成员节点分组处,经由该第二成员节点分组的各个第二成员节点使用各自的本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据对所述全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型,并经由该第二成员节点分组的头节点将所训练出的第一全局模型提供给所述第一成员节点;以及
在所述第一成员节点处,对各个第二成员节点分组的第一全局模型执行模型整合,得到经过联盟学习后的目标全局模型。
2.如权利要求1所述的联盟学习方法,其中,所述至少一个第二成员节点分组是基于下述成员节点属性信息中的至少一种来对所述联盟学习系统的第二成员节点进行成员节点分组而得到:
成员节点位置信息;
成员节点设备制造商信息;
成员节点可支持通信网络信息;和
成员节点特定网络连接信息。
3.如权利要求2所述的联盟学习方法,其中,所述成员节点分组在所有第二成员节点处共同执行,在所述第一成员节点处执行,或者在第三成员节点处执行。
4.如权利要求1所述的联盟学习方法,其中,所述至少一个第二成员节点分组的头节点基于下述成员节点属性信息中的至少一种来确定:
成员节点计算能力;和
成员节点网络传输速度。
5.如权利要求4所述的联盟学习方法,其中,各个第二成员节点分组的头节点确定过程在该第二成员节点分组的所有第二成员节点处共同执行,在所述第一成员节点处执行,或者在第三成员节点处执行。
6.如权利要求1所述的联盟学习方法,其中,在各个第二成员节点分组处,经由该第二成员节点分组的各个第二成员节点使用各自的本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据对所述全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型包括:
在该第二成员节点分组的头节点处,将所得到的全局模型提供给该第二成员节点分组的其余第二成员节点;
在该第二成员节点分组的头节点和各个其余第二成员节点处,分别使用各自的本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据来对所述全局模型进行模型训练,得到经由各个第二成员节点训练出的第二全局模型;
在各个其余第二成员节点处,将所得到的第二全局模型提供给该第二成员节点分组的头节点;以及
在该第二成员节点分组的头节点处,对各个第二成员节点的第二全局模型进行模型整合,得到经由该第二成员节点分组训练出的第一全局模型。
7.如权利要求6所述的联盟学习方法,其中,各个第二成员节点具有模型整合权重,以及
在该第二成员节点分组的头节点处,对各个第二成员节点的第二全局模型进行模型整合,得到经由该第二成员节点分组训练出的第一全局模型包括:
在该第二成员节点分组的头节点处,使用各个第二成员节点的模型整合权重来对各个第二成员节点的第二全局模型进行加权模型整合,得到经由该第二成员节点分组训练出的第一全局模型。
8.如权利要求1所述的联盟学习方法,其中,各个第二成员节点分组具有模型整合权重,
在所述第一成员节点处,对各个第二成员节点分组的第一全局模型执行模型整合,得到经过联盟学习后的目标全局模型包括:
在所述第一成员节点处,使用各个第二成员节点分组的模型整合权重来对各个第二成员节点分组的第一全局模型执行加权模型整合,得到经过联盟学习后的目标全局模型。
9.如权利要求7或8所述的联盟学习方法,其中,所述模型整合权重基于各个第二成员节点或各个第二成员节点分组的数据质量确定。
10.如权利要求1所述的联盟学习方法,其中,各个第二成员节点分组的样本生成模型由该第二成员节点分组中的各个第二成员节点联合训练出的。
11.一种用于联盟学习系统的联盟学习方法,所述联盟学习系统包括第一成员节点以及至少一个第二成员节点分组,所述第一成员节点具有全局模型,每个第二成员节点分组具有头节点,并且每个第二成员节点分组的第二成员节点具有本地数据,所述方法应用于充当头节点的第二成员节点,所述方法包括:
从所述第一成员节点获取待学习的全局模型;
将所获取的全局模型分发给对应的第二成员节点分组的其余第二成员节点;
与所属第二成员节点分组的各个其它第二成员节点一起将各自的本地数据提供给样本生成模型来生成该第二成员节点分组的扩展样本数据;
与各个第二成员节点分组的其它头节点共享至少部分各自的第二成员节点分组的部分或全部扩展样本数据;
使用本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据来对所述全局模型进行模型训练,以得到经由该第二成员节点训练出的第二全局模型;
从所述对应的第二成员节点分组的各个其余第二成员节点获取经由该其余第二成员节点训练出的第二全局模型,该其余第二成员节点训练出的第二全局模型由对应的第二成员节点使用本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据来训练出;
对经由所述对应的第二成员节点分组的各个第二成员节点训练出的第二全局模型进行模型整合,得到经由所述对应的第二成员节点分组训练出的第一全局模型;以及
将经由所述对应的第二成员节点分组训练出的第一全局模型提供给所述第一成员节点。
12.一种联盟学习系统,包括:
第一成员节点,所述第一成员节点具有待学习的全局模型;
至少一个第二成员节点分组,每个第二成员节点分组具有头节点,并且每个第二成员节点分组的第二成员节点具有本地数据;
样本生成装置,将各个第二成员节点分组的各个第二成员节点的本地数据提供给样本生成模型来生成该第二成员节点分组的扩展样本数据;
样本数据共享装置,在各个第二成员节点分组的头节点之间,共享至少部分第二成员节点分组的部分或全部扩展样本数据,
其中,所述第一成员节点将待学习的全局模型提供给各个第二成员节点分组的头节点,
各个第二成员节点分组的各个第二成员节点使用各自的本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据对该第二成员节点分组的头节点所得到的全局模型执行联盟学习来得到经由该第二成员节点分组训练出的第一全局模型,以及
所述第一成员节点对从各个第二成员节点分组的头节点接收的经由该第二成员节点分组训练出的第一全局模型执行模型整合,得到经过联盟学习后的目标全局模型。
13.如权利要求12所述的联盟学习系统,还包括:
成员节点分组装置,将所述联盟学习系统的第二成员节点分组为所述至少一个第二成员节点分组。
14.如权利要求13所述的联盟学习系统,其中,所述成员节点分组装置基于下述成员节点属性信息中的至少一种来将所述联盟学习系统的第二成员节点分组为所述至少一个第二成员节点分组:
成员节点位置信息;
成员节点设备制造商信息;
成员节点可支持通信网络信息;和
成员节点特定网络连接信息。
15.如权利要求14所述的联盟学习系统,其中,所述成员节点分组装置部署在所有第二成员节点处,部署在所述第一成员节点处,或者部署在第三成员节点处。
16.如权利要求12所述的联盟学习系统,还包括:
头节点确定装置,确定各个第二成员节点分组的头节点。
17.如权利要求16所述的联盟学习系统,其中,所述头节点确定装置基于下述成员节点属性信息中的至少一种来确定各个第二成员节点分组的头节点:
成员节点计算能力;和
成员节点网络传输速度。
18.如权利要求17所述的联盟学习系统,其中,所述头节点确定装置部署在各个第二成员节点分组的所有第二成员节点处,部署在所述第一成员节点处,或者部署在第三成员节点处。
19.一种用于联盟学习系统的联盟学习装置,所述联盟学习系统包括第一成员节点以及至少一个第二成员节点分组,所述第一成员节点具有全局模型,每个第二成员节点分组具有头节点,并且每个第二成员节点分组的第二成员节点具有本地数据,所述联盟学习装置应用于充当头节点的第二成员节点,所述联盟学习装置包括:
模型获取单元,从所述第一成员节点获取待学习的全局模型;
模型分发单元,将所获取的全局模型分发给对应的第二成员节点分组的其余第二成员节点;
模型训练单元,使用本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据来对所述全局模型进行模型训练,以得到经由该第二成员节点训练出的第二全局模型,其中,所生成的扩展样本数据通过将各个第二成员节点分组的各个第二成员节点的本地数据提供给样本生成模型来生成;
模型训练结果获取单元,从所述对应的第二成员节点分组的各个其余第二成员节点获取经由该其余第二成员节点训练出的第二全局模型,该其余第二成员节点训练出的第二全局模型由对应的第二成员节点使用本地数据、所生成的扩展样本数据以及其它第二成员节点分组共享的扩展样本数据来训练出;
模型整合单元,对经由所述对应的第二成员节点分组的各个第二成员节点训练出的第二全局模型进行模型整合,得到经由所述对应的第二成员节点分组训练出的第一全局模型;以及
模型提供单元,将经由所述对应的第二成员节点分组训练出的第一全局模型提供给所述第一成员节点。
20.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求11所述的联盟学习方法。
21.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求11所述的联盟学习方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010587303.3A CN111476376B (zh) | 2020-06-24 | 2020-06-24 | 联盟学习方法、联盟学习装置及联盟学习系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010587303.3A CN111476376B (zh) | 2020-06-24 | 2020-06-24 | 联盟学习方法、联盟学习装置及联盟学习系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111476376A CN111476376A (zh) | 2020-07-31 |
CN111476376B true CN111476376B (zh) | 2020-10-16 |
Family
ID=71765299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010587303.3A Active CN111476376B (zh) | 2020-06-24 | 2020-06-24 | 联盟学习方法、联盟学习装置及联盟学习系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111476376B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257386B (zh) * | 2020-09-10 | 2023-03-21 | 华为技术有限公司 | 检测模型的训练方法、系统、设备及存储介质 |
CN112884163B (zh) * | 2021-03-18 | 2023-06-23 | 中国地质大学(北京) | 基于联邦机器学习算法与云端反馈的组合服务评估方法与系统 |
CN113052329B (zh) * | 2021-04-12 | 2022-05-27 | 支付宝(杭州)信息技术有限公司 | 联合更新业务模型的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270599B2 (en) * | 2017-04-27 | 2019-04-23 | Factom, Inc. | Data reproducibility using blockchains |
CN110490738A (zh) * | 2019-08-06 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种混合联邦学习方法及架构 |
CN110443375B (zh) * | 2019-08-16 | 2021-06-11 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法及装置 |
CN110874440B (zh) * | 2020-01-16 | 2020-05-05 | 支付宝(杭州)信息技术有限公司 | 一种信息推送及其模型训练的方法、装置及电子设备 |
-
2020
- 2020-06-24 CN CN202010587303.3A patent/CN111476376B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111476376A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111476376B (zh) | 联盟学习方法、联盟学习装置及联盟学习系统 | |
JP6756037B2 (ja) | ユーザ本人確認の方法、装置及びシステム | |
Luo et al. | Generating highly accurate predictions for missing QoS data via aggregating nonnegative latent factor models | |
CN111340243B (zh) | 用于联盟学习的方法、装置及联盟学习系统 | |
CN106412034B (zh) | 业务处理方法及装置 | |
US20200050846A1 (en) | On-device image recognition | |
CN108549909B (zh) | 基于众包的对象分类方法及对象分类系统 | |
Adam et al. | Toward smart traffic management with 3D placement optimization in UAV-assisted NOMA IIoT networks | |
Yang et al. | Towards automatic embedding cost learning for JPEG steganography | |
CN111401483B (zh) | 样本数据处理方法、装置及多方模型训练系统 | |
CN111368984B (zh) | 用于联盟学习的方法、装置及联盟学习系统 | |
CN111861867A (zh) | 图像背景虚化方法和装置 | |
Yapp et al. | Communication-efficient and Scalable Decentralized Federated Edge Learning. | |
KR20170086289A (ko) | 고지서의 납부 금액을 결제하는 방법 | |
Georgakopoulos et al. | SenShaMart: A trusted loT marketplace for sensor sharing | |
CN117272017A (zh) | 异质图数据节点嵌入特征提取模型训练方法、嵌入特征提取方法、节点分类方法及装置 | |
CN107395663A (zh) | 数据获取方法及装置 | |
CN115880538A (zh) | 图像处理模型的域泛化、图像处理的方法及设备 | |
Wibowo et al. | Mobile blockchain-empowered federated learning: Current situation and further prospect | |
CN109615382A (zh) | 转账方法、装置及设备 | |
CN109801066A (zh) | 远程存储服务的实现方法及装置 | |
CN109951521A (zh) | 一种基于ipfs系统的在线视频管理及运用系统 | |
CN113793252B (zh) | 图像处理方法、装置、芯片及其模组设备 | |
CN110688972B (zh) | 用于提升人脸生成性能的系统以及方法 | |
CN116341014B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40034546 Country of ref document: HK |