一种基于标签量信息的联邦学习节点选择方法及系统转让专利

申请号 : CN202110471182.0

文献号 : CN113128706B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙兴华马嘉华黄晓霞詹文王玺钧陈翔

申请人 : 中山大学

摘要 :

本发明公开了一种基于标签量信息的联邦学习节点选择方法及系统,该方法包括:根据本地数据生成标签向量并通过加密矩阵对标签向量进行加密,得到加密后标签向量;根据计算资源估计单轮训练耗时,得到训练耗时估计;上传加密后标签向量与训练耗时估计并进行数据整合,得到整合后数据;基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列。该系统包括:计算节点、加密中心和计算服务器。通过使用本发明,保证联邦学习的通信效率的同时,提高新节点选择方法的泛用性。本发明作为一种基于标签量信息的联邦学习节点选择方法及系统,可广泛应用于人工智能机器学习领域。

权利要求 :

1.一种基于标签量信息的联邦学习节点选择方法,其特征在于,包括以下步骤:根据本地数据生成标签向量并通过加密矩阵对标签向量进行加密,得到加密后标签向量;

根据计算资源估计单轮训练耗时,得到训练耗时估计;

上传加密后标签向量与训练耗时估计并进行数据整合,得到整合后数据;

基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列;

所述上传加密后标签向量与训练耗时估计并进行数据整合,得到整合后数据这一步骤,其具体包括:计算节点将加密后标签向量与训练耗时估计上传至计算服务器;

计算服务器根据信道信息估计出各节点的单轮耗时Tk并删除单轮耗时Tk超过预设阈值的节点;

将剩余节点的单轮耗时Tk取整,得到整合后数据;

所述基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列这一步骤,其具体包括:计算服务器建立价值矩阵Mvalue和标签矩阵Mlabel,并根据节点的加密后标签Zk’求得全局标签向量Zglobal;

打乱节点顺序;

计算服务器依次逐个考虑节点,根据单轮耗时和加密后标签向量逐行更新价值矩阵Mvalue与标签矩阵Mlabel;

服务器根据价值矩阵Mvalue,选择最后一行中的价值最大点所在列,向上逆推出行坐标序列作为最终输出的被选节点序列;

所述计算服务器依次逐个考虑节点,根据单轮耗时和加密后标签向量逐行更新价值矩阵Mvalue与标签矩阵Mlabel这一步骤,其具体包括:在第i行,第j列的单轮更新中,计算服务器先判断当前节点i的耗时Ti是否小于j,判断到i=0则直接将Mvalue(0,j)更新为当前节点的价值 Mlabel(0,j)更新为标签向量Z0;

判断到i≠0且Ti>j则将价值矩阵Mvalue(i,j)与标签矩阵Mlabel(i,j)均更新为上一行的结果,若i≠0且Ti<=j则求得向上一轮已有方案添加当前节点后时限也为j的新组合方案,对应标签向量Znew=Zi’+Mlabel(i‑1,j‑Ti),对应价值为将新价值v后与价值矩阵上一行的结果Mvalue(i‑1,j)进行比较大小,判断到新价值v大于价值矩阵上一行的结果Mvalue(i‑1,j),将Mvalue(i,j)更新为新价值v,Mlabel(i,j)更新为Znew,反之则保留上一轮结果Mvalue(i‑1,j)与Mlabel(i‑1,j)。

2.根据权利要求1所述一种基于标签量信息的联邦学习节点选择方法,其特征在于,所述根据本地数据生成标签向量并通过加密矩阵对标签向量进行加密,得到加密后标签向量这一步骤,其具体包括:计算节点根据自身本地数据生成标签向量Zk;

从加密中心获取单位正交矩阵M;

根据单位正交矩阵M对自身的标签向量进行变换,得到加密后标签向量Zk’。

3.根据权利要求1所述一种基于标签量信息的联邦学习节点选择方法,其特征在于,所述加密中心与计算服务器是各自独立且不允许互通信息的。

4.根据权利要求1所述一种基于标签量信息的联邦学习节点选择方法,其特征在于,所述价值矩阵Mvalue的更新根据下式确定:上式中,Zi表示节点i的标签向量,Zglobal表示全局标签向量,Znew表示同为耗时j的,将当前节点添加进上一轮已有方案后对应的组合标签向量。

