1.本发明属于联邦学习技术领域,具体涉及一种基于多粒度联邦学习的方法。
背景技术:
2.深度学习作为大数据处理不可或缺的通用服务,其数据训练需要大量的数据和计算量。然而在边缘设备上通常没有足够的数据,并且由于设备异构性的存在,边缘设备上的数据标签通常处于不同粒度,这给边缘设备训练出高质量的模型提出了严峻的挑战。而传统的联邦学习只适用于同粒度设备模型间的融合,对于多粒度设备模型的融合不适用,因此忽略了不同粒度模型间存在的大量相似数据样本的联合共享。为缓解隐私焦虑,实现众多边缘设备(又称客户端)之间的合作训练,多粒度联邦学习(multi-granularity federated learning,mgfl)成为打破边缘设备多粒度模型合作训练限制的关键技术之一,可以提供有效的解决方案。如图1所示,边缘计算系统中的异质客户拥有有限的资源和不同的数据,导致了多粒度模型的存在。不同资源受限的设备通常运行不同粒度的模型,着眼于边缘计算环境中的图像分类任务,粒度表示图像分类的细致程度。如细粒度的模型通常识别猫、狗、汽车、船舶等,运行在资源丰富的设备上;相反,粗粒度模型通常识别动物、交通工具等,并且运行在资源受限的设备上。
技术实现要素:
3.针对传统的联邦学习对多粒度设备模型的融合不适用的问题,本发明提出了一种基于多粒度联邦学习的方法。为解决以上技术问题,本发明所采用的技术方案如下:
4.一种基于多粒度联邦学习的方法,包括如下步骤:
5.s1,基于联邦学习建立包括客户端和服务器的多粒度学习系统,所述客户端包括粗粒度设备和细粒度设备,且服务器中设有图像参数模型;
6.s2,设置初始迭代轮数t=0、学习轮数t、阶段判断值τ、跨粒度频值θ,初始化图像参数模型的初始模型参数客户端通过服务器下载图像参数模型,并将客户端的共享样本发送至服务器;
7.s3,判断t<t,如果是,执行步骤s4,否则图像参数模型学习结束;
8.s4,执行t=t+1,客户端利用本地数据对图像参数模型进行训练,训练好后利用随机梯度下降法计算模型参数并将模型参数和本地模型准确率ai发送至服务器;
9.s5,服务器对接收到的图像参数模型进行判断,如果接收到的模型参数所对应的模型为细粒度模型,采用同粒度联邦学习方法对图像参数模型进行聚合,聚合后执行步骤s6,如果接收到的模型参数所对应的模型为粗粒度模型,采用交叉指导方法对图像参数模型进行聚合,聚合后再执行步骤s6;
10.s6,服务器将聚合后的图像参数模型发送至客户端,并返回步骤s3。
11.在步骤s4中,所述利用随机梯度下降法计算模型参数的计算公式为:
[0012][0013]
式中,η
l
表示学习率,表示t-1轮时模型参数为的图像参数模型所对应的损失函数的梯度。
[0014]
在步骤s5中,所述采用交叉指导方法对图像参数模型进行聚合包括如下步骤:
[0015]
i,判断t<τ,如果是,采用同粒度联邦学习方法对图像参数模型进行聚合,聚合后执行步骤s6,否则执行步骤ii;
[0016]
ii,判断θ/t是否为整数,如果是,采用同粒度联邦学习方法对图像参数模型进行聚合,聚合后执行步骤s6,否则执行步骤iii;
[0017]
iii,采用跨粒度联邦学习方法对图像参数模型进行聚合。
[0018]
所述步骤iii包括如下步骤:
[0019]
①
利用粗细粒度类别对应矩阵将细粒度模型的输出转换到粗粒度模型的输出维度,并基于粗粒度模型的共享样本计算细粒度模型的转换准确率;
[0020]
②
将细粒度模型的转换准确率和细粒度模型的本地准确率进行比较,选择出差值最大且大于零的细粒度模型作为粗粒度模型的指导模型;
[0021]
③
利用步骤
②
选出的指导模型通过调整损失函数的方式对粗粒度模型进行指导。
[0022]
所述细粒度模型的转换准确率的计算公式为:
[0023][0024]
式中,表示第i个客户端发送至服务器的共享样本的标签,且的标签,且表示粗粒度设备的集合,wm表示第m个细粒度设备所输出的图像参数模型的模型参数,表示第i个客户端的共享样本中的第r个样本,表示第i个客户端的共享样本中的第r个样本的标签,表示细粒度模型的转换准确率,表示第m个细粒度设备的共享样本中的第r个样本经过第m个图像参数模型的输出向量,为指示函数,h表示粗细粒度类别对应矩阵,表示第i个客户端的共享样本的尺寸表示细粒度设备的集合。
[0025]
所述利用选出的指导模型调整损失函数的公式为:
[0026][0027]
式中,λ表示超参数,表示额外损失项也即粗粒度模型和细粒度
模型在分类层的前一层的输出差异,表示各粗粒度设备的本地计算损失,ni表示第i个客户端中的数据尺寸,n表示粗粒度设备的数量,x
i,j
表示第i个客户端的本地数据xi的第j个样本,y
i,j
表示第i个客户端的本地数据xi的第j个样本的标签,表示第i个客户端的共享样本中的第j个样本,表示第i个客户端的共享样本中的第j个样本的标签。
[0028]
所述额外损失项的计算公式为:
[0029][0030]
式中,表示模型参数为wi的图像参数模型的倒数第二层也即分类层的前一层的输出,表示第i个客户端的共享样本中的第k个样本,w
h(i)
表示用于指导第i个粗粒度模型的细粒度模型的模型参数,表示第i个客户端的共享样本的尺寸。
[0031]
所述采用同粒度联邦学习方法对图像参数模型进行聚合的步骤为:
[0032]
i,根据接收到的共享样本计算图像参数模型的js散度;
[0033]
ii,根据步骤i得到的js散度采用基于js散度的相似度算法计算出图像参数模型间的相似度矩阵;
[0034]
iii,根据步骤ii中所得到的相似度矩阵中的权重完成模型聚合,得到聚合模型w。
[0035]
所述图像参数模型的js散度的计算公式为:
[0036][0037]
式中,wi表示第i个客户端所输出的图像参数模型的模型参数,wj表示第j个客户端所输出的图像参数模型的模型参数,pi表示第i个客户端所输出的图像参数模型的输出向量,pj表示第j个客户端所输出的图像参数模型的输出向量,且i≠j。
[0038]
所述相似度矩阵的计算公式为:
[0039][0040]
式中,表示归一化散度距离矩阵,d表示相似度矩阵;
[0041]
所述归一化散度距离矩阵的计算公式为:
[0042][0043]
式中,i表示元素全为1的行向量,d
js
(i,:)表示第i个客户端的散度距离矩阵。
[0044]
本发明的有益效果:
[0045]
本发明在训练前期只进行同粒度联邦学习,这个阶段采用js散度作为相似性度量的核心步骤,可以使聚合出的模型性能更加优越,训练后期细粒度模型逐渐成熟,才开始用于跨粒度联邦学习,选择出合适的细粒度模型对粗粒度模型进行指导可以对粗粒度模型的卷积参数进行调整,进一步对分类层参数进行微调,使得粗粒度模型的卷积参数充分逼近细粒度模型的卷积参数,进而使得粗粒度模型提取图像特征的能力得到升级;另外,多粒度联邦学习还可以弥补单个设备的数据样本不足,提高模型训练的性能。
附图说明
[0046]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0047]
图1为边缘计算系统中的多粒度客户端。
[0048]
图2为同粒度模型的联邦学习流程。
[0049]
图3为跨粒度模型的联邦学习流程。
[0050]
图4为多粒度联邦学习架构图。
[0051]
图5为粗细粒度模型在不同数据分布下的最佳平均测试准确率。
[0052]
图6为粗粒度模型在混乱度2下的性能变化。
[0053]
图7为细粒度模型在混乱度2下的性能变化。
[0054]
图8为不同混乱程度下的交叉粒度联邦学习的关系。
[0055]
图9为使用(a)-(c)余弦法和(d)-(f)mgfl法在不同混乱度下的同粒度联邦学习的关系。
具体实施方式
[0056]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057]
一种基于多粒度联邦学习的方法,如图4所示,包括如下步骤:
[0058]
s1,基于联邦学习建立包括客户端和服务器的多粒度学习系统,所述客户端包括粗粒度设备和细粒度设备,且服务器中设有图像参数模型;
[0059]
客户端利用本地数据对图像参数模型进行训练,训练后传输到服务器,服务器对接收到的模型进行聚合,但是由于客户端设备异构性问题,这些异构性往往会影响全局模型的训练效率。所述粗粒度设备的集合采用细粒度设备的集合采用粗粒度设备基于本地数据学习后所输出的为粗粒度模型,细粒度模型基于本地数据学习后所输出的为细粒度模型,细粒度模型和粗粒度模型的结构除最后一层分类层外都是相同的,服务器根据接收到的模型参数分类层的维度自动将粗粒度模型和细粒度模型区分开来,此为现有技术不再赘述。
[0060]
s2,设置初始迭代轮数t=0、学习轮数t、阶段判断值τ、跨粒度频值θ,初始化图像参数模型的初始模型参数客户端通过服务器下载图像参数模型,并将客户端的共享样本发送至服务器;
[0061]
所述跨粒度频值θ是指两次跨粒度联邦学习的轮数间隔。所述共享样本是指每个客户端会单独发送一部分自己的本地数据到服务器进行共享,比如一个设备中持有类别为狗的数据,那么该设备将发送一小部分狗的图片和标签到服务器中。
[0062]
s3,判断t<t,如果是,执行步骤s4,否则图像参数模型学习结束;
[0063]
s4,执行t=t+1,客户端通过服务器下载图像参数模型,利用本地数据对图像参数模型进行训练,训练好后利用随机梯度下降法计算模型参数并将模型参数和本地模型准确率ai发送至服务器;
[0064]
所述利用随机梯度下降法计算模型参数的计算公式为:
[0065][0066]
式中,η
l
表示学习率,表示t-1轮时模型参数为的图像参数模型所对应的损失函数的梯度。
[0067]
所述t-1轮时模型参数为的图像参数模型所对应的损失函数的梯度的计算方法为对以下公式中的损失函数进行求导:
[0068][0069]
式中,ni表示第i个客户端中的数据尺寸,也即本地数据和标签的总量,fi(wi,x
i,j
,y
i,j
)表示第i个客户端的损失函数,x
i,j
表示第i个客户端的本地数据xi的第j个样本,y
i,j
表示第i个客户端的本地数据xi的第j个样本的标签。式(2)对应于粗粒度模型,当需要对应于细粒度模型时直接对i的取值范围进行相应的变动即可。
[0070]
s5,服务器对接收到的图像参数模型进行判断,如果接收到的模型参数所对应的图像参数模型为细粒度模型,采用同粒度联邦学习方法对图像参数模型进行聚合,聚合后执行步骤s6,如果接收到的模型参数所对应的图像参数模型为粗粒度模型,采用交叉指导方法对图像参数模型进行聚合,聚合后再执行步骤s6;
[0071]
所述采用交叉指导方法对图像参数模型进行聚合包括如下步骤:
[0072]
i,判断t<τ,如果是,采用同粒度联邦学习方法对图像参数模型进行聚合,聚合后执行步骤s6,否则执行步骤ii;
[0073]
ii,判断θ/t是否为整数,如果是,采用同粒度联邦学习方法对图像参数模型进行聚合,聚合后执行步骤s6,否则执行步骤iii;
[0074]
iii,采用跨粒度联邦学习方法对图像参数模型进行聚合,如图3所示,包括如下步骤:
[0075]
①
利用粗细粒度类别对应矩阵将细粒度模型的输出转换到粗粒度模型的输出维度,并基于粗粒度模型的共享样本计算细粒度模型的转换准确率;
[0076]
所述细粒度模型的转换准确率的计算公式为:
[0077][0078]
式中,表示第i个客户端发送至服务器的共享样本的标签,且wm表示第m个细粒度设备所输出的图像参数模型的模型参数,表示第i个客户端的共享样本中的第r个样本,表示第i个客户端的共享样本中的第r个样本的标签,表示第m个细粒度设备的共享样本中的第r个样本经过第m个细粒度图像参数模型的输出向量,为指示函数,在该指示函数中h属于先验知识,表示粗细粒度类别对应矩阵,也即表示某个细粒度类别对应于某一个粗粒度类别,例如“狗”对应于“动物”,表示第i个客户端的共享样本的尺寸,表示细粒度模型的转换准确率,该准确率是基于粗粒度模型的共享样本得到的,并用于随着模型参数上传到服务器。
[0079]
②
将细粒度模型的转换准确率和细粒度模型的本地准确率进行比较,选择出差值最大且大于零的细粒度模型作为指导模型;
[0080]
所述选择出差值最大且大于零的细粒度模型的公式为:
[0081][0082]
式中,ai表示第i个粗粒度客户端的图像参数模型的本地准确率,且h(i)表示与第i个客户端的粗粒度模型对应指导的细粒度模型序号下标,当某一细粒度模型的转换准确率和其本地准确率的差值最大且大于零时将该细粒度模型加入到集合h(i)中。
[0083]
由于客户端中的模型是在不同粒度的数据中训练完成的,直接的参数融合会导致粗粒度模型性能急剧下降,通过该步骤可以为粗粒度模型在所有的细粒度模型中选择出一个模型作为指导。
[0084]
③
利用选出的指导模型对粗粒度模型的损失函数进行调整,实现细粒度模型对粗粒度模型的指导;
[0085]
所述对粗粒度模型调整后的损失函数的表达式为:
[0086][0087]
式中,λ表示超参数,表示额外损失项也即模型参数为wi的粗粒度模型和指导该粗粒度模型的细粒度模型的差异,表示各粗粒度设备所输出模型的本地计算损失,表示第i个客户端的共享样本中的第j个样本,
表示第i个客户端的共享样本中的第j个样本的标签。
[0088]
所述额外损失项的计算公式为:
[0089][0090]
式中,表示模型参数为wi的图像参数模型的倒数第二层也即分类层的前一层的输出,表示第i个客户端的共享样本中的第r个样本,w
h(i)
表示用于指导第i个粗粒度模型的细粒度模型的模型参数,且
[0091]
跨粒度联邦学习的目的就是为第n个粗粒度模型选择最适合的细粒度模型,让该细粒度模型指导粗粒度模型。由于粗粒度模型和细粒度模型除分类层外都是相同的结构,公式(5)中的第一项得到的损失应该在本地也即客户端进行随机梯度下降以进行参数更新,第二项应该被应用在服务器进行随机梯度下降以进行参数更新。
[0092]
如图2所示,所述采用同粒度联邦学习方法对图像参数模型进行聚合的步骤为:
[0093]
i,根据接收到的共享样本计算图像参数模型的js散度;
[0094]
所述js散度的计算公式为:
[0095][0096]
式中,wi表示第i个客户端所输出的图像参数模型的模型参数,wj表示第j个客户端所输出的图像参数模型的模型参数,pi表示第i个客户端所输出的图像参数模型的输出向量,pj表示第j个客户端所输出的图像参数模型的输出向量,且i≠j。
[0097]
所述输出向量pi和输出向量pj的表达式分别为:
[0098][0099]
式中,表示第i个客户端的共享样本经过第i个图像参数模型的输出向量,表示第i个客户端的共享样本经过第j个图像参数模型的输出向量。
[0100]
相同粒度的每两个模型对同一共享样本可以计算出一个js散度,完成全部的散度计算后会得到一个散度距离矩阵d
js
。
[0101]
ii,根据步骤i得到的js散度采用基于js散度的相似度算法计算出图像参数模型间的相似度矩阵;
[0102]
所述相似度矩阵的计算公式为:
[0103][0104]
式中,表示归一化散度距离矩阵,d表示相似度矩阵。
[0105]
所述归一化散度距离矩阵的计算公式为:
[0106][0107]
式中,i表示元素全为1的行向量,d
js
(i,:)表示第i个客户端的散度距离矩阵,表示对第i个客户端的归一化散度距离矩阵。
[0108]
所述散度距离矩阵d
js
(i,:)是一个行向量,它包含了第i个客户端和其它任一客户端j的散度距离d
js
(i,j),也即若干个d
js
(i,j)组成了d
js
(i,:)。
[0109]
所述散度距离d
js
(i,j)的计算公式为:
[0110]djs
(i,j)=jsd(wi||wj)。
[0111]
此步骤首先对散度距离矩阵d
js
进行归一化得到之后再对进行转置相乘,最终得到的相似度矩阵d为对称矩阵,采用对称矩阵可以使聚合出的模型在个性化的同时也更加鲁棒。
[0112]
iii,根据步骤ii中所得到的相似度矩阵d中的权重完成模型聚合,得到聚合模型w,实现模型个性化定制;
[0113]
所述模型聚合的公式为:
[0114]
w=d
×wt
; (11)
[0115]
式中,w
t
表示服务器接收到的图像参数模型的所有模型参数所组合成的向量,假如相似度矩阵d是维度为5
×
5的矩阵,则w
t
是维度为5
×
1的矩阵。
[0116]
s6,服务器将聚合后的图像参数模型发送至客户端,并返回步骤s3。
[0117]
为了保证多粒度联邦学习的高效性,本发明将整个训练过程划为训练前期和训练后期,在前期训练过程中细粒度模型和粗粒度模型只进行同粒度联邦学习,通过服务器返还的个性化模型反复进行迭代训练,这个阶段主导了个性化模型的定制,并且采用js散度作为相似性度量的核心步骤,使聚合出的模型性能更加优越。训练后期,细粒度模型逐渐成熟,可以用于跨粒度联邦训练,这期间,粗粒度模型只在特定轮数接受细粒度模型的指导,而细粒度模型依旧会继续进行同粒度的联邦学习,因为跨粒度联邦中受益的只有粗粒度模型。本实施例中,所述客户端和服务器均为智能体,客户端可以为移动终端设备或边缘设备。
[0118]
以下基于本发明实现多个不同粒度设备的图像分类任务模型的联合训练,其中粗粒度模型用于识别20个粗粒度类别的生活中常见事物,细粒度模型用于识别100个细粒度类别的生活中常见事物,并且每个粗粒度类包含了5个细粒度类。图像分类任务模型的结构大多为卷积层+分类层,不同粒度模型的只在分类层的维度有差异,卷积层代表了特征提取能力,因此细粒度的模型卷积层提取特征更加细致,粗粒度模型卷积层提取特征能力比较粗糙。基于图像分类进行多粒度模型的联合训练,会在跨粒度联邦学习阶段使得粗粒度模型的卷积参数充分逼近细粒度模型的卷积参数,进而使得其提取图像特征的能力得到升级。跨粒度联邦中,粗粒度模型调整卷积参数后,进一步对分类层参数进行微调。
[0119]
可以看出,在这一过程中,粗细粒度模型间有较大的共通特性,不管是在模型结构还是数据样本层面都十分相似,因此在这一过程中需要用到多粒度联邦学习来弥补单个设备的数据样本不足的问题,进一步提高模型性能。
[0120]
如图5所示为本发明和其它联邦学习方法在不同数据分布情况下的bmta(最佳平
均测试准确率)效果图,可以看出本发明的bmta值更高,而且随着数据混乱程度的增加,其效果的优越性更加明显,其中混乱度代表各个客户端数据分布的混乱程度。例如混乱度为2时,在所有的客户端中一共存在两种数据分布,每个客户端会属于其中的某一种。如图6所示显示了在混乱度为2的情况下,第1组和第2组的粗粒度模型的性能变化曲线。cosine方法表示用余弦距离计算模型之间的相似性并进行模型聚合,而fedavg是传统的联邦学习方法,即联邦平均方法,即将收集到的各个模型进行平均加权聚合;alone方法表示各个设备仅在本地训练而不发送至服务器或者与其他设备合作,即各个设备单点独自训练模型。与其它方法相比,使用mgfl方法也即本发明的第1组和第2组的客户性能都有明显提高,并在后期收敛到更高的精度。跨粒度fl导致在后期阶段,细粒度模型引导粗粒度模型导致性能的明显提高。值得注意的是,粗粒度模型的性能首先在跨粒度fl的开始阶段略有下降,如a点和b点所示,这是由于协调不当和不兼容造成的。这也说明细粒度模型的参数并不完全适用于粗粒度模型,所以细粒度模型的参数并不能直接替换成粗粒度模型的参数。
[0121]
如图7所示显示了在混乱度为2的情况下,第1组和第2组的细粒度模型的性能变化曲线,在后期阶段,除了引导粗粒度模型外,细粒度模型的表现与早期阶段相同的粒度fl差别不大。如图8所示,mgfl的整体性能优于其它方法,在第1组和第2组都有轻微的性能波动。为粗粒度模型选择最相关的细粒度模型是跨粒度fl的一个关键步骤,图8显示了在混乱度为2、3、4下,跨粒度fl中每个粗粒度客户端对细粒度客户端的选择情况。mgfl在每次跨粒度fl时,都能准确地选择最相似的细粒度客户端来指导细粒度的客户端。例如,c2处的粗粒度客户端0由于数据分布相同,会选择{0、1、2}序号的客户端。尽管随着组数的增加,选择变得更加复杂,但mgfl有能力克服复杂性,做出正确的选择。基于结果的另一个观察是,在进行跨粒度fl时,混乱度越小,客户的选择就越容易波动。与混乱度为4的结果相比,混乱度为2的粗粒度客户端波动很大,在每个跨粒度fl中选择的客户端不同。混乱度越大,则组数越多,组内客户数量越少,可供选择的客户数量也越少,导致选择的波动越小。
[0122]
本发明旨在利用mgfl学到的固有的群体关系,在同粒度fl中选择相似的模型进行聚合,同时提高整体的准确率表现。我们将mgfl和cosine(余弦)方法在早期几轮不同混乱度下的相似度矩阵可视化,展示了群体结构。如图9所示,与余弦法相比,本发明的框架中的分组结构通常是提前精确学习的,例如在几轮通信中,尽管随着混乱程度的增加,学习群体关系变得更加困难,但mgfl可以克服这一困难,并比余弦法更准确地学习关系。
[0123]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于多粒度联邦学习的方法,其特征在于,包括如下步骤:s1,基于联邦学习建立包括客户端和服务器的多粒度学习系统,所述客户端包括粗粒度设备和细粒度设备,且服务器中设有图像参数模型;s2,设置初始迭代轮数t=0、学习轮数t、阶段判断值τ、跨粒度频值θ,初始化图像参数模型的初始模型参数客户端通过服务器下载图像参数模型,并将客户端的共享样本发送至服务器;s3,判断t<t,如果是,执行步骤s4,否则图像参数模型学习结束;s4,执行t=t+1,客户端利用本地数据对图像参数模型进行训练,训练好后利用随机梯度下降法计算模型参数并将模型参数和本地模型准确率a
i
发送至服务器;s5,服务器对接收到的图像参数模型进行判断,如果接收到的模型参数所对应的模型为细粒度模型,采用同粒度联邦学习方法对图像参数模型进行聚合,聚合后执行步骤s6,如果接收到的模型参数所对应的模型为粗粒度模型,采用交叉指导方法对图像参数模型进行聚合,聚合后再执行步骤s6;s6,服务器将聚合后的图像参数模型发送至客户端,并返回步骤s3。2.根据权利要求1所述的基于多粒度联邦学习的方法,其特征在于,在步骤s4中,所述利用随机梯度下降法计算模型参数的计算公式为:式中,η
l
表示学习率,表示t-1轮时模型参数为的图像参数模型所对应的损失函数的梯度。3.根据权利要求1所述的基于多粒度联邦学习的方法,其特征在于,在步骤s5中,所述采用交叉指导方法对图像参数模型进行聚合包括如下步骤:i,判断t<τ,如果是,采用同粒度联邦学习方法对图像参数模型进行聚合,聚合后执行步骤s6,否则执行步骤ii;ii,判断θ/t是否为整数,如果是,采用同粒度联邦学习方法对图像参数模型进行聚合,聚合后执行步骤s6,否则执行步骤iii;iii,采用跨粒度联邦学习方法对图像参数模型进行聚合。4.根据权利要求3所述的基于多粒度联邦学习的方法,其特征在于,所述步骤iii包括如下步骤:
①
利用粗细粒度类别对应矩阵将细粒度模型的输出转换到粗粒度模型的输出维度,并基于粗粒度模型的共享样本计算细粒度模型的转换准确率;
②
将细粒度模型的转换准确率和细粒度模型的本地准确率进行比较,选择出差值最大且大于零的细粒度模型作为粗粒度模型的指导模型;
③
利用步骤
②
选出的指导模型通过调整损失函数的方式对粗粒度模型进行指导。5.根据权利要求4所述的基于多粒度联邦学习的方法,其特征在于,所述细粒度模型的转换准确率的计算公式为:
式中,表示第i个客户端发送至服务器的共享样本的标签,且的标签,且表示粗粒度设备的集合,w
m
表示第m个细粒度设备所输出的图像参数模型的模型参数,表示第i个客户端的共享样本中的第r个样本,表示第i个客户端的共享样本中的第r个样本的标签,表示细粒度模型的转换准确率,表示第m个细粒度设备的共享样本中的第r个样本经过第m个图像参数模型的输出向量,为指示函数,h表示粗细粒度类别对应矩阵,表示第i个客户端的共享样本的尺寸,表示细粒度设备的集合。6.根据权利要求4所述的基于多粒度联邦学习的方法,其特征在于,所述利用选出的指导模型调整损失函数的公式为:式中,λ表示超参数,表示额外损失项也即粗粒度模型和细粒度模型在分类层的前一层的输出差异,表示各粗粒度设备的本地计算损失,n
i
表示第i个客户端中的数据尺寸,n表示粗粒度设备的数量,x
i,j
表示第i个客户端的本地数据x
i
的第j个样本,y
i,j
表示第i个客户端的本地数据x
i
的第j个样本的标签,表示第i个客户端的共享样本中的第j个样本,表示第i个客户端的共享样本中的第j个样本的标签。7.根据权利要求6所述的基于多粒度联邦学习的方法,其特征在于,所述额外损失项的计算公式为:式中,表示模型参数为w
i
的图像参数模型的倒数第二层也即分类层的前一层的输出,表示第i个客户端的共享样本中的第k个样本,w
h(i)
表示用于指导第i个粗粒度模型的细粒度模型的模型参数,表示第i个客户端的共享样本的尺寸。8.根据权利要求3所述的基于多粒度联邦学习的方法,其特征在于,所述采用同粒度联
邦学习方法对图像参数模型进行聚合的步骤为:i,根据接收到的共享样本计算图像参数模型的js散度;ii,根据步骤i得到的js散度采用基于js散度的相似度算法计算出图像参数模型间的相似度矩阵;iii,根据步骤ii中所得到的相似度矩阵中的权重完成模型聚合,得到聚合模型w。9.根据权利要求8所述的基于多粒度联邦学习的方法,其特征在于,所述图像参数模型的js散度的计算公式为:式中,w
i
表示第i个客户端所输出的图像参数模型的模型参数,w
j
表示第j个客户端所输出的图像参数模型的模型参数,p
i
表示第i个客户端所输出的图像参数模型的输出向量,p
j
表示第j个客户端所输出的图像参数模型的输出向量,且i≠j。10.根据权利要求8所述的基于多粒度联邦学习的方法,其特征在于,所述相似度矩阵的计算公式为:式中,表示归一化散度距离矩阵,d表示相似度矩阵;所述归一化散度距离矩阵的计算公式为:式中,i表示元素全为1的行向量,d
js
(i,:)表示第i个客户端的散度距离矩阵。
技术总结
本发明公开了一种基于多粒度联邦学习的方法,包括:S1,基于联邦学习建立包括客户端和服务器的多粒度学习系统,客户端包括粗粒度设备和细粒度设备,服务器中设有图像参数模型;S2,设置初始迭代轮数t=0、学习轮数T,初始化初始模型参数,客户端将共享样本发送服务器;S3,判断t<T,如果是,执行S4,否则学习结束;S4,执行t=t+1,客户端利用本地数据对模型进行训练,将模型参数和本地模型准确率发送服务器;S5,服务器根据模型参数判断,若为细粒度模型,用同粒度联邦学习方法聚合,若为粗粒度模型,用交叉指导方法聚合,聚合后执行S6;S6,服务器将聚合后的模型发送客户端并返回S3。本发明可以提高粗粒度模型提取图像特征的能力。明可以提高粗粒度模型提取图像特征的能力。明可以提高粗粒度模型提取图像特征的能力。
技术研发人员:蔡尚宣 王晓飞 胡清华 仇超 陈连栋 程凯 杨柳 赵云凤 刘志成
受保护的技术使用者:国网河北省电力有限公司信息通信分公司 国家电网有限公司
技术研发日:2021.12.07
技术公布日:2022/3/8