CN110263936B - 横向联邦学习方法、装置、设备及计算机存储介质 - Google Patents
横向联邦学习方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN110263936B CN110263936B CN201910524091.1A CN201910524091A CN110263936B CN 110263936 B CN110263936 B CN 110263936B CN 201910524091 A CN201910524091 A CN 201910524091A CN 110263936 B CN110263936 B CN 110263936B
- Authority
- CN
- China
- Prior art keywords
- community
- model parameter
- coordinator
- global
- parameter update
- 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
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Evolutionary Computation (AREA)
- Accounting & Taxation (AREA)
- Artificial Intelligence (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Medical Informatics (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及人工智能金融科技(Fintech)技术领域,并公开了一种横向联邦学习方法,该方法包括:社区协调者获取中央协调者发送的全局模型参数,并将全局模型参数发送至各参与者;获取各参与者发送的基于全局模型参数进行模型训练得到的模型参数更新,对各模型参数更新进行融合以获取社区模型参数更新,并确定是否需要将社区模型参数更新发送至中央协调者;若是,则将社区模型参数更新发送至中央协调者,获取中央协调者返回的全局模型参数更新,并将全局模型参数更新发送至各参与者,以便各参与者基于全局模型参数更新进行模型训练。本发明还公开了一种横向联邦学习装置、设备和一种计算机存储介质。本发明提高了横向联邦学习的学习效率。
Description
技术领域
本发明涉及人工智能金融科技(Fintech)技术领域,尤其涉及横向联邦学习方法、装置、设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。例如,联邦学习,即通过联合不同的参与者进行机器学习的方法,而其中横向联邦学习则是在参与者(如移动终端或者物联网设备)的数据特征重叠较多,用户重叠较少的情况下,取出参与者用户数据特征相同而用户不完全相同的那部分数据进行联合机器学习。但是对于物联网设备,除了通信带宽非常受限外,电量和计算能力也非常受限。如果需要对横向联邦学习训练过程中的模型参数更新进行加密运算,所涉及的加密运算(尤其是与之对应的解密运算)可能会超出物联网设备的电量和计算能力范围,进而影响可用的加密复杂度和保密效果。对于移动终端(例如,智能手机),加密运算和解密运算也可能会消耗移动终端过多电量,进而影响用户体验。因此,如何提高横向联邦学习的学习效率成为目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提出一种横向联邦学习方法、装置、设备及计算机存储介质,旨在提高横向联邦学习的学习效率。
为实现上述目的,本发明提供一种横向联邦学习方法,所述横向联邦学习方法包括如下步骤:
社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者;
所述社区协调者获取各所述参与者发送的基于所述全局模型参数进行模型训练得到的模型参数更新,对各所述模型参数更新进行融合以获取社区模型参数更新,并确定是否需要将所述社区模型参数更新发送至所述中央协调者;
若是,则将所述社区模型参数更新发送至所述中央协调者,获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,并将所述全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述全局模型参数更新进行模型训练。
可选地,所述确定是否需要将所述社区模型参数更新发送至所述中央协调者的步骤之后,包括:
若否,则将所述社区模型参数更新发送至各所述参与者,并获取各所述参与者发送的新模型参数更新;
对各所述新模型参数更新进行融合,以获取融合后的新社区模型参数更新,并将所述新社区模型参数更新发送至所述中央协调者;
获取所述中央协调者基于所述新社区模型参数更新返回的新全局模型参数更新,并将所述新全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述新全局模型参数更新进行模型训练。
可选地,所述将所述新社区模型参数更新发送至所述中央协调者的步骤,包括:
获取所述社区协调者对应的预设要求,并判断所述社区协调者获取到的总的社区模型参数更新的次数是否符合预设要求,其中,所述总的社区模型参数更新包括所述社区模型参数更新和所述新社区模型参数更新;
若符合,则将所述新社区模型参数更新发送至所述中央协调者。
可选地,所述判断所述社区协调者获取到的总的社区模型参数更新的次数是否符合预设要求的步骤之后,包括:
若不符合,则将所述新社区模型参数更新发送至各所述参与者,以便各所述参与者基于所述新社区模型参数更新进行模型训练。
可选地,所述获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,将所述全局模型参数更新发送至各所述参与者的步骤,包括:
确定在预设时间段内是否接收到所述中央协调者返回的全局模型参数更新,其中,所述中央协调者对所述社区模型参数更新进行融合,以获得所述全局模型参数更新;
若在预设时间段内接收到所述全局模型参数更新,则将所述全局模型参数更新发送至各所述参与者。
可选地,所述确定在预设时间段内是否接收到所述中央协调者返回的全局模型参数更新的步骤之后,包括:
若在预设时间段内未接收到所述全局模型参数更新,则将所述社区模型参数更新发送至各所述参与者,以便各所述参与者基于所述社区模型参数更新进行模型训练。
可选地,所述社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者的步骤,包括:
在社区协调者中获取中央协调者基于预设的第一加密方式进行加密的全局模型参数,并对所述全局模型参数进行解密;
基于预设的第二加密方式对已解密的全局模型参数进行加密,并将按照所述第二加密方式进行加密的全局模型参数发送到与所述社区协调者对应的各参与者,其中,所述第一加密方式和所述第二加密方式不相同。
此外,为实现上述目的,本发明还提供一种横向联邦学习装置,所述横向联邦学习装置包括:
获取模块,用于社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者;
融合模块,用于所述社区协调者获取各所述参与者发送的基于所述全局模型参数进行模型训练得到的模型参数更新,对各所述模型参数更新进行融合以获取社区模型参数更新,并确定是否需要将所述社区模型参数更新发送至所述中央协调者;
发送模块,用于若是,则将所述社区模型参数更新发送至所述中央协调者,获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,并将所述全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述全局模型参数更新进行模型训练。
此外,为实现上述目的,本发明还提供一种横向联邦学习设备,所述横向联邦学习设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的横向联邦学习程序,所述横向联邦学习程序被所述处理器执行时实现如上所述的横向联邦学习方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有横向联邦学习程序,所述横向联邦学习程序被处理器执行时实现如上所述的横向联邦学习方法的步骤。
本发明通过社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者;所述社区协调者获取各所述参与者发送的基于所述全局模型参数进行模型训练得到的模型参数更新,对各所述模型参数更新进行融合以获取社区模型参数更新,并确定是否需要将所述社区模型参数更新发送至所述中央协调者;若是,则将所述社区模型参数更新发送至所述中央协调者,获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,并将所述全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述全局模型参数更新进行模型训练。通过对参与者发送的各个模型参数更新进行分层融合,即社区协调者做第一层融合,中央协调者做第二层融合,从而可以显著减少社区协调者需要向中央协调者所在的参数服务器转发的模型参数更新数量,并可以显著减少通信量和通信开销,降低了不同参与者的不同的通信延迟对联邦学习模型训练的影响,并提高了横向联邦学习的学习效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明横向联邦学习方法第一实施例的流程示意图;
图3为本发明横向联邦学习装置的装置模块示意图;
图4为本发明横向联邦学习方法的场景示意图;
图5为本发明横向联邦学习的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例横向联邦学习设备可以是PC机或服务器设备。
如图1所示,该横向联邦学习设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及横向联邦学习程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的横向联邦学习程序,并执行下述横向联邦学习方法中的操作。
基于上述硬件结构,提出本发明横向联邦学习方法实施例。
参照图2,图2为本发明横向联邦学习方法第一实施例的流程示意图,所述方法包括:
步骤S10,社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者;
在本实施例中,通过引入中央协调者和社区协调者来进行横向联邦学习,即通过中央协调者和社区协调者对模型参数更新进行分层融合。中央协调者负责融合所有横向联邦学习参与者的模型参数更新,即负责融合由社区协调者发送来的模型参数更新,维护全局模型参数更新。一个社区协调者只负责融合属于本社区的参与者的模型参数更新,维护社区模型参数更新。在移动网络和物联网网络中,社区可以是一个基站或接入点以及与其连接的移动终端或者是物联网设备。例如,如图4所示,中央协调者(维护全局模型参数更新)将初始模型发送到各个社区的社区协调者(维护社区模型参数更新),假设存在有社区1、社区2、一直到社区K(K是大于或等于2的整数),则中央协调者就需要将初始模型分别发送到各个社区中的社区协调者,即社区1中的社区协调者1、社区2中的社区协调者2、一直到社区K中的社区协调者K,并且各个社区的社区协调者在接收到初始模型后,会将初始模型发送到各自社区的参与者中,例如,社区协调者1将初始模型发送到社区1中的各个参与者;社区协调者2将初始模型发送到社区2中的各个参与者。而各个参与者会在接收到初始模型后,根据自身所拥有的数据进行模型训练,并向各自对应的社区协调者发送模型参数更新(model update),社区协调者对模型参数进行初次融合,并将融合获得的社区模型参数更新发送到中央协调者,中央协调者会对各个社区协调者发送的社区模型参数更新再次进行融合,并将融合获得的新全局模型参数发送至各个社区协调者,再由社区协调者发送到各自社区中的各个参与者。
其中,在本实施例中,社区协调者可以包括多层社区协调者,例如,一共有L层(L是大于或者等于1的整数)。例如,当L等于2时,即有两层社区协调者时,参与者先将模型参数更新发送到第一层社区协调者;所述第一层社区协调者进行融合得到第一层社区模型参数更新;第一层社区协调者再将所述第一层社区模型参数更新发送给与之对应的第二层社区协调者;所述第二层社区协调者对收到的所述第一层社区模型参数更新进行融合得到第二层社区模型参数更新;所述第二层社区协调者将所述第二层社区模型参数更新发送至中央协调者。
当社区协调者有接收到中央协调者发送的全局模型参数时,就需要及时地将全局模型参数发送到该社区协调者所在社区中的所有参与者。并且中央协调者可以采用加密方式A对全局模型参数进行加密再发送到社区协调者,当然也可以不加密直接进行发送,而社区协调者也可以采用加密方式B对全局模型参数进行加密,当然也可以不加密直接进行发送,其中,加密方式A可以是复杂度较高的加密方式,加密方式B可以是复杂度较小(计算量较小)的加密方式。社区协调者可以是移动基站、或者Wi-Fi接入点,或者物联网网关。参与者可以是移动终端或者是物联网设备。全局模型参数可以是参与者进行模型训练时需要应用到的信息,例如,线性回归模型的权重,或者神经网络节点的连接权重(model weight),或者梯度下降算法的梯度信息。
步骤S20,所述社区协调者获取各所述参与者发送的基于所述全局模型参数进行模型训练得到的模型参数更新(model update),对各所述模型参数更新进行融合以获取社区模型参数更新,并确定是否需要将所述社区模型参数更新发送至所述中央协调者;
参与者在获取到全局模型参数后,将所述全局模型参数作为起始点,开始或者继续进行模型训练,以获得模型参数更新,并将更新后的模型参数发送到本社区的社区协调者,该更新后的模型参数就可以是模型参数更新。社区模型参数更新可以是社区协调者对获取到的所有的模型参数更新进行融合运算后得到的社区模型参数更新。融合可以是在社区协调者中对各个模型参数更新进行加权平均运算。当各个参与者根据全局模型参数对模型进行模型训练后,并将模型训练得到的模型参数更新发送给参与者所在社区的社区协调者后,每个社区协调者会对各自获取到的模型参数更新进行融合运算,以获取到社区模型参数更新,并检测确定是否将本次获取到的社区模型参数更新发送到中央协调者,再基于检测结果执行不同的操作。其中,在参与者将模型参数更新发送给社区协调者时,可以通过加密方式B对模型参数更新进行加密,然后再将加密后的模型参数更新发送到社区协调者。
其中,加密方式A和加密方式B也可以是相同的加密方式,也可以是不同的加密方式。
在第一种可能的实现方式中,每个社区协调者将每次获得的本社区的社区模型参数更新都发送给中央协调者。在第二种可能的实现方式中,每个社区协调者每隔N次(N大于1)才将获得的本社区的社区模型参数更新发送给中央协调者。如,每个社区协调者每隔10次才将本社区的社区模型参数更新发送给中央协调者,此前的9次都不发送给中央协调者,即每个社区协调者将第1次,第11次,第21次,第31次,...,第(1+10k)次获得的本社区的社区模型参数更新发送给中央协调者,k=0,1,2...。
步骤S30,若是,则将所述社区模型参数更新发送至所述中央协调者,获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,并将所述全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述全局模型参数更新进行模型训练;
在另一种可能的实现方式中,所述中央协调者直接将所述全局模型参数更新发送至所有的参与者,例如,通过广播的方式发送。
全局模型参数更新可以是在中央协调者中对获取到的所有社区模型参数更新进行融合运算后得到的模型参数。预设条件可以是提前设置的条件,如全局模型参数已收敛、或者是损失函数已经收敛、或者是模型效果已符合预定的需求、或者是模型训练次数已达到上限、或者是训练时间已经达到上限等。当经过判断需要将社区模型参数更新发送至中央协调者时,社区协调者可以通过加密方式A对社区模型参数更新进行加密传输,或者不加密传输。而中央协调者会对收到的来自各个社区协调者的社区模型参数更新进行融合运算(如求取加权平均),以获得全局模型参数更新。然后再将全局模型参数更新发送到各个社区协调者,由社区协调者将全局模型参数更新发送到社区的各个参与者中,而参与者会根据全局模型参数更新再次对参与者处的模型进行模型训练,并会检测各个参与者中的模型是否已符合预设条件(预设条件可以是模型已收敛、或者模型的模型效果已符合预定需求,又或者是模型的模型训练次数已达上限等等),也就是若各个参与者的模型中存在有符合预设条件的,则符合预设条件的模型可以不用继续进行模型训练,而不符合预设条件的模型则继续进行模型训练,并将模型训练后的模型参数再次发送到社区协调者中进行融合。
另外当经过判断发现社区模型参数更新不发送至中央协调者时,可以直接将社区模型参数更新发送到各个参与者中,让各个参与者根据社区模型参数更新进行训练,并在训练后再次发送新的模型参数更新到社区协调者中进行融合操作。
此外为了辅助理解对本实施例中横向联邦学习的训练,下面进行举例说明。
例如,如图5所示,中央协调者向各个社区协调者发送初始模型(可以采用加密方式A进行加密后发送),社区协调者会向参与者转发初始模型(同理可以采用加密方式B进行加密后发送),参与者利用其拥有的数据进行模型训练,并向社区协调者发送模型参数更新(同理可以采用加密方式B进行加密后发送),社区协调者对收到的模型参数更新进行融合获得社区模型参数更新,并检测是否向中央协调者发送社区模型参数更新。若否,则社区协调者向参与者分发社区模型参数更新(可以采用加密方式B进行加密后发送),并进入流程3,即参与者利用本地数据进行模型训练,并向社区协调者发送模型参数更新。若是,则社区协调者向中央协调者发送社区模型参数更新(可以采用加密方式A进行加密后发送),而中央协调者对收到的社区模型参数更新进行融合,并获得全局模型参数更新,中央协调者会向各个社区协调者发送全局模型参数更新(可以采用加密方式A进行加密后发送),并检测社区协调者是否在预设时间段内收到中央协调者分发的全局模型参数更新,若接收到,则社区协调者向参与者分发全局模型参数更新(可以采用加密方式B进行加密后发送),并进入流程3。若未接收到,则社区协调者会向参与者分发社区模型参数更新。
本实施例通过社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者;所述社区协调者获取各所述参与者发送的基于所述全局模型参数进行模型训练得到的模型参数更新,对各所述模型参数更新进行融合以获取社区模型参数更新,并确定是否需要将所述社区模型参数更新发送至所述中央协调者;若是,则将所述社区模型参数更新发送至所述中央协调者,获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,并将所述全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述全局模型参数更新进行模型训练。通过对参与者发送的各个模型参数更新进行分层融合,即社区协调者做第一层融合,中央协调者做第二层融合,从而可以显著减少社区协调者需要向中央协调者所在的参数服务器转发的模型参数更新数量,并可以显著减少通信量和通信开销,降低了不同参与者的不同的通信延迟对联邦学习模型训练的影响,并提高了横向联邦学习的学习效率。
进一步地,基于本发明横向联邦学习方法第一实施例,提出本发明横向联邦学习方法第二实施例。本实施例是本发明第一实施例的步骤S20,确定是否需要将所述社区模型参数更新发送至所述中央协调者的步骤之后,包括:
步骤a1,若否,则将所述社区模型参数更新发送至各所述参与者,并获取各所述参与者发送的新模型参数更新;
当经过判断发现不将社区模型参数更新发送到中央协调者时,则可以直接将社区模型参数更新发送到各个参与者中,而参与者会根据社区模型参数更新再次进行模型训练。并会向社区协调者发送新的模型参数,即新模型参数更新。
步骤a2,对各所述新模型参数更新进行融合,以获取融合后的新社区模型参数更新,并将所述新社区模型参数更新发送至所述中央协调者;
当社区协调者获取到各个新模型参数更新后,需要对各个新模型参数更新进行融合运算,以便得到融合运算后的新社区模型参数更新,并将新社区模型参数更新发送至中央协调者中。其中在将新社区模型参数更新发送至中央协调者中时,可以选择对新社区模型参数更新进行加密,也可以选择不加密。
步骤a3,获取所述中央协调者基于所述新社区模型参数更新返回的新全局模型参数更新,并将所述新全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述新全局模型参数更新进行模型训练。
当中央协调者接收到新社区模型参数更新后,会继续进行融合运算操作,以得到融合运算的结果,即新全局模型参数更新,并将新全局模型参数更新发送至各个社区协调者中。而社区协调者在接收到中央协调者发送的新全局模型参数更新后,会将新全局模型参数更新发送到各个参与者,以便各个参与者根据新全局模型参数更新进行模型训练。
在本实施例中,通过在确定不将社区模型参数更新发送中央协调者时,直接将社区模型参数更新发送给各参与者,并再次获取新社区模型参数更新,将新社区模型参数更新发送给中央协调者,从而提高了横向联邦学习的效率。
具体地,将所述新社区模型参数更新发送至所述中央协调者的步骤,包括:
步骤a21,获取所述社区协调者对应的预设要求,并判断所述社区协调者获取到的总的社区模型参数更新的次数是否符合预设要求,其中,总的社区模型参数更新包括所述社区模型参数更新和所述新社区模型参数更新;
预设要求可以是提前设置的任意要求,如设置社区协调者每隔N次(N大于1)才将获取到的本社区的社区模型参数发送给中央协调者,或者是社区协调者在每隔预设时间间隔才将最新获取到的本社区的社区模型参数更新发送给中央协调者等。当检测到社区协调者对应的预设要求后,就需要判断社区协调者此次获取到的总的社区模型参数更新的次数是否符合预设要求。并基于判断结果执行不同操作。其中,总的社区模型参数更新包括在当前时刻之前收到的社区模型参数更新和当前时刻接收到的新社区模型参数更新。
步骤a22,若符合,则将所述新社区模型参数更新发送至所述中央协调者。
若经过判断发现符合预设要求,则将新社区模型参数更新发送至中央协调者。但是当经过判断发现不符合预设要求,则不会将新社区模型参数更新发送到中央协调者,而是会将社区模型参数更新发送到本社区的各个参与者中。
在本实施例中,通过判断社区协调者获取到的总的社区模型参数更新的次数是否符合预设要求,若符合,则将新社区模型参数发送至中央协调者,从而提高了横向联邦学习的效率。
具体地,判断所述社区协调者获取到的总社区模型参数更新的次数是否符合预设要求的步骤之后,包括:
步骤a23,若不符合,则将所述新社区模型参数更新发送至各所述参与者,以便各所述参与者基于所述新社区模型参数更新进行模型训练。
当经过判断发现社区协调者获取到的总社区模型参数更新的次数不符合预设要求,则可以不用将新社区模型参数更新发送给中央协调者,而是直接将新社区模型参数更新发送给各个参与者,以便各个参与者根据新社区模型参数更新进行模型训练,并再次获取各个参与者发送的新的模型参数更新,并进行融合,直到各个参与者未发送模型参数更新,才停止融合操作。
在本实施例中,通过确定社区协调者获取到的总的社区模型参数更新的次数不符合预设要求时,直接将新社区模型参数更新发送给各个参与者,从而提高了横向联邦学习的效率。
进一步地,在本发明第一至第二实施例任意一个的基础上,提出了本发明横向联邦学习方法的第三实施例,本实施例是在本发明第一实施例的步骤S30,获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,将所述全局模型参数更新发送至各所述参与者的步骤的细化,包括:
步骤b1,确定在预设时间段内是否接收到所述中央协调者返回的全局模型参数更新,其中,所述中央协调者对所述社区模型参数更新进行融合,以获得所述全局模型参数更新;
预设时间可以是提前设置的任意时间段。当社区协调者将社区模型参数更新发送给中央协调者后,中央协调者会对获取到的所有社区模型参数更新进行融合运算,并会将融合运算后的全局模型参数更新发送到社区协调者中,此时在社区协调者中就需要判断是否有在预设时间段内接收到中央协调者发送的全局模型参数更新,并基于确定结果执行不同的操作。
步骤b2,若在预设时间段内接收到所述全局模型参数更新,则将所述全局模型参数更新发送至各所述参与者。
当经过判断发现在预设时间段内社区协调者有接收到中央协调者发送的全局模型参数更新,则会将全局模型参数更新发送给各个参与者,让各个参与者继续进行模型训练。
在本实施例中,通过确定在预设时间段内是否有接收到全局模型参数更新,并在接收到全局模型参数更新时,将全局模型参数更新发送给各个参与者,从而保障了横向联邦学习的正常运行。
具体地,确定在预设时间段内是否接收到所述中央协调者返回的全局模型参数更新的步骤之后,包括:
步骤b3,若在预设时间段内未接收到所述全局模型参数更新,则将所述社区模型参数更新发送至各所述参与者,以便各所述参与者基于所述社区模型参数更新进行模型训练。
当经过判断发现在预设时间段内未接收到全局模型参数更新时,则会主动将社区模型参数更新发送到各个参与者,让参与者先根据社区模型参数更新进行模型训练。
在本实施例中,通过确定在预设时间段内未接收到全局模型参数更新时,将社区模型参数更新发送给各个参与者,从而提高了横向联邦学习的学习效率。
进一步地,社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与社区协调者对应的各参与者的步骤,包括:
步骤c1,在社区协调者中获取中央协调者基于预设的第一加密方式进行加密的全局模型参数,并对所述全局模型参数进行解密;
第一加密方式可以是复杂度较高的加密方式。当中央协调者需要将全局模型参数发送给各个社区协调者时,可以先对全局模型参数按照预设的第一加密方式进行加密,并将加密后的全局模型参数发送到各个社区协调者中,而社区协调者在接收到已进行加密的全局模型参数时,会优先对该全局模型参数进行解密操作。
步骤c2,基于预设的第二加密方式对已解密的全局模型参数进行加密,并将按照所述第二加密方式进行加密的全局模型参数发送到与所述社区协调者对应的各参与者,其中,所述第一加密方式和所述第二加密方式不相同。
第二加密方式可以是复杂度较低的加密方式,也就是第一加密方式和第二加密方式不相同。在社区协调者中会根据预设的第二加密方式对获取到的已解密的全局模型参数再次进行加密,并在加密完成后,将此具有第二加密方式的全局模型参数发送到与社区协调者对应的各个参与者中。
在本实施例中,通过在传递全局模型参数时,采用不同的加密方式,从而有效地避免了数据信息泄露的风险发生,同时不同的加密方式可以适应不同的计算资源。
本发明还提供一种横向联邦学习装置,参照图3,所述横向联邦学习装置包括:
获取模块,用于社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者;
融合模块,用于所述社区协调者获取各所述参与者发送的基于所述全局模型参数进行模型训练得到的模型参数更新,对各所述模型参数更新进行融合以获取社区模型参数更新,并确定是否需要将所述社区模型参数更新发送至所述中央协调者;
发送模块,用于若是,则将所述社区模型参数更新发送至所述中央协调者,获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,并将所述全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述全局模型参数更新进行模型训练。
进一步地,所述融合模块,还用于:
若否,则将所述社区模型参数更新发送至各所述参与者,并获取各所述参与者发送的新模型参数更新;
对各所述新模型参数更新进行融合,以获取融合后的新社区模型参数更新,并将所述新社区模型参数更新发送至所述中央协调者;
获取所述中央协调者基于所述新社区模型参数更新返回的新全局模型参数更新,并将所述新全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述新全局模型参数更新进行模型训练。
进一步地,所述融合模块,还用于:
获取所述社区协调者对应的预设要求,并判断所述社区协调者获取到的总的社区模型参数更新的次数是否符合预设要求,其中,所述总的社区模型参数更新包括所述社区模型参数更新和所述新社区模型参数更新;
若符合,则将所述新社区模型参数更新发送至所述中央协调者。
进一步地,所述融合模块,还用于:
若不符合,则将所述新社区模型参数更新发送至各所述参与者,以便各所述参与者基于所述新社区模型参数更新进行模型训练。
进一步地,所述发送模块,还用于:
确定在预设时间段内是否接收到所述中央协调者返回的全局模型参数更新,其中,所述中央协调者对所述社区模型参数更新进行融合,以获得所述全局模型参数更新;
若在预设时间段内接收到所述全局模型参数更新,则将所述全局模型参数更新发送至各所述参与者。
进一步地,所述发送模块,还用于:
若在预设时间段内未接收到所述全局模型参数更新,则将所述社区模型参数更新发送至各所述参与者,以便各所述参与者基于所述社区模型参数更新进行模型训练。
进一步地,所述获取模块,还用于:
在社区协调者中获取中央协调者基于预设的第一加密方式进行加密的全局模型参数,并对所述全局模型参数进行解密;
基于预设的第二加密方式对已解密的全局模型参数进行加密,并将按照所述第二加密方式进行加密的全局模型参数发送到与所述社区协调者对应的各参与者,其中,所述第一加密方式和所述第二加密方式不相同。
上述各程序模块所执行的方法可参照本发明横向联邦学习方法各个实施例,此处不再赘述。
本发明还提供一种计算机存储介质。
本发明计算机存储介质上存储有横向联邦学习程序,所述横向联邦学习程序被处理器执行时实现如上所述的横向联邦学习方法的步骤。
其中,在所述处理器上运行的横向联邦学习程序被执行时所实现的方法可参照本发明横向联邦学习方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种横向联邦学习方法,其特征在于,所述横向联邦学习方法包括如下步骤:
社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者;
所述社区协调者获取各所述参与者发送的基于所述全局模型参数进行模型训练得到的模型参数更新,对各所述模型参数更新进行融合以获取社区模型参数更新,并确定是否需要将所述社区模型参数更新发送至所述中央协调者;
若是,则将所述社区模型参数更新发送至所述中央协调者,获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,并将所述全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述全局模型参数更新进行模型训练。
2.如权利要求1所述的横向联邦学习方法,其特征在于,所述确定是否需要将所述社区模型参数更新发送至所述中央协调者的步骤之后,包括:
若否,则将所述社区模型参数更新发送至各所述参与者,并获取各所述参与者发送的新模型参数更新;
对各所述新模型参数更新进行融合,以获取融合后的新社区模型参数更新,并将所述新社区模型参数更新发送至所述中央协调者;
获取所述中央协调者基于所述新社区模型参数更新返回的新全局模型参数更新,并将所述新全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述新全局模型参数更新进行模型训练。
3.如权利要求2所述的横向联邦学习方法,其特征在于,所述将所述新社区模型参数更新发送至所述中央协调者的步骤,包括:
获取所述社区协调者对应的预设要求,并判断所述社区协调者获取到的总的社区模型参数更新的次数是否符合预设要求,其中,所述总的社区模型参数更新包括所述社区模型参数更新和所述新社区模型参数更新;
若符合,则将所述新社区模型参数更新发送至所述中央协调者。
4.如权利要求3所述的横向联邦学习方法,其特征在于,所述判断所述社区协调者获取到的总的社区模型参数更新的次数是否符合预设要求的步骤之后,包括:
若不符合,则将所述新社区模型参数更新发送至各所述参与者,以便各所述参与者基于所述新社区模型参数更新进行模型训练。
5.如权利要求1所述的横向联邦学习方法,其特征在于,所述获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,将所述全局模型参数更新发送至各所述参与者的步骤,包括:
确定在预设时间段内是否接收到所述中央协调者返回的全局模型参数更新,其中,所述中央协调者对所述社区模型参数更新进行融合,以获得所述全局模型参数更新;
若在预设时间段内接收到所述全局模型参数更新,则将所述全局模型参数更新发送至各所述参与者。
6.如权利要求5所述的横向联邦学习方法,其特征在于,所述确定在预设时间段内是否接收到所述中央协调者返回的全局模型参数更新的步骤之后,包括:
若在预设时间段内未接收到所述全局模型参数更新,则将所述社区模型参数更新发送至各所述参与者,以便各所述参与者基于所述社区模型参数更新进行模型训练。
7.如权利要求1所述的横向联邦学习方法,其特征在于,所述社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者的步骤,包括:
在社区协调者中获取中央协调者基于预设的第一加密方式进行加密的全局模型参数,并对所述全局模型参数进行解密;
基于预设的第二加密方式对已解密的全局模型参数进行加密,并将按照所述第二加密方式进行加密的全局模型参数发送到与所述社区协调者对应的各参与者,其中,所述第一加密方式和所述第二加密方式不相同。
8.一种横向联邦学习装置,其特征在于,所述横向联邦学习装置包括:
获取模块,用于社区协调者获取中央协调者发送的全局模型参数,并将所述全局模型参数发送至与所述社区协调者对应的各参与者;
融合模块,用于所述社区协调者获取各所述参与者发送的基于所述全局模型参数进行模型训练得到的模型参数更新,对各所述模型参数更新进行融合以获取社区模型参数更新,并确定是否需要将所述社区模型参数更新发送至所述中央协调者;
发送模块,用于若是,则将所述社区模型参数更新发送至所述中央协调者,获取所述中央协调者基于所述社区模型参数更新返回的全局模型参数更新,并将所述全局模型参数更新发送至各所述参与者,以便各所述参与者基于所述全局模型参数更新进行模型训练。
9.一种横向联邦学习设备,其特征在于,所述横向联邦学习设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的横向联邦学习程序,所述横向联邦学习程序被所述处理器执行时实现如权利要求1至7中任一项所述的横向联邦学习方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有横向联邦学习程序,所述横向联邦学习程序被处理器执行时实现如权利要求1至7中任一项所述的横向联邦学习方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910524091.1A CN110263936B (zh) | 2019-06-14 | 2019-06-14 | 横向联邦学习方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910524091.1A CN110263936B (zh) | 2019-06-14 | 2019-06-14 | 横向联邦学习方法、装置、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110263936A CN110263936A (zh) | 2019-09-20 |
CN110263936B true CN110263936B (zh) | 2023-04-07 |
Family
ID=67918821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910524091.1A Active CN110263936B (zh) | 2019-06-14 | 2019-06-14 | 横向联邦学习方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110263936B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674528B (zh) * | 2019-09-20 | 2024-04-09 | 深圳前海微众银行股份有限公司 | 联邦学习隐私数据处理方法、设备、系统及存储介质 |
CN110601814B (zh) * | 2019-09-24 | 2021-08-27 | 深圳前海微众银行股份有限公司 | 联邦学习数据加密方法、装置、设备及可读存储介质 |
EP4042296A4 (en) * | 2019-10-07 | 2023-07-05 | Telefonaktiebolaget LM Ericsson (publ) | FEDERAL LEARNING MODERATOR |
CN110782042B (zh) * | 2019-10-29 | 2022-02-11 | 深圳前海微众银行股份有限公司 | 横向联邦和纵向联邦联合方法、装置、设备及介质 |
CN110851786B (zh) * | 2019-11-14 | 2023-06-06 | 深圳前海微众银行股份有限公司 | 基于纵向联邦学习的企业间数据交互方法、装置、设备及存储介质 |
CN110851785B (zh) * | 2019-11-14 | 2023-06-06 | 深圳前海微众银行股份有限公司 | 纵向联邦学习优化方法、装置、设备及存储介质 |
CN112907309A (zh) * | 2019-11-19 | 2021-06-04 | 阿里巴巴集团控股有限公司 | 模型更新方法、资源推荐方法、装置、设备及系统 |
CN110992936A (zh) * | 2019-12-06 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 使用私有数据来进行模型训练的方法及装置 |
CN111222646B (zh) * | 2019-12-11 | 2021-07-30 | 深圳逻辑汇科技有限公司 | 联邦学习机制的设计方法、装置和存储介质 |
CN111210003B (zh) * | 2019-12-30 | 2021-03-19 | 深圳前海微众银行股份有限公司 | 纵向联邦学习系统优化方法、装置、设备及可读存储介质 |
CN113191479A (zh) * | 2020-01-14 | 2021-07-30 | 华为技术有限公司 | 联合学习的方法、系统、节点及存储介质 |
CN111275188B (zh) * | 2020-01-20 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 横向联邦学习系统优化方法、设备及可读存储介质 |
CN113312169B (zh) * | 2020-02-27 | 2023-12-19 | 香港理工大学深圳研究院 | 一种计算资源的分配方法及装置 |
CN111340453A (zh) * | 2020-02-28 | 2020-06-26 | 深圳前海微众银行股份有限公司 | 联邦学习开发方法、装置、设备及存储介质 |
CN111538608A (zh) * | 2020-04-30 | 2020-08-14 | 深圳前海微众银行股份有限公司 | 预防终端设备宕机的方法、终端设备及存储介质 |
CN111582504A (zh) * | 2020-05-14 | 2020-08-25 | 深圳前海微众银行股份有限公司 | 联邦建模方法、装置、设备及计算机可读存储介质 |
CN115427969A (zh) * | 2020-05-15 | 2022-12-02 | Oppo广东移动通信有限公司 | 一种模型更新方法及装置、通信设备 |
CN111598254B (zh) * | 2020-05-22 | 2021-10-08 | 深圳前海微众银行股份有限公司 | 联邦学习建模方法、设备及可读存储介质 |
CN111539731A (zh) * | 2020-06-19 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 基于区块链的联邦学习方法及装置和电子设备 |
CN111475853B (zh) * | 2020-06-24 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 一种基于分布式数据的模型训练方法及系统 |
CN113259147B (zh) * | 2020-06-28 | 2022-07-26 | 中兴通讯股份有限公司 | 网元管理方法、装置、计算机设备、介质 |
CN111783630B (zh) * | 2020-06-29 | 2022-07-01 | 上海高德威智能交通系统有限公司 | 一种数据处理方法、装置及设备 |
CN111970304A (zh) * | 2020-08-28 | 2020-11-20 | 光大科技有限公司 | 消息处理方法和装置 |
CN112307331B (zh) * | 2020-10-14 | 2023-11-24 | 湖南天河国云科技有限公司 | 一种基于区块链高校毕业生智能招聘信息推送方法、系统及终端设备 |
CN112232519B (zh) * | 2020-10-15 | 2024-01-09 | 成都数融科技有限公司 | 一种基于联邦学习的联合建模方法 |
CN113515760B (zh) * | 2021-05-28 | 2024-03-15 | 平安国际智慧城市科技股份有限公司 | 横向联邦学习方法、装置、计算机设备和存储介质 |
CN113658689A (zh) * | 2021-08-25 | 2021-11-16 | 深圳前海微众银行股份有限公司 | 多智能体模型的训练方法、装置、电子设备及存储介质 |
WO2023028907A1 (en) * | 2021-09-01 | 2023-03-09 | Qualcomm Incorporated | Techniques for using relay averaging in federated learning |
CN114429223B (zh) * | 2022-01-26 | 2023-11-07 | 上海富数科技有限公司 | 异构模型建立方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167695A (zh) * | 2018-10-26 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦学习的联盟网络构建方法、设备及可读存储介质 |
CN109189825A (zh) * | 2018-08-10 | 2019-01-11 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089587A1 (en) * | 2016-09-26 | 2018-03-29 | Google Inc. | Systems and Methods for Communication Efficient Distributed Mean Estimation |
US11823067B2 (en) * | 2017-06-27 | 2023-11-21 | Hcl Technologies Limited | System and method for tuning and deploying an analytical model over a target eco-system |
-
2019
- 2019-06-14 CN CN201910524091.1A patent/CN110263936B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189825A (zh) * | 2018-08-10 | 2019-01-11 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
CN109167695A (zh) * | 2018-10-26 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦学习的联盟网络构建方法、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
强监管下数据智能如何赋能金融科技;沈志勇;《科技与金融》;20190609;第13-16页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110263936A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263936B (zh) | 横向联邦学习方法、装置、设备及计算机存储介质 | |
CN110601814B (zh) | 联邦学习数据加密方法、装置、设备及可读存储介质 | |
CN110674528B (zh) | 联邦学习隐私数据处理方法、设备、系统及存储介质 | |
CN107666666B (zh) | 密钥的衍生方法及装置 | |
CN111565404B (zh) | 一种数据分流方法和装置 | |
CN107005569A (zh) | 端对端服务层认证 | |
CN107567017B (zh) | 无线连接系统、装置及方法 | |
CN105407041A (zh) | 一种添加群组或好友的方法及服务器、客户端和系统 | |
CN109981258B (zh) | 一种密钥生成方法及通信设备 | |
CN104619040A (zh) | WiFi设备快速连接的方法和系统 | |
CN111767411A (zh) | 知识图谱表示学习优化方法、设备及可读存储介质 | |
CN110247849A (zh) | Ursp的更新方法和装置 | |
CN105451298A (zh) | 网络共享的方法及系统、接入的方法及系统和电子设备 | |
US20230232228A1 (en) | Method and apparatus for establishing secure communication | |
CN108307360A (zh) | 一种移动终端与穿戴式设备的绑定方法及装置 | |
CN107113615B (zh) | 一种对接入点ap的认证方法、系统及相关设备 | |
CN109391473A (zh) | 一种电子签章的方法、装置及存储介质 | |
CN106537962B (zh) | 无线网络配置、接入和访问方法、装置及设备 | |
CN111641640B (zh) | 一种设备绑定处理方法及装置 | |
CN107222859A (zh) | 一种设备联网的方法及装置 | |
CN107770769B (zh) | 一种加密方法、网络侧设备及终端 | |
CN105992312A (zh) | 一种接入无线网络的方法、系统及接入点设备 | |
CN109155913B (zh) | 网络连接方法、安全节点的确定方法及装置 | |
US20240223447A1 (en) | Systems and methods for provisioning network slices | |
CN117061115B (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 |