5.一种基于标签量信息的联邦学习节点选择系统,其特征在于,包括:计算节点,用于获取加密矩阵、根据本地数据生成标签向量、通过加密矩阵对标签向量进行加密、根据计算资源估计单轮训练耗时和上传加密后标签向量与训练耗时估计;

加密中心,用于随机生成加密矩阵;

计算服务器,用于整合数据、基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列;

所述整合数据,其具体包括:

计算节点将加密后标签向量与训练耗时估计上传至计算服务器;

计算服务器根据信道信息估计出各节点的单轮耗时Tk并删除单轮耗时Tk超过预设阈值的节点;

将剩余节点的单轮耗时Tk取整,得到整合后数据;

所述基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列这一步骤,其具体包括:计算服务器建立价值矩阵Mvalue和标签矩阵Mlabel,并根据节点的加密后标签Zk’求得全局标签向量Zglobal;

打乱节点顺序;

计算服务器依次逐个考虑节点,根据单轮耗时和加密后标签向量逐行更新价值矩阵Mvalue与标签矩阵Mlabel;

服务器根据价值矩阵Mvalue,选择最后一行中的价值最大点所在列,向上逆推出行坐标序列作为最终输出的被选节点序列;

所述计算服务器依次逐个考虑节点,根据单轮耗时和加密后标签向量逐行更新价值矩阵Mvalue与标签矩阵Mlabei这一步骤,其具体包括:在第i行,第j列的单轮更新中,计算服务器先判断当前节点i的耗时Ti是否小于j,判断到i=0则直接将Mvalue(0,j)更新为当前节点的价值 Mlabei(0,j)更新为标签向量Z0;

判断到i≠0且Ti>j则将价值矩阵Mvalue(i,j)与标签矩阵Mlabel(i,j)均更新为上一行的结果,若i≠0且Ti<=j则求得向上一轮已有方案添加当前节点后时限也为j的新组合方案,对应标签向量Znew=Zi’+Mlabel(i‑1,j‑Ti),对应价值为将新价值v后与价值矩阵上一行的结果Mvalue(i‑1,j)进行比较大小,判断到新价值v大于价值矩阵上一行的结果Mvalue(i‑1,j),将Mvalue(i,j)更新为新价值v,Mlabel(i,j)更新为Znew,反之则保留上一轮结果Mvalue(i‑1,j)与Mlabel(i‑1,j)。

说明书 :

一种基于标签量信息的联邦学习节点选择方法及系统

技术领域

[0001] 本发明涉及人工智能机器学习领域,尤其涉及一种基于标签量信息的联邦学习节点选择方法及系统。

背景技术

[0002] 联邦学习是一种新兴的人工智能技术,旨在保护节点数据隐私的同时完成一个机器学习模型的分布式训练。与传统的机器学习分布式训练类似,在拥有保护用户数据隐私的优势的同时,联邦学习能通过增加计算节点的数量来提高模型的训练效率。由于训练过程往往在无线通信环境下完成,相较于传统分布式学习的有线通信而言,联邦学习的通信成本往往偏高。为了节省联邦学习的通信效率,服务器在每个回合仅会选择一部分的节点进行训练,现有的节点选择方法包括基于通信条件估计的方法和基于梯度信息的方法,但这两类方法以优化收敛或通信单方面性能为主且难以兼容。

发明内容

