CN115759289A - 基于用户分组协同的联邦学习方法、系统及装置 - Google Patents

基于用户分组协同的联邦学习方法、系统及装置 Download PDF

Info

Publication number
CN115759289A
CN115759289A CN202211431701.1A CN202211431701A CN115759289A CN 115759289 A CN115759289 A CN 115759289A CN 202211431701 A CN202211431701 A CN 202211431701A CN 115759289 A CN115759289 A CN 115759289A
Authority
CN
China
Prior art keywords
node
parameter
participating node
participating
group
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
Application number
CN202211431701.1A
Other languages
English (en)
Inventor
程杰仁
刘振豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hainan University
Original Assignee
Hainan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hainan University filed Critical Hainan University
Priority to CN202211431701.1A priority Critical patent/CN115759289A/zh
Publication of CN115759289A publication Critical patent/CN115759289A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种基于用户分组协同的联邦学习方法、系统及装置,其中,一种基于用户分组协同的联邦学习方法,提出了一种基于用户的分组协作联邦学习隐私保护框架,它使用两种尺度的传输方法,在传统的联邦学习架构上增加本地计算,减少与服务器的连接数,可以有效解决用户串通问题。通过改变组数来减少链式结构导致的系统上行消耗时间延长,优于经典的联邦学习平均聚合算法。即使用户相互勾结,仍然可以保护隐私,并且不影响模型训练的准确性。

Description

