网络参数训练方法和系统、服务器、客户端及存储介质技术方案

技术编号:19965282 阅读:23 留言:0更新日期:2019-01-03 13:22
本发明专利技术实施例提供一种网络参数训练方法和系统、服务器、客户端及存储介质。方法包括:对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数;基于m个神经网络的学习率和梯度,以及服务器中存储的与m个神经网络对应的参数值,计算新的参数值;利用新的参数值更新服务器中存储的参数值;以及对于m个神经网络中的第i个神经网络,将服务器中存储的与第i个神经网络对应的参数值传送到运行第i个神经网络的客户端,用于更新第i个神经网络的参数,其中,1≤i≤m。可以进行多任务训练并能够增强网络模型的泛化性能,使得网络模型在各个任务上的表现都能够有所提高。

Network parameter training methods and systems, servers, clients and storage media

The embodiment of the present invention provides a network parameter training method and a system, a server, a client and a storage medium. The methods include: for each of the M neural networks, the learning rate of the neural network and the gradient corresponding to each parameter of the neural network are received, where m is an integer greater than or equal to 1; based on the learning rate and gradient of the M neural networks, and the parameters corresponding to the M neural networks stored in the server, the new parameters are calculated; and the new parameters are used. The value updates the parameter values stored in the server; and for the first neural network of M neural networks, the parameter values stored in the server corresponding to the first neural network are transmitted to the client running the second neural network for updating the parameters of the second neural network, where 1 < I < M. Multi-task training can be carried out and the generalization performance of network model can be enhanced, so that the performance of network model on each task can be improved.

【技术实现步骤摘要】
网络参数训练方法和系统、服务器、客户端及存储介质
本专利技术涉及深度学习领域,更具体地涉及一种网络参数训练方法和系统、服务器、客户端及存储介质。
技术介绍
现有技术中,在构建神经网络的训练模型时,通常搭建一个网络结构并设计损失函数和优化方法,在网络初始化后,基于反向传播算法更新神经网络中各个参数的取值,使得损失函数减少达到较理想的值,以此完成网络模型的学习。考虑到大部分数据或任务是存在相关性的,人们提出了迁移学习的概念,即将已训练好的模型参数迁移到新的网络模型来帮助新模型训练,从而加快并优化新模型的学习效率,不用像大多数网络那样从零学习。例如,在ImageNet数据集上训练ResNet之后,可以将得到的参数用于新的数据集的分类(例如CIFAR数据集),也可以将得到的网络模型用于新的任务,如目标检测、语义分割等。然而,这种迁移学习方式存在一些缺点,尚存在改进的空间。
技术实现思路
考虑到上述问题而提出了本专利技术。本专利技术提供了一种网络参数训练方法和系统、服务器、客户端及存储介质。根据本专利技术一方面,提供了一种网络参数训练方法,应用于服务器。网络参数训练方法包括:对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数;基于m个神经网络的学习率和梯度,以及服务器中存储的与m个神经网络对应的参数值,计算新的参数值;利用新的参数值更新服务器中存储的参数值;以及对于m个神经网络中的第i个神经网络,将服务器中存储的与第i个神经网络对应的参数值传送到运行第i个神经网络的客户端,用于更新第i个神经网络的参数,其中,1≤i≤m。示例性地,m为大于1的整数,与m个神经网络对应的参数值中的至少部分参数值中的每个参数值同时对应m个神经网络中的至少两个神经网络。示例性地,m个神经网络中的每个神经网络的每个参数与各自的参数标识关联,与m个神经网络对应的参数值包括第一部分参数值和/或第二部分参数值,第一部分参数值中的每个参数值仅对应m个神经网络中的一个神经网络,第二部分参数值中的每个参数值同时对应m个神经网络中的至少两个神经网络,基于m个神经网络的学习率和梯度以及服务器中存储的与m个神经网络对应的参数值,计算新的参数值包括:对于第一部分参数值中的每个第一参数值,根据与第一参数值对应的神经网络的学习率和第一参数值的参数标识所关联的参数的梯度,以及第一参数值,计算与第一参数值的参数标识对应的第一新参数值;对于第二部分参数值中的每个第二参数值,根据与第二参数值对应的至少两个神经网络的学习率和第二参数值的参数标识所关联的参数的梯度,以及第二参数值,计算与第二参数值的参数标识对应的第二新参数值。示例性地,根据与第二参数值对应的至少两个神经网络的学习率和第一参数值的参数标识所关联的参数的梯度,以及第二参数值,计算与第二参数值的参数标识对应的第二新参数值包括:将与第二参数值对应的至少两个神经网络中的每个神经网络的学习率作为各自的权重,对至少两个神经网络的、与第二参数值的参数标识所关联的参数的梯度进行加权求和,以获得综合梯度;以及根据综合梯度和服务器存储的第二参数值,计算与第二参数值的参数标识对应的第二新参数值。示例性地,m个神经网络中的每个神经网络的每个参数与各自的参数标识关联,方法还包括:接收运行m个神经网络中的第i个神经网络的客户端的初始参数信息,初始参数信息包括第i个神经网络的所有参数的初始值;如果初始参数信息包括服务器中尚未存储的与特定参数标识关联的特定参数的初始值,则将特定参数的初始值存储在服务器中。根据本专利技术另一方面,提供了一种服务器,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述网络参数训练方法。根据本专利技术另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述网络参数训练方法。根据本专利技术另一方面,提供了一种网络参数训练方法,应用于客户端。该网络参数训练方法包括:向服务器传送运行在客户端上的神经网络的学习率以及与神经网络的每个参数分别对应的梯度;自服务器接收与神经网络对应的参数值;以及利用接收到的参数值对神经网络的参数进行更新。示例性地,方法还包括:建立与服务器的连接;以及向服务器发送初始参数信息,初始参数信息包括神经网络的所有参数的初始值。根据本专利技术另一方面,提供了一种客户端,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述网络参数训练方法。根据本专利技术另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述网络参数训练方法。根据本专利技术另一方面,提供了一种网络参数训练系统,包括:上述服务器和上述客户端。根据本专利技术另一方面,提供了一种服务器,包括:接收模块,用于对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数;计算模块,用于基于m个神经网络的学习率和梯度,以及服务器中存储的与m个神经网络对应的参数值,计算新的参数值;更新模块,用于利用新的参数值更新服务器中存储的参数值;以及传送模块,用于对于m个神经网络中的第i个神经网络,将服务器中存储的与第i个神经网络对应的参数值传送到运行第i个神经网络的客户端,用于更新第i个神经网络的参数,其中,1≤i≤m。根据本专利技术另一方面,提供了一种客户端,包括:传送模块,用于向服务器传送运行在客户端上的神经网络的学习率以及与神经网络的每个参数分别对应的梯度;接收模块,用于自服务器接收与神经网络对应的参数值;以及更新模块,用于利用接收到的参数值对神经网络的参数进行更新。根据本专利技术另一方面,提供了一种网络参数训练系统,包括:上述服务器和上述客户端。根据本专利技术实施例的网络参数训练方法和系统、服务器、客户端及存储介质,可以进行多任务训练并能够增强网络模型的泛化性能,使得网络模型在各个任务上的表现都能够有所提高。附图说明通过结合附图对本专利技术实施例进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本专利技术实施例的进一步理解,并且构成说明书的一部分,与本专利技术实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1示出用于实现根据本专利技术实施例的网络参数训练方法的示例电子设备的示意性框图;图2示出根据本专利技术一个实施例的网络参数训练方法的示意性流程图;图3示出根据本专利技术一个实施例的用于训练神经网络的网络参数训练系统的示意图;图4示出根据本专利技术一个实施例的网络参数训练方法的示意性流程图;图5示出根据本专利技术一个实施例的服务器的示意性框图;图6示出根据本专利技术一个实施例的客户端的示意性框图;图7示出根据本专利技术一个实施例的服务器的示意性框图;以及图8示出根据本专利技术一个实施例的客户端的示意性框图。具体实施方式为了使得本专利技术的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本专利技术的示例实施例。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是本专利技术的全部实施例,应理解,本专利技术不受这里描述的示例实施例的限制。专利技术人发现,上述本文档来自技高网...

