基于去中心化学习的模型训练方法、系统、客户端及介质

摘要: 本申请涉及人工智能,尤其涉及一种基于去中心化学习的模型训练方法、系统、客户端及介质。背景技术:1、随着人工智能技术和分布式计算技术的高速发展,去中心化学习已经得...
基于去中心化学习的模型训练方法、系统、客户端及介质

本申请涉及人工智能,尤其涉及一种基于去中心化学习的模型训练方法、系统、客户端及介质。

背景技术:

1、随着人工智能技术和分布式计算技术的高速发展,去中心化学习已经得到了广泛的关注与研究,现有研究通常通过聚合权重调整、局部训练约束、稀疏参数更新、梯度修正或参数重组等方式提升模型训练性能,以缓解客户端数据分布差异和通信拓扑受限带来的影响。

2、目前去中心化学习方法大多依赖模型整体参数平均或邻域加权平均进行参数聚合,以及基于参数交换、参数重组或扰动训练的方法,但是此方式对于损失空间探索能力不足,可能使复杂模型陷入局部次优解,并且容易忽略客户端在本地数据上学习到的特有知识,导致整体训练性能受限,以及通常缺乏对不同训练阶段中探索强度与收敛稳定性的动态调节机制,容易在训练后期由于参数扰动或交换强度过高造成模型震荡,影响收敛稳定性,进而导致训练得到的模型性能不佳。

3、因此,如何提高去中心化学习的效率和准确性是目前亟待解决的问题。

技术实现思路

1、本申请的主要目的在于提供一种基于去中心化学习的模型训练方法、系统、客户端及介质,旨在提高去中心化学习的效率和准确性。

2、第一方面,本申请提供一种基于去中心化学习的模型训练方法,应用于第一客户端,所述第一客户端与多个第二客户端构成去中心化学习系统,所述第一客户端与各所述第二客户端均加载初始化的神经网络模型,所述神经网络模型包括多个网络层,所述方法包括:

3、响应于模型训练请求,根据本地样本数据集对所述神经网络模型进行训练,以更新所述神经网络模型,获取更新后的所述神经网络模型的模型参数作为第一模型参数;

4、获取至少一个目标客户端发送的第二模型参数和模型损失值,其中,所述目标客户端为与所述第一客户端存在关联的所述第二客户端,所述第二模型参数和所述模型损失值是所述目标客户端基于本地样本数据集对所述神经网络模型进行训练后得到的;

5、根据每个所述目标客户端各自对应的所述模型训练损失值,确定动态截断比例;

6、根据所述动态截断比例、所述第一模型参数和每个所述目标客户端各自对应的所述第二模型参数对所述多个网络层进行分组,得到第一网络层组和第二网络层组;

7、根据一个所述目标客户端中各所述网络层的所述第二模型参数对所述第一网络层组中各匹配所述网络层的第一模型参数进行替换更新,以及根据每个所述目标客户端各所述网络层的所述第二模型参数对所述第二网络层组中各匹配所述网络层的第一模型参数进行参数平均聚合更新,得到去中心化学习之后所述神经网络模型的目标模型参数;

8、基于将模型参数更新为所述目标模型参数的所述神经网络模型执行根据本地样本数据集对所述神经网络模型进行训练,以更新所述神经网络模型的步骤,直至得到收敛的神经网络模型。

9、第二方面,本申请还提供一种去中心化学习系统,所述去中心化学习系统包括第一客户端与多个第二客户端,所述第一客户端与各所述第二客户端均加载初始化的神经网络模型,所述神经网络模型包括多个网络层,其中:

10、所述第一客户端,用于响应于模型训练请求,根据本地样本数据集对所述神经网络模型进行训练,以更新所述神经网络模型,获取更新后的所述神经网络模型的模型参数作为第一模型参数;

11、所述第二客户端,用于响应于模型训练请求,根据本地样本数据集对所述神经网络模型进行训练,以更新所述神经网络模型,获取更新后的所述神经网络模型的模型参数作为第二模型参数;

12、所述第一客户端,还用于获取至少一个目标客户端发送的第二模型参数和模型损失值,其中,所述目标客户端为与所述第一客户端存在关联的所述第二客户端;

13、根据每个所述目标客户端各自对应的所述模型训练损失值,确定动态截断比例;根据所述动态截断比例、所述第一模型参数和每个所述目标客户端各自对应的所述第二模型参数对所述多个网络层进行分组,得到第一网络层组和第二网络层组;

