CN116976468A - 一种安全可靠的分布式学习方法 - Google Patents
一种安全可靠的分布式学习方法 Download PDFInfo
- Publication number
- CN116976468A CN116976468A CN202310968664.6A CN202310968664A CN116976468A CN 116976468 A CN116976468 A CN 116976468A CN 202310968664 A CN202310968664 A CN 202310968664A CN 116976468 A CN116976468 A CN 116976468A
- Authority
- CN
- China
- Prior art keywords
- client
- local
- round
- gradient
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012360 testing method Methods 0.000 claims abstract description 30
- 230000032683 aging Effects 0.000 claims abstract description 7
- 238000012937 correction Methods 0.000 claims abstract description 7
- 238000004220 aggregation Methods 0.000 claims description 76
- 230000002776 aggregation Effects 0.000 claims description 75
- 238000012549 training Methods 0.000 claims description 63
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 13
- 238000012935 Averaging Methods 0.000 claims description 11
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 230000006872 improvement Effects 0.000 claims description 6
- 238000006116 polymerization reaction Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000012797 qualification Methods 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims description 3
- 238000011426 transformation method Methods 0.000 claims description 3
- 239000013589 supplement Substances 0.000 claims description 2
- 238000010801 machine learning Methods 0.000 abstract description 3
- 230000008901 benefit Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble 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)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种安全可靠的分布式学习方法,属于机器学习领域,具体包括以下步骤:S1:在服务器收到客户端模型后,针对每个客户端的局部迭代轮次精度来分别与局部模型测试精度、临时全局模型以及上一个时期的全局模型进行比较,计算客户端模型的信誉分数,并把信誉分数进行保存;S2:延迟梯度平均更新:客户端不间断的进行本地更新,并通过梯度校正项来补偿梯度老化现象。本发明可提高全局模型的可靠性和稳健性。
Description
技术领域
本发明属于机器学习领域,涉及一种安全可靠的分布式学习方法。
背景技术
随着人工智能相关技术的广泛应用,驱动人工智能模型的大数据已成为信息时代的重要特征。然而,数据孤岛的存在阻碍了大数据赋能应用。从粗粒度来看,数据被掌握在多个服务提供商手中;从细粒度来看,数据产生于独立个人或物联网设备。为了解决数据孤岛下的数据赋能问题,近年来,多个数据持有方合作训练机器学习模型的方式逐渐流行起来。但是,由多个数据持有方提供数据、基于中心服务器融合多方数据来训练模型的方案存在数据隐私安全的问题。为了应对相关挑战,“数据不动模型动”的联邦学习框架随之兴起,并逐渐成为多方合作训练模型的新范式。在联邦学习中,各参与方每轮次传递模型梯度更新来合作训练联邦模型,各参与方的数据不离开本地,保证了数据隐私安全。
尽管联邦学习为移动网络带来了巨大的好处,但仍然面临着严峻的挑战。一方面,现有研究大多假设客户端和服务器之间的交互行为是处于稳定状态,当客户端在本地训练处于移动状态时,在本地模型训练前后的这段时间内,移动客户端很大概率会超出服务器的通信连接范围而导致协作训练失败。并且随着网络模型的复杂化和精细化,本地训练的时间会变长,移动客户端和服务器的通信交互成功率会大大降低。另一方面,不可靠的参与客户端可能会有意或无意地做出一些行为,从而误导联邦学习任务的全局模型训练。对于有意的行为,工作者可能会发起中毒攻击,该攻击者发送的恶意参数更新会影响全局模型性能,从而对当前协作学习机制产生不利影响。对于无意行为,可能因为动态的移动网络环境间接导致移动设备的一些无意行为,从而导致协作训练的失败。
此外,为了确保数据在传输和计算方面的安全性,应当对传输数据实施加密。在原始加密方案中,是对原始数据加密后再进行存储,然而此类加密技术不能在基于云的应用程序上处理数据。因此,非常需要一种允许以加密形式处理数据的方案,如同态加密方案。尽管已经提出并改进了许多现有的同态加密方案,但这些方案都远远不够实用,因为效率仍然是其实施的一大挑战,这限制了移动设备以有效的方式进行计算。因此,这些限制要求提出一种改进的同态加密方案。
目前,已有一些关于安全可靠的联邦学习的研究工作。KANG J,XIONG Z,NIYATO D在“Reliable federated learning for mobile networks”【in IEEE WirelessCommunications,vol.27,no.2,pp.72-80,2020】基于声誉指标设计了一种可靠的工人选择方案,并且用联盟区块链对工人的有效声誉进行管理,从而提高移动网络中联邦学习任务的可靠性。MOUDOUD H,CHERKAOUI S,KHOUKHI L在“Towards a secure and reliablefederated learning using blockchain”【in IEEE Global CommunicationsConference,2021】提出了一个为联邦学习定制的安全可信区块链框架SRB-FL,它使用区块链特性以完全分布式和可信的方式实现协作模型训练,同时还设计了一个基于区块链分片的安全联邦学习来保证数据的可靠性、可伸缩性和可信度,并且利用主观多权重逻辑来提高联邦学习组件的可靠性。YE H,LIANG L,LI G Y在“Decentralized federated learningwith unreliable communications”【in IEEE Journal of Selected Topics in SignalProcessing,vol.16,no.3,pp.487-500,2022】提出了一种称为Soft-DSGD的鲁棒分散随机梯度下降方法来解决不可靠性问题,该方法使用部分接收到的消息更新模型参数,并根据通信链路的链路可靠性矩阵优化混合权重。虽然上述方法考虑到了可靠性问题,但是并未考虑到模型训练的稳定性以及梯度数据的隐私保护,从而影响了全局模型的可靠度。
在移动网络环境中,联邦模型的训练可能由于不稳定因素而造成训练失败,其中不稳定因素主要是指客户端和服务器频繁通信中断,造成中断的因素很多,特别是在客户端的地理位置不断变化的环境下,例如:客户端本地训练时间过长导致脱离了服务器的可通信范围、网络不稳定等因素,同时当客户端用不可靠数据训练模型时会破坏全局模型的性能,因此需要设计一种保障模型正常训练且安全可靠的联邦学习方法。
发明内容
有鉴于此,本发明的目的在于提供一种安全可靠的分布式学习方法,其中客户端可靠评估同时考虑与每个周期中的局部模型测试精度的比较、与临时全局模型的比较以及与上一个时期的全局模型的比较,通过消除表现不佳的模型或对改进全局模型没有贡献的模型,其次延迟梯度平均严格控制客户端的本地计算和服务器的聚合过程是在时间上按照顺利执行的,以此来获得更高精度的聚合全局模型。并提供一种异步安全聚合方法,通过对传输梯度进行安全加密来保证外界攻击者通过不安全的无线网络窃取数据,设计一种灵活的聚合方式,该聚合方式不会固定服务器的等待时间,从而保证联邦学习的正常训练。
为达到上述目的,本发明提供如下技术方案:
一种安全可靠的分布式学习方法,具体包括以下步骤:
S1:在服务器收到客户端模型后,针对每个客户端的局部迭代轮次精度来分别与局部模型测试精度、临时全局模型以及上一个时期的全局模型进行比较,计算客户端模型的信誉分数,并把信誉分数进行保存;
S2:延迟梯度平均更新:客户端不间断的进行本地更新,并通过梯度校正项来补偿梯度老化现象。
进一步,所述步骤S1具体包括:
在具有个客户端的移动环境中,假设i和k分别表示已参与训练的本地客户端的ID和本地训练轮数,local[i]存储客户端i在训练过程中的准确度、训练损失和准确度分数;客户端i在第t轮次第k个本地迭代时期的训练结果保存在local[i][t][k]中;全局模型特征存储在列表global[]中;根据客户在当前时期更新的模型信誉分数,选择参与训练的客户端集合;
信誉分数通过三部分来计算:
其中是客户端i在训练轮次t时本地迭代k次的信誉分数;/>是客户端i在训练轮次t时本地迭代k次的训练模型精度;accavg是当前训练轮次中局部模型测试精度的均值;accagg是服务器进行粗糙局部聚合的结果,即临时局部聚合;acclast是前上一轮次的全局模型测试精度。w1,w2,w3是权衡因子,且w1+w2+w3=1。
进一步,步骤S1中,当学习曲线收敛或系统达到预设置的训练轮数时,训练立马停止;每个局部模型的测试精度与三个度量进行比较:
(1)与每个周期中的局部模型测试精度的比较:每个周期的训练局部模型用于计算平均测试精度,即某个周期内所有客户端的所有局部模型的平均值,表现比平均值差的模型将不受青睐,而表现优于平均值的模型将受到青睐;
(2)与临时全局模型的比较:进一步训练但尚未聚合到全局模型中的局部模型用于生成临时全局模型,临时全局模型的性能应优于每个局部模型;与临时全局模型进行比较,选出对全局模型产生正面影响的客户端;通过使用临时全局模型,评估所有局部模型的可能聚合性能;具有负面声誉的不良模型在聚合到全局模型之前被消除;
(3)与上一个时期的全局模型的比较:将每个局部模型的测试精度与前一时期的全局模型的测试精度进行比较,以评估改进;
通过与每个度量的比较,如果信誉分数为正,则表明对本地模型的贡献为正。
进一步,步骤S1中,在边缘服务器收到客户端的梯度参数后执行客户端选择,选择完后得到一个列表L,列表中包含需要聚合的客户端ID。每轮计算前都把列表L清空,具体步骤如下:
S11:边缘服务器对当前时刻客户端集合中的所有客户端执行信誉分数计算,针对每个客户端执行K次,至此把local[i][t][k]补充完整,包括准确度、训练损失和准确度分数;
S12:边缘服务器计算信誉聚合容忍度ε·K,其中ε是容忍因子,0<ε<1,ni代表客户端i在当前轮次中信誉分数小于0的轮数,当ni>ε·K时,认定该客户端信誉差,并对该客户端进行消除处理,即客户端ID不添加至L;当ni≤ε·K时,认定该客户端信誉良好,并选择客户端执行聚合操作,即把客户端ID添加至L;
S13:边缘服务器对列表中的客户端执行聚合操作。
进一步,步骤S2中,客户端不间断的进行本地更新,从而使客户端能立即开始下一轮更新,并通过梯度校正项来补偿梯度老化现象,具体步骤包括:
S21:客户端在第t轮结束时发送更新给边缘服务器;
S22:客户端继续使用本地数据执行本地更新;
S23:边缘服务器执行聚合协议;
S24:当客户端接收到边缘服务器第t轮的聚合梯度后,客户端已经执行了D次额外的本地更新;
S25:延迟平均步骤:客户端用接收到的聚合梯度替换第t轮的局部梯度;
进一步,步骤S2中,用表示第t轮内第k次迭代时第i个客户端上的参数,用/>来表示相应的随机梯度;在第一轮t=1时,只执行本地更新,第一轮中的最后一次迭代表示为:
其中K表示客户端本地迭代次数;w1表示客户端收到的最近轮次的聚合梯度;把简写为/>当第一轮计算完成时,客户端发送累积梯度/>给边缘服务器;梯度发送后,客户端立即进行第二轮的本地更新;客户端在接收到边缘服务器发送过来的聚合梯度时,客户端已经在第二轮中执行了D次额外的本地更新,从第一轮的最后一次迭代/>开始
其中(1)是边缘服务器聚合前客户端的最后一轮迭代;(2)是客户端第一轮额外的本地更新;(3)是客户端第一轮的本地更新;此时,边缘服务器执行第一轮梯度聚合
其中表示第一轮第k次迭代的平均梯度;将上式中的所有第一轮局部梯度替换为聚合梯度/>从而得到
将延迟轮数D表示为D=zK+r,其中z≥0,z表示由于延迟而跳过的轮数,r∈[1,K-1];
通过在延迟梯度聚合中加入动量更新,将过去的梯度组合为对数加权值,并使用累积梯度和/>重写更新规则
延迟梯度平均步长通过对数因子校准,使得和/>的比例为1:[1+log(z+1)],当z=0时意为直接求均值;
设计一个异步补偿因子b,即在梯度补偿时出现和/>其中b>0;梯度补偿相应的根据异步进行改进
当b=0时即为同步状态,否则b越大,梯度补偿时的比例越大,补偿后的模型更倾向于全局模型而非本地模型。
进一步,还包括构造一种异步安全聚合方法,客户端在本地训练完成迭代后得到其中j代表通信轮次,i代表不同的客户端;客户端在发送梯度之前使用公钥b进行加密得到/>其中/>是/>进行整数变换后得到的,具体的变换方法是:
(1)加密阶段:在梯度数据的基础上是乘以10ef得到/>其中ef是/>对应的小数点后的位数;
(2)解密变换:在梯度数据的基础上是除10ef得到/>其中ef是客户端上轮加密乘的ef;客户端把/>发送给边缘服务器,服务器执行密文空间上的加权平均
设计一种具有容忍性的时间阈值,即设置两个时间阈值T1,T2来获得可能隐藏的高质量本地模型,前一时期的阈值T1应该要大于后部分的时间阈值T2;
具体的聚合方式为:当边缘服务器收到的客户端本地模型数量大于0.3N/E时,开始计算信誉分值,其中N是所有客户端的数量,E是所有边缘服务器的数量;然后设置一个合格率超参数P,0<P<1,当边缘服务器所收到的本地模型中可靠客户端的数量不小于时,立刻进行聚合而不等待其他客户端,其中/>是边缘服务器e在当前轮次t收到的客户端数量。
本发明的有益效果在于:
(1)本发明提出的安全可靠的分布式学习方法,通过与每个周期中的局部模型测试精度、临时全局模型、上一个时期的全局模型三者进行比较来提高全局模型的性能同时很好的保证模型的稳健性。
(2)本发明提出的异步安全聚合方法,既保证了客户端的合格率也节约了服务器的等待时间,在保证模型精度的前提下更好地提高模型的收敛性。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明提供的系统模型图;
图2为本发明提供的客户端选择流程图;
图3为本发明设计的计算时间和通信时间图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
请参阅图1~图3,图1所示为本发明设计的系统模型图,具体包含以下组成模块:
中心服务器:从边缘服务器接收梯度参数并进行全局聚合,所采用的聚合形式为同步聚合,具体聚合方法为参数平均,对所有参数进行参数平均后把全局参数广播发送给边缘服务器,主要由基站等带有强大算力的设备组成。
边缘服务器:从客户端收集参数并执行边缘局部聚合,所采用的聚合形式为异步聚合,具体聚合方法为基于新鲜因子的参数平均,在时间阈值范围内等待客户发送梯度参数,每轮次聚合的客户端集合并不一样,在每轮边缘聚合前先对梯度参数进行解码,主要由路边单元等带有一定算力的设备组成。
客户端:从边缘服务器接收到全局参数后基于本地数据进行本地模型训练,训练完成后对参数进行稀疏化和量化编码,并将本地梯度参数和梯度编码长度发送给边缘服务器,主要由移动车辆等算力受限的设备组成。
请参阅图2,图2所示为本发明设计的客户端选择流程图,具体包含如下步骤:
1)数据收集:客户端基于本地传感器对周围环境进行数据采集,并对数据执行预处理,主要包括路边基础设施、驾驶员行为动作和各种路况等信息的采集。
2)本地训练:客户端根据本地数据进行本地迭代训练,在不同全局轮次下基于边缘服务器广播的全局模型进行本地模型更新。
3)计算信誉分数:与每个周期中的局部模型测试精度的比较、与临时全局模型的比较、与上一个时期的全局模型的比较。
请参阅图3,图3所示为本发明设计的计算时间和通信时间图,具体包含如下步骤:
在传统同步联邦学习中,客户端在每一轮本地训练结束时发送参数给云服务器,云服务器聚合完成后广播给客户端,客户端基于本地数据开始下一轮更新。在本方法中客户端的本地计算和服务器的聚合过程是在时间上同步执行。
具体的,本发明的目的之一,提供一种安全可靠的分布式学习方法,具体包括以下步骤:
S1:计算客户端模型的信誉分数:在服务器收到客户端模型后,针对每个客户端的局部迭代轮次精度来分别与局部模型测试精度、临时全局模型以及上一个时期的全局模型进行比较,并把信誉分数进行保存;在具有个用户(即客户端)的移动环境中,假设i和k分别表示已参与训练的本地客户端的ID和本地训练轮数。local[i]存储用户i在训练过程中的准确度、训练损失和准确度分数。客户端i在第t轮次第k个本地迭代时期的训练结果保存在local[i][t][k]中。全局模型特征存储在列表global[]中。根据客户在当前时期更新的模型信誉分数,选择参与训练的客户端集合。
信誉分数是对每个局部模型的评估,以确定是否应选择局部模型的参数以聚合到全局模型中。由于存在许多表现不佳的模型以及恶意用户来降低全局模型的准确度,因此信誉评分有助于作出对全局训练更合理的判断,从而消除表现不佳的那些模型。每个用户都有一个记录和一个信誉分数,将在每个时期开始时初始化。信誉评分通过三部分来计算
其中是客户端i在训练轮次t时本地迭代k次的信誉分数;/>是客户端i在训练轮次t时本地迭代k次的训练模型精度;accavg是当前训练轮次中局部模型测试精度的均值;accagg是服务器进行粗糙局部聚合的结果,即临时局部聚合,该聚合结果不适用于整合到全局模型中;acclast是前上一轮次的全局模型测试精度。w1,w2,w3是权衡因子,且w1+w2+w3=1。
当学习曲线收敛或系统达到预设置的训练轮数时,训练立马停止。在上述公式中,每个局部模型的测试精度需要与三个度量进行比较:(1)与每个周期中的局部模型测试精度的比较:每个周期的训练局部模型用于计算平均测试精度,即某个周期内所有客户端的所有局部模型的平均值。表现比平均值差的模型将不受青睐,而表现优于平均值的模型将受到青睐。(2)与临时全局模型的比较:进一步训练但尚未聚合到全局模型中的局部模型用于生成临时全局模型。临时全局模型的性能应优于每个局部模型。因此,与临时全局模型进行比较通常会选出对全局模型产生正面影响的客户端。通过使用临时全局模型,评估了所有局部模型的可能聚合性能。该度量的目的是在每个时期选择最佳模型。具有负面声誉的不良模型在聚合到全局模型之前被消除。(3)与上一个时期的全局模型的比较:将每个局部模型的测试精度与前一时期的全局模型的测试精度进行比较,以评估改进。通过与每个度量的比较,如果信誉得分为正,则表明对本地模型的贡献为正。这是基于本地模型测试精度的三次比较。与临时全局模型相比,本地模型的质量较差会导致该比较指标产生负面影响。随着局部模型在每个时期之后进一步训练,它们的性能会提高,因此,与之前的全局模型相比,它通常会对局部模型的信誉分数做出积极贡献,这意味着与之前的全局模型相比有所提高。
在边缘服务器收到客户端的梯度参数后执行客户端选择,选择完后得到一个列表L,列表中包含需要聚合的客户端ID。每轮计算前都把列表L清空,具体步骤如下:
步骤1:边缘服务器对当前时刻客户端集合中的所有客户端执行信誉分数计算,针对每个客户端执行K次,至此把local[i][t][k]补充完整,包括准确度、训练损失和准确度分数。
步骤2:边缘服务器计算信誉聚合容忍度ε·K,其中ε是容忍因子,0<ε<1。ni代表客户端i在当前轮次中信誉分数小于0的轮数。当ni>ε·K时,认定该客户端信誉差,并对该客户端进行消除处理,即客户端ID不添加至L。当ni≤ε·K时,认定该客户端信誉良好,并选择客户端执行聚合操作,即把客户端ID添加至L。
步骤3:边缘服务器对列表中的客户端执行聚合操作。
本地模型的有用性是通过其信誉评分来计算的。信誉分数是各种测试准确性比较的加权函数。如果确定局部模型表现不佳,则其参数不会在该时期聚合到全局模型中。为每个本地模型保留一个记录,以跟踪其在全局模型聚合中被拒绝的次数。当本地模型被拒绝一定次数时,它将被排除在训练之外。由于性能结果不佳而多次被拒绝的本地模型与其他本地模型相比,通常会继续表现不佳。因此,通过消除性能持续较差的模型,可以在提高模型性能的同时减少总运行时间。
S2:延迟梯度平均更新:客户端不间断的进行本地更新,以便客户端可以立即开始下一轮更新,并且设计了梯度校正项来补偿梯度老化现象。设计一种客户端不间断的进行本地更新,以便客户端可以立即开始下一轮更新,并且设计了梯度校正项来补偿梯度老化现象。具体步骤为:
(1)客户端在第t轮结束时发送更新给边缘服务器;
(2)客户端继续使用本地数据执行本地更新;
(3)边缘服务器执行聚合协议;
(4)当客户端接收到边缘服务器第t轮的聚合梯度后,客户端已经执行了D次额外的本地更新;
(5)延迟平均步骤:客户端用接收到的聚合梯度替换第t轮的局部梯度。
该算法的好处在于客户端不会在通信过程中冻结本地计算能力。用表示第t轮内第k次迭代时第i个客户端上的参数,用/>来表示相应的随机梯度。在第一轮t=1时,只执行本地更新,因此第一轮中的最后一次迭代可以表示为
其中K表示客户端本地迭代次数;w1表示客户端收到的最近轮次的聚合梯度。为了方便,把简写为/>当第一轮计算完成时,客户端发送累积梯度/>给边缘服务器。梯度发送后,客户端立即进行第二轮的本地更新。客户端在接收到边缘服务器发送过来的聚合梯度时,客户端已经在第二轮中执行了D次额外的本地更新,从第一轮的最后一次迭代开始
其中(1)是边缘服务器聚合前客户端的最后一轮迭代;(2)是客户端第一轮额外的本地更新;(3)是客户端第一轮的本地更新。此时,边缘服务器执行第一轮梯度聚合
其中表示第一轮第k次迭代的平均梯度。将上式中的所有第一轮局部梯度替换为聚合梯度/>从而得到
在一般情况下,边缘服务器聚合梯度后传输给客户端可能需要几个回合才能到达,即D>1。当延迟较高时,就会发生D>K这种情况。为了处理这种情况,将延迟轮数D表示为D=zK+r,其中z≥0,z表示由于延迟而跳过的轮数,r∈[1,K-1]。
通过在延迟梯度聚合中加入动量更新,将过去的梯度组合为对数加权值,并使用累积梯度和/>重写更新规则
由于梯度是采用加权平均进行补偿,延迟梯度平均步长通过对数因子校准,使得和/>的比例为1:[1+log(z+1)],当z=0时意为直接求均值。
在正常同步过程中是满足聚合过程的,但是在异步聚合当中,会出现和/>不同步的现象。设计一个异步补偿因子b,即在梯度补偿时出现/>和/>其中b>0。为此,梯度补偿应相应的根据异步进行改进
当b=0时即为同步状态,否则b越大,梯度补偿时的比例越大,补偿后的模型更倾向于全局模型而非本地模型。
本发明的目的之二,还提供一种异步安全聚合方法,具体包括:客户端在本地训练完成迭代后得到其中j代表通信轮次,i代表不同的客户端。客户端在发送梯度之前使用公钥b进行加密得到/>其中/>是/>进行整数变换后得到的,具体的变换方法是:(1)加密阶段。在梯度数据/>的基础上是乘以10ef得到/>其中ef是/>对应的小数点后的位数。(2)解密变换。在梯度数据/>的基础上是除10ef得到/>其中ef是客户端上轮加密乘的ef。客户端把/>发送给边缘服务器,服务器执行密文空间上的加权平均
对于传统的异步聚合,通常设计一个时间阈值T来区别同步聚合,虽然在一定程度上可以克服同步聚合所带来的等待时间过长的问题,但也导致全局模型收敛速度过慢。然而一些客户端的本地数据质量很好却没能在时间阈值T内传输本地模型,这其实是一种不合理地丢弃,所以异步聚合应该设计一种具有容忍性的时间阈值,即设置两个时间阈值T1,T2来获得可能隐藏的高质量本地模型,前一时期的阈值T1应该要大于后部分的时间阈值T2。
本聚合方式既不是传统同步聚合,也不是传统异步聚合,而是一种灵活的聚合方式,该聚合方式不会固定服务器的等待时间,可适用于对时延敏感的场景。具体的聚合方式为:当边缘服务器收到的客户端本地模型数量大于0.3N/E时,开始计算信誉分值,其中N是所有客户端的数量,E是所有边缘服务器的数量;然后设置一个合格率超参数P,0<P<1,当边缘服务器所收到的本地模型中可靠客户端的数量不小于时,立刻进行聚合而不等待其他客户端,其中/>是边缘服务器e在当前轮次t收到的客户端数量。为了保障全局模型的收敛速度,一般P设置为0.8或0.9。这种聚合方式的一个好处是既保证了客户端的合格率也节约了服务器的等待时间,客户端合格率越高代表本地模型的质量越高,进而能够提高全局模型的收敛速度,这很好地解决了因同步聚合或异步聚合所导致的长时间等待问题。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1.一种安全可靠的分布式学习方法,其特征在于:具体包括以下步骤:
S1:在服务器收到客户端模型后,针对每个客户端的局部迭代轮次精度来分别与局部模型测试精度、临时全局模型以及上一个时期的全局模型进行比较,计算客户端模型的信誉分数,并把信誉分数进行保存;
S2:延迟梯度平均更新:客户端不间断的进行本地更新,并通过梯度校正项来补偿梯度老化现象。
2.根据权利要求1所述的安全可靠的分布式学习方法,其特征在于:所述步骤S1具体包括:
在具有个客户端的移动环境中,假设i和k分别表示已参与训练的本地客户端的ID和本地训练轮数,local[i]存储客户端i在训练过程中的准确度、训练损失和准确度分数;客户端i在第t轮次第k个本地迭代时期的训练结果保存在local[i][t][k]中;全局模型特征存储在列表global[]中;根据客户在当前时期更新的模型信誉分数,选择参与训练的客户端集合;
信誉分数通过三部分来计算:
其中是客户端i在训练轮次t时本地迭代k次的信誉分数;/>是客户端i在训练轮次t时本地迭代k次的训练模型精度;accavg是当前训练轮次中局部模型测试精度的均值;accagg是服务器进行粗糙局部聚合的结果,即临时局部聚合;acclast是前上一轮次的全局模型测试精度。w1,w2,w3是权衡因子,且w1+w2+w3=1。
3.根据权利要求2所述的安全可靠的分布式学习方法,其特征在于:步骤S1中,当学习曲线收敛或系统达到预设置的训练轮数时,训练立马停止;每个局部模型的测试精度与三个度量进行比较:
(1)与每个周期中的局部模型测试精度的比较:每个周期的训练局部模型用于计算平均测试精度,即某个周期内所有客户端的所有局部模型的平均值,表现比平均值差的模型将不受青睐,而表现优于平均值的模型将受到青睐;
(2)与临时全局模型的比较:进一步训练但尚未聚合到全局模型中的局部模型用于生成临时全局模型,临时全局模型的性能应优于每个局部模型;与临时全局模型进行比较,选出对全局模型产生正面影响的客户端;通过使用临时全局模型,评估所有局部模型的可能聚合性能;具有负面声誉的不良模型在聚合到全局模型之前被消除;
(3)与上一个时期的全局模型的比较:将每个局部模型的测试精度与前一时期的全局模型的测试精度进行比较,以评估改进;
通过与每个度量的比较,如果信誉分数为正,则表明对本地模型的贡献为正。
4.根据权利要求3所述的安全可靠的分布式学习方法,其特征在于:步骤S1中,在边缘服务器收到客户端的梯度参数后执行客户端选择,选择完后得到一个列表L,列表中包含需要聚合的客户端ID。每轮计算前都把列表L清空,具体步骤如下:
S11:边缘服务器对当前时刻客户端集合中的所有客户端执行信誉分数计算,针对每个客户端执行K次,至此把local[i][t][k]补充完整,包括准确度、训练损失和准确度分数;
S12:边缘服务器计算信誉聚合容忍度ε·K,其中ε是容忍因子,0<ε<1,ni代表客户端i在当前轮次中信誉分数小于0的轮数,当ni>ε·K时,认定该客户端信誉差,并对该客户端进行消除处理,即客户端ID不添加至L;当ni≤ε·K时,认定该客户端信誉良好,并选择客户端执行聚合操作,即把客户端ID添加至L;
S13:边缘服务器对列表中的客户端执行聚合操作。
5.根据权利要求1所述的安全可靠的分布式学习方法,其特征在于:步骤S2中,客户端不间断的进行本地更新,从而使客户端能立即开始下一轮更新,并通过梯度校正项来补偿梯度老化现象,具体步骤包括:
S21:客户端在第t轮结束时发送更新给边缘服务器;
S22:客户端继续使用本地数据执行本地更新;
S23:边缘服务器执行聚合协议;
S24:当客户端接收到边缘服务器第t轮的聚合梯度后,客户端已经执行了D次额外的本地更新;
S25:延迟平均步骤:客户端用接收到的聚合梯度替换第t轮的局部梯度。
6.根据权利要求5所述的安全可靠的分布式学习方法,其特征在于:步骤S2中,用表示第t轮内第k次迭代时第i个客户端上的参数,用/>来表示相应的随机梯度;在第一轮t=1时,只执行本地更新,第一轮中的最后一次迭代表示为:
其中K表示客户端本地迭代次数;w1表示客户端收到的最近轮次的聚合梯度;把简写为/>当第一轮计算完成时,客户端发送累积梯度/>给边缘服务器;梯度发送后,客户端立即进行第二轮的本地更新;客户端在接收到边缘服务器发送过来的聚合梯度时,客户端已经在第二轮中执行了D次额外的本地更新,从第一轮的最后一次迭代/>开始
其中(1)是边缘服务器聚合前客户端的最后一轮迭代;(2)是客户端第一轮额外的本地更新;(3)是客户端第一轮的本地更新;此时,边缘服务器执行第一轮梯度聚合
其中表示第一轮第k次迭代的平均梯度;将上式中的所有第一轮局部梯度替换为聚合梯度/>从而得到
将延迟轮数D表示为D=zK+r,其中z≥0,z表示由于延迟而跳过的轮数,r∈[1,K-1];
通过在延迟梯度聚合中加入动量更新,将过去的梯度组合为对数加权值,并使用累积梯度和/>重写更新规则
延迟梯度平均步长通过对数因子校准,使得和/>的比例为1:[1+log(z+1)],当z=0时意为直接求均值;
设计一个异步补偿因子b,即在梯度补偿时出现和/>其中b>0;梯度补偿相应的根据异步进行改进
当b=0时即为同步状态,否则b越大,梯度补偿时的比例越大,补偿后的模型更倾向于全局模型而非本地模型。
7.根据权利要求1所述的安全可靠的分布式学习方法,其特征在于:还包括构造一种异步安全聚合方法,客户端在本地训练完成迭代后得到其中j代表通信轮次,i代表不同的客户端;客户端在发送梯度之前使用公钥b进行加密得到/>其中/>是/>进行整数变换后得到的,具体的变换方法是:
(1)加密阶段:在梯度数据的基础上是乘以10ef得到/>其中ef是/>对应的小数点后的位数;
(2)解密变换:在梯度数据的基础上是除10ef得到/>其中ef是客户端上轮加密乘的ef;客户端把/>发送给边缘服务器,服务器执行密文空间上的加权平均
设计一种具有容忍性的时间阈值,即设置两个时间阈值T1,T2来获得可能隐藏的高质量本地模型,前一时期的阈值T1应该要大于后部分的时间阈值T2;
具体的聚合方式为:当边缘服务器收到的客户端本地模型数量大于0.3N/E时,开始计算信誉分值,其中N是所有客户端的数量,E是所有边缘服务器的数量;然后设置一个合格率超参数P,0<P<1,当边缘服务器所收到的本地模型中可靠客户端的数量不小于时,立刻进行聚合而不等待其他客户端,其中/>是边缘服务器e在当前轮次t收到的客户端数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310968664.6A CN116976468A (zh) | 2023-08-01 | 2023-08-01 | 一种安全可靠的分布式学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310968664.6A CN116976468A (zh) | 2023-08-01 | 2023-08-01 | 一种安全可靠的分布式学习方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116976468A true CN116976468A (zh) | 2023-10-31 |
Family
ID=88479350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310968664.6A Pending CN116976468A (zh) | 2023-08-01 | 2023-08-01 | 一种安全可靠的分布式学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116976468A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117436515A (zh) * | 2023-12-07 | 2024-01-23 | 四川警察学院 | 联邦学习方法、系统、装置以及存储介质 |
-
2023
- 2023-08-01 CN CN202310968664.6A patent/CN116976468A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117436515A (zh) * | 2023-12-07 | 2024-01-23 | 四川警察学院 | 联邦学习方法、系统、装置以及存储介质 |
CN117436515B (zh) * | 2023-12-07 | 2024-03-12 | 四川警察学院 | 联邦学习方法、系统、装置以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | An intelligent collaboration trust interconnections system for mobile information control in ubiquitous 5G networks | |
Zhang et al. | Blockchain-based distributed software-defined vehicular networks: a dueling deep ${Q} $-learning approach | |
Tang et al. | Gossipfl: A decentralized federated learning framework with sparsified and adaptive communication | |
Bi et al. | An accelerated method for message propagation in blockchain networks | |
CN107480714B (zh) | 基于全视角特征的跨社交网络用户识别方法 | |
CN116976468A (zh) | 一种安全可靠的分布式学习方法 | |
CN106101223A (zh) | 一种基于内容流行度与节点级别匹配的缓存方法 | |
Fan et al. | EigenTrustp++: Attack resilient trust management | |
EP2375648B1 (en) | Method, system and node device for realizing audio mixing of multi-path voice | |
CN112261137A (zh) | 基于联合学习的模型训练方法及系统 | |
Attar et al. | Deterministic cooperative hybrid ring-mesh network coding for big data transmission over lossy channels in 5G networks | |
CN116468133A (zh) | 一种通信优化的分布式协作方法 | |
Zhang et al. | Graph theory-based QoE-driven cooperation stimulation for content dissemination in device-to-device communication | |
KR102150210B1 (ko) | 블록체인 네트워크 | |
Okegbile et al. | Practical Byzantine fault tolerance-enhanced blockchain-enabled data sharing system: Latency and age of data package analysis | |
Wu et al. | Quality of video oriented pricing incentive for mobile video offloading | |
Zhang et al. | Multiaccess edge integrated networking for Internet of Vehicles: A blockchain-based deep compressed cooperative learning approach | |
CN117708872A (zh) | 一种面向车联网的分层异步联邦学习隐私保护方法 | |
CN109511111A (zh) | 一种能量采集物联网系统数据安全传输的方法 | |
Ma et al. | Socially aware distributed caching in device-to-device communication networks | |
CN109640298B (zh) | 基于联盟形成博弈的移动d2d内容共享方法及其系统 | |
CN116546499A (zh) | 一种基于轻量级拜占庭容错的移动终端身份认证方法 | |
CN104038539B (zh) | 一种动态的移动p2p信任管理模型系统和方法 | |
Shukla et al. | A novel of congestion control architecture using edge computing and trustworthy blockchain system | |
Gaeta et al. | SIEVE: a distributed, accurate, and robust technique to identify malicious nodes in data dissemination on manet |
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 |