基于用户分组协同的联邦学习方法、系统及装置
技术领域
本发明涉及人工智能领域,更具体地,涉及一种基于用户分组协同的联邦学习方法、系统及装置。
背景技术
目前,由于行业、企业甚至个人之间的竞争关系和信任度等问题,数据仍处于孤岛状态。自谷歌在2016年提出联邦学习(FL)以来,这个问题得到了改进。在最近的研究中,在FL交换模型梯度的过程中,恶意攻击者可以通过模型参数(即梯度)恢复用户的原始信息,这表明FL不能完全保证用户的隐私。
针对这个问题,目前的解决方案大部分是基于差分隐私(DP)和安全多方计算(SMPC)。DP方案会导致模型精度低的问题,而SMPC的通信开销较大,计算性能随着用户数量的增加而显着下降,也不容易部署移动设备。申请人关注使用链式隐私保护FL框架(chain-PPFL)的方案可以保证模型的准确性同时保护用户的数据隐私。但是,申请人通过分析发现,这种方法仍有一些问题有待解决。首先,在链式结构下,无法解决链中跳跃间断的两个节点可以通过串通正确解密中间节点的梯度信息的问题;其次,由于链式结构,后面的用户节点将不得不等待前面节点的传输,模型的收敛速度会变慢,导致上行通信时间过长。
为了解决上述问题,本申请提出了一种基于用户分组协同的联邦学习方法、系统及装置。
发明内容
本发明提供了一种基于用户分组协同的联邦学习方法、系统及装置,解决相关技术中无法解决链中跳跃间断的两个节点可以通过串通正确解密中间节点的梯度信息的问题,以及链式结构中,后面的用户节点将不得不等待前面节点的传输,模型的收敛速度变慢,导致上行通信时间过长的问题。
第一方面,本申请提供一种基于用户分组协同的联邦学习方法,联邦学习系统包括第一参与节点以及至少一个第二参与节点分组,其特征在于,包括以下步骤:
S10,所述第一参与节点作为中心节点生成第一参数和初始全局模型参数,所述第一参数至少包括与所述第二参与节点个数相同并且和所述初始模型参数维度相同的随机数;
S12,根据网络环境对所述第二参与节点进行分组,第一参与节点将所述第一参数和所述初始全局模型参数分发至各个分组中的所有第二参与节点;
S14,所述第二参与节点接收来自第一参与节点的所述第一参数和所述全局模型参数后,利用本地私有数据进行模型训练,并得到第二参数;
每个所述第二参与节点将所述第二参数传递给同一组内后一个第二参与节点,当所述第二参与节点是所在分组中的最后一个第二参与节点时,将所述第二参数上传到所述第一参与节点,其中,所有所述分组对应的所述第二参数同步上传;
其中,当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数包括所述本地训练结果与本地所属的私有随机数之和;
当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数包括所述训练结果、上一个节点传递过来的所述第二参数、和所述本地所属的私有随机数之和;
S16,所述第一参与节点接收每组最后一个第二参与节点的第二参数,利用所述每组上传的第二参数平均聚合计算,并附带减去所有冗余的随机数,得到下一轮正确的新的全局模型参数;
重复步骤S10-步骤S16,直至达到模型的收敛。
进一步的,所述各第二参与节点分组同时并行工作,所述各个第二参与节点分组之间互不影响,所述第二参与节点分组内的各第二参与节点以链式协同通信的传输机制传输模型。
进一步的,所述各个分组中的第二参与节点存储有列表,所述列表至少包括所述第二参与节点的相邻节点的节点信息以及所述相邻节点的相邻节点的节点信息;所述第二参与节点从所述列表中选择相邻第二参与节点作为传递数据的目标第二参与节点。
进一步的,所述第二参与节点完成一次迭代后的损失函数表述为:
Figure BDA0003945230280000021
Figure BDA0003945230280000031
Figure BDA0003945230280000032
组总的损失函数为:
Figure BDA0003945230280000033
全局模型的损失函数为:
Figure BDA0003945230280000034
其中,
Figure BDA00039452302800000328
表示第
Figure BDA00039452302800000329
组;i的表示第i个第二参与节点;
Figure BDA0003945230280000035
表示第
Figure BDA00039452302800000330
组的第i个第二参与节点在本地拥有的数据集,数据集的大小为
Figure BDA0003945230280000036
Figure BDA0003945230280000037
表示为一个集合
Figure BDA0003945230280000038
其中
Figure BDA0003945230280000039
为有d维输入样本的向量,
Figure BDA00039452302800000310
是样本xj的输出标签;
Figure BDA00039452302800000311
Figure BDA00039452302800000312
的简写,为第二参与节点i一个数据样本的损失函数,其中
Figure BDA00039452302800000313
使用参数w来预测样本((xj,yj))的损失;
Figure BDA00039452302800000314
为第二参与节点i本地所有数据样本
Figure BDA00039452302800000315
总的损失函数。
进一步的,所述第二参数的计算方式包括:当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数为
Figure BDA00039452302800000316
Figure BDA00039452302800000317
当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数为
Figure BDA00039452302800000318
Figure BDA00039452302800000319
其中,
Figure BDA00039452302800000320
为第二参与节点进行模型训练得到的模型参数,
Figure BDA00039452302800000321
为随机数,
Figure BDA00039452302800000322
为第i个第二参与节点的前一个第二参与节点传递的数据。
进一步的,所述利用所述第二参数计算新的全局模型参数包括:当传递到第
Figure BDA00039452302800000331
组的最后一个第二参与节点
Figure BDA00039452302800000323
时,所述第二参与节点
Figure BDA00039452302800000324
Figure BDA00039452302800000325
上传到所述第一参与节点,所述第一参与节点计算得到
Figure BDA00039452302800000326
进而计算所述新的全局模型参数wt+1
Figure BDA00039452302800000327
第二方面,本申请还提供一种基于用户分组协同的联邦学习系统,包括:
第一参与节点,用于生成第一参数,所述第一参数至少包括随机数,将所述第一参数和全局模型参数分发至各个分组中的所有第二参与节点;至少一个第二参与节点分组,用于接收来自所述第一参与节点的所述第一参数和全局模型参数,进行模型训练,并得到第二参数;所述每个所述第二参与节点还用于将所述第二参数传递给后一个第二参与节点,当所述第二参与节点是所在分组中的最后一个第二参与节点时,将所述第二参数上传到所述第一参与节点;其中,当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数包括所述训练结果与随机数之和;当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数包括所述训练结果、上一个节点传递过来的参数、和随机数的和;所述第一参与节点还用于接收每组最后一个第二参与节点的第二参数,利用所述第二参数计算新的全局模型参数。
进一步的,所述第二参与节点,还用于存储列表,所述列表至少包括所述第二参与节点的相邻节点的节点信息以及所述相邻节点的相邻节点的节点信息;所述第二参与节点从所述列表中选择相邻第二参与节点作为传递数据的目标第二参与节点。
第三方面,本申请还提供一种基于用户分组协同的联邦学习装置,所述联邦学习装置包括:
第一参数生成单元,生成第一参数,所述第一参数至少包括随机数;
模型参数分发单元,将所述第一参数分发给各个分组的所有第二参与节点;
模型训练单元,使用第一参数或使用第一参数和上一个节点传递过来的参数进行模型训练,并得到第二参数;
第二参数生成单元,用于生成第二参数,其中,当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数包括所述训练结果与随机数之和;当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数包括所述训练结果、上一个节点传递过来的参数、和随机数的和;
聚合单元,用于利用所述每组最后一个第二参与节点的第二参数,生成新的全局模型参数。
进一步的,所述装置还包括:存储单元,用于存储列表,所述列表至少包括所述第二参与节点的相邻节点的节点信息以及所述相邻节点的相邻节点的节点信息;节点选择单元:用于从所述列表中选择相邻第二参与节点作为传递数据的目标第二参与节点。
本发明实施例提供的一种基于用户分组协同的联邦学习方法,提出了一种基于用户的分组协作联邦学习隐私保护框架,它使用两种尺度的传输方法,在传统的FL架构上增加本地计算,减少与服务器的连接数,可以有效解决用户串通问题。通过改变组数来减少链式结构导致的系统上行消耗时间延长,优于经典的联邦学习平均聚合算法(FedAvg)。即使用户相互勾结,仍然可以保护隐私,并且不影响模型训练的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明实施例提供的基于用户分组协同的联邦学习系统的示意图;
附图2为本发明实施例提供的联邦学习系统通信过程示意图;
附图3为本发明实施例提供的MNIST数据集non-IID下CNN模型的精度示意图;
附图4为本发明实施例提供的MNIST数据集IID下CNN模型的精度示意图;
附图5为本发明实施例提供的DLG算法攻击下的梯度匹配损失示意图。
附图6为本发明实施例提供的分组个数与消耗时间的关系示意图。
附图7为本发明实施例提供的随着设备的增加系统上行消耗的时间示意图。
具体实施方式
本说明书实施例提供的联邦学习方法和装置可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务器设备的软件或硬件来执行。所述服务器设备包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述终端设备包括但不限于:智能手机、个人电脑(personal computer,PC)、笔记本电脑、平板电脑、电子阅读器、网络电视、可穿戴设备等智能终端设备中的任一种。
在本说明书的实施例中,术语“第一参与节点”可以是部署或维护全局模型(例如,业务模型)的设备或设备方,比如,终端设备、服务器设备等。“第一参与节点”也可以称为“服务端”、“边缘服务器”、“聚合服务器”、“模型拥有方”或者“第一参与节点设备”。术语“第二参与节点”可以是用于本地收集数据样本的设备或设备方,比如,智能终端设备、服务器设备等。“第二参与节点”也可以称为“数据拥有方”、“数据持有方”、“参与者”、“用户”或者“第二参与节点设备”。
在一个实际应用示例中,第一参与节点例如可以是服务器,以及各个第二参与节点例如可以是不同的私有数据存储服务器或智能终端设备,本申请的方案可以作为普适的解决方法应用于各种领域,例如自动驾驶、智能家居、医疗健康等。
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前的主流联邦学习框架,通信压力主要集中于客户端的上层结构(聚合节点),虽然可以将用户分成组汇聚到边缘节点,但这却增大了聚合成本,例如增置服务器的数量等,而不是将有限的资源,即服务器资源和客户端资源,特别是客户端资源充分利用。若是仅仅简单的分成组,那么在各组内结构上,即部分客户端和一个聚合节点,这样来看和经典联邦学习并无区别,在面对数以万计的用户,上层结构,我们把它叫做中间聚合节点,如中间服务器,依旧会出现服务器的资源、性能瓶颈,从整个系统上来看,资源利用率较低,这是因为服务器端资源是有限的,而客户端往往只需与服务器进行一对一上传数据,然而客户端设备的资源会在所有用户同时与服务器通信中的等待中浪费。虽然异步联邦学习算法会改善这种情况,但是训练出来的模型精度较低,因此这里我们只讨论同步联邦学习。
经发明人研究发现,在联邦学习(FL)交换模型梯度的过程中,恶意攻击者可以通过模型参数(即梯度)恢复用户的原始信息。这表明FL不能完全保证用户的隐私。针对这个问题,目前的解决方案,其中大部分是基于差分隐私(DP)和安全多方计算(SMPC)。DP方案会导致模型精度低的问题,而SMPC的通信开销较大,计算性能随着用户数量的增加而显着下降,也不容易部署移动设备。使用链式隐私保护FL框架(chain-PPFL)可以在保证模型的准确性的同时,保护了用户的数据隐私。但是,申请人发现,这种方法仍有一些问题有待解决。首先,在链式结构下,无法解决链中跳跃间断的两个节点可以通过串通正确解密中间节点的梯度信息的问题。其次,由于链式结构,后面的用户节点将不得不等待前面节点的传输,模型的收敛速度会变慢,导致上行通信时间过长。为了解决上述问题,本申请提出了一种基于用户分组协同的联邦学习方法。
在一个实施例中,本申请提出了一种基于用户的分组协作联邦学习隐私保护框架,图1是本发明实施例提供的基于用户分组协同的联邦学习系统的示意图,包含一个边缘服务器(第一参与节点)和含有K个参与者或用户(第二参与节点)的联邦学习系统。首先,根据网络环境对第二参与节点进行分组,把K个参与者分为由群组成的L个集合,即被分为
Figure BDA0003945230280000071
集群
Figure BDA0003945230280000072
Figure BDA0003945230280000073
每个集合含有
Figure BDA0003945230280000077
个客户端,因此
Figure BDA0003945230280000075
在无线网络环境中,通信能力不足的设备会更多,尤其是当设备距离信号源(基站)的距离较大时会发生掉线等问题,因此通过“设备-设备”的通信方式,可以有效缩短通信端的距离,提高通信能力。
在一个实施例中,本申请采用不同于经典联邦学习的系统架构,在集群内,参与者(第二参与节点)可以互相通信并传递数据。如图2所示,参与者可以根据不同的网络选择自己的邻居节点,例如,基于“邻居-邻居”列表的P2P网络模型。
在一个实施例中,各第二参与节点分组同时并行工作,各个第二参与节点分组之间互不影响,第二参与节点分组内的各第二参与节点以链式协同通信的传输机制传输模型。
在一个实施例中,各个分组中的第二参与节点存储有列表,列表除了包括连接的几个邻居节点的节点标识、名称、地址等信息,同时还包括了邻居节点的邻居节点信息,从而提高了网络的自愈性和鲁棒性。即使是某一节点受到攻击,也能迅速与新的邻居节点建立连接,避免了部分节点的损失和离线节点对整个网络的影响。同时也可以根据物理距离,传输功率和信道条件创建一个D2D邻居网络图,
Figure BDA0003945230280000076
其中El表示边的集合。列表可以根据需要提前设置。在每一个组内,每个参与者都会选择邻居列表中的节点作为自己下一个需要传递数据的用户。
在一个实施例中,各个分组中的第二参与节点存储有列表,列表包括本分组所有节点的信息,各节点对各自获取的节点信息列表进行同步。具体而言,可以指定一个主节点,除主节点以外的其他节点都是非主节点,每个非主节点构造用于指定自己获取的节点信息列表的列表指定消息,将列表指定消息发送给主节点。主节点如果确定存在N(预设最小值)个以上的节点(包括主节点自己)获取到一致的节点信息列表,那么就可以认定这个一致的节点信息列表是准确的,就可以向所在分组中广播包含这个一致的节点信息列表的列表信息,各节点接收上述信息并完成节点信息列表的同步。
在一个实施例中,当主节点超过指定时长未响应时,需要及时反馈同步失败结果或者通知各节点重新获取一次节点信息列表,或者更换主节点。
在一个实施例中,本申请将参与者以组为单位,在第
Figure BDA00039452302800000817
组的第i个参与者在本地拥有一个数据集
Figure BDA0003945230280000081
数据集的大小为
Figure BDA0003945230280000082
在一个受监督的联邦学习的设置中,
Figure BDA0003945230280000083
表示为一个集合
Figure BDA0003945230280000084
其中
Figure BDA0003945230280000085
为有d维输入样本的向量,
Figure BDA0003945230280000086
是样本xj的输出标签。本申请令
Figure BDA0003945230280000087
简写为
Figure BDA0003945230280000088
作为用户i一个数据样本的损失函数,其中
Figure BDA0003945230280000089
即本申请使用参数w来预测样本((xj,yj))的损失。令
Figure BDA00039452302800000810
作为用户i本地所有数据样本
Figure BDA00039452302800000811
总的损失函数。那么用户i完成一次迭代后的损失函数表述为:
Figure BDA00039452302800000812
那么第
Figure BDA00039452302800000818
组总的损失函数为:
Figure BDA00039452302800000813
因此,全局模型的损失函数为:
Figure BDA00039452302800000814
普遍的联邦学习系统都采用经典的星型拓扑网络结构。这使得在同步联邦学习中,同一时间内有大量的用户与服务器通讯,有时会发生网络拥堵的情况。在本申请中,组内用户先通过D2D链式传播方式进行模型参数的传输,由组内最后一个用户上传至服务器,大大减少了与服务器连接的用户个数,缓解了网络流量的压力。
在一个实施例中,联邦学习的消耗的时间主要包括服务器广播全局模型、用户本地训练、模型参数上传至服务器的传输时间和服务器聚合模型的时间。服务器的传输功率和带宽大于上行通信,因此可以被忽略。
在一个实施例中,令用户i本地计算的能力设为
Figure BDA00039452302800000815
计算数据样本时设备CPU循环的轮数为
Figure BDA00039452302800000816
因此用户i本地计算的时间为:
Figure BDA0003945230280000091
由于本地计算是同步的,那么系统所需的本地计算时间为:
Figure BDA0003945230280000092
在一个无线网络中,可以利用正交频分多址通过D2D传输本地FL模型至服务器,则设备的传输功率为:
Figure BDA0003945230280000093
其中
Figure BDA0003945230280000094
为带宽,
Figure BDA0003945230280000095
为传输功率,Nd为噪音功率,
Figure BDA0003945230280000096
为信道系数。
本申请令FL模型参数大小为z,这是一个常数,所以通信时长为:
Figure BDA0003945230280000097
那么每组的通信时长为:
Figure BDA0003945230280000098
在一个实施例中,由于在用户相互勾结的网络环境中,单一掩蔽链式传播方式仍旧可以泄露用户隐私。在每一轮中,服务器会提前生成与参与者相同数量的随机数
Figure BDA0003945230280000099
Figure BDA00039452302800000910
是一个和模型参数w具有相同维度的矩阵。它的作用是给每一个本地模型参数加入噪声,不同于差分隐私的是,这并不会影响模型的精度。在第t轮训练中,第
Figure BDA00039452302800000915
组的第i个参与者在训练结束后,会将会将训练的模型参数
Figure BDA00039452302800000911
Figure BDA00039452302800000912
相加。随后将这一结果传递给下一个邻居节点。除了第一个参与者,其余参与者不仅使用U进行加噪,还会同时计算上一个节点传递过来的参数,即本申请采用“双重掩蔽”的隐私保护方案。
这种机制使每一个参与者的结果不仅包含作为遮掩的随机数,还包含上一个参与者的信息。使得只需要组内最后一个参与者上传参数就可以包含这一组所有用户的信息。在协助传递信息的同时,有效杜绝了参者之间相互勾结的问题。由于服务器知道U,因此在全局聚合时可以被减掉,从而或者正确的结果。
在一个实施例中,链式传输过程如下:
步骤1:聚合服务器(第一参与节点):在第t轮训练中,服务器分发全局模型参数wt,每个参与的用户同时获得
Figure BDA00039452302800000913
步骤2:参与的客户端(第二参与节点):当用户k接收到来自边缘服务器的信息后,在规定的时间内根据本地数据进行训练模型。用户使用Mini-batch SGD的方式在本地训练。当用户k本地计算完成后,得出模型参数
Figure BDA00039452302800000914
接下来会计算:
Figure BDA0003945230280000101
对于第
Figure BDA00039452302800001014
组的第一个用户会将
Figure BDA0003945230280000102
传递给第二个用户,而除了第一个用户的其他用户i,除了计算
Figure BDA0003945230280000103
还应计算上一个与它通信的用户的数据,即
Figure BDA0003945230280000104
本申请把它表示为:
Figure BDA0003945230280000105
步骤3:聚合服务器:当传递到第
Figure BDA00039452302800001015
组的最后一个用户
Figure BDA0003945230280000106
时,用户
Figure BDA0003945230280000107
会把
Figure BDA0003945230280000108
上传到边缘服务器。由于边缘服务器会提前计算好所有的随机数
Figure BDA0003945230280000109
因此边缘服务器只需要将每个组的最后一个用户上传的参数进行加和。最后再进行平均即可:
Figure BDA00039452302800001010
当服务器聚合后,开始第t+1轮的模型训练,服务器重新生成
Figure BDA00039452302800001011
并广播wt+1
Figure BDA00039452302800001012
给参与的用户,重复步骤1-步骤3,直到到达到模型的收敛。
在隐私保护领域,往往为了隐私的目的而牺牲部分准确性。例如,差分隐私在模型参数w中添加了噪声,但它会影响模型的准确性。如公式(11)所示,服务器在聚合时减去所有随机数,结果为所有用户模型参数的平均参数。即使本申请添加更多的随机数,这些随机数也是在服务器端生成的,可以很容易地计算出正确的平均聚合结果。
在一个实施例中,具体的分组协作联邦学习隐私保护框架算法如下:
Figure BDA00039452302800001013
Figure BDA0003945230280000111
在FL的网络环境下,用户合谋的问题是无法避免的。例如,第二参与节点的链中只有第一个节点从服务器端接收随机数U0,t。该节点会将U0,t添加到训练的模型参数w1,t。然后将生成一个新的U1,t。并且这个节点继续传输到下一个节点,执行相同的操作直到最后一个节点。根据链式FL策略,当与任意两个跳跃用户节点勾结时,中间用户的模型参数可以计算出来:
Figure BDA0003945230280000112
如公式(12)所示,中间用户参数wi,t能通过两个跳跃节点的值相减来计算得出。这显然是FL隐私保护框架中的一大隐患。
在一个实施例中,本申请每个用户都有自己的随机数来覆盖本地模型参数,从而解决了用户合谋的问题:
Figure BDA0003945230280000113
可以看到,即使是合谋,计算出来的结果也是混合的结果
Figure BDA0003945230280000114
原始参数信息很难推出。同样,无论用户如何相互勾结,结果都是被攻击用户的参数和一个随机数之和。
在一个实施例中,由于在一个区域环境中,链式的连接方式会导致信息传输速度过慢。因此,为了提高通信过程的并行程度,将网络中的K个用户分成若干组。
由于使用的是同步联邦学习,因此在本地训练模型的时间总是会等待最慢的节点,所以在比较几种算法时忽略了这部分时间。因此,系统所花费的总时间包括通信时间Tcomm、链式机制中本地额外计算时间Tcomp_c和计算模型参数的服务器时间Tcomp_s,所以总时间为:
Ttotal=Tcomm+Tcomp_c+Tcomp_s. (14)
本申请定义了两个设备处理信息的能力,即单位时间内处理的字节数的大小。为了分析方便,将其表示为单位时间内处理的模型参数个数。一个是客户端,设置为C,,另一个是服务器端,设置为S。使用平均传输速率
Figure BDA0003945230280000121
作为每个用户i的传输速度。每个组都有相同数量的用户。那么对于FedAvg,一轮迭代K个用户所花费的总时间为:
Figure BDA0003945230280000122
一轮chain-PPFL的总时间是K个本地用户传输信息的时间、最后一个用户上传到服务器的时间和在服务器上计算的时间:
Figure BDA0003945230280000123
由于同一边缘服务器下的用户被分为L组,组之间的处理是并行进行的,从而减少了总的上传时间。总时间TGrCol-PPEL包括组内用户通信时间、从每个组的最后一个用户上传L个用户到边缘服务器并在服务器上计算的时间:
Figure BDA0003945230280000124
由于后续节点需要花费更多的等待时间。显然,当用户足够多时,chain-PPFL方案比FedAvg耗时更长,即TFedAvg≤Tchain-PPFL。本实施例的目标是减少TGrCol-PPEL的时间,所以让TGrCol-PPEL≤TFedAvg
Figure BDA0003945230280000125
化简后的二次判别式为:
Figure BDA0003945230280000126
可以观察到ξ大于等于0,所以有L使得不等式成立。并且实验表明,存在L使得系统所消耗的时间优于其他方案。因此存在一个最优的组数,使本申请的技术方案的沟通效率是最好的。
本发明的申请人通过实验对本发明的技术方案进行了进一步分析和验证。
具体如下:
在模型精度测试中,测试了分组协作联邦学习隐私保护框架、FedAvg、Chain-PPFL和DP的模型精度。实验环境相同,都是基于pytorch仿真环境。本地训练的批大小B=10,学习率η=0.1。其中,对于DP,选择方差不同的噪声10-1和10-4,目的是在模型参数中加入不同程度的噪声,以观察对模型精度的影响。在传输和计算方面,设置模型的大小z=28.1kbit,客户端的平均传输速率为281kbit/s。同时,将C和S设置为1和5。并且,不断调整选择的100个用户的组数L,以验证是否存在与其他方案相比减少系统时间的最佳组数。
MNIST数据库有一个包含60,000个示例的训练集和一个包含10,000个示例的测试集。这些数字在固定大小的图像中被归一化并居中。本申请将数据分为两种形式:i)独立同分布(IID),将数据打乱并分成100个用户,每个用户接收600个样本;ii)非IID,数据按数字标签排序,分为200个大小为300的分片。本申请为100个用户分配两个分片。在模型方面,本申请使用两个5x5卷积层的卷积神经网络(CNN)模型,其全连接层有512个单元和ReLU激活函数,一个softmax输出层。然后,本申请使用CIFAR-100数据集和梯度深度泄漏(DLG)算法通过梯度恢复图像以测试系统的安全性。本申请在Dell Precision 3630台式计算机上评估了本申请的模型,该计算机使用第9代Intel Core i7-9700K CPU,16GB。
在模型精度测试中,发明人选择CNN模型在non-IID的数据集上训练500轮。如图3所示,FedAvg、chain-PPFL、Laplacian noise-10-4(L-10-4)和分组协作联邦学习隐私保护框架的准确率都可以保持在95%以上,这证明本申请的方案不影响聚合期间模型参数算法的正确性。在DP实验中,本申请可以看到噪声的大小会影响模型的准确性。当方差为10-4时,一般不影响模型的准确率,这与FedAvg一致。当方差为10-1时,模型参数中加入的噪声较大,参数模糊化明显,影响模型精度。
表1显示了随着模型训练轮数的增加准确率变化的值。可以看出,除了Laplaciannoise-10-1(L-10-1)外,其他四种情况的准确率基本一致。因此,分组协作联邦学习隐私保护框架方案在非IID数据集上的准确性不会受到影响。在服务器聚合时,可以获得正确的参数。
表1:不同轮数算法下non-IID的CNN模型准确率(%)
Figure BDA0003945230280000141
图4中曲线的大致方向与图3一致。为了更清楚地看到曲线的变化,我们将y轴的间隔设置为88-100。曲线比非IID更平滑。经过500轮训练后,除L-10-1外,准确率均在98%以上。这是因为分配给用户的数据是IID。这种情况更类似于集中式机器学习,所以曲线更平滑。L-10-1的情况与图3相同,这是由于添加了过多的噪声,但服务器无法找到正确的参数。相反,尽管分组协作联邦学习隐私保护框架和chain-PPFL比L-10-1策略有更多的噪声,但服务器可以减少多余的噪声并获得正确的参数。
表2展示了IID情况下模型精度随轮数的变化,这更加验证了分组协作联邦学习隐私保护框架并不会损失模型精度。
表2:不同轮数算法下IID的CNN模型准确率(%)
Figure BDA0003945230280000142
我们利用DLG算法来匹配模型梯度。DLG算法利用用户上传的梯度生成虚拟数据和相同维度的标签。然后通过计算虚拟梯度,不断缩小虚拟梯度与真实梯度的距离,最终恢复原始梯度。Chain-PPFL可以通过用户合谋获取模型参数。因此,chain-PPFL与FedAvg方案一样,可以将模型参数暴露给攻击者以揭示原始图像。因此,在绘制DLG攻击图像时,我们将这两种方案视为相同。
从图5可以看出,经过300轮训练,FedAvg/chain-PPFL和方差为10-4的拉普拉斯噪声的梯度匹配损失值几乎为0,完全可以泄露用户的原始图片信息。但是,方差为10-1的拉普拉斯噪声的梯度匹配损失值在300轮训练后保持在8左右,图像信息没有恢复。分组协作联邦学习隐私保护框架方案具有更高的梯度匹配损失值,同时也具有更好的隐私保护效果。
所以我们可以看到,当噪声的方差越大,即干扰越多,保护隐私的能力越强。但干扰并不是越大越好。下面我们将详细分析准确性和安全性的比较。
我们将几种方案与非IID分布和500轮训练平均准确度以及300轮后DLG的梯度匹配损失的数据进行比较。从表3可以看出,只有L-10-1和分组协作联邦学习隐私保护框架具有防御DLG攻击的能力,但是L-10-1的准确率由于加入了较大的拉普拉斯噪声,准确率较低。我们的方案不仅可以在用户相互勾结的网络环境中保护隐私,而且不影响模型的准确性。
表3:准确性和安全性的比较
Figure BDA0003945230280000151
我们通过改变组的数量来测量分组协作联邦学习隐私保护框架的上行消耗时间。
如图6所示,当组数为1时,分组协作联邦学习隐私保护框架相当于chain-PPFL,通信延迟最高,因为有很多节点需要等待前一个节点的传输完成。当L=100时,分组协作联邦学习隐私保护框架相当于FedAvg,所有用户同时与服务器通信。由于我们使TGrCol-PPFL≤TFedAvg,并且FedAvg中的用户不会被分组,我们将FedAvg作为基线。我们尝试改变分组的数量。我们可以看到基线以下的部分是低于FedAvg的组数。在这些组分数中,可以减少系统的上行消耗时间,并且可以找到一个使上行链路消耗时间最小的最优组。
图7中绿色曲线表示分组协作联邦学习隐私保护框架方案最优组下系统上行消耗时间。我们可以观察到chain-PPFL的时间随着用户的增加而显着增加。分组协作联邦学习隐私保护框架可以随着用户的增加动态调整组数,时间低于FedAvg。
基于一个总的发明构思,本发明实施例还提供了一种基于用户分组协同的联邦学习系统,包括:第一参与节点,用于生成第一参数,所述第一参数至少包括随机数,将所述第一参数和全局模型参数分发至各个分组中的所有第二参与节点;至少一个第二参与节点分组,用于接收来自所述第一参与节点的所述第一参数和全局模型参数,进行模型训练,并得到第二参数;所述每个所述第二参与节点还用于将所述第二参数传递给后一个第二参与节点,当所述第二参与节点是所在分组中的最后一个第二参与节点时,将所述第二参数上传到所述第一参与节点;其中,当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数包括所述训练结果与随机数之和;当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数包括所述训练结果、上一个节点传递过来的参数、和随机数的和;所述第一参与节点还用于接收每组最后一个第二参与节点的第二参数,利用所述第二参数计算新的全局模型参数。
基于一个总的发明构思,本发明实施例还提供了一种基于用户分组协同的联邦学习装置,联邦学习装置包括:
第一参数生成单元,生成第一参数,所述第一参数至少包括随机数;
模型参数分发单元,将所述第一参数分发给各个分组的所有第二参与节点;
模型训练单元,使用第一参数或使用第一参数和上一个节点传递过来的参数进行模型训练,并得到第二参数;
第二参数生成单元,用于生成第二参数,其中,当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数包括所述训练结果与随机数之和;当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数包括所述训练结果、上一个节点传递过来的参数、和随机数的和;聚合单元,用于利用所述每组最后一个第二参与节点的第二参数,生成新的全局模型参数。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于用户分组协同的联邦学习方法,联邦学习系统包括第一参与节点以及至少一个第二参与节点分组,其特征在于,包括以下步骤:
S10,所述第一参与节点作为中心节点生成第一参数和初始全局模型参数,所述第一参数至少包括与所述第二参与节点个数相同并且和所述初始模型参数维度相同的随机数;
S12,根据网络环境对所述第二参与节点进行分组,第一参与节点将所述第一参数和所述初始全局模型参数分发至各个分组中的所有第二参与节点;
S14,所述第二参与节点接收来自第一参与节点的所述第一参数和所述全局模型参数后,利用本地私有数据进行模型训练,并得到第二参数;
每个所述第二参与节点将所述第二参数传递给同一组内后一个第二参与节点,当所述第二参与节点是所在分组中的最后一个第二参与节点时,将所述第二参数上传到所述第一参与节点,其中,所有所述分组对应的所述第二参数同步上传;
其中,当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数包括所述本地训练结果与本地所属的私有随机数之和;
当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数包括所述训练结果、上一个节点传递过来的所述第二参数、和所述本地所属的私有随机数之和;
S16,所述第一参与节点接收每组最后一个第二参与节点的第二参数,利用所述每组上传的第二参数平均聚合计算,并附带减去所有冗余的随机数,得到下一轮正确的新的全局模型参数;
重复步骤S10-步骤S16,直至达到模型的收敛。
2.如权利要求1所述的基于用户分组协同的联邦学习方法,其特征在于,
所述各第二参与节点分组同时并行工作,所述各个第二参与节点分组之间互不影响,所述第二参与节点分组内的各第二参与节点以链式协同通信的传输机制传输模型。
3.如权利要求1所述的基于用户分组协同的联邦学习方法,其特征在于,
所述各个分组中的第二参与节点存储有列表,所述列表至少包括所述第二参与节点的相邻节点的节点信息以及所述相邻节点的相邻节点的节点信息;
所述第二参与节点从所述列表中选择相邻第二参与节点作为传递数据的目标第二参与节点。
4.如权利要求1所述的基于用户分组协同的联邦学习方法,其特征在于,
所述第二参与节点完成一次迭代后的损失函数表述为:
Figure FDA0003945230270000021
Figure FDA0003945230270000022
第l组总的损失函数为:
Figure FDA0003945230270000023
全局模型的损失函数为:
Figure FDA0003945230270000024
其中,l表示第l组;i的表示第i个第二参与节点;
Figure FDA0003945230270000025
表示第l组的第i个第二参与节点在本地拥有的数据集,数据集的大小为
Figure FDA0003945230270000026
Figure FDA0003945230270000027
表示为一个集合
Figure FDA0003945230270000028
其中
Figure FDA0003945230270000029
为有d维输入样本的向量,
Figure FDA00039452302700000210
是样本xj的输出标签;
Figure FDA00039452302700000211
Figure FDA00039452302700000212
的简写,为第二参与节点i一个数据样本的损失函数,其中
Figure FDA00039452302700000213
使用参数w来预测样本((xj,yj))的损失;
Figure FDA00039452302700000214
为第二参与节点i本地所有数据样本
Figure FDA00039452302700000215
总的损失函数。
5.如权利要求4所述的基于用户分组协同的联邦学习方法,其特征在于,所述第二参数的计算方式包括:
当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数为
Figure FDA00039452302700000216
当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数为
Figure FDA00039452302700000217
其中,
Figure FDA00039452302700000218
为第二参与节点进行模型训练得到的模型参数,
Figure FDA00039452302700000219
为随机数,
Figure FDA00039452302700000220
为第i个第二参与节点的前一个第二参与节点传递的数据。
6.如权利要求5所述的基于用户分组协同的联邦学习方法,其特征在于,所述利用所述第二参数计算新的全局模型参数包括:
当传递到第l组的最后一个第二参与节点κl时,所述第二参与节点κl
Figure FDA0003945230270000031
上传到所述第一参与节点,所述第一参与节点计算得到
Figure FDA0003945230270000032
进而计算所述新的全局模型参数wt+1
Figure FDA0003945230270000033
7.一种基于用户分组协同的联邦学习系统,其特征在于,包括:
第一参与节点,用于生成第一参数,所述第一参数至少包括随机数,将所述第一参数和全局模型参数分发至各个分组中的所有第二参与节点;
至少一个第二参与节点分组,用于接收来自所述第一参与节点的所述第一参数和全局模型参数,进行模型训练,并得到第二参数;
所述每个所述第二参与节点还用于将所述第二参数传递给后一个第二参与节点,当所述第二参与节点是所在分组中的最后一个第二参与节点时,将所述第二参数上传到所述第一参与节点;
其中,当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数包括所述训练结果与随机数之和;
当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数包括所述训练结果、上一个节点传递过来的参数、和随机数的和;
所述第一参与节点还用于接收每组最后一个第二参与节点的第二参数,利用所述第二参数计算新的全局模型参数。
8.如权利要求7所述的基于用户分组协同的联邦学习系统,其特征在于,
所述第二参与节点,还用于存储列表,所述列表至少包括所述第二参与节点的相邻节点的节点信息以及所述相邻节点的相邻节点的节点信息;
所述第二参与节点从所述列表中选择相邻第二参与节点作为传递数据的目标第二参与节点。
9.一种基于用户分组协同的联邦学习装置,其特征在于,
所述联邦学习装置包括:
第一参数生成单元,生成第一参数,所述第一参数至少包括随机数;
模型参数分发单元,将所述第一参数分发给各个分组的所有第二参与节点;
模型训练单元,使用第一参数或使用第一参数和上一个节点传递过来的参数进行模型训练,并得到第二参数;
第二参数生成单元,用于生成第二参数,其中,当所述第二参与节点为所在分组中的第一个第二参与节点时,所述第二参数包括所述训练结果与随机数之和;当所述第二参与节点是除第一个第二参与节点以外的其他第二参与节点时,所述第二参数包括所述训练结果、上一个节点传递过来的参数、和随机数的和;
聚合单元,用于利用所述每组最后一个第二参与节点的第二参数,生成新的全局模型参数。
10.如权利要求9所述的基于用户分组协同的联邦学习装置,其特征在于,所述装置还包括:
存储单元,用于存储列表,所述列表至少包括所述第二参与节点的相邻节点的节点信息以及所述相邻节点的相邻节点的节点信息;
节点选择单元:用于从所述列表中选择相邻第二参与节点作为传递数据的目标第二参与节点。
CN202211431701.1A 2022-11-16 2022-11-16 基于用户分组协同的联邦学习方法、系统及装置 Pending CN115759289A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211431701.1A CN115759289A (zh) 2022-11-16 2022-11-16 基于用户分组协同的联邦学习方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211431701.1A CN115759289A (zh) 2022-11-16 2022-11-16 基于用户分组协同的联邦学习方法、系统及装置

