CN115146786A - 联邦学习的实现方法、装置、系统、介质、设备以及产品 - Google Patents
联邦学习的实现方法、装置、系统、介质、设备以及产品 Download PDFInfo
- Publication number
- CN115146786A CN115146786A CN202210754624.7A CN202210754624A CN115146786A CN 115146786 A CN115146786 A CN 115146786A CN 202210754624 A CN202210754624 A CN 202210754624A CN 115146786 A CN115146786 A CN 115146786A
- Authority
- CN
- China
- Prior art keywords
- client
- clients
- model
- ith
- jth
- 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
- G06N20/00—Machine 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种联邦学习的实现方法、装置、系统、计算机可读存储介质、电子设备以及计算机程序产品,该方法应用于参与联邦学习任务的中心服务器和客户端。具体地,根据各个客户端的本地模型获取的反映客户端数据分布特征的特征向量,然后通过计算各个客户端对应的特征向量计算相似度,来衡量不同客户端数据分布特征之间的相似度。再根据所计算的相似度对客户端进行分组,以将数据分布特征相似度高的客户端归属于同一客户端集合。进一步地,针对同一客户端集合,将各个客户端的本地模型的模型数据进行聚合处理,得到该客户端集合对应的个性化模型。
Description
技术领域
本说明书涉及机器学习技术领域,尤其涉及一种联邦学习的实现方法、装置、系统、计算机可读存储介质、电子设备以及计算机程序产品。
背景技术
人工智能应用的部署和落地过程中,存在训练数据数量受限制、数据质量差,需要保护数据隐私等数据孤岛问题。而联邦学习能够通过在分布式场景下不同客户数据交换来解决上述孤岛问题。
具体地,实现联邦学习的典型方法是联邦平均法(Federated Averaging,FedAvg),它通过对每个客户端上传的本地参数进行平均来生成一个全局模型。
然而,相关技术提供的联邦学习实现方案不能够较好地适应各个客户端的数据分布,导致训练后的联邦学习模型个性化程度较低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本说明书的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本说明书的目的在于提供一种联邦学习的实现方法、装置、系统、计算机可读存储介质、电子设备以及计算机程序产品,至少在一定程度上提升联邦学习模型的个性化程度,同步不会引入偏见(bias)或过拟合(over-fitting)问题。
本说明书的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本说明书的实践而习得。
根据本说明书的一个方面,提供一种联邦学习的实现方法,上述方法应用于参与联邦学习任务的中心服务器,该方法包括:接收上述联邦学习任务的N个客户端分别对应的特征向量,其中,第i客户端对应的第i特征向量为从上述第i客户端的本地模型中获取的,上述第i特征向量反映上述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度;根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,M为小于N的正整数;以及,对于第j客户端集合,对上述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到上述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
根据本说明书的另一个方面,提供一种联邦学习的实现方法,该方法应用于参与联邦学习任务的第i客户端,该方法包括:从本地模型中获取第i特征向量,上述第i特征向量反映上述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;发送上述第i特征向量至上述联邦学习任务的中心服务器,以使上述中心服务器:根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度;以及,根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,M为小于N的正整数;以及,在上述第i客户端属于第j客户端集合的情况下,发送本地模型的模型数据至上述中心服务器,以使上述中心服务器对上述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到上述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
根据本说明书的再一个方面,提供一种联邦学习的实现装置,配置于参与联邦学习任务的中心服务器,上述装置包括:特征接收模块、相似度计算模块、客户端分组模块,以及聚合处理模块。
其中,上述特征接收模块,用于接收上述联邦学习任务的N个客户端分别对应的特征向量,其中,第i客户端对应的第i特征向量为从上述第i客户端的本地模型中获取的,上述第i特征向量反映上述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;上述相似度计算模块,用于根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度;上述客户端分组模块,用于根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,M为小于N的正整数;以及,上述聚合处理模块,用于对于第j客户端集合,对上述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到上述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
根据本说明书的又一个方面,提供一种联邦学习的实现装置,配置于参与联邦学习任务的第i客户端,上述装置包括:特征确定模块、特征发送模块,以及模型数据发送模块。
其中,上述特征确定模块,用于从本地模型中获取第i特征向量,上述第i特征向量反映上述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;上述特征发送模块,用于发送上述第i特征向量至上述联邦学习任务的中心服务器,以使上述中心服务器:根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度;以及,根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,M为小于N的正整数;以及,上述模型数据发送模块,用于在上述第i客户端属于第j客户端集合的情况下,发送本地模型的模型数据至上述中心服务器,以使上述中心服务器对上述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到上述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
根据本说明书的再一个方面,提供一种联邦学习的实现系统,参与联邦学习任务的N个客户端和中心服务器;其中:
上述中心服务器执行如上述方面上述的联邦学习的实现方法;以及,第i客户端执行如上述方面上述的联邦学习的实现方法,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N。
根据本说明书的一个方面,提供一种电子设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述实施例中的联邦学习的实现方法。
根据本说明书的一个方面,提供一种计算机可读存储介质,上述计算机可读存储介质中存储有指令,当上述指令在计算机或处理器上运行时,使得上述计算机或处理器执行如上述实施例中的联邦学习的实现方法。
根据本说明书的另一个方面,提供一种包含指令的计算机程序产品,当上述计算机程序产品在计算机或处理器上运行时,使得上述计算机或处理器执行如如上述实施例中的联邦学习的实现方法。
本说明书的实施例所提供的联邦学习的实现方法、装置、系统、计算机可读存储介质、电子设备以及计算机程序产品,具备以下技术效果:
本说明书示例性的实施例提供的方案应用于参与联邦学习任务的中心服务器和客户端,首先根据各个客户端的本地模型获取的反映客户端数据分布特征的特征向量,然后通过计算各个客户端对应的特征向量计算相似度,来衡量不同客户端数据分布特征之间的相似度。最终根据所计算的相似度对客户端进行分组,以将数据分布特征相似度高的客户端归属于同一集合。最终,针对同一客户端集合,将各个客户端的本地模型的模型数据进行聚合处理,得到该集合对应的个性化模型。从而,通过本说明实施例提供的方案能够较好地适应每个客户端集合/每组客户端中客户端的数据分布,进而有利于训练后的联邦学习模型个性化程度,较高个性化程度的联邦学习模型有利于提升模型的预测分析能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的联邦学习的实现系统的构架示意图。
图2为本说明书一实施例提供的联邦学习的实现方法的流程示意图。
图3为本说明书另一实施例提供的联邦学习的实现方法的流程示意图。
图4为本说明书一实施例提供的联邦学习的实现方法的信息交互示意图。
图5为本说明书实施例提供的确定特征向量的方法流程示意图。
图6为本说明书一实施例提供的客户端之间相似度的确定方法的流程示意图。
图7为本说明书另一实施例提供的客户端之间相似度的确定方法的流程示意图。
图8为本说明书一实施例提供的个性化联邦学习的实现方法的信息交互示意图。
图9为本说明书另一实施例提供的联邦学习的实现方法的信息交互示意图。
图10为本说明书一实施例提供的联邦学习的实现装置的结构示意图。
图11为本说明书另一实施例提供的联邦学习的实现装置的结构示意图。
图12为本说明书再一实施例提供的联邦学习的实现装置的结构示意图。
图13为本说明书又一实施例提供的联邦学习的实现装置的结构示意图。
图14为本说明书实施例提供的联邦学习的实现系统的结构示意图。
图15为本说明书另一实施例提供的联邦学习的实现系统的结构示意图。
图16为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合附图对本说明书实施例方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本说明书将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本说明书的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本说明书的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本说明书的各方面变得模糊。
此外,附图仅为本说明书的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
由于各个客户端的数据分布具有非独立同分布(Non-Independent andIdentically Distributed,非IID)的特征,而利用好客户端的非独立同分布的数据分布特征能够有利于提升联邦学习模型的预测分析性能。例如,通过偏好购买母婴产品的客户端数据来确定用于预测母婴产品销售量的机器学习模型,通过偏好购买男装的客户端数据来确定用于预测男装销售量的机器学习模型,以及通过偏好购买女装的客户端数据来确定用于预测女装销售量的机器学习模型。因此,需要提升所得到联邦学习模型的个性化程度。也就是说,基于联邦平均法等实现联邦学习时,每个客户都对应于一个相同的全局共享模型,不能够适应不同客户端的数据分布,不利于提升模型的训练效果。
为了提升联邦学习模型的个性化程度,一种相关技术中,需先训练得到一个全局的共享模型,然后针对每个客户端中的数据分布特征,微调给客户端对应的全局模型,得到该客户端对应的个性化模型。然而,在该相关技术提供的个性化过程被限制在一客户端中,而一个设备中的数据是非常有限的,从而可能会引入一些偏见或过拟合问题。
本说明书实施例提供的方案思想为,虽然参与联邦学习的各个客户端分别对应于不同的数据分布特征,但是通过计算不同客户端的数据分布特征之间的相似度,并将相似的较高的客户端划分在一组/一个客户端集合中,并针对任意一个客户端集合再进行个性化联邦学习模型,进而确定每个客户端集合对应的个性化模型,能够解决上述偏见或过拟合问题。具体的,本说明书实施例提供以下内容:
示例性的,图1为本说明书实施例提供的联邦学习的实现方案的系统构架示意图。
如图1所示,系统架构100可以包括终端(客户端)110、网络120以及服务端130。其中,终端110、以及服务端130之间通过网络120连接。
示例性的,终端110作为联邦学习的数据持有方可以是包含具有计算能力的手机、电脑、平板等,本说明书实施例提供的方案中,在各个终端实现更新本地模型,即接收到的全局模型进行迭代计算(也称,局部计算、本地计算),并将迭代计算后模型数据(梯度、模型参数)发送至中心服务器(如,服务器130);以及根据本地模型确定反映相关客户端数据特征分布的特征向量并发送至中心服务器。
示例性的,网络120可以是能够在终端110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路、无线通信链路或者光纤电缆等等,本说明书在此不做限制。
示例性的,服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器。
示例性的,服务器130可以用于收到来自多个客户端的模型数据后,中心服务器对这些模型数据进行聚合操作;进一步地,根据聚合后的结果对全局模型进行一次更新,并将更新后的模型返回给参与该联邦学习任务的数据持有方/客户端。本说明书实施例提供的实施例中,服务器130还可以根据各个客户端发送的特征向量进行相似度计算,从而衡量不同客户端数据分布特征之间的相似度。最终根据所计算的相似度对客户端进行分组,以将数据分布特征相似度高的客户端归属于同一集合。最终,针对同一客户端集合,将各个客户端的本地模型的模型数据进行聚合处理,得到该集合对应的个性化模型。可见,通过本说明实施例提供的方案能够较好地适应每个客户端集合中客户端的数据分布,进而有利于训练后的联邦学习模型个性化程度。
以下先通过图2至图9对本说明书提供的联邦学习的实现方法实施例进行详细阐述:
示例性的,图2和图3分别为本说明书实施例提供的联邦学习的实现方法的流程示意图。其中,图2所示方法的执行主体为参与联邦学习任务的中心服务器,图3所述方法的执行主体为参与联邦学习任务的任意一客户端(第i客户端)。
参考图2,该实施例所示方法包括:
S210,接收联邦学习任务的N个客户端分别对应的特征向量,其中,第i客户端对应的第i特征向量为从第i客户端的本地模型中获取的,第i特征向量反映第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;S220,根据N个客户端分别对应的特征向量,计算N个客户端之间的相似度;S230,根据N个客户端之间的相似度,将N个客户端分为M个客户端集合,M为小于N的正整数;以及,S240,对于第j客户端集合,对第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
参考图3,该实施例所示方法包括:
S310,从本地模型中获取第i特征向量,第i特征向量反映第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;S320,发送第i特征向量至联邦学习任务的中心服务器,以使中心服务器:根据N个客户端分别对应的特征向量,计算N个客户端之间的相似度;以及,根据N个客户端之间的相似度,将N个客户端分为M个客户端集合,M为小于N的正整数;以及,S330,在第i客户端属于第j客户端集合的情况下,发送本地模型的模型数据至中心服务器,以使中心服务器对第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
以下结合图4所示实施例,对上述图2和图3所示实施例各个步骤的具体实施方式进行详细介绍:
在示例性的实施例中,图4为本说明书一实施例提供的联邦学习的实现方法的信息交互示意图。具体地,参考图4,该图所示实施例示出了多个客户端(例如,第m客户端和第i客户端)和中心服务器420之间的信息交互过程。
示例性的,参考图4,在S40中,在联邦学习任务进行预设迭代次数之后(例如该任务总迭代次数的10%),得到一全局模型M。
先介绍在联邦学习任务初始阶段,在中心服务器420与各个客户端达成联邦学习协议后开启联邦学习任务,并由中心服务器420向各数据持有方/客户端发布初始参数。
进一步地,各个客户端分别进行一次迭代过程,即根据客户端自身数据进行局部计算。具体地,在上述联邦学习建模任务开启并初始化系统参数后,各个客户端首先在本地根据所存储的数据进行局部计算,局部计算完成后,将本地局部计算所得模型数据(如,梯度或模型参数)脱敏后进行上传,以用于中心服务器中全局模型的更新。
具体地,中心服务器420进行中心聚合处理。在中心服务器420收到来自各个客户端的模型数据(脱敏后)后,中心服务器420对这些计算值进行聚合操作。需要说明的是,在上述聚合处理的过程中需考虑效率、安全、隐私等多方面的问题。例如,为了安全地对参数进行聚合,使用相关加密技术对模型数据进行加密。进一步地,中心服务器420根据中心聚合处理后的数据进行一次全局模型的更新,得到全局模型,例如全局模型M。
示例性的,上述预设迭代次数为该联邦学习任务总迭代次数的10%,则假如本联邦学习任务存在100轮迭代过程(在每个客户端分别进行100次局部计算),可以在中心服务器进行第10次更新得到的全局模型M。上述全局模型M发送至每个客户端,则对于每个客户端来说在相同的全局模型M的基础上,通过各自存储的数据进行一次本地迭代。进而根据迭代所得到的本地模型能够确定反映各个客户端数据分布特征的特征向量。同时,相较于相关技术中需要在联邦学习任务迭代完成后,再针对每个客户端进行微调的方式,本方案更能节省时间与计算资源。
继续参考图4,在S42中,中心服务器420分别向多个客户端(例如,第m客户端/第i客户端)发送全局模型M。可以理解的是,不限于图4中示出的,中心服务器除了向第m客户端/第i客户端发送全局模型M之外,中心服务器还可以向更多的客户端发送全局模型M,且在执行S42时,第m客户端与第i客户端暂未被划分到第j客户端集合中。具体的客户端集合划分过程将在S48-S410中介绍。在S44中,在联邦学习任务在第m客户端/第i客户端执行预设迭代次数的本地迭代之后,从所得到的本地模型中获取反映高层语义的向量,得到第m特征向量/第i特征向量。以及,在S46中,将第m特征向量/第i特征向量发送至中心服务器。
示例性的,在各个客户端,根据客户端所存储的数据来训练上述全局模型(进行局部计算),进而得到各个客户端分别对应的本地模型。其中,各个客户端在上述全局模型的基础上进行模型训练过程能够将存储在客户端的数据转化为高层语义特征。例如,在该联邦学习任务采用神经网络,通过神经网络对客户端所存储数据进行若干次卷积(特征提取)后得到的特征信息,可以称为高层语义特征。高层语义特征的感受野较大,有利于反映客户端的数据分布特征。因此,本说明书实施例提供的方案中,将根据第i客户端的本地模型确定的高层语义特征确定上述第i特征向量。
在示例性的实施例中,图5为本说明书实施例提供的确定特征向量的方法流程示意图。参考图5,该方法包括:S510-S530。
在S510中,对于第i客户端,在上述本地模型中确定出反映高层语义的目标层。
同前所述,由于高层语义特征更有利于反映客户端的数据分布特征,因此本实施例中将采用高层语义特征确定上述特征向量。本实施例,用于确定高层语义特征的模型层记作反映高层语义的目标层。
示例性的,在上述联邦学习任务为分类模型的情况下,上述目标层可以是激活函数层前的一层或两层。在上述联邦学习任务为回复模型的情况下,上述目标层可以是模型的最后一层或两层。
在S520中,将目标层中的模型权重与第三预设阈值进行比较;以及,在S530中,将低于第三预设阈值的设置为0得到稀疏向量,并将稀疏向量确定为第i特征向量。
本实施例中,通过将目标层中的模型权重与第三预设阈值进行比较,并将低于第三预设阈值的设置为0的方式,获取稀疏向量并用于确定该客户端的特征向量。其中,通过阈值过滤的方式尽可能将上述特征向量稀疏化,既有利于降低各个客户端与中心服务器之间的通信量,又能够避免将原始数据进行交互带来的数据隐私问题。
继续参考图4,中心服务器420:在S48中,根据N个客户端分别对应的特征向量,计算N个客户端之间的相似度;以及,在S410中,根据N个客户端之间的相似度,将N个客户端分为M个客户端集合。
示例性的,图6为本说明书一实施例提供的客户端之间相似度的确定方法的流程示意图。参考图6,该图所示实施例包括:
在S610中,对于N个客户端中第a客户端和第b客户端,根据第a客户端和第b客户端分别对应的特征向量计算相似度,得到N×N的相似度矩阵,a和b的取值均为1至N之间的任一整数,包含1和N。
示例性的,依据每个客户端发送的特征向量(实质为稀疏向量),采用类似欧式距离等方法计算两两客户端之间的相似度,得到N×N的相似度矩阵如下:
其中,可以理解的,Sab与Sba均表示根据第a客户端对应的第a特征向量和第b客户端对应的第b特征向量计算得到的相似度,则Sab与Sba的值相等。需要说明的是,本实施例中以上述相似度矩阵的方式表示两两客户端之间的相似度,在其他实施例中,还可以将两两客户端之间的相似度表示为其他形式。
进一步地,在S620中,根据N×N的相似度矩阵以及第一预设阈值,将N个客户端分为M个客户端集合。
具体地,可以将上述相似度矩阵中每个元素的值分别与第一预设阈值进行一一比对,也可以将上述相似度矩阵中上三角区域的每个元素的值分别与第一预设阈值进行一一比对,或者将上述相似度矩阵中下三角区域中的每个元素的值分别与第一预设阈值进行一一比对,只需保证每两个客户端之间的相似度均与第一预设阈值比对即可。
示例性的,上述第一预设阈值可以取值为0.5,进一步地,将上述相似度矩阵中元素的值与0.5进行比对,以保证被分在同一客户端集合中的两两客户端之间的相似度大于0.5。从而可以将所有的客户端划分成不同的组,并认为相同组内的客户端被判定为具有相似的数据分布。
在另一示例性的实施例中,为了提升相似度计算效率,图7为本说明书另一实施例提供的客户端之间相似度的确定方法的流程示意图。参考图7,该图所示实施例包括:
S710,分别计算第x特征向量与其他各个客户端对应的特征向量之间的相似度,得到N-1个相似度,x取值为1至N之间的任一整数,包含1和N;以及,S720,将N-1个相似度与M个预设区间进行比对,将N-1个相似度分布至M个预设区间内,以将N个客户端分为M个客户端集合。
示例性的,随机从N个客户端发来的稀疏向量中采样一个客户端,其对应的特征向量记为第x特征向量。依次计算其他客户端特征向量(记作:Rep1、Rep2、…、Repi、…、RepN)与第x特征向量(记作:Repx)之间的相似度。具体的,可以得到N-1个相似度值:sim(Rep1,Repz),sim(Rep2,Repz),…,sim(RepN,Repz)。
同时,还可以设置M个预设区间,如(0,0.2]、(0.2,0.4]、(0.4,0.6]、(0.6,0.8]以及(0.8,1)。
然后,将上述N-1个相似度值与上述M个预设区间进行比对,即将上述N-1个相似度值落入在上述M个预设区间内,则可以实现对上述客户端的分组。示例性的,如果sim(Rep1,Repx)和sim(Rep2,Repx)均落入在预设区间(0.2,0.4]中,那么可以认为第1客户端和和第2客户端的数据分布的相似度较高,从而可以划到同一个客户端集合中。
通过图6或图7所对应的实施例,能够将参与同一联邦学习任务的所有的客户端划分成不同的组,并认为相同组内的客户端被判定为具有相似的数据分布。例如,将参与该联邦学习任务的所有客户端分组为3个客户端集合,具体的,第一个客户端集合对应的数据分布特征为购买服装类商品、第二个客户端集合对应的数据分布特征为购买家具类商品,第三个客户端集合对应的数据分布特征为基金类投资。进一步地,在下述实施例中则可以针对同一个客户端集合(各个客户端之间具有相似的数据分布特征)确定一个性化模型,基于该个性化模型可以对相应的数据分布特征(如,购买家具类商品)进行针对性分析与预测,并有利于提升预测精准度。
继续参考图4,在对参与该联邦学习任务的客户端进行分组之后,对于任意一个客户端集合,中心服务器将对同一集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到该客户端集合对应的个性化模型。在S410中,示例性的,图4中示出的第m客户端和第i客户端同属于第j客户端集合。以第j客户端集合为例进行说明:
中心服务器420接收第j客户端集合中的每个客户端发送来的本地模型的模型数据。例如参考图4,在S412中,接收第m客户端/第i客户端所对应的本地模型的模型数据。然后,中心服务器420在S414中:对第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到第j客户端集合对应的个性化模型。
在示例性的实施例中,图8为本说明书一实施例提供的个性化联邦学习的实现方法的信息交互示意图,具体提供一种确定第j客户端集合对应的个性化模型的实施例。参考图8,该图所示实施例包括:
S810,接收第j客户端集合中每个客户端对应的本地模型的模型数据,模型数据为模型权重或模型梯度;以及,S820,对第j客户端集合的L个客户端分别对应的模型数据进行加权平均处理,并通过加权平均处理后的权重更新全局模型,得到第j客户端集合对应的个性化模型。
其中,上述第j客户端集合包含L个客户端,L取值为不大于(N-M+1)的正整数。例如,N取值为100,即参与该联邦学习任务的客户端包含100个,M取值为5,即可以将参与上述联邦学习任务的100个客户端分为5个客户端集合,则其中任一个客户端结合所包含的客户端数量不大于96(N-M+1)。
本实施例提供的方案中,根据相似数据分布的一组客户端对应的数据,进行加权平均处理,并通过加权平均处理后的权重更新全局模型,得到该客户端集合对应的个性化模型。相较于相关技术中针对单个客户端进行微调的方式,客户端集合中各个客户端具有相似的数据分布特征,从而可以获取到反映该数据分布特征的较为充足的数据资源。可见,本说明书实施例不仅在获取到适用于该数据分布特征的个性化模型,从而对相关数据分布特征进行针对性更强的分析与预测,同时还不会引入偏见(bias)或过拟合(over-fitting)问题。
在示例性的实施例中,本说明书实施例提供的个性化联邦学习模式,同前所述,可以在该联邦学习任务迭代预设次数之后开启。进一步地,为了适应客户端数据变化,以精准度更高的进行分组以及进一步地确定每组对应的个性化模型,在之后的任何一次迭代过程中执行如图4中S44-S414示出的步骤,也就是说,在开启上述个性化联邦学习模式之后的每次迭代计算过程中,均可以执行以下操作:获取特征向量(S44)、计算相似度(S48)、客户端分组(S410),以及确定任一个客户端集合对应的个性化模型(S414)。
当然,在另一些实施例中,为了加速联邦学习模型的训练效率,或者已知各个客户端数据变化较小,则可以预先设置分组周期,即可以设置联邦学习任务每迭代10次进行一次如图4中S40-S414示出的过程。还可以设置在联邦学习任务的整个过程中,执行如图4中S40-S414示出的过程的次数。例如,本联邦学习任务存在100轮迭代过程,可以设置在整个迭代过程中执行5次如图4中S40-S414示出的过程。从而,用户可以基于实际需求,控制如图4中S40-S414示出的个性化联邦学习过程的次数,从而在保证可以对联邦学习模型个性化的同时,还有利于联邦学习任务实现的灵活性。
在示例性的实施例中,在该联邦学习任务迭代预设次数之后开启之后,还可以基于客户端的请求而关闭个性化联邦学习模式,从而各个客户端可以随时关闭个性化联邦学习模式。示例性的,图9为本说明书另一实施例提供的联邦学习的实现方法的信息交互示意图。
参考图9,在910阶段,第i客户端属于第j客户端集合410。此情况下,在S92中,第i客户端向中心服务器420发送关于个性化联邦学习的关闭请求。则在S94中,中心服务器420更新第i客户端所在的第j客户端集合,得到第j’客户端集合。
参考920阶段,第j’客户端集合410’中不再包含上述第i客户端,且中心服务器420与第j’客户端集合410’之间继续进行个性化联邦学习模式。即:在S96中,接收第m客户端所对应的本地模型的模型参数(中心服务器420更新后的第j’客户端集合中每个客户端对应的本地模型的模型参数);以及,在S98中,对接收到的、关于更新后的第j’客户端集合中每个客户端对应的本地模型的模型数据进行聚合处理。并更新全局模型得到第j’客户端集合对应的个性化模型。
参考图9,同时,第i客户端与中心服务器之间执行普通的联邦学习方式。如在S910中:第i客户端与中心服务器之间进行数据交互,实现非个性化联邦学习模式的迭代过程。
本说明书实施例提供的联邦学习的实现方案中,将数据分布特征相似的客户端联合至同一组/集合中,再针对组/客户端集合的方式进行自适应个性化。而不是专注于联邦学习任务的某一个本地客户端实行个性化。从而本说明书实施例提供的方案规避了现有个性化过程被限制在单一设备上缺点。而将具有相似数据分布的客户端联合起来,再进行个性化联邦学习模式,从而有效提升模型的个性化程度,同时,还能够避免偏见或过拟合问题的产生。
其中,对于参与联邦学习的客户端而言,可以根据自身需求在联邦学习过程中随时开启/关闭个性化联邦学习模式,从而增加了实现联邦学习的灵活性。
需要注意的是,上述附图仅是根据本说明书示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本说明书装置实施例,可以用于执行本说明书方法实施例。对于本说明书装置实施例中未披露的细节,请参照本说明书方法实施例。
其中,图10为本说明书一实施例提供的联邦学习的实现装置的结构示意图。请参见图10,该图所示的联邦学习的实现装置可以通过软件、硬件或者两者的结合实现配置于参与联邦学习任务的上述中心服务器,还可以作为独立的模块集成于服务器上,还可以作为独立的模块集成于电子设备中。
本说明书实施例中的上述联邦学习的实现装置1000,包括:特征接收模块1010、相似度计算模块1020、客户端分组模块1030,以及聚合处理模块1040。
上述特征接收模块1010,用于接收上述联邦学习任务的N个客户端分别对应的特征向量,其中,第i客户端对应的第i特征向量为从上述第i客户端的本地模型中获取的,上述第i特征向量反映上述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;上述相似度计算模块1020,用于根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度;上述客户端分组模块1030,用于根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,M为小于N的正整数;以及,上述聚合处理模块1040,用于对于第j客户端集合,对上述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到上述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
在示例性的实施例中,图11为本说明书另一实施例提供的联邦学习的实现装置的结构示意图。请参见图11:
在示例性的实施例中,基于前述方案,上述第i特征向量为从上述第i客户端的本地模型中获取的反映高层语义的稀疏向量。
在示例性的实施例中,基于前述方案,上述相似度计算模块1020,具体用于:对于上述N个客户端中第a客户端和第b客户端,根据上述第a客户端和第b客户端分别对应的特征向量计算相似度,得到N×N的相似度矩阵,a和b的取值均为1至N之间的任一整数,包含1和N;
上述客户端分组模块1030,具体用于:根据上述N×N的相似度矩阵以及第一预设阈值,将上述N个客户端分为M个客户端集合。
在示例性的实施例中,基于前述方案,上述相似度计算模块1020,还具体用于:分别计算上述第x特征向量与其他各个客户端对应的特征向量之间的相似度,得到N-1个相似度,x取值为1至N之间的任一整数,包含1和N;
上述客户端分组模块1030,还具体用于:将上述N-1个相似度与M个预设区间进行比对,将上述N-1个相似度分布至上述M个预设区间内,以将上述N个客户端分为M个客户端集合。
在示例性的实施例中,基于前述方案,上述第j客户端集合包含L个客户端,L取值为不大于(N-M+1)的正整数;
上述聚合处理模块1040,具体用于:接收上述第j客户端集合中每个客户端对应的本地模型的模型数据,上述模型数据为模型权重或模型梯度;以及,对L个客户端分别对应的模型数据进行加权平均处理,并通过加权平均处理后的权重更新全局模型,得到上述第j客户端集合对应的个性化模型。
在示例性的实施例中,基于前述方案,上述联邦学习的实现装置1000还包括:更新模块1050。
其中,上述更新模块1050,用于:在得到上述第j客户端集合对应的个性化模型之后,在上述第i客户端属于第j客户端集合的情况下,响应于接收到来自上述第i客户端发送的关闭请求,更新上述第i客户端所在的第j客户端集合得到第j’客户端集合,其中,上述第j’客户端集合中不包含上述第i客户端,j’取值均为不大于M的正整数;以及,对更新后的第j’客户端集合中每个客户端对应的本地模型的模型数据进行聚合处理,得到上述第j’客户端集合对应的个性化模型。
在示例性的实施例中,基于前述方案,上述第i特征向量为:上述联邦学习任务在上述第i客户端执行预设迭代次数的本地迭代之后,从所得到的本地模型中获取的。
需要说明的是,上述实施例提供的联邦学习的实现装置在执行上述实施例提供的联邦学习的实现方法时仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
其中,图12为本说明书一实施例提供的联邦学习的实现装置的结构示意图。请参见图12,该图所示的联邦学习的实现装置可以通过软件、硬件或者两者的结合实现配置于上述参与联邦学习任务的任一客户端(第i客户端),还可以作为独立的模块集成于服务器上,还可以作为独立的模块集成于电子设备中。
本说明书实施例中的上述联邦学习的实现装置1200,包括:特征确定模块1210、特征发送模块1220,以及模型数据发送模块1230。
其中,上述特征确定模块1210,用于从本地模型中获取第i特征向量,上述第i特征向量反映上述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;上述特征发送模块1220,用于发送上述第i特征向量至上述联邦学习任务的中心服务器,以使上述中心服务器:根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度;以及,根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,M为小于N的正整数;以及,上述模型数据发送模块1230,用于在上述第i客户端属于第j客户端集合的情况下,发送本地模型的模型数据至上述中心服务器,以使上述中心服务器对上述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到上述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
在示例性的实施例中,图13为本说明书又一实施例提供的联邦学习的实现装置的结构示意图。请参见图13:
在示例性的实施例中,基于前述方案,上述特征确定模块1210,具体用于:在上述联邦学习任务在上述第i客户端执行预设迭代次数的本地迭代之后,从所得到的本地模型中获取反映高层语义的向量,得到上述第i特征向量。
在示例性的实施例中,基于前述方案,上述特征确定模块1210,还具体用于:从上述本地模型中确定出反映高层语义的目标层;将上述目标层中的模型权重与第三预设阈值进行比较;以及,将低于上述第三预设阈值的设置为0得到稀疏向量,并将上述稀疏向量确定为上述第i特征向量。
在示例性的实施例中,基于前述方案,上述联邦学习的实现装置1200还包括:请求发送模块1240。
其中,上述请求发送模块1240,用于:在上述得到上述第j客户端集合对应的个性化模型之后,在上述第i客户端属于第j客户端集合的情况下,向上述中心服务器发送关闭请求,以使上述中心服务器:根据更新上述第j客户端集合得到第j’客户端集合,其中,上述第j’客户端集合中不包含上述第i客户端;对更新后的第j’客户端集合中每个客户端对应的本地模型的模型数据进行聚合处理,得到上述第j’客户端集合对应的个性化模型;
其中,上述模型数据包括为模型权重或模型梯度。
需要说明的是,上述实施例提供的联邦学习的实现装置在执行上述实施例提供的联邦学习的实现方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例提供的联邦学习的实现装置与联邦学习的实现方法实施例属于同一构思,因此对于本说明书装置实施例中未披露的细节,请参照本说明书上述的联邦学习的实现方法的实施例,这里不再赘述。
本说明书实施例还提供了一种联邦学习的实现系统,图14为本说明书实施例提供的联邦学习的实现系统的结构示意图。
参考图14,本说明实施例提供的联邦学习的实现系统1400包括:参与联邦学习任务的N个客户端和中心服务器1410。
其中,上述中心服务器1410执行如联邦学习的实现方法的实施例;以及,上述N个客户端中的任一客户端(第i客户端)如联邦学习的实现方法的实施例,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N。
示例性的,图15为本说明书另一实施例提供的联邦学习的实现系统的结构示意图。参考图15,其中,每个客户端具体还可以包含一特征提取器,其中,特征提取器用于从客户端的本地模型中获取特征向量,该特征向量反映该客户端的数据分布特征。示例性的,上述特征提取器具体可以用于执行如图3中S310与S320所对应的实施例,在此不再赘述。
继续参考图15,中心服务器1410中包含相似度计算器和调度器。其中,上述相似度计算器用于根据各个客户端分别对应的特征向量,计算客户端之间的相似度。上述调度器可以用于根据客户端之间的相似度,将客户端分组为多个客户端集合。
示例性的,上述相似度计算器具体可以用于执行如图2中S220所对应的实施例,上述调度器可以用于执行如图2中S230所对应的实施例,在此不再赘述。
上述本说明书实施例序号仅仅为了描述,不代表实施例的优劣。
本说明书实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例方法的步骤。
图16为本说明书实施例提供的电子设备的结构示意图。请参见图16所示,电子设备1600包括有:处理器1601和存储器1602。
本说明书实施例中,处理器1601为计算机系统的控制中心,可以是实体机的处理器,也可以是虚拟机的处理器。处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1601可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
在本说明书实施例中,在上述电子设备中为参与联邦学习任务的中心服务器的情况下,上述处理器1601属于参与联邦学习任务的中心服务器。则上述处理器1601具体可以用于:
接收上述联邦学习任务的N个客户端分别对应的特征向量,其中,第i客户端对应的第i特征向量为从上述第i客户端的本地模型中获取的,上述第i特征向量反映上述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度;根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,M为小于N的正整数;以及,对于第j客户端集合,对上述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到上述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
进一步地,上述第i特征向量为从上述第i客户端的本地模型中获取的反映高层语义的稀疏向量。
进一步地,上述根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度,包括:对于上述N个客户端中第a客户端和第b客户端,根据上述第a客户端和第b客户端分别对应的特征向量计算相似度,得到N×N的相似度矩阵,a和b的取值均为1至N之间的任一整数,包含1和N;
上述根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,包括:根据上述N×N的相似度矩阵以及第一预设阈值,将上述N个客户端分为M个客户端集合。
进一步地,上述根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度,包括:分别计算上述第x特征向量与其他各个客户端对应的特征向量之间的相似度,得到N-1个相似度,x取值为1至N之间的任一整数,包含1和N;
上述根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,包括:将上述N-1个相似度与M个预设区间进行比对,将上述N-1个相似度分布至上述M个预设区间内,以将上述N个客户端分为M个客户端集合。
进一步地,上述第j客户端集合包含L个客户端,L取值为不大于(N-M+1)的正整数;
上述对上述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到上述第j客户端集合对应的个性化模型,包括:接收上述第j客户端集合中每个客户端对应的本地模型的模型数据,上述模型数据为模型权重或模型梯度;以及,对L个客户端分别对应的模型数据进行加权平均处理,并通过加权平均处理后的权重更新全局模型,得到上述第j客户端集合对应的个性化模型。
进一步地,上述处理器1601还具体用于:在得到上述第j客户端集合对应的个性化模型之后,在上述第i客户端属于第j客户端集合的情况下,响应于接收到来自上述第i客户端发送的关闭请求,更新上述第i客户端所在的第j客户端集合得到第j’客户端集合,其中,上述第j’客户端集合中不包含上述第i客户端,j’取值均为不大于M的正整数;以及,对更新后的第j’客户端集合中每个客户端对应的本地模型的模型数据进行聚合处理,得到上述第j’客户端集合对应的个性化模型。
进一步地,上述第i特征向量为:上述联邦学习任务在上述第i客户端执行预设迭代次数的本地迭代之后,从所得到的本地模型中获取的。
在本说明书实施例中,在上述电子设备中为参与联邦学习任务的任一客户端的情况下,上述处理器1601属于参与联邦学习任务的任意客户端。则上述处理器1601具体可以用于:
从本地模型中获取第i特征向量,上述第i特征向量反映上述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;发送上述第i特征向量至上述联邦学习任务的中心服务器,以使上述中心服务器:根据上述N个客户端分别对应的特征向量,计算上述N个客户端之间的相似度;以及,根据上述N个客户端之间的相似度,将上述N个客户端分为M个客户端集合,M为小于N的正整数;以及,在上述第i客户端属于第j客户端集合的情况下,发送本地模型的模型数据至上述中心服务器,以使上述中心服务器对上述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到上述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
进一步地,上述从本地模型中获取第i特征向量,包括:在上述联邦学习任务在上述第i客户端执行预设迭代次数的本地迭代之后,从所得到的本地模型中获取反映高层语义的向量,得到上述第i特征向量。
进一步地,上述从本地模型中获取第i特征向量,包括:从上述本地模型中确定出反映高层语义的目标层;将上述目标层中的模型权重与第三预设阈值进行比较;以及,将低于上述第三预设阈值的设置为0得到稀疏向量,并将上述稀疏向量确定为上述第i特征向量。
进一步地,上述处理器1601还具体用于:在上述得到上述第j客户端集合对应的个性化模型之后,在上述第i客户端属于第j客户端集合的情况下,向上述中心服务器发送关闭请求,以使上述中心服务器:根据更新上述第j客户端集合得到第j’客户端集合,其中,上述第j’客户端集合中不包含上述第i客户端;对更新后的第j’客户端集合中每个客户端对应的本地模型的模型数据进行聚合处理,得到上述第j’客户端集合对应的个性化模型;
其中,上述模型数据包括为模型权重或模型梯度。
存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在本说明书的一些实施例中,存储器1602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1601所执行以实现本说明书实施例中的方法。
一些实施例中,电子设备1600还包括有:外围设备接口1603和至少一个外围设备。处理器1601、存储器1602和外围设备接口1603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1603相连。具体地,外围设备包括:显示屏1604、摄像头1605和音频电路1606中的至少一种。
外围设备接口1603可被用于将输入/输出(Input/Output,I/O)相关的至少一个外围设备连接到处理器1601和存储器1602。在本说明书的一些实施例中,处理器1601、存储器1602和外围设备接口1603被集成在同一芯片或电路板上;在本说明书的一些其他实施例中,处理器1601、存储器1602和外围设备接口1603中的任意一个或两个可以在单独的芯片或电路板上实现。本说明书实施例对此不作具体限定。
显示屏1604用于显示用户界面(User Interface,UI)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1604是触摸显示屏时,显示屏1604还具有采集在显示屏1604的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1601进行处理。此时,显示屏1604还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在本说明书的一些实施例中,显示屏1604可以为一个,设置电子设备1600的前面板;在本说明书的另一些实施例中,显示屏1604可以为至少两个,分别设置在电子设备1600的不同表面或呈折叠设计;在本说明书的再一些实施例中,显示屏1604可以是柔性显示屏,设置在电子设备1600的弯曲表面上或折叠面上。甚至,显示屏1604还可以设置成非矩形的不规则图形,也即异形屏。显示屏1604可以采用液晶显示屏(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等材质制备。
摄像头1605用于采集图像或视频。可选地,摄像头1605包括前置摄像头和后置摄像头。通常,前置摄像头设置在电子设备的前面板,后置摄像头设置在电子设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及虚拟现实(Virtual Reality,VR)拍摄功能或者其它融合拍摄功能。在本说明书的一些实施例中,摄像头1605还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1606可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1601进行处理。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备1600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。
电源1607用于为电子设备1600中的各个组件进行供电。电源1607可以是交流电、直流电、一次性电池或可充电电池。当电源1607包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
本说明书实施例中示出的电子设备结构框图并不构成对电子设备1600的限定,电子设备1600可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在本说明书的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本说明书中的具体含义。此外,在本说明书的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本说明书实施例还提供了计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述实施例中的一个或多个步骤。上述联邦学习的实现装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。上述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照本说明书实施例上述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者通过上述计算机可读存储介质进行传输。上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DigitalSubscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(DigitalVersatile Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
需要注意的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述,仅为本说明书的具体实施方式,但本说明书的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,依本说明书权利要求所作的等同变化,仍属本说明书所涵盖的范围。
Claims (17)
1.一种联邦学习的实现方法,其中,应用于参与联邦学习任务的中心服务器,所述方法包括:
接收所述联邦学习任务的N个客户端分别对应的特征向量,其中,第i客户端对应的第i特征向量为从所述第i客户端的本地模型中获取的,所述第i特征向量反映所述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;
根据所述N个客户端分别对应的特征向量,计算所述N个客户端之间的相似度;
根据所述N个客户端之间的相似度,将所述N个客户端分为M个客户端集合,M为小于N的正整数;
对于第j客户端集合,对所述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到所述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
2.根据权利要求1所述的方法,其中,所述第i特征向量为从所述第i客户端的本地模型中获取的反映高层语义的稀疏向量。
3.根据权利要求1所述的方法,其中,所述根据所述N个客户端分别对应的特征向量,计算所述N个客户端之间的相似度,包括:
对于所述N个客户端中第a客户端和第b客户端,根据所述第a客户端和第b客户端分别对应的特征向量计算相似度,得到N×N的相似度矩阵,a和b的取值均为1至N之间的任一整数,包含1和N;
所述根据所述N个客户端之间的相似度,将所述N个客户端分为M个客户端集合,包括:
根据所述N×N的相似度矩阵以及第一预设阈值,将所述N个客户端分为M个客户端集合。
4.根据权利要求1所述的方法,其中,所述根据所述N个客户端分别对应的特征向量,计算所述N个客户端之间的相似度,包括:
分别计算所述第x特征向量与其他各个客户端对应的特征向量之间的相似度,得到N-1个相似度,x取值为1至N之间的任一整数,包含1和N;
所述根据所述N个客户端之间的相似度,将所述N个客户端分为M个客户端集合,包括:
将所述N-1个相似度与M个预设区间进行比对,将所述N-1个相似度分布至所述M个预设区间内,以将所述N个客户端分为M个客户端集合。
5.根据权利要求1至4中任意一项所述的方法,其中,所述第j客户端集合包含L个客户端,L取值为不大于(N-M+1)的正整数;
所述对所述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到所述第j客户端集合对应的个性化模型,包括:
接收所述第j客户端集合中每个客户端对应的本地模型的模型数据,所述模型数据为模型权重或模型梯度;
对L个客户端分别对应的模型数据进行加权平均处理,并通过加权平均处理后的权重更新全局模型,得到所述第j客户端集合对应的个性化模型。
6.根据权利要求1至4中任意一项所述的方法,其中,在得到所述第j客户端集合对应的个性化模型之后,所述方法还包括:
在所述第i客户端属于第j客户端集合的情况下,响应于接收到来自所述第i客户端发送的关闭请求,更新所述第i客户端所在的第j客户端集合得到第j’客户端集合,其中,所述第j’客户端集合中不包含所述第i客户端,j’取值均为不大于M的正整数;
对更新后的第j’客户端集合中每个客户端对应的本地模型的模型数据进行聚合处理,得到所述第j’客户端集合对应的个性化模型。
7.根据权利要求1至4中任意一项所述的方法,其中,所述第i特征向量为:
所述联邦学习任务在所述第i客户端执行预设迭代次数的本地迭代之后,从所得到的本地模型中获取的。
8.一种联邦学习的实现方法,其中,应用于参与联邦学习任务的第i客户端,所述方法包括:
从本地模型中获取第i特征向量,所述第i特征向量反映所述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;
发送所述第i特征向量至所述联邦学习任务的中心服务器,以使所述中心服务器:根据所述N个客户端分别对应的特征向量,计算所述N个客户端之间的相似度;以及,根据所述N个客户端之间的相似度,将所述N个客户端分为M个客户端集合,M为小于N的正整数;
在所述第i客户端属于第j客户端集合的情况下,发送本地模型的模型数据至所述中心服务器,以使所述中心服务器对所述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到所述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
9.根据权利要求8所述的方法,其中,所述从本地模型中获取第i特征向量,包括:
在所述联邦学习任务在所述第i客户端执行预设迭代次数的本地迭代之后,从所得到的本地模型中获取反映高层语义的向量,得到所述第i特征向量。
10.根据权利要求8所述的方法,其中,所述从本地模型中获取第i特征向量,包括:
从所述本地模型中确定出反映高层语义的目标层;
将所述目标层中的模型权重与第三预设阈值进行比较;
将低于所述第三预设阈值的设置为0得到稀疏向量,并将所述稀疏向量确定为所述第i特征向量。
11.根据权利要求8所述的方法,其中,在所述得到所述第j客户端集合对应的个性化模型之后,所述方法还包括:
在所述第i客户端属于第j客户端集合的情况下,向所述中心服务器发送关闭请求,以使所述中心服务器:根据更新所述第j客户端集合得到第j’客户端集合,其中,所述第j’客户端集合中不包含所述第i客户端;对更新后的第j’客户端集合中每个客户端对应的本地模型的模型数据进行聚合处理,得到所述第j’客户端集合对应的个性化模型;
其中,所述模型数据包括为模型权重或模型梯度。
12.一种联邦学习的实现装置,配置于参与联邦学习任务的中心服务器,所述装置包括:
特征接收模块,用于接收所述联邦学习任务的N个客户端分别对应的特征向量,其中,第i客户端对应的第i特征向量为从所述第i客户端的本地模型中获取的,所述第i特征向量反映所述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;
相似度计算模块,用于根据所述N个客户端分别对应的特征向量,计算所述N个客户端之间的相似度;
客户端分组模块,用于根据所述N个客户端之间的相似度,将所述N个客户端分为M个客户端集合,M为小于N的正整数;
聚合处理模块,用于对于第j客户端集合,对所述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到所述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
13.一种联邦学习的实现装置,配置于参与联邦学习任务的第i客户端,所述装置包括:
特征确定模块,用于从本地模型中获取第i特征向量,所述第i特征向量反映所述第i客户端的数据分布特征,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N;
特征发送模块,用于发送所述第i特征向量至所述联邦学习任务的中心服务器,以使所述中心服务器:根据所述N个客户端分别对应的特征向量,计算所述N个客户端之间的相似度;以及,根据所述N个客户端之间的相似度,将所述N个客户端分为M个客户端集合,M为小于N的正整数;
模型数据发送模块,用于在所述第i客户端属于第j客户端集合的情况下,发送本地模型的模型数据至所述中心服务器,以使所述中心服务器对所述第j客户端集合中所有客户端对应的本地模型的模型数据进行聚合处理,得到所述第j客户端集合对应的个性化模型,j取值为不大于M的正整数。
14.一种联邦学习的实现系统,参与联邦学习任务的N个客户端和中心服务器,其中:
所述中心服务器执行如权利要求1至7任一项所述的联邦学习的实现方法;以及,
第i客户端执行如权利要求8至11中任一项所述的联邦学习的实现方法,N为大于1的整数,i取值为1至N之间的任一整数,包含1和N。
15.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机或处理器上运行时,使得所述计算机或处理器执行如权利要求1至7任一项所述的联邦学习的实现方法;以及实现如权利要求8至11中任一项所述的联邦学习的实现方法。
16.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的联邦学习的实现方法;以及实现如权利要求8至11中任一项所述的联邦学习的实现方法。
17.一种包含指令的计算机程序产品,当所述计算机程序产品在计算机或处理器上运行时,使得所述计算机或处理器执行如权利要求1至7任一项所述的联邦学习的实现方法;以及实现如权利要求8至11中任一项所述的联邦学习的实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210754624.7A CN115146786A (zh) | 2022-06-29 | 2022-06-29 | 联邦学习的实现方法、装置、系统、介质、设备以及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210754624.7A CN115146786A (zh) | 2022-06-29 | 2022-06-29 | 联邦学习的实现方法、装置、系统、介质、设备以及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115146786A true CN115146786A (zh) | 2022-10-04 |
Family
ID=83411156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210754624.7A Pending CN115146786A (zh) | 2022-06-29 | 2022-06-29 | 联邦学习的实现方法、装置、系统、介质、设备以及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115146786A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116522988A (zh) * | 2023-07-03 | 2023-08-01 | 粤港澳大湾区数字经济研究院(福田) | 基于图结构学习的联邦学习方法、系统、终端及介质 |
-
2022
- 2022-06-29 CN CN202210754624.7A patent/CN115146786A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116522988A (zh) * | 2023-07-03 | 2023-08-01 | 粤港澳大湾区数字经济研究院(福田) | 基于图结构学习的联邦学习方法、系统、终端及介质 |
CN116522988B (zh) * | 2023-07-03 | 2023-10-31 | 粤港澳大湾区数字经济研究院(福田) | 基于图结构学习的联邦学习方法、系统、终端及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109816589B (zh) | 用于生成漫画风格转换模型的方法和装置 | |
US20220188840A1 (en) | Target account detection method and apparatus, electronic device, and storage medium | |
CN112069414A (zh) | 推荐模型训练方法、装置、计算机设备及存储介质 | |
CN112733970B (zh) | 图像分类模型处理方法、图像分类方法及装置 | |
CN110213573A (zh) | 一种视频质量评估方法、装置和电子设备 | |
CN110751218A (zh) | 图像分类方法、图像分类装置及终端设备 | |
US20230035366A1 (en) | Image classification model training method and apparatus, computer device, and storage medium | |
CN111984803B (zh) | 多媒体资源处理方法、装置、计算机设备及存储介质 | |
CN110059623A (zh) | 用于生成信息的方法和装置 | |
CN110489955B (zh) | 应用于电子设备的图像处理、装置、计算设备、介质 | |
CN115146786A (zh) | 联邦学习的实现方法、装置、系统、介质、设备以及产品 | |
US20220300822A1 (en) | Forgetting data samples from pretrained neural network models | |
CN117253287B (zh) | 基于域泛化的动作预测模型训练方法、相关方法及产品 | |
CN112036492B (zh) | 样本集处理方法、装置、设备及存储介质 | |
CN113256339A (zh) | 资源投放的方法、装置、存储介质及电子设备 | |
CN114765062A (zh) | 基因数据处理方法、装置、计算机设备及存储介质 | |
CN112241761A (zh) | 模型训练方法、装置和电子设备 | |
CN114996487B (zh) | 媒体资源推荐方法、装置、电子设备以及存储介质 | |
CN113762585B (zh) | 数据的处理方法、账号类型的识别方法及装置 | |
CN113298747A (zh) | 图片、视频检测方法和装置 | |
CN114936591A (zh) | 特征补齐方法及装置、特征补齐模型、介质、设备及产品 | |
CN116501993B (zh) | 房源数据推荐方法及装置 | |
CN115081512A (zh) | 特征补齐方法及装置、特征补齐模型、介质、设备及产品 | |
CN116644346A (zh) | 模型训练方法、分类信息生成方法、装置、设备和介质 | |
CN114998196A (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 |