14、根据一个所述目标客户端中各所述网络层的所述第二模型参数对所述第一网络层组中各匹配所述网络层的第一模型参数进行替换更新,以及根据每个所述目标客户端各所述网络层的所述第二模型参数对所述第二网络层组中各匹配所述网络层的第一模型参数进行参数平均聚合更新,得到去中心化学习之后所述神经网络模型的目标模型参数;

15、基于将模型参数更新为所述目标模型参数的所述神经网络模型执行根据本地样本数据集对所述神经网络模型进行训练,以更新所述神经网络模型的步骤,直至得到收敛的神经网络模型。

16、第三方面,本申请还提供一种客户端,所述客户端包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的基于去中心化学习的模型训练方法的步骤。

17、第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的基于去中心化学习的模型训练方法的步骤。

18、本申请提供一种基于去中心化学习的模型训练方法、系统、客户端及介质,本申请响应于模型训练请求,根据本地样本数据集对神经网络模型进行训练,以更新神经网络模型,获取更新后的神经网络模型的模型参数作为第一模型参数;获取至少一个目标客户端发送的第二模型参数和模型损失值,其中,目标客户端为与所述第一客户端存在关联的所述第二客户端,第二模型参数和模型损失值是所述目标客户端基于本地样本数据集对神经网络模型进行训练后得到的;根据每个目标客户端各自对应的模型训练损失值,确定动态截断比例;根据动态截断比例、第一模型参数和每个目标客户端各自对应的第二模型参数对多个网络层进行分组,得到第一网络层组和第二网络层组;根据一个所述目标客户端中各所述网络层的第二模型参数对第一网络层组中各匹配网络层的第一模型参数进行替换更新,以及根据每个目标客户端各所述网络层的第二模型参数对第二网络层组中各匹配网络层的第一模型参数进行参数平均聚合更新,得到去中心化学习之后神经网络模型的目标模型参数;基于将模型参数更新为目标模型参数的神经网络模型执行根据本地样本数据集对神经网络模型进行训练,以更新神经网络模型的步骤,直至得到收敛的神经网络模型。本申请中将去中心化学习的模型参数融合由模型级扩展至网络层级,使客户端能够针对不同网络层分别执行融合操作,从而能够有效地提高模型参数更新的准确性,以及通过将动态截断比例将各网络层分为第一网络层组和第二网络层组,并使得第一网络层组中的各网络层执行参数交换更新,以及使得第二网络层组中各网络层执行参数平均更新,有效地解决了单纯平均探索不足和单纯交换收敛不稳定的问题,进而有效地提高了去中心化学习的效率和准确性。

1.一种基于去中心化学习的模型训练方法,其特征在于,应用于第一客户端,所述第一客户端与多个第二客户端构成去中心化学习系统,所述第一客户端与各所述第二客户端均加载初始化的神经网络模型,所述神经网络模型包括多个网络层,所述方法包括:

2.如权利要求1所述的基于去中心化学习的模型训练方法,其特征在于,所述根据每个所述目标客户端各自对应的所述模型训练损失值,确定动态截断比例,包括:

3.如权利要求2所述的基于去中心化学习的模型训练方法,其特征在于,所述根据所述每个所述目标客户端各自对应的所述模型训练损失值,确定模型训练的稳定性分数,包括:

4.如权利要求1所述的基于去中心化学习的模型训练方法,其特征在于,所述根据所述动态截断比例、所述第一模型参数和每个所述目标客户端各自对应的所述第二模型参数对所述多个网络层进行分组,得到第一网络层组和第二网络层组,包括:

5.如权利要求4所述的基于去中心化学习的模型训练方法,其特征在于,所述根据所述动态截断比例和所述第一客户端中的各所述网络层与每个所述目标客户端中的对应所述网络层之间的相似度对所述多个网络层进行分组,得到第一网络层组和第二网络层组,包括:

6.如权利要求1所述的基于去中心化学习的模型训练方法,其特征在于,所述根据一个所述目标客户端中各所述网络层的所述第二模型参数对所述第一网络层组中各匹配所述网络层的第一模型参数进行替换更新,包括:

7.如权利要求1所述的基于去中心化学习的模型训练方法,其特征在于,所述根据每个所述目标客户端各所述网络层的所述第二模型参数对所述第二网络层组中各匹配所述网络层的第一模型参数进行参数平均聚合更新,包括:

8.一种去中心化学习系统,其特征在于,所述去中心化学习系统包括第一客户端与多个第二客户端,所述第一客户端与各所述第二客户端均加载初始化的神经网络模型,所述神经网络模型包括多个网络层,其中:

9.一种客户端,其特征在于,所述客户端包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的基于去中心化学习的模型训练方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的基于去中心化学习的模型训练方法的步骤。