本发明涉及深度学习领域,尤其涉及一种基于回合制更新及客户端权重优化的区块链联邦学习方法。
背景技术:
1、深度学习是近年来兴起的一项机器学习技术。通过使用不同的模型对给定数据集进行学习,深度学习框架可以识别出数据的模式特征,从中提取出有用的数据信息,并被广泛应用于自然语言生成、声音识别、目标检测、数据挖掘和数据预测等方面。随着互联网和物联网技术的持续发展,如今传感器、终端设备和服务器的数据正呈指数级增长,在单一设备上进行深度学习将面临硬件资源不足、训练时间长、效率低和效果差等问题。这些问题的出现,促进了分布式学习的发展。分布式学习将指定的学习任务分散到许多设备上进行,这些设备各自使用数据集的一部分,在本地开展学习训练,在训练完成后,再通过服务器将每个设备的训练结果整合,从而合力完成一个模型的训练。
2、联邦学习作为一种类似于分布式学习的学习范式,有其自己的应用场景。联邦学习同样将学习任务散发给许多客户端,使它们进行本地训练,并收集训练完成的模型进行结果整合。但与分布式学习不同的是,客户端使用的是客户端自己的数据集,同时参与联邦学习的客户端可以是各种类型的设备。协调这些不同的设备使用自己的数据集完成训练并整合它们的模型以学习一个大的全局模型,就是联邦学习的目标。因此,联邦学习需要考虑训练过程中设备的系统和数据层面的异构性,同时要对传输过程中的用户数据的隐私进行保护。
3、目前的联邦学习框架仍存在效率和安全方面的问题。效率方面,传统联邦学习框架对参与学习的客户端采取随机抽样的方式,随机选取客户端参与训练而未对客户端本身的配置信息和学习能力进行考量,从而会使学习能力低的客户端也参与到学习当中,减慢了全局学习速度;同时,由于传统联邦学习框架采用同步学习模式,训练快的客户端需要花费时间等待那些训练慢的客户端,这也在一定程度上降低了效率。在安全方面,联邦学习的中央服务器易受到攻击,从而导致全局训练进程停滞,同时服务器的数据也存在被篡改的风险。
4、因此,本领域的技术人员致力于开发一种基于回合制更新及客户端权重优化的区块链联邦学习框架。
技术实现思路
1、有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是传统联邦学习随机抽取客户端进行训练而导致效率低下,另外传统联邦学习框架采用同步学习方式,训练快的客户端需要等待训练慢的客户端结束训练,等待时间会降低效率,最后传统联邦学习框架的中央服务器易被攻击,造成单点故障,其存储的数据还易被篡改的缺点。
2、为实现上述目的,本发明提供了一种基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,该方法包括如下步骤:
3、s1:从区块链中获取第一全局模型集,客户端对所述第一全局模型集执行本地训练,生成训练后的本地模型;
4、s2:所述客户端在本地依据所述训练后的本地模型执行聚合,并计算测试损失值;依据所述测试损失值获取未参与本轮训练时的损失值差值;
5、s3:以所述损失值差值获取第一参数,以筛选所述客户端,按一定时隙收集所述筛选客户端训练后的本地模型,生成聚合模型,上传所述区块链;
6、s4:重复上述训练步骤直到全局模型收敛或达到预设的训练轮数。
7、进一步地,所述步骤s3中的所述第一参数的获取方法为:
8、以每个客户端的历史经历训练中的所述损失值差值来计算权重,依据所述权重计算每个客户端被选中参与当前训练的概率。
9、进一步地,所述步骤s3中,
10、在所述生成聚合模型之前,以所述本地模型的数量是否达到所有客户端总数的一个比例,执行是否生成聚合模型的判定。
11、进一步地,
12、所述第一全局模型集依据上传区块链的聚合模型执行更新。
13、进一步地,所述损失值差值计算获取所述客户端的贡献评估指标由所述贡献评估指标计算权重,并更新权重。
14、进一步地,
15、所述客户端的贡献评估指标计算方法为:
16、
17、其中为在第r轮训练中客户端i是否被选中参与学习,是为1,否则为0;
18、则代表第r轮训练中客户端i被选中的概率;为客户端i在训练阶段计算得到的所述损失值差值。
19、进一步地,
20、每个客户端权重的更新公式为:
21、
22、其中η为学习率,θ为修正大小的修正因子,wi在第一轮训练时均设为1;
23、所述客户端被选中的概率的计算方法为:
24、
25、其中k为客户端的总个数,c为客户端的选取比例。
26、进一步地,
27、所述损失值差值为:
28、
29、为在执行聚合后的临时模型上的损失值,l′r为上一轮训练中所述第一全局模型集训练下的损失值。
30、进一步地,
31、所述步骤s1中的客户端依据所述上一轮训练中的所述客户端被选中的概率进行排序进行选择参与所述第一全局模型集的训练。
32、进一步地,
33、所述从区块链中获取第一全局模型集为:
34、从区块链中下载最新的第一全局模型集分发给选中的客户端。
35、技术效果
36、本发明采用损失值下降值作为指标选取优质客户端进行训练,提升了选取的客户端的学习质量,从而可提高全局的学习训练效率,提升了每轮学习的总体效率,从而提高框架的学习效率。
37、本发明采用回合制更新训练学习方式,降低了客户端的等待时间,采用同步与异步更新之间的折中方式,每隔一段时隙便收集训练好的客户端的本地模型,从而减少全局的等待时间,降低了训练的等待时间,提高了框架效率。
38、本发明将联邦学习与区块链结合,区块链由于其特性可以为数据提供防篡改抗性和一定程度的隐私保护,防止数据遭到篡改。
39、以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
1.一种基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,该方法包括如下步骤:
2.如权利要求1所述的基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,所述步骤s3中的所述第一参数的获取方法为:
3.如权利要求2所述的基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,所述步骤s3中,
4.如权利要求3所述的基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,
5.如权利要求2所述的基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,所述损失值差值计算获取所述客户端的贡献评估指标由所述贡献评估指标计算权重,并更新权重。
6.如权利要求5所述的基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,
7.如权利要求6所述的基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,
8.如权利要求7所述的基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,
9.如权利要求7所述的基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,
10.如权利要求9所述的基于回合制更新及客户端权重优化的区块链联邦学习方法,其特征在于,