Publications (1)

Publication Number Publication Date
CN115759289A true CN115759289A (zh) 2023-03-07

Family

ID=85371600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211431701.1A Pending CN115759289A (zh) 2022-11-16 2022-11-16 基于用户分组协同的联邦学习方法、系统及装置

Country Status (1)

Country Link
CN (1) CN115759289A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116049862A (zh) * 2023-03-13 2023-05-02 杭州海康威视数字技术股份有限公司 基于异步分组联邦学习的数据保护方法、装置及系统
CN117393148A (zh) * 2023-10-27 2024-01-12 中科晶锐(苏州)科技有限公司 一种能够保护患者隐私的智能医疗联邦学习方法和装置
CN117393148B (zh) * 2023-10-27 2024-06-07 中科晶锐(苏州)科技有限公司 一种能够保护患者隐私的智能医疗联邦学习方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116049862A (zh) * 2023-03-13 2023-05-02 杭州海康威视数字技术股份有限公司 基于异步分组联邦学习的数据保护方法、装置及系统
CN117393148A (zh) * 2023-10-27 2024-01-12 中科晶锐(苏州)科技有限公司 一种能够保护患者隐私的智能医疗联邦学习方法和装置
CN117393148B (zh) * 2023-10-27 2024-06-07 中科晶锐(苏州)科技有限公司 一种能够保护患者隐私的智能医疗联邦学习方法和装置