【技术保护点】
1.一种网络参数训练方法,应用于服务器,所述方法包括:对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与所述神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数;基于所述m个神经网络的学习率和梯度,以及所述服务器中存储的与所述m个神经网络对应的参数值,计算新的参数值;利用所述新的参数值更新所述服务器中存储的参数值;以及对于所述m个神经网络中的第i个神经网络,将所述服务器中存储的与所述第i个神经网络对应的参数值传送到运行所述第i个神经网络的客户端,用于更新所述第i个神经网络的参数,其中,1≤i≤m。

【技术特征摘要】
1.一种网络参数训练方法,应用于服务器,所述方法包括:对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与所述神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数;基于所述m个神经网络的学习率和梯度,以及所述服务器中存储的与所述m个神经网络对应的参数值,计算新的参数值;利用所述新的参数值更新所述服务器中存储的参数值;以及对于所述m个神经网络中的第i个神经网络,将所述服务器中存储的与所述第i个神经网络对应的参数值传送到运行所述第i个神经网络的客户端,用于更新所述第i个神经网络的参数,其中,1≤i≤m。2.如权利要求1所述的方法,其中,m为大于1的整数,所述与所述m个神经网络对应的参数值中的至少部分参数值中的每个参数值同时对应所述m个神经网络中的至少两个神经网络。3.如权利要求1所述的方法,其中,所述m个神经网络中的每个神经网络的每个参数与各自的参数标识关联,所述与所述m个神经网络对应的参数值包括第一部分参数值和/或第二部分参数值,所述第一部分参数值中的每个参数值仅对应所述m个神经网络中的一个神经网络,所述第二部分参数值中的每个参数值同时对应所述m个神经网络中的至少两个神经网络,所述基于所述m个神经网络的学习率和梯度以及所述服务器中存储的与所述m个神经网络对应的参数值,计算新的参数值包括:对于所述第一部分参数值中的每个第一参数值,根据与所述第一参数值对应的神经网络的学习率和所述第一参数值的参数标识所关联的参数的梯度,以及所述第一参数值,计算与所述第一参数值的参数标识对应的第一新参数值;对于所述第二部分参数值中的每个第二参数值,根据与所述第二参数值对应的至少两个神经网络的学习率和所述第二参数值的参数标识所关联的参数的梯度,以及所述第二参数值,计算与所述第二参数值的参数标识对应的第二新参数值。4.如权利要求3所述的方法,其中,所述根据与所述第二参数值对应的至少两个神经网络的学习率和所述第一参数值的参数标识所关联的参数的梯度,以及所述第二参数值,计算与所述第二参数值的参数标识对应的第二新参数值包括:将所述与所述第二参数值对应的至少两个神经网络中的每个神经网络的学习率作为各自的权重,对所述至少两个神经网络的、与所述第二参数值的参数标识所关联的参数的梯度进行加权求和,以获得综合梯度;以及根据所述综合梯度和所述服务器存储的第二参数值,计算与所述第二参数值的参数标识对应的第二新参数值。5.如权利要求1至4任一项所述的方法,其中,所述m个神经网络中的每个神经网络的每个参数与各自的参数标识关联,所述方法还包括:接收运行所述m个神...

【专利技术属性】
技术研发人员:罗晶张祥雨
申请(专利权)人:北京迈格威科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1