基于稀疏适配器的联邦学习方法及系统与流程

文档序号:33116466发布日期:2023-02-01 02:56阅读:82来源:国知局
基于稀疏适配器的联邦学习方法及系统与流程

1.本说明书实施例涉及计算机技术领域,特别涉及基于稀疏适配器的联邦学习方法及系统。


背景技术:

2.随着众多个人信息保护法规和立法的出台,大量的应用场景对用户数据的隐私保护提出了更高的要求。在此背景下,联邦学习(federated learning ,简称:fl)应运而生,联邦学习在不上传每个客户端的本地隐私数据的情况下,多个客户端在中心服务器的协调下共同完成模型训练。
3.然而,在多个跨设备的联邦学习中,参与设备的系统资源是有限的,那么如何利用参与设备减少的系统资源,获得精度以及准确度较高的模型成为一个急需解决的技术问题。


技术实现要素:

4.有鉴于此,本说明书实施例提供了两种基于稀疏适配器的联邦学习方法。本说明书一个或者多个实施例同时涉及两种基于稀疏适配器的联邦学习装置,一种基于稀疏适配器的联邦学习系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
5.根据本说明书实施例的第一方面,提供了一种基于稀疏适配器的联邦学习方法,应用于客户端,包括:接收服务端发送的目标稀疏适配器;将所述客户端的当前向量表示以及模型稀疏度条件,输入所述目标稀疏适配器,获得第一模型稀疏矩阵;根据所述第一模型稀疏矩阵对所述客户端的初始模型进行处理,获得目标稀疏模型;根据训练样本集确定所述目标稀疏模型的训练损失函数,并将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适配器,发送至所述服务端。
6.根据本说明书实施例的第二方面,提供了一种基于稀疏适配器的联邦学习装置,应用于客户端,包括:第一接收模块,被配置为接收服务端发送的目标稀疏适配器;稀疏矩阵获得模块,被配置为将所述客户端的当前向量表示以及模型稀疏度条件,输入所述目标稀疏适配器,获得第一模型稀疏矩阵;稀疏模型获得模块,被配置为根据所述第一模型稀疏矩阵对所述客户端的初始模型进行处理,获得目标稀疏模型;第一发送模块,被配置为根据训练样本集确定所述目标稀疏模型的训练损失函数,并将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适
配器,发送至所述服务端。
7.根据本说明书实施例的第三方面,提供了一种基于稀疏适配器的联邦学习方法,应用于服务端,包括:确定至少两个客户端的向量表示、以及所述至少两个客户端对应的初始稀疏适配器;根据所述至少两个客户端的向量表示,通过预设聚类算法对所述至少两个客户端进行聚类,获得聚类后的客户端集群;根据所述客户端集群中的客户端对应的初始稀疏适配器,确定所述客户端集群对应的目标稀疏适配器;将所述客户端集群对应的目标稀疏适配器,发送至所述客户端集群中的客户端。
8.根据本说明书实施例的第四方面,提供了一种基于稀疏适配器的联邦学习装置,应用于服务端,包括:第一确定模块,被配置为确定至少两个客户端的向量表示、以及所述至少两个客户端对应的初始稀疏适配器;聚类模块,被配置为根据所述至少两个客户端的向量表示,通过预设聚类算法对所述至少两个客户端进行聚类,获得聚类后的客户端集群;第二确定模块,被配置为根据所述客户端集群中的客户端对应的初始稀疏适配器,确定所述客户端集群对应的目标稀疏适配器;第二发送模块,被配置为将所述客户端集群对应的目标稀疏适配器,发送至所述客户端集群中的客户端。
9.根据本说明书实施例的第五方面,提供了一种基于稀疏适配器的联邦学习系统,包括服务端和客户端,其中,所述服务端,用于确定至少两个客户端的向量表示、以及所述至少两个客户端对应的初始稀疏适配器,根据所述至少两个客户端的向量表示,通过预设聚类算法对所述至少两个客户端进行聚类,获得聚类后的客户端集群,根据所述客户端集群中的客户端对应的初始稀疏适配器,确定所述客户端集群对应的目标稀疏适配器,将所述客户端集群对应的目标稀疏适配器,发送至所述客户端集群中的客户端;所述客户端,用于接收所述服务端发送的目标稀疏适配器,将所述客户端的当前向量表示以及模型稀疏度条件,输入所述目标稀疏适配器,获得第一模型稀疏矩阵,根据所述第一模型稀疏矩阵对所述客户端的初始模型进行处理,获得目标稀疏模型,根据训练样本集确定所述目标稀疏模型的训练损失函数,并将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适配器,发送至所述服务端。
10.根据本说明书实施例的第六方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述基于稀疏适配器的联邦学习方法的步骤。
11.根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述基于稀疏适配器的联邦学习方法的步
骤。
12.根据本说明书实施例的第八方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述基于稀疏适配器的联邦学习方法的步骤。
13.本说明书一个实施例实现了一种基于稀疏适配器的联邦学习方法,应用于客户端,包括:接收服务端发送的目标稀疏适配器;将所述客户端的当前向量表示以及模型稀疏度条件,输入所述目标稀疏适配器,获得第一模型稀疏矩阵;根据所述第一模型稀疏矩阵对所述客户端的初始模型进行处理,获得目标稀疏模型;根据训练样本集确定所述目标稀疏模型的训练损失函数,并将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适配器,发送至所述服务端。
14.具体的,通过该方法,联邦学习中的每个参与客户端均可以根据服务端发送的目标稀疏适配器,结合其客户端的当前向量表示以及模型稀疏度条件,确定调整初始模型稀疏度的第一模型稀疏矩阵;并根据该第一模型稀疏矩阵对初始模型进行稀疏处理,生成其客户端稀疏且个性化的局部稀疏模型,极大的减少了每个参与客户端的系统资源占用(如存储资源以及计算资源);使得后续在联邦学习中每个参与客户端均可以基于该局部稀疏模型进行高效的模型训练,获得精度以及准确地较高的模型。
附图说明
15.图1是本说明书一个实施例提供的一种基于稀疏适配器的联邦学习系统的结构示意图;图2是本说明书一个实施例提供的一种基于稀疏适配器的联邦学习方法的流程图;图3是本说明书一个实施例提供的另一种基于稀疏适配器的联邦学习方法的流程图;图4是本说明书一个实施例提供的一种基于稀疏适配器的联邦学习方法的流程图;图5是本说明书一个实施例提供的一种基于稀疏适配器的联邦学习装置的结构示意图;图6是本说明书一个实施例提供的另一种基于稀疏适配器的联邦学习装置的结构示意图;图7是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
16.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
17.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含
一个或多个相关联的列出项目的任何或所有可能组合。
18.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
19.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
20.联邦学习:一种分布式机器学习技术,参与者分组协助训练模型,而无需上传每个参与者的本地隐私数据。
21.个性化联邦学习:在传统的联邦学习中,所有参与者训练并共享一个全局模型。个性化联邦学习考虑了每个参与者的差异,针对不同的参与者学习特定于参与者自身的局部模型。
22.客户端向量表示:一组可学习的实值向量,通过在表示空间中建立数学关系,间接地描述不同客户端的属性和关系。
23.适配器:一种可训练的预测模型,其输入是客户端向量表示,输出则是该客户端的个性化稀疏模式;基于该稀疏模式,获得的客户端中的稀疏模型,可以获得较高的分类精度和较低的系统资源开销。
24.稀疏模型:一种可训练的模型,其参数可以表示为实数的矩阵,其中一些参数值可以为零,这就允许跳过基于这些零参数的存储和计算操作,减少系统资源开销。
25.稀疏适配器:通过稀疏适配器,可以