Similar Documents

Publication Publication Date Title
Lu et al. Low-latency federated learning and blockchain for edge association in digital twin empowered 6G networks
Lin et al. Task offloading for wireless VR-enabled medical treatment with blockchain security using collective reinforcement learning
Zhang et al. Client selection for federated learning with non-iid data in mobile edge computing
Tang et al. Computational intelligence and deep learning for next-generation edge-enabled industrial IoT
CN112712182B (zh) 一种基于联邦学习的模型训练方法、装置及存储介质
Yuan et al. Chainsfl: Blockchain-driven federated learning from design to realization
CN112637883A (zh) 电力物联网中对无线环境变化具有鲁棒性的联邦学习方法
Wang et al. Beh-Raft-Chain: a behavior-based fast blockchain protocol for complex networks
Sultana et al. Eiffel: Efficient and fair scheduling in adaptive federated learning
CN115759289A (zh) 基于用户分组协同的联邦学习方法、系统及装置
Xuan et al. DAM‐SE: A Blockchain‐Based Optimized Solution for the Counterattacks in the Internet of Federated Learning Systems
Li et al. Data analytics for fog computing by distributed online learning with asynchronous update
AbdulRahman et al. Adaptive upgrade of client resources for improving the quality of federated learning model
Chen et al. Enhancing decentralized federated learning for non-iid data on heterogeneous devices
de Oliveira Souza et al. Cbnet: Minimizing adjustments in concurrent demand-aware tree networks
Abbasi et al. FLITC: A novel federated learning-based method for IoT traffic classification
Yang et al. User-centric blockchain for industry 5.0 applications
Hu et al. Fedcross: Towards accurate federated learning via multi-model cross aggregation
Wagle et al. Embedding alignment for unsupervised federated learning via smart data exchange
Wilhelmi et al. Analysis and evaluation of synchronous and asynchronous FLchain
CN115099421A (zh) 面向群组的联邦学习系统
Liu et al. A Novel Blockchain-Assisted Aggregation Scheme for Federated Learning in IoT Networks
CN114580661A (zh) 基于联邦学习的数据处理方法、装置和计算机设备
JP2023551354A (ja) 分散決定論的ネットワークの動作
Feng et al. Cobc: A blockchain-based collaborative inference system for the internet of things

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