[0003] 为了解决上述技术问题,本发明的目的是提供一种基于标签量信息的联邦学习节点选择方法及系统,本方法能保证一定的联邦学习的通信效率且有效缓解节点数据的非独立同分布特征对模型收敛的负面影响,并在引入了节点标签量的同时,提供一个计算复杂度较低的隐私保护机制,从而提高了新节点选择方法的泛用性。
[0004] 本发明所采用的第一技术方案是:一种基于标签量信息的联邦学习节点选择方法,包括以下步骤:
[0005] 根据本地数据生成标签向量并通过加密矩阵对标签向量进行加密,得到加密后标签向量;
[0006] 根据计算资源估计单轮训练耗时,得到训练耗时估计;
[0007] 上传加密后标签向量与训练耗时估计并进行数据整合,得到整合后数据;
[0008] 基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列。
[0009] 进一步,所述根据本地数据生成标签向量并通过加密矩阵对标签向量进行加密,得到加密后标签向量这一步骤,其具体包括:
[0010] 计算节点根据自身本地数据生成标签向量Zk;
[0011] 从加密中心获取单位正交矩阵M;
[0012] 根据单位正交矩阵M对自身的标签向量进行变换,得到加密后标签向量Zk′。
[0013] 进一步,所述上传加密后标签向量与训练耗时估计并进行数据整合,得到整合后数据这一步骤,其具体包括:
[0014] 计算节点将加密后标签向量与训练耗时估计上传至计算服务器;
[0015] 计算服务器根据信道信息估计出各节点的单轮耗时Tk并删除单轮耗时Tk超过预设阈值的节点;
[0016] 将剩余节点的单轮耗时Tk取整,得到整合后数据。
[0017] 进一步,所述基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列这一步骤,其具体包括:
[0018] 计算服务器建立价值矩阵Mvalue和标签矩阵Mlabel,并根据节点的加密后标签Zk′求得全局标签向量Zglobal;
[0019] 打乱节点顺序;
[0020] 计算服务器依次逐个考虑节点,根据单轮耗时和加密后标签向量逐行更新价值矩阵Mvalue与标签矩阵Mlabel;
[0021] 服务器根据价值矩阵Mvalue,选择最后一行中的价值最大点所在列,向上逆推出行坐标序列作为最终输出的被选节点序列。
[0022] 进一步,所述计算服务器依次逐个考虑节点,根据单轮耗时和加密后标签向量逐行更新价值矩阵Mvalue与标签矩阵Mlabel这一步骤,其具体包括:
[0023] 在第i行,第j列的单轮更新中,计算服务器先判断当前节点i的耗时Ti是否小于j,判断到i=0则直接将Nvalue(0,j)更新为当前节点的价值 Mlabel(0,j)更新为标签向量Z0;
[0024] 判断到i≠0且Ti>j则将价值矩阵Mvalue(i,j)与标签矩阵Mlabel(i,j)均更新为上一行的结果,若i≠0且Ti<=j则求得向上一轮已有方案添加当前节点后时限也为j的新组合方案,对应标签向量Znew=Zi′+Mlabel(i‑1,j‑Ti),对应价值为
[0025] 将新价值v后与价值矩阵上一行的结果Mvalue(i‑1,j)进行比较大小,判断到新价值v大于价值矩阵上一行的结果Mvalue(i‑1,j),将Mvalue(i,j)更新为新价值v,Mlabel(i,j)更新为Znew,反之则保留上一轮结果Mvalue(i‑1,j)与Mlabel(i‑1,j)。
[0026] 进一步,所述加密中心与计算服务器是各自独立且不允许互通信息的。
[0027] 进一步,所述价值矩阵Mvalue的更新根据下式确定:
[0028]
[0029] 上式中,Zi表示节点i的标签向量,Zglobal表示全局标签向量,Znew表示同为耗时j的,将当前节点添加进上一轮已有方案后对应的组合标签向量。
[0030] 本发明所采用的第二技术方案是:一种基于标签量信息的联邦学习节点选择系统,包括:
[0031] 计算节点,用于获取加密矩阵、根据本地数据生成标签向量、通过加密矩阵对标签向量进行加密、根据计算资源估计单轮训练耗时和上传加密后标签向量与训练耗时估计;
[0032] 加密中心,用于随机生成加密矩阵;
[0033] 计算服务器,用于整合数据、基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列。
[0034] 本发明方法及系统的有益效果是:本发明相较于原始的等概率随机选取策略而言,能够有效缓解节点数据非独立同分布的统计特征对全局模型收敛的不良影响,使得联邦学习的效率大幅提高;相较于同类型的依赖于节点梯度信息等方法,该方法所借助的标签量信息的获取难度与通信量需求很低;由于节点标签分布可在节点开始本地训练前获取,本方法能根据节点提供的时间估计信息,控制模型训练的单轮最大耗时,从而能保证一定的联邦学习的通信效率。本方法引入了节点标签量的同时,也提供了一个计算复杂度较低的隐私保护机制,提高了新节点选择方法的泛用性。