稀疏化:将预训练模型中一部分参数稀疏化置零,进而避免对这部分参数的存储和运算,提高模型训练效率和推理效率;

模型适配:同时对另一部分预训练模型参数进行数值缩放,使其针对不同样本、不同应用场景调整预测权重,减缓灾难性遗忘和干扰,获得更高精度。
26.k-means聚类算法:k-means聚类算法中k表示将数据聚类成k个簇,means表示每个聚类中数据的均值作为该簇的中心,也称为质心;k-means聚类试图将相似的对象归为同一个簇,将不相似的对象归为不同簇。
27.dbscan聚类算法:英文全称为density-based spatial clustering of applications with noise,具有噪声的基于密度的聚类方法,聚类的时候不需要预先指定簇的个数,最终簇的个数不确定。
28.optics聚类算法:英文全称为ordering points to identify the clustering structure,一种基于密度的聚类算法,目标是将空间中的数据按照密度分布进行聚类。
29.在本说明书中,提供了两种基于稀疏适配器的联邦学习方法。本说明书一个或者多个实施例同时涉及两种基于稀疏适配器的联邦学习装置,一种基于稀疏适配器的联邦学习系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
30.参见图1,图1示出了根据本说明书一个实施例提供的一种基于稀疏适配器的联邦学习系统的结构示意图。如图1所示,该基于稀疏适配器的联邦学习系统100,包括服务端102和客户端104,其中,所述服务端102,用于确定至少两个客户端104的向量表示、以及所述至少两个客
户端104对应的初始稀疏适配器,根据所述至少两个客户端104的向量表示,通过预设聚类算法对所述至少两个客户端104进行聚类,获得聚类后的客户端集群,根据所述客户端集群中的客户端104对应的初始稀疏适配器,确定所述客户端集群对应的目标稀疏适配器,将所述客户端集群对应的目标稀疏适配器,发送至所述客户端集群中的客户端104;所述客户端104,用于接收所述服务端102发送的目标稀疏适配器,将所述客户端104的当前向量表示以及模型稀疏度条件,输入所述目标稀疏适配器,获得第一模型稀疏矩阵,根据所述第一模型稀疏矩阵对所述客户端104的初始模型进行处理,获得目标稀疏模型,根据训练样本集确定所述目标稀疏模型的训练损失函数,并将根据所述训练损失函数调整后的所述客户端104的当前向量表示以及所述目标稀疏适配器(即客户端104的更新向量表示以及更新稀疏适配器),发送至所述服务端102。
31.其中,服务端102可以理解为物理服务器、云服务器等;客户端104可以理解为手机、平板电脑、笔记本电脑、台式电脑等。
32.以图1中的服务端102为云服务器,客户端104包括笔记本电脑、台式电脑、手机为例进行详细介绍。
33.服务端102,首先确定至少两个客户端104中每个客户端的向量表示,如图1中的笔记本电脑的向量表示、台式电脑的向量表示、手机的向量表示;以及每个客户端对应的初始稀疏适配器。实际应用中,在初始训练阶段,每个客户端不存在其对应的向量表示以及初始稀疏适配器的情况下,服务端102可以为每个客户端随机初始化一个对应的向量表示以及初始稀疏适配器。
34.在确定每个客户端的向量表示以及每个客户端对应的初始稀疏适配器之后,服务端102根据每个客户端的向量表示,通过预设聚类算法(如k-means聚类算法、dbscan聚类算法或者optics聚类算法等)对至少两个客户端进行聚类,获得聚类后的客户端集群,例如图1中,笔记本电脑和台式电脑为一个客户端集群,手机为一个客户端集群等。然后根据客户端集群中的每个客户端对应的初始稀疏适配器,确定客户端集群对应的目标稀疏适配器,例如对客户端集群中的每个客户端对应的初始稀疏适配器的参数加权平均,根据加权平均的结果确定该客户端集群的目标稀疏适配器。
35.以预设聚类算法为k-means聚类算法为例,描述通过预设聚类算法对至少两个客户端进行聚类,获得聚类后的客户端集群的具体实现。
36.首先,初始化,即随机选取m(如20、50、100等)个客户端的向量表示作为初始的聚类中心;然后,计算每个客户端的向量表示与k个种子聚类中心之间的距离,把每个客户端分别分配给距离其最近的聚类中心,反复执行该步骤直至满足:没有(或最小数目)客户端被分配给不同的聚类、没有(或最小数目)聚类中心再发生变化、误差平方和局部最小;这三个条件之一时,完成对至少两个客户端的聚类,获得聚类后的客户端集群。
37.以至少两个客户端为5个,被聚类为3个客户端集群为例,对根据客户端集群中的每个客户端对应的初始稀疏适配器,确定客户端集群对应的目标稀疏适配器进行详细说明。
38.例如,5个客户端为:客户端1、客户端2、客户端3、客户端4、客户端5,3个客户端集群为客户端集群a、客户端集群b、客户端集群c;其中,客户端1、客户端2属于客户端集群a,客户端3、客户端4属于客户端集群b,客户端5属于客户端集群c。
39.然后,对客户端1对应的初始稀疏适配器的参数以及客户端2对应的初始稀疏适配器的参数进行加权平均,根据加权平均结果得到客户端集群a的目标稀疏适配器;对客户端3对应的初始稀疏适配器的参数以及客户端4对应的初始稀疏适配器的参数进行加权平均,根据加权平均结果得到客户端集群b的目标稀疏适配器;以客户端5对应的初始稀疏适配器的参数,确定客户端集群c的目标稀疏适配器,即将客户端5对应的初始稀疏适配器的参数,确定为客户端集群c的目标稀疏适配器。
40.最后,服务端102则将客户端集群对应的目标稀疏适配器,发送至该客户端集群中的每个客户端。实际应用中,在初始训练阶段,服务端102在将客户端集群对应的目标稀疏适配器,发送至该客户端集群中的每个客户端的同时,也会将初始化的每个客户端的向量表示发送至其对应的客户端。
41.任意一个客户端集群中的任意一个客户端,接收服务端102发送的其所在客户端集群对应的目标稀疏适配器,而在初始训练阶段,还可以接收服务端102发送的其对应的表示向量;然后将其客户端的当前向量表示(如上一轮迭代的向量表示、或者初始训练阶段由服务端发送的随机初始化的向量表示)以及模型稀疏度条件,输入目标稀疏适配器,获得该目标稀疏适配器输出的第一模型稀疏矩阵;在根据该第一模型稀疏矩阵对该客户端的初始模型的网络结构进行稀疏化,获得稀疏化后的目标稀疏模型;最后,根据训练样本集确定该目标稀疏模型的训练损失函数,并根据该训练损失函数反向调整该客户端的当前向量表示以及目标稀疏适配器;再将反向调整后的该客户端的当前向量表示以及目标稀疏适配器发送至服务端102;服务端102继续上述步骤进行下一轮迭代,直至迭代次数满足预设次数阈值,或者客户端的稀疏模型的精度满足预设精度需求,停止迭代;至此,每个客户端集群中的每个客户端均获得了较为精确的稀疏模型。
42.本说明书实施例中,服务端102通过对客户端进行聚类,为聚类后的每个客户端集群确定一个对应的目标稀疏适配器,即客户端集群中的多个客户端共用一个目标稀疏适配器,在目标稀疏适配器传输的过程中,极大提高了数据利用率,减少了数据传输量;同时,降低了数据减少的客户端进行模型训练的难度,有助于生成更可靠的模型。而每个客户端104均可以根据服务端102发送的目标稀疏适配器,结合其客户端的当前向量表示以及模型稀疏度条件,确定调整初始模型稀疏度的第一模型稀疏矩阵;并根据该第一模型稀疏矩阵对初始模型进行稀疏处理,生成其客户端稀疏且个性化的局部稀疏模型,极大的减少了每个参与客户端的系统资源占用(如存储资源以及计算资源);使得后续在联邦学习中每个参与客户端均可以基于该局部稀疏模型进行高效的模型训练,获得精度以及准确地较高的模型。
43.参见图2,图2示出了本说明书一个实施例提供的一种基于稀疏适配器的联邦学习方法的流程图,该基于稀疏适配器的联邦学习方法应用于客户端,具体包括以下步骤。
44.步骤202:接收服务端发送的目标稀疏适配器。
45.具体的,本说明书实施例提供的该基于稀疏适配器的联邦学习方法可以应用于任意可实现场景中,例如文本预测场景:手机或者电脑上的输入法,根据输入的当前文本,预测与该当前文本关联的预测文本;语音识别场景:在手机或者电脑上输入一段音频,根据该音频预测其意图;图片识别场景:如图片中是否包含物品的检测以及身份验证等场景。
46.为了便于理解,本说明书实施例中在应用到具体的场景举例中,均以该基于稀疏
适配器的联邦学习方法应用于图片识别场景为例进行具体介绍。
47.其中,服务端可以理解为上述实施例中的服务端102,目标稀疏适配器可以理解为上述实施例中服务端向客户端发送的、该客户端所在的客户端集群对应的目标稀疏适配器。
48.实际应用中,在初始训练阶段,客户端不仅可以接收服务端发送的目标稀疏适配器,还可以接收服务端发送的为其随机初始化的向量表示,然后将该向量表示作为该客户端的当前向量表示。
49.步骤204:将所述客户端的当前向量表示以及模型稀疏度条件,输入所述目标稀疏适配器,获得第一模型稀疏矩阵。
50.其中,每个客户端对应的模型稀疏度条件均不相同,根据实际需求为每个客户端配置其对应的模型稀疏度条件即可,本说明书实施例对此不作任何限定。
51.具体的,在客户端确定了目标稀疏适配器以及当前向量表示之后,则将其当前向量表示以及预设的模型稀疏度条件输入该目标稀疏适配器,以获得该目标稀疏适配器输出的第一模型稀疏矩阵,其中,该第一模型稀疏矩阵可以理解为上述技术术语解释中,适配器输出的客户端的个性化稀疏模式。
52.步骤206:根据所述第一模型稀疏矩阵对所述客户端的初始模型进行处理,获得目标稀疏模型。
53.其中,初始模型可以理解为客户端中待训练的初始模型;在文本预测场景中,该初始模型可以理解为待训练的文本预测初始模型,在语音识别场景中,该初始模型可以理解为待训练的语音识别初始模型,在图片识别场景中,该初始模型可以理解为待训练的图片识别初始模型。
54.具体的,客户端在确定第一模型稀疏矩阵之后,根据该第一模型稀疏矩阵对客户端的初始模型的网络结构进行调整,获得调整后的目标稀疏模型。
55.实际应用中,初始模型为一种可训练的模型,其参数可以表示为实数的矩阵,且第一模型稀疏矩阵与该初始模型的参数矩阵的维度相同,那么根据第一模型稀疏矩阵对客户端的初始模型进行处理,则可以理解为根据该第一模型稀疏矩阵,将该客户端的初始模型的参数矩阵中的某些列的参数调整为零,获得调整后的目标稀疏模型在后续存储以及训练时,可以允许跳过基于这些零参数的存储和计算操作,以减少该客户端的系统资源开销。
56.步骤208:根据训练样本集确定所述目标稀疏模型的训练损失函数,并将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适配器,发送至所述服务端。
57.其中,训练样本集可以为任意类型的训练样本集,例如在文本预测场景中,该训练样本集可以理解为文本训练样本集,该文本训练样本集中可以包括文本样本以及该文本样本对应的样本标签,即与文本样本关联的真实文本;而在语音识别场景中,该训练样本集可以理解为语音训练样本集,该语音训练样本集中可以包括语音样本以及该语音样本对应的样本标签,即该语音样本对应的真实意图;那么在图片识别场景中,该训练样本集可以理解为图片训练样本集,该图片训练样本集中可以包括图片样本以及该图片样本对应的样本标签,即该图片样本中是否存在相应的物品。
58.具体的,客户端在确定目标稀疏模型之后,则会根据训练样本集对该目标稀疏模
型进行训练,以获得训练损失函数,使得后续可以根据该训练损失函数反向传播通过梯度来更新客户端的当前向量表示以及目标稀疏适配器的参数,以便将更新后的客户端的当前向量表示以及目标稀疏适配器的参数返回至服务端进行再次聚类等,进行下一轮的迭代。
59.实际应用中,若本次的该目标稀疏模型的性能就特别好的情况下,则可以不用再进行后续的更新以及下一次的迭代训练,若本次的该目标稀疏模型的性能较差,才会根据训练样本集确定目标稀疏模型的训练损失函数。而该目标稀疏模型的性能可以根据验证样本集确定,那么根据训练样本集确定目标稀疏模型的训练损失函数的具体实现方式如下所述:所述根据训练样本集确定所述目标稀疏模型的训练损失函数,包括:根据验证样本集确定所述目标稀疏模型的评价结果;在所述目标稀疏模型的评价结果小于第三预设阈值的情况下,根据训练样本集确定所述目标稀疏模型的训练损失函数。
60.其中,验证样本集的具体解释可以参见上述对于训练样本集的介绍。
61.以验证样本集中包括图像样本以及图像样本对应的样本标签(0,1,其中,0表示否,1表示是)为例进行介绍。
62.首先,确定验证样本集,其中,所述验证样本集中包括验证样本以及验证样本对应的样本标签,如图像样本以及图像样本对应的样本标签;然后,将验证样本输入目标稀疏模型,获得验证样本对应的预测结果;最后根据该预测结果以及验证样本对应的样本标签,确定该目标稀疏模型的评价结果,例如准确率。
63.那么在该目标稀疏模型的评价结果,如准确率小于第三预设阈值的情况下,可以认为该目标稀疏模型的性能较差,还需要进行下一轮的调整,则根据训练样本集对该目标稀疏模型进行训练,以获得该目标稀疏模型的训练损失函数,使得后续可以根据该目标稀疏模型的训练函数反向传播通过梯度来更新客户端的当前向量表示以及目标稀疏适配器的参数,以便将更新后的客户端的当前向量表示以及目标稀疏适配器的参数返回至服务端进行再次聚类等,进行下一轮的迭代;其中,该第三预设阈值可以根据实际应用进行设定。
64.本说明书实施例提供的该基于稀疏适配器的联邦学习方法,在根据验证样本集确定目标稀疏模型的性能较差的情况下,才会根据训练样本集对该目标稀疏模型进行训练,获得训练损失函数,以便进行下一轮迭代;避免在目标稀疏模型的性能本次较优的情况下,依然进行迭代造成的系统资源浪费。
65.具体实施时,通过该基于稀疏适配器的联邦学习方法,联邦学习中的每个参与客户端均可以根据服务端发送的目标稀疏适配器,结合其客户端的当前向量表示以及模型稀疏度条件,确定调整初始模型稀疏度的第一模型稀疏矩阵;并根据该第一模型稀疏矩阵对初始模型进行稀疏处理,生成其客户端稀疏且个性化的局部稀疏模型,极大的减少了每个参与客户端的系统资源占用(如存储资源以及计算资源);使得后续在联邦学习中每个参与客户端均可以基于该局部稀疏模型进行高效的模型训练,获得精度以及准确地较高的模型。
66.上述实施例的介绍,是在初始训练阶段,客户端第一次接收到服务端发送的目标稀疏适配器的情况下,根据该目标稀疏适配器对初始模型的个性稀疏化后,获得目标稀疏模型以及进行客户端的向量表示、目标稀疏适配器的具体实现。而在客户端本身已存在上
一轮迭代后的当前稀疏适配器以及当前稀疏模型的情况下,则需要比对上一轮迭代后的当前稀疏模型的性能,与本轮根据服务端发送的目标稀疏适配器确定的目标稀疏模型的性能,以确定是否进行适配器以及稀疏模型的更新替换,以进行下一轮迭代。具体实现方式如下所述:所述接收服务端发送的目标稀疏适配器之后,所述根据训练样本集确定所述目标稀疏模型的训练损失函数之前,还包括:确定所述客户端的当前稀疏适配器以及当前稀疏模型;根据验证样本集确定所述当前稀疏模型的第一评价结果,以及所述目标稀疏模型的第二评价结果;在根据所述第一评价结果以及所述第二评价结果,确定所述当前稀疏模型满足第一更新条件的情况下,将所述客户端的当前稀疏适配器以及当前稀疏模型,更新为所述目标稀疏适配器以及所述目标稀疏模型。
67.其中,客户端的当前稀疏适配器以及当前稀疏模型,可以理解为上一轮迭代更新后的稀疏适配器以及稀疏模型;且该验证样本集的解释也可以参见上述实施例。
68.具体的,客户端在确定当前稀疏适配器以及当前稀疏模型之后,则可以根据该验证样本集确定该当前稀疏模型的第一评价结果,以及该目标稀疏模型的第二评价结果;然后根据第一评价结果以及第二评价结果,确定当前稀疏模型满足第一更新条件的情况下,将客户端的当前稀疏适配器以及当前稀疏模型,替换为该目标稀疏适配器以及目标稀疏模型。其中,第一评价结果用于表述当前稀疏模型的模型性能和第二评价结果用于表述目标稀疏模型的模型性能,例如第一评价结果和第二评价结果可以理解为准确率、置信度等等;而该第一更新条件则可以理解为当前稀疏模型的模型性能相对于目标稀疏模型的模型性能较差。
69.实际应用中,对于每个客户端,均有一个私有的、轻量级的、可学习的稀疏适配器,它根据客户端的本地数据以可区分的方式进行训练,并学习将客户端的初始模型调整为个性化的目标稀疏模型。客户端在接收服务端发送的其对应客户端集群的目标稀疏适配器后,客户端利用更新检查器检查该目标稀疏模型的性能是否满足本地的验证样本集上的精度要求,即根据该验证样本集分别确定当前稀疏模型的精度以及目标稀疏模型的精度,然后根据这两个精度,确定是否当前稀疏模型满足第一更新条件。
70.当然实际应用中,第一评价结果和第二评价结果不仅仅可以理解为精度,也可以理解为准确率,置信度等等。
71.本说明书实施例提供的基于稀疏适配器的联邦学习方法,在根据当前稀疏模型的第一评价结果以及目标稀疏模型的第二评价结果,在确定目标稀疏模型的性能优于当前稀疏模型的性能的情况下,将客户端的当前稀疏适配器以及当前稀疏模型,替换为该目标稀疏适配器以及目标稀疏模型;以保证该客户端中稀疏适配器以及稀疏模型的精度。
72.而客户端的当前稀疏模型,与该客户端的目标稀疏模型的确定方式相同,也可以为根据客户端的当前稀疏适配器结合其上一轮的向量表示确定。具体实现方式如下所述:所述确定所述客户端的当前稀疏适配器以及当前稀疏模型,包括:确定所述客户端的当前稀疏适配器以及历史向量表示,其中,所述历史向量表示为所述客户端的当前向量表示更新前的向量表示;
将所述客户端的历史向量表示以及所述模型稀疏度条件,输入所述当前稀疏适配器,获得第二模型稀疏矩阵;根据所述第二模型稀疏矩阵对所述客户端的初始模型进行处理,获得当前稀疏模型。
73.其中,当客户端的上一轮迭代为初始训练阶段的情况下,该历史向量表示则可以理解为对服务端向客户端发送的初始向量表示更新后的向量表示;而当客户端的上一轮迭代存在前一迭代轮次的情况下,该历史向量表示则可以理解为当前向量表示更新前的向量表示。
74.实际应用中,客户端的当前稀疏模型的具体实现方式,与上述实施例中客户端的目标稀疏模型的具体实现方式相同。对此不再对客户端的当前稀疏模型的具体实现进行过多赘述。
75.本说明书实施例提供的基于稀疏适配器的联邦学习方法,根据客户端的当前稀疏适配器结合客户端的历史向量表示,确定当前稀疏模型,通过后续比对当前稀疏模型与目标稀疏模型的性能,确定进行性能较优的稀疏适配器以及稀疏模型的替换,以便通过此种替换使得客户端最终会保留性能较优的稀疏适配器以及稀疏模型,进行模型训练,提高模型训练效率以及精度。
76.具体的,根据验证样本集确定当前稀疏模型以及目标稀疏模型的评价结果的方式如下所述:所述根据验证样本集确定所述当前稀疏模型的第一评价结果,以及所述目标稀疏模型的第二评价结果,包括:确定验证样本集,其中,所述验证样本集中包括验证样本以及所述验证样本对应的样本标签;将所述验证样本输入所述当前稀疏模型,获得所述验证样本对应的第一预测结果,以及将所述验证样本输入所述目标稀疏模型,获得所述验证样本的第二预测结果;根据所述第一预测结果、所述第二预测结果以及所述验证样本对应的样本标签,确定所述当前稀疏模型的第一评价结果,以及所述目标稀疏模型的第二评价结果。
77.其中,验证样本集的详细介绍可以参见上述实施例。
78.仍以验证样本集中包括图像样本以及图像样本对应的样本标签(0,1,其中,0表示否,1表示是)为例进行介绍。
79.首先,确定验证样本集,其中,所述验证样本集中包括验证样本以及验证样本对应的样本标签,如图像样本以及图像样本对应的样本标签;然后,将验证样本输入当前稀疏模型,获得验证样本对应的第一预测结果;最后根据该第一预测结果以及验证样本对应的样本标签,确定该当前稀疏模型的第一评价结果,例如准确率、置信度等;以及将验证样本输入目标稀疏模型,获得验证样本对应的第二预测结果;最后根据该第二预测结果以及验证样本对应的样本标签,确定该目标稀疏模型的第二评价结果,例如准确率、置信度等。并且实际应用中,根据验证样本集对目标稀疏模型的第二评价结果的确定,与上述实施例中对目标稀疏模型的评价结果的确定的具体实现相同,验证样本集可以不同也可以相同。
80.本说明书实施例提供的该基于稀疏适配器的联邦学习方法,确定当前稀疏模型的
第一评价结果以及目标稀疏模型的第二评价结果,后续即可根据第一评价结果以及第二评价结果,快速且准确的确定当前稀疏模型与目标稀疏模型的性能差异。
81.实际应用中,评价结果可以为准确率,后续即可根据当前稀疏模型的准确率以及目标稀疏模型的准确率,快速且准确的确定当前稀疏模型与目标稀疏模型的性能差异。具体实现方式如下所述:所述根据所述第一预测结果、所述第二预测结果以及所述验证样本对应的样本标签,确定所述当前稀疏模型的第一评价结果,以及所述目标稀疏模型的第二评价结果,包括:根据所述第一预测结果以及所述验证样本对应的样本标签,确定所述当前稀疏模型的第一准确率,并将所述第一准确率确定为所述当前稀疏模型的第一评价结果;以及根据所述第二预测结果以及所述验证样本对应的样本标签,确定所述目标稀疏模型的第二准确率,并将所述第二准确率确定为所述目标稀疏模型的第二评价结果。
82.例如,验证样本集中包括100个样本,那么100个第一预测结果与验证样本对应的样本标签进行对比,发现有10个第一预测结果,与验证样本对应的样本标签不匹配,则可以确定该当前稀疏模型的第一准确率为90%;同理,若100个第二预测结果与验证样本对应的样本标签进行对比,发现有5个第二预测结果,与验证样本对应的样本标签不匹配,则可以确定该当前稀疏模型的第二准确率为95%。
83.那么该第一准确率90%则为当前稀疏模型的第一评价结果,该第一准确率95%则为目标稀疏模型的第二评价结果。
84.而在第一评价结果和第二评价结果为第一准确率和第二准确率的情况下,则可以根据其绝对精度值或者相对精度值,快速且准确的确定当前稀疏模型与目标稀疏模型的性能差异。具体实现方式如下所述:所述根据所述第一评价结果以及所述第二评价结果,确定所述当前稀疏模型满足第一更新条件,包括:在所述第一评价结果与所述第二评价结果的差值大于第一预设阈值的情况下,确定所述当前稀疏模型满足第一更新条件;或者在所述第一评价结果与所述第二评价结果的差值,与所述第二评价结果的百分比大于第二预设阈值的情况下,确定所述当前稀疏模型满足第一更新条件。
85.其中,第一预设阈值、第二预设阈值可以根据实际应用进行设置。
86.以第一评价结果为,第二评价结果为为例,可以通过衡量第一评价结果和第二评价结果之间的绝对精度变化,确定当前稀疏模型是否满足第一更新条件(即目标稀疏模型的性能优于当前稀疏模型的性能);其确定方式如公式1所述:其中,表示第一预设阈值。
87.即当第一评价结果与第二评价结果的差值小于等于该第一预设阈值的情况下,则可以认为当前稀疏模型的性能,与目标稀疏模型的性能差异不大,则不需要进行稀疏适配器以及稀疏模型替换;而当第一评价结果与第二评价结果的差值大于该第一预设阈值的情况下,则可以认为当前稀疏模型的性能,与目标稀疏模型的性能差异较大,目标稀疏模型的
性能较优,则需要进行稀疏适配器以及稀疏模型的替换。
88.当然,也可以通过衡量第一评价结果和第二评价结果之间的相对精度变化,确定当前稀疏模型是否满足第一更新条件(即目标稀疏模型的性能优于当前稀疏模型的性能);其确定方式如公式2所述:其中,表示第二预设阈值。
89.即当第一评价结果与第二评价结果的差值与第二评价结果的百分比,小于等于该第一预设阈值的情况下,则可以认为当前稀疏模型的性能,与目标稀疏模型的性能差异不大,则不需要进行稀疏适配器以及稀疏模型替换;而当第一评价结果与第二评价结果的差值与第二评价结果的百分比,大于该第一预设阈值的情况下,则可以认为当前稀疏模型的性能,与目标稀疏模型的性能差异较大,目标稀疏模型的性能较优,则需要进行稀疏适配器以及稀疏模型的替换。
90.实际应用中,评价结果可以为置信度,后续即可根据当前稀疏模型的置信度以及目标稀疏模型的置信度,快速且准确的确定当前稀疏模型与目标稀疏模型的性能差异。具体实现方式如下所述:所述根据所述第一预测结果、所述第二预测结果以及所述验证样本对应的样本标签,确定所述当前稀疏模型的第一评价结果,以及所述目标稀疏模型的第二评价结果,包括:根据所述第一预测结果以及所述验证样本对应的样本标签,利用预设模型校准算法进行处理,确定所述当前稀疏模型的第一置信度,并将所述第一置信度确定为所述当前稀疏模型的第一评价结果;以及根据所述第二预测结果以及所述验证样本对应的样本标签,利用所述预设模型校准算法进行处理,确定所述目标稀疏模型的第二置信度,并将所述第二置信度确定为所述目标稀疏模型的第二评价结果。
91.其中,预设模型校准算法可以理解为ece算法(expected calibration error,预期校准误差)。
92.具体的,以预设模型校准算法为ece算法为例,为了能够定量地度量模型置信度,可以将[0, 1]区间划分为多个bin(例如划分为了5个bin),所有的验证样本集中的二分类样本都将根据当前稀疏模型或者目标稀疏模型对其预测的结果分别落入这5个bin之中的1个。在每个bin之中计算平均的模型confidence(置信度),再与该bin中样本真实标签的平均accuracy(准确率)进行对比,两者之差的绝对值就能度量模型的置信度,差距越大代表模型置信度越小。
[0093]
通过上述ece算法可以计算出当前稀疏模型的第一置信度、以及目标稀疏模型的第二置信度;然后将当前稀疏模型的第一置信度作为当前稀疏模型的第一评价结果,将目标稀疏模型的第二置信度作为目标稀疏模型的第二评价结果,以便后续基于当前稀疏模型的第一评价结果以及目标稀疏模型的第二评价结果,确定当前稀疏模型以及目标稀疏模型的性能。
[0094]
那么,在第一评价结果为当前稀疏模型的置信度,第二评价结果为目标稀疏模型
的置信度的情况下,则可以根据其置信度,在无需其他计算的情况下,快速且准确的确定当前稀疏模型与目标稀疏模型的性能差异。具体实现方式如下所述:所述根据所述第一评价结果以及所述第二评价结果,确定所述当前稀疏模型满足第一更新条件,包括:在所述第一评价结果小于所述第二评价结果的情况下,确定所述当前稀疏模型满足第一更新条件。
[0095]
具体实施时,在确定了当前稀疏模型的第一评价结果,目标稀疏模型的第二评价结果,通过上述多种实现方式确定当前稀疏模型满足第一更新条件的情况下,则客户端的当前稀疏适配器以及当前稀疏模型,更新为目标稀疏适配器以及目标稀疏模型。
[0096]
而在更新了客户端的目标稀疏适配器以及目标稀疏模型之后,则可以根据训练样本集对目标稀疏模型进行训练,获得训练损失函数,以便后续可以根据该训练损失函数反向传播通过梯度来更新客户端的当前向量表示以及目标稀疏适配器的参数。具体的实现方式如下所述:所述根据训练样本集确定所述目标稀疏模型的训练损失函数,并将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适配器,发送至所述服务端,包括:确定训练样本集,其中,所述训练样本集中包括训练样本以及所述训练样本对应的样本标签;将所述训练样本输入所述目标稀疏模型,获得所述训练样本对应的预测结果;根据所述训练样本对应的预测结果以及所述训练样本对应的样本标签,确定所述目标稀疏模型的训练损失函数;将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适配器,发送至所述服务端。
[0097]
其中,训练样本集的详细介绍可以参见上述实施例的详细表述。
[0098]
以训练样本集中包括图像样本以及图像样本对应的样本标签(0,1,其中,0表示否,1表示是)为例进行介绍。
[0099]
首先,确定训练样本集,其中,所述训练样本集中包括训练样本以及训练样本对应的样本标签,如图像样本以及图像样本对应的样本标签;然后,将训练样本输入目标稀疏模型,获得训练样本对应的预测结果;根据该预测结果以及训练样本对应的样本标签,确定该目标稀疏模型的训练损失函数。最后,即可将根据训练损失函数调整后的客户端的当前向量表示以及目标稀疏适配器,发送至服务端。其具体实现方式如下所述:所述将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适配器,发送至所述服务端,包括:根据所述训练损失函数调整所述客户端的当前向量表示以及所述目标稀疏适配器,获得所述客户端的更新向量表示以及更新稀疏适配器;在所述客户端的更新向量表示以及更新稀疏适配器满足第二更新条件的情况下,将所述客户端的更新向量表示以及更新稀疏适配器,发送至所述服务端。
[0100]
其中,第二更新条件可以理解为客户端的更新向量表示以及更新稀疏适配器,优于客户端的当前向量表示以及目标稀疏适配器;如通过辅助检测工具确定客户端的更新向
量表示以及更新稀疏适配器的准确率,高于客户端的当前向量表示以及目标稀疏适配器等。
[0101]
具体的,客户端在基于训练样本集以及目标稀疏模型确定出训练损失函数之后,即可基于该训练损失函数确定出可训练目标稀疏适配器的梯度,根据该梯度获得更新稀疏适配器以及通过反向传播获得的更新向量表示;更新检查器在确定该客户端的更新稀疏适配器以及更新向量表示优于该客户端的当前向量表示以及目标稀疏适配器的情况下,替换该客户端的当前向量表示以及目标稀疏适配器为更新稀疏适配器以及更新向量表示,并将该更新稀疏适配器以及更新向量表示发送至服务端。
[0102]
本说明书实施例提供的基于稀疏适配器的联邦学习方法中,更新检查器在检查确定使用客户端的更新向量表示以及更新稀疏适配器替换该客户端的当前向量表示以及目标稀疏适配器之后,则可以将该客户端的更新向量表示以及更新稀疏适配器的参数上传至服务端,以进行下一轮的知识聚合;并且客户端的更新向量表示以及更新稀疏适配器的参数一般比本地模型的网络资源占用小很多,那么服务端和客户端仅进行客户端的向量表示以及稀疏适配器的传输,可以极大的降低通信成本,且可以提高传输效率,进而提高联邦学习效率。且本方案提出了稀疏适配器,根据客户端的向量表示以及其模型稀疏度条件,可以生成稀疏且个性化的适用于其客户端的局部稀疏模型,提高了联邦学习的通信以及计算效率。
[0103]
参见图3,图3示出了本说明书一个实施例提供的另一种基于稀疏适配器的联邦学习方法的流程图,该基于稀疏适配器的联邦学习方法应用于服务端,具体包括以下步骤。
[0104]
步骤302:确定至少两个客户端的向量表示、以及所述至少两个客户端对应的初始稀疏适配器。
[0105]
步骤304:根据所述至少两个客户端的向量表示,通过预设聚类算法对所述至少两个客户端进行聚类,获得聚类后的客户端集群。
[0106]
步骤306:根据所述客户端集群中的客户端对应的初始稀疏适配器,确定所述客户端集群对应的目标稀疏适配器。
[0107]
步骤308:将所述客户端集群对应的目标稀疏适配器,发送至所述客户端集群中的客户端。
[0108]
具体实施时,客户端的向量表示、客户端对应的初始稀疏适配器、预设聚类算法、以及客户端的聚类、客户端集群对应的目标稀疏适配器的确定的具体实现,均可以参见上述实施例的介绍。
[0109]
如上所述,服务端确定至少两个客户端中每个客户端的向量表示,以及每个客户端对应的初始稀疏适配器。实际应用中,在初始训练阶段,每个客户端不存在其对应的向量表示以及初始稀疏适配器的情况下,服务端可以为每个客户端随机初始化一个对应的向量表示以及初始稀疏适配器。
[0110]
在确定每个客户端的向量表示以及每个客户端对应的初始稀疏适配器之后,服务端根据每个客户端的向量表示,通过预设聚类算法(如k-means聚类算法、dbscan聚类算法或者optics聚类算法等)对至少两个客户端进行聚类,获得聚类后的客户端集群。然后根据客户端集群中的每个客户端对应的初始稀疏适配器,确定客户端集群对应的目标稀疏适配器,例如对客户端集群中的每个客户端对应的初始稀疏适配器的参数加权平均,根据加权
平均的结果确定该客户端集群的目标稀疏适配器。再将客户端集群对应的目标稀疏适配器,发送至客户端集群中的客户端。
[0111]
此外,在客户端向服务端发送更新向量表示以及更新稀疏适配器的情况下,服务端会根据接收的客户端的更新向量表示以及更新稀疏适配器,基于上述步骤重新进行客户端聚类以及聚类后客户端集群的目标稀疏适配器的确定。具体实现方式如下所述:所述将所述目标稀疏适配器发送至所述客户端集群中的客户端之后,还包括:接收所述至少两个客户端发送的更新向量表示以及更新稀疏适配器;根据所述至少两个客户端的更新向量表示,通过所述预设聚类算法对所述至少两个客户端进行重新聚类,获得重新聚类后的更新客户端集群;根据所述更新客户端集群中的客户端对应的更新稀疏适配器,确定所述更新客户端集群对应的目标稀疏适配器;将所述更新客户端集群对应的目标稀疏适配器,发送至所述更新客户端集群中的客户端。
[0112]
具体的,服务端在接收到客户端发送的更新向量表示以及更新稀疏适配器之后,则可以继续使用预设聚类算法根据客户端的更新向量表示对客户端进行分组,并通过分组后获得的客户端集群中客户端对应的更新稀疏适配器的参数加权平均,获得特定于每个客户端集群的目标稀疏适配器,并再次将该目标稀疏适配器发送至对应客户端集群的客户端,进行下一轮联邦学习过程,服务端和客户端通过上述步骤不断重复,直至满足预设的终止条件(比如所有的客户端的目标稀疏模型的精度均达到了其预设精度要求)或者达到最大的联邦学习轮数,比如200轮。
[0113]
本说明书实施例中,服务端通过对客户端进行聚类,为聚类后的每个客户端集群确定一个对应的目标稀疏适配器,即客户端集群中的多个客户端共用一个目标稀疏适配器,在目标稀疏适配器传输的过程中,极大提高了数据利用率,减少了数据传输量;同时,降低了数据减少的客户端进行模型训练的难度,有助于生成更可靠的模型。
[0114]
下述结合附图4,以本说明书提供的基于稀疏适配器的联邦学习方法在图片识别场景的应用为例,对所述基于稀疏适配器的联邦学习方法进行进一步说明。其中,图4示出了本说明书一个实施例提供的一种基于稀疏适配器的联邦学习方法的处理过程流程图,具体包括以下步骤。
[0115]
具体的,客户端包括客户端1-客户端i,为了便于理解,以下均以客户端1为例进行详细介绍,其他客户端的具体实现步骤,以及与服务端的交互,均可以参见客户端1的具体实现步骤,以及与服务端的交互。
[0116]
步骤402:服务端向客户端1发送其对应客户端集群的目标稀疏适配器φ1。
[0117]
步骤404:客户端1更新检查。
[0118]
具体的,客户端1的更新检查器会检查是否需要用接收的目标稀疏适配器φ1、以及根据该目标稀疏适配器确定的目标稀疏模型θ1,替换该客户端1的当前稀疏适配器φ2以及当前稀疏模型θ2;具体检查更新过程如步骤406至步骤412的具体实现。
[0119]
步骤406:客户端1将客户端1的当前向量表示v1以及模型稀疏度条件s1输入该目标稀疏适配器φ1,获得第一模型稀疏矩阵m1。
[0120]
步骤408:客户端1根据第一模型稀疏矩阵m1对客户端1的初始模型θ0进行处理,获
得目标稀疏模型θ1。
[0121]
此外,获得该客户端1在上一轮联邦学习中的当前稀疏适配器φ2以及当前稀疏模型θ2。
[0122]
步骤410:客户端1根据验证样本集确定当前稀疏模型θ2的第一评价结果,以及目标稀疏模型θ1的第二评价结果;在根据第一评价结果以及第二评价结果,确定目标稀疏适配器φ1的模型性能优于当前稀疏模型θ2的模型性能的情况下,将客户端的当前稀疏适配器φ2以及当前稀疏模型θ2,更新为目标稀疏适配器φ1以及目标稀疏模型θ1。
[0123]
步骤412:客户端1根据训练样本集确定目标稀疏模型θ1的训练损失函数,并根据训练损失函数调整的客户端1的当前向量表示以及目标稀疏适配器φ1,获得客户端1的更新向量表示以及更新稀疏适配器;在客户端1的更新检查器确定需要根据客户端1的更新向量表示以及更新稀疏适配器替换客户端1的当前向量表示以及目标稀疏适配器φ1的情况下,将客户端1的当前向量表示以及目标稀疏适配器φ1替换为客户端1的更新向量表示以及更新稀疏适配器。
[0124]
步骤414:客户端1将客户端1的更新向量表示以及更新稀疏适配器,发送至服务端。
[0125]
而图4中对于客户端i中的步骤402至步骤414的表述,则是为了表示服务端与客户端i之间的交互与上述服务端与客户端1之间的交互步骤相同,在此不再赘述。
[0126]
本说明书实施例提供的基于稀疏适配器的联邦学习方法,基于适配器和客户端的向量表示的网络资源占用小于本地模型参数的前提下,通过传输轻量级的适配器和客户端的向量表示来降低服务端和客户端的通信成本,以一般使用的二层cnn(convnet,卷积神经网络)为例,当适配器的参数个数和客户端的向量表示的个数分别为所采用的cnn模型个数的1/10时,每个客户端的上传和下载开销将分别降低到fedavg算法(fedavg是对所有客户端的模型进行了聚合)的1/5和1/10。此外,基于稀疏适配器结合客户端的向量表示生成的个性化的稀疏模型,还可以加快训练和推理的速度;加速的程度取决于特定的硬件、底层库和所采用的稀疏性。例如,稀疏度为0.5,由于操作数量的减少,理论上可以使推断速度提高1到2倍,提高联邦学习的通信和计算效率。并且本方案中使用更新检查器使得联邦学习更新更加可靠,即在本方案中体现为采用不同的更新条件来防止不可靠的模型更新,例如在精度满足的情况下才会进行模型更新。此外,该方法的客户端集群对应的目标稀疏适配器的传输和集群过程通过对客户端进行分组,获得了更好的数据利用率,进而降低了可用数据减少的客户端进行模型训练的难度,有助于生成更可靠的模型更新。
[0127]
与上述方法实施例相对应,本说明书还提供了一种基于稀疏适配器的联邦学习装置实施例,图5示出了本说明书一个实施例提供的一种基于稀疏适配器的联邦学习装置的结构示意图。如图5所示,该装置应用于客户端包括:第一接收模块502,被配置为接收服务端发送的目标稀疏适配器;稀疏矩阵获得模块504,被配置为将所述客户端的当前向量表示以及模型稀疏度条件,输入所述目标稀疏适配器,获得第一模型稀疏矩阵;稀疏模型获得模块506,被配置为根据所述第一模型稀疏矩阵对所述客户端的初始模型进行处理,获得目标稀疏模型;第一发送模块508,被配置为根据训练样本集确定所述目标稀疏模型的训练损失
函数,并将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适配器,发送至所述服务端。
[0128]
可选地,所述装置,还包括:第一更新模块,被配置为:确定所述客户端的当前稀疏适配器以及当前稀疏模型;根据验证样本集确定所述当前稀疏模型的第一评价结果,以及所述目标稀疏模型的第二评价结果;在根据所述第一评价结果以及所述第二评价结果,确定所述当前稀疏模型满足第一更新条件的情况下,将所述客户端的当前稀疏适配器以及当前稀疏模型,更新为所述目标稀疏适配器以及所述目标稀疏模型。
[0129]
可选地,所述第一更新模块,进一步被配置为:确定所述客户端的当前稀疏适配器以及历史向量表示,其中,所述历史向量表示为所述客户端的当前向量表示更新前的向量表示;将所述客户端的历史向量表示以及所述模型稀疏度条件,输入所述当前稀疏适配器,获得第二模型稀疏矩阵;根据所述第二模型稀疏矩阵对所述客户端的初始模型进行处理,获得当前稀疏模型。
[0130]
可选地,所述第一更新模块,进一步被配置为:确定验证样本集,其中,所述验证样本集中包括验证样本以及所述验证样本对应的样本标签;将所述验证样本输入所述当前稀疏模型,获得所述验证样本对应的第一预测结果,以及将所述验证样本输入所述目标稀疏模型,获得所述验证样本的第二预测结果;根据所述第一预测结果、所述第二预测结果以及所述验证样本对应的样本标签,确定所述当前稀疏模型的第一评价结果,以及所述目标稀疏模型的第二评价结果。
[0131]
可选地,所述第一更新模块,进一步被配置为:根据所述第一预测结果以及所述验证样本对应的样本标签,确定所述当前稀疏模型的第一准确率,并将所述第一准确率确定为所述当前稀疏模型的第一评价结果;以及根据所述第二预测结果以及所述验证样本对应的样本标签,确定所述目标稀疏模型的第二准确率,并将所述第二准确率确定为所述目标稀疏模型的第二评价结果。
[0132]
可选地,所述第一更新模块,进一步被配置为:根据所述第一预测结果以及所述验证样本对应的样本标签,利用预设模型校准算法进行处理,确定所述当前稀疏模型的第一置信度,并将所述第一置信度确定为所述当前稀疏模型的第一评价结果;以及根据所述第二预测结果以及所述验证样本对应的样本标签,利用所述预设模型校准算法进行处理,确定所述目标稀疏模型的第二置信度,并将所述第二置信度确定为所述目标稀疏模型的第二评价结果。
[0133]
可选地,所述第一更新模块,进一步被配置为:在所述第一评价结果与所述第二评价结果的差值大于第一预设阈值的情况下,确定所述当前稀疏模型满足第一更新条件;或者
在所述第一评价结果与所述第二评价结果的差值,与所述第二评价结果的百分比大于第二预设阈值的情况下,确定所述当前稀疏模型满足第一更新条件。
[0134]
可选地,所述第一更新模块,进一步被配置为:在所述第一评价结果小于所述第二评价结果的情况下,确定所述当前稀疏模型满足第一更新条件。
[0135]
可选地,所述第一发送模块508,被配置为:确定训练样本集,其中,所述训练样本集中包括训练样本以及所述训练样本对应的样本标签;将所述训练样本输入所述目标稀疏模型,获得所述训练样本对应的预测结果;根据所述训练样本对应的预测结果以及所述训练样本对应的样本标签,确定所述目标稀疏模型的训练损失函数;将根据所述训练损失函数调整后的所述客户端的当前向量表示以及所述目标稀疏适配器,发送至所述服务端。
[0136]
可选地,所述第一发送模块508,进一步被配置为:根据所述训练损失函数调整所述客户端的当前向量表示以及所述目标稀疏适配器,获得所述客户端的更新向量表示以及更新稀疏适配器;在所述客户端的更新向量表示以及更新稀疏适配器满足第二更新条件的情况下,将所述客户端的更新向量表示以及更新稀疏适配器,发送至所述服务端。
[0137]
可选地,所述第一发送模块508,进一步被配置为:根据验证样本集确定所述目标稀疏模型的评价结果;在所述目标稀疏模型的评价结果小于第三预设阈值的情况下,根据训练样本集确定所述目标稀疏模型的训练损失函数。
[0138]
本说明书实施例提供的基于稀疏适配器的联邦学习装置,通过该装置,联邦学习中的每个参与客户端均可以根据服务端发送的目标稀疏适配器,结合其客户端的当前向量表示以及模型稀疏度条件,确定调整初始模型稀疏度的第一模型稀疏矩阵;并根据该第一模型稀疏矩阵对初始模型进行稀疏处理,生成其客户端稀疏且个性化的局部稀疏模型,极大的减少了每个参与客户端的系统资源占用(如存储资源以及计算资源);使得后续在联邦学习中每个参与客户端均可以基于该局部稀疏模型进行高效的模型训练,获得精度以及准确地较高的模型。
[0139]
上述为本实施例的一种基于稀疏适配器的联邦学习装置的示意性方案。需要说明的是,该基于稀疏适配器的联邦学习装置的技术方案与上述的基于稀疏适配器的联邦学习方法的技术方案属于同一构思,基于稀疏适配器的联邦学习装置的技术方案未详细描述的细节内容,均可以参见上述基于稀疏适配器的联邦学习方法的技术方案的描述。
[0140]
与上述方法实施例相对应,本说明书还提供了另一种基于稀疏适配器的联邦学习装置实施例,图6示出了本说明书一个实施例提供的另一种基于稀疏适配器的联邦学习装置的结构示意图。如图6所示,该装置应用于服务端包括:第一确定模块602,被配置为确定至少两个客户端的向量表示、以及所述至少两个客户端对应的初始稀疏适配器;聚类模块604,被配置为根据所述至少两个客户端的向量表示,通过预设聚类算法
对所述至少两个客户端进行聚类,获得聚类后的客户端集群;第二确定模块606,被配置为根据所述客户端集群中的客户端对应的初始稀疏适配器,确定所述客户端集群对应的目标稀疏适配器;第二发送模块608,被配置为将所述客户端集群对应的目标稀疏适配器,发送至所述客户端集群中的客户端。
[0141]
可选地,所述装置,还包括:第二更新模块,被配置为:接收所述至少两个客户端发送的更新向量表示以及更新稀疏适配器;根据所述至少两个客户端的更新向量表示,通过所述预设聚类算法对所述至少两个客户端进行重新聚类,获得重新聚类后的更新客户端集群;根据所述更新客户端集群中的客户端对应的更新稀疏适配器,确定所述更新客户端集群对应的目标稀疏适配器;将所述更新客户端集群对应的目标稀疏适配器,发送至所述更新客户端集群中的客户端。
[0142]
本说明书实施例提供的另一种基于稀疏适配器的联邦学习装置,服务端通过对客户端进行聚类,为聚类后的每个客户端集群确定一个对应的目标稀疏适配器,即客户端集群中的多个客户端共用一个目标稀疏适配器,在目标稀疏适配器传输的过程中,极大提高了数据利用率,减少了数据传输量;同时,降低了数据减少的客户端进行模型训练的难度,有助于生成更可靠的模型。
[0143]
上述为本实施例的一种基于稀疏适配器的联邦学习装置的示意性方案。需要说明的是,该基于稀疏适配器的联邦学习装置的技术方案与上述的基于稀疏适配器的联邦学习方法的技术方案属于同一构思,基于稀疏适配器的联邦学习装置的技术方案未详细描述的细节内容,均可以参见上述基于稀疏适配器的联邦学习方法的技术方案的描述。
[0144]
图7示出了根据本说明书一个实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
[0145]
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(pstn,public switched telephone network)、局域网(lan,local area network)、广域网(wan,wide area network)、个域网(pan,personal area network)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic,network interface controller))中的一个或多个,诸如ieee802.11无线局域网(wlan,wireless local area network)无线接口、全球微波互联接入(wi-max,worldwide interoperability for microwave access)接口、以太网接口、通用串行总线(usb,universal serial bus)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc,near field communication)接口,等等。
[0146]
在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其
他部件。
[0147]
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(pc,personal computer)的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
[0148]
其中,处理器720用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
[0149]
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的基于稀疏适配器的联邦学习方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述基于稀疏适配器的联邦学习方法的技术方案的描述。
[0150]
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述基于稀疏适配器的联邦学习方法的步骤。
[0151]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于稀疏适配器的联邦学习方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于稀疏适配器的联邦学习方法的技术方案的描述。
[0152]
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述基于稀疏适配器的联邦学习方法的步骤。
[0153]
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的基于稀疏适配器的联邦学习方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述基于稀疏适配器的联邦学习方法的技术方案的描述。
[0154]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0155]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0156]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的
限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
[0157]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0158]
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1