附图说明

[0035] 图1是本发明一种基于标签量信息的联邦学习节点选择方法的步骤流程图;
[0036] 图2是本发明一种基于标签量信息的联邦学习节点选择系统的结构框图;
[0037] 图3是本发明实施例联邦学习的网络模型图。

具体实施方式

[0038] 下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0039] 如图3所示,联邦学习适用于“基站节点+节点”的机器通信网络场景,该类型联邦学习场景具有的特点包括:1、节点种类多样,多以移动设备为主,具备一定计算能力;2、节点用于训练模型的数据由用户对设备的使用而本地生成,该数据往往带有较强的用户隐私性,且随用户的使用习惯而服从不同的统计分布规律;3、服务器与节点完成模型的训练需要多轮通信,通信内容以模型参数为主。用户数据无需进行传输,从而能保护用户数据隐私。
[0040] 参照图1,本发明提供了一种基于标签量信息的联邦学习节点选择方法,在服务器挑选节点进行训练前,客户节点可从第三方的加密中心获取一个对计算服务器加密的一个加密矩阵,然后向计算服务器上传自己的加密后的标签信息与单轮训练耗时估计。之后计算服务器在最大单轮通信耗时限制下,搜索一个被选节点的标签分布与全局标签分布尽可能相似的节点组合作为最终被选择的客户节点序列,具体包括以下步骤:
[0041] S1、根据本地数据生成标签向量并通过加密矩阵对标签向量进行加密,得到加密后标签向量;
[0042] 具体地,假设系统中共有K个节点,其中节点k按标签分类,最多拥有C类的本地数据,且各类数据量为nk,c。各节点根据Zk=[nk,1,nk,2,…,nk,C]生成标签向量Zk,然后从加密中心获取一个随机生成的单位正交矩阵M,对自身的标签向量Zk进行变换,根据Zk′=M*Zk求得变换后的标签向量Zk′并将其上传至计算服务器。
[0043] S2、根据计算资源估计单轮训练耗时,得到训练耗时估计;
[0044] 具体地,各节点根据自身计算资源,估计出单轮训练耗时并将其上传至计算服务器。
[0045] S3、上传加密后标签向量与训练耗时估计并进行数据整合,得到整合后数据;
[0046] S4、基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列。
[0047] 具体地,本方法的目的是在控制最大单轮训练时间的前提下,优化被选节点的标签分布,使之更接近于全局标签分布,从而使得汇总后的全局模型收敛方向不发生较大的偏离,以减缓节点数据的非独立同分布特征对模型收敛的不良影响。
[0048] 另外,在联邦学习的迭代学习过程中,由于通信系统具备时变性,服务器需要在一定周期内重新运行该算法以保障节点的成功选择效率。
[0049] 进一步作为本方法的优选实施例,所述根据本地数据生成标签向量并通过加密矩阵对标签向量进行加密,得到加密后标签向量这一步骤,其具体包括:
[0050] 计算节点根据自身本地数据生成标签向量Zk;
[0051] 从加密中心获取单位正交矩阵M;
[0052] 具体地,变换矩阵M是一个由独立于计算服务器的加密中心随机生成的单位正交矩阵。各节点收到的矩阵M是一致的,因此所有标签向量将进行一次不改变相对信息的统一变换,加密中心无需接收节点的标签向量,计算服务器未知标签向量的参考坐标系从而无法得知标签向量内数值的具体含义,因此可以保护标签数据量中隐含的用户隐私信息。
[0053] 所述加密中心与计算服务器是各自独立且不允许互通信息的,即加密中心不能获取到节点的标签向量,而计算服务器不能获取到变换矩阵M。
[0054] 根据单位正交矩阵M对自身的标签向量进行变换,得到加密后标签向量Zk′。
[0055] 具体地,Zk′=M*Zk。
[0056] 进一步作为本方法的优选实施例,所述上传加密后标签向量与训练耗时估计并进行数据整合,得到整合后数据这一步骤,其具体包括:
[0057] 计算节点将加密后标签向量与训练耗时估计上传至计算服务器;
[0058] 计算服务器根据信道信息估计出各节点的单轮耗时Tk并删除单轮耗时Tk超过预设阈值的节点;
[0059] 将剩余节点的单轮耗时Tk取整,得到整合后数据。
[0060] 具体地,将时耗取整以简化后续程序。
[0061] 进一步作为本方法的优选实施例,所述基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列这一步骤,其具体包括:
[0062] 计算服务器建立价值矩阵Mvalue和标签矩阵Mlabel,并根据节点的加密后标签Zk′求得全局标签向量Zglobal;
[0063] 具体地,全局标签分布Zglobal为各节点的标签向量之和,即Zglobal=∑kZk′;
[0064] 打乱节点顺序;
[0065] 计算服务器依次逐个考虑节点,根据单轮耗时和加密后标签向量逐行更新价值矩阵Mvalue与标签矩阵Mlabel;
[0066] 服务器根据价值矩阵Mvalue,选择最后一行中的价值最大点所在列,向上逆推出行坐标序列作为最终输出的被选节点序列。
[0067] 具体地,算法的运行原理是搜索不同的可能节点组合方案,选择最终组合标签向量与全局向量方向最相似的方案作为最终的客户选择方案。搜索的过程是通过对价值矩阵Mvalue与标签矩阵Mlabel的从上到下,从左往右的逐行遍历更新来完成的,因此时间复杂度为O(K*Tlimit)。而实际可能的组合数为 远高于上述复杂度所能搜索到的节点组合范围,因此该方法实际上是一个简化版的次优搜索策略,且该方法中节点考虑顺序会影响到搜索到的节点具体组合,因此算法运行前需要打乱节点的访问顺序以提高多轮迭代训练中可搜索到的组合数。
[0068] 进一步作为本方法优选实施例,所述计算服务器依次逐个考虑节点,根据单轮耗时和加密后标签向量逐行更新价值矩阵Mvalue与标签矩阵Mlabel这一步骤,其具体包括:
[0069] 在第i行,第j列的单轮更新中,计算服务器先判断当前节点i的耗时Ti是否小于j,判断到i=0则直接将Mvalue(0,j)更新为当前节点的价值 Mlabel(0,j)更新为标签向量Z0;
[0070] 判断到i≠0且Ti>j则将价值矩阵Mvalle(i,j)与标签矩阵Mlabel(i,j)均更新为上一行的结果,若i≠0且Ti<=j则求得向上一轮已有方案添加当前节点后时限也为j的新组合方案,对应标签向量Znew=Zi′+Mlabel(i‑1,j‑Ti),对应价值为
[0071] 将新价值v后与价值矩阵上一行的结果Mvalue(i‑1,j)进行比较大小,判断到新价值v大于价值矩阵上一行的结果Mvalue(i‑1,j),将Mvalue(i,j)更新为新价值v,Mlabel(i,j)更新为Znew,反之则保留上一轮结果Mvalue(i‑1,j)与Mlabel(i‑1,j)。
[0072] 进一步作为本方法优选实施例,所述价值矩阵Mvalue的更新根据下式确定:
[0073]
[0074] 上式中,Mvalue(i,j)的物理意义是当前较优节点组合的标签向量和与全局标签向量的归一化内积值,用以衡量标签分布间的相似性,大小为K*Tlimit,Zi表示节点i的标签向量,Zglobal表示全局标签向量,由各节点标签向量求和获得,即Zglobal=∑kZk,Znew表示同为耗时j的,将当前节点添加进上一轮已有方案后对应的组合标签向量即Znew=Zi′+Mlabel(i‑1,j‑Ti)。
[0075] 如图2所示,一种基于标签量信息的联邦学习节点选择系统,包括:
[0076] 计算节点,用于获取加密矩阵、根据本地数据生成标签向量、通过加密矩阵对标签向量进行加密、根据计算资源估计单轮训练耗时和上传加密后标签向量与训练耗时估计;
[0077] 加密中心,用于随机生成加密矩阵;
[0078] 计算服务器,用于整合数据、基于整合后数据,在预设的最大通信耗时限制下,搜索标签组合分布最优的节点序列作为最终的被选客户节点序列。
[0079] 上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0080] 以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。