CN109117953B - 网络参数训练方法和系统、服务器、客户端及存储介质 - Google Patents
网络参数训练方法和系统、服务器、客户端及存储介质 Download PDFInfo
- Publication number
- CN109117953B CN109117953B CN201811058426.7A CN201811058426A CN109117953B CN 109117953 B CN109117953 B CN 109117953B CN 201811058426 A CN201811058426 A CN 201811058426A CN 109117953 B CN109117953 B CN 109117953B
- Authority
- CN
- China
- Prior art keywords
- parameter
- server
- neural network
- neural networks
- client
- 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.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013528 artificial neural network Methods 0.000 claims abstract description 302
- 238000004590 computer program Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种网络参数训练方法和系统、服务器、客户端及存储介质。方法包括:对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数;基于m个神经网络的学习率和梯度,以及服务器中存储的与m个神经网络对应的参数值,计算新的参数值;利用新的参数值更新服务器中存储的参数值;以及对于m个神经网络中的第i个神经网络,将服务器中存储的与第i个神经网络对应的参数值传送到运行第i个神经网络的客户端,用于更新第i个神经网络的参数,其中,1≤i≤m。可以进行多任务训练并能够增强网络模型的泛化性能,使得网络模型在各个任务上的表现都能够有所提高。
Description
技术领域
本发明涉及深度学习领域,更具体地涉及一种网络参数训练方法和系统、服务器、客户端及存储介质。
背景技术
现有技术中,在构建神经网络的训练模型时,通常搭建一个网络结构并设计损失函数和优化方法,在网络初始化后,基于反向传播算法更新神经网络中各个参数的取值,使得损失函数减少达到较理想的值,以此完成网络模型的学习。
考虑到大部分数据或任务是存在相关性的,人们提出了迁移学习的概念,即将已训练好的模型参数迁移到新的网络模型来帮助新模型训练,从而加快并优化新模型的学习效率,不用像大多数网络那样从零学习。例如,在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来描述用于实现根据本发明实施例的网络参数训练方法的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104。可选地,电子设备100还可以包括输入装置106、输出装置108、以及通信装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以采用微处理器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(CPU)、图像处理器(GPU)、专用的集成电路(ASIC)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。可选地,所述输入装置106和所述输出装置108可以集成在一起,采用同一交互装置(例如触摸屏)实现。
所述通信装置110可以传送数据,例如接收神经网络的学习率和梯度或者发送神经网络的参数值等,并且将所接收或待发送的数据存储在所述存储装置104中以供其它组件使用。通信装置110可以是有线或无线通信装置。
示例性地,用于实现根据本发明实施例的网络参数训练方法的示例电子设备可以在诸如个人计算机或远程服务器等的设备上实现。
下面,将参考图2描述根据本发明实施例的网络参数训练方法,该方法应用于服务器。图2示出根据本发明一个实施例的网络参数训练方法200的示意性流程图。如图2所示,网络参数训练方法200包括以下步骤S210、S220、S230和S240。
在步骤S210,对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数。
图3示出根据本发明一个实施例的用于训练神经网络的网络参数训练系统的示意图。如图3所示,网络参数训练系统可以包括服务器和客户端两部分。图3示出一个服务器(即参数服务器)和两个客户端(即客户端1和客户端2)。需注意,图3所示的网络参数训练系统的形式仅是示例,网络参数训练系统可以包括任意数目的客户端。在图3所示的示例中,每个客户端执行一种任务,分别为任务1和任务2,然而,这种情况也仅是示例。可选地,同一客户端可以执行多个任务。每个任务可以对应于一个神经网络,即可以训练一个神经网络来执行一个任务。所述任务可以包括但不限于目标检测、目标识别、图像分割等。
如图3所示,服务器可以接收客户端1和客户端2发送的学习率以及梯度,也就是接收运行于客户端1的神经网络(称为神经网络1)和运行于客户端2上的神经网络(称为神经网络2)的学习率和梯度。每个神经网络的学习率是指该整个神经网络的学习率,对于一个神经网络来说,其对应有一个学习率。每个神经网络的梯度是指该神经网络的每个参数对应的梯度,对于一个神经网络来说,其具有多少参数,即对应有多少梯度。神经网络的参数是指构成神经网络的各网络层的核(一般表达为矩阵形式)的值,其也可以称为权重。上述网络层可以包括但不限于卷积层、池化层、全连接层等。示例性地,神经网络的一个网络层的核的值可以称为一个参数。
除新的参数值(图3示出为新参数)由服务器而非运行神经网络的客户端计算以外,图3所示的神经网络1和神经网络2的训练流程与现有的神经网络的训练流程是类似的,本领域技术人员可以基于现有的神经网络的训练流程理解客户端1和客户端2上的操作。相应地,图3所示的优化器(optimizer)与现有的神经网络采用的优化器的区别在于,其不计算新的参数值,而是将神经网络的学习率以及梯度上传到服务器,并接收服务器发送的新的参数值。
在步骤S220,基于m个神经网络的学习率和梯度,以及服务器中存储的与m个神经网络对应的参数值,计算新的参数值。
示例性地,m为大于1的整数,与m个神经网络对应的参数值中的至少部分参数值中的每个参数值同时对应m个神经网络中的至少两个神经网络。服务器中存储有若干参数值。在一个示例中,服务器中存储的至少一部分参数值中的每个参数值(下文称为第一部分参数值)可以仅对应m个神经网络中的一个神经网络。在一个示例中,服务器中存储的至少一部分参数值中的每个参数值(下文称为第二部分参数值)可以对应m个神经网络中的至少两个神经网络。也就是说,服务器中存储的参数值可以有至少一部分是由至少两个神经网络共享的,下文将结合示例描述这种情况。多个神经网络共享参数值,相当于多个任务共享参数值,即多个任务可以使用至少部分相同的网络参数。在这种情况下,服务器训练时可以综合多个神经网络的数据,训练适用于该多个神经网络的共享参数。
示例性地,m个神经网络中的每个神经网络的每个参数与各自的参数标识关联,与m个神经网络对应的参数值包括第一部分参数值和/或第二部分参数值,第一部分参数值中的每个参数值仅对应m个神经网络中的一个神经网络,第二部分参数值中的每个参数值同时对应m个神经网络中的至少两个神经网络,基于m个神经网络的学习率和梯度以及服务器中存储的与m个神经网络对应的参数值,计算新的参数值(即步骤S220)包括:对于第一部分参数值中的每个第一参数值,根据与第一参数值对应的神经网络的学习率和第一参数值的参数标识所关联的参数的梯度,以及第一参数值,计算与第一参数值的参数标识对应的第一新参数值;对于第二部分参数值中的每个第二参数值,根据与第二参数值对应的至少两个神经网络的学习率和第二参数值的参数标识所关联的参数的梯度,以及第二参数值,计算与第二参数值的参数标识对应的第二新参数值。
示例性地,服务器可以维护与m个神经网络相关的参数值。示例性地,对于不同神经网络的相同参数,服务器可以维护唯一的参数值,其中,所述相同参数可以是例如相同构造的网络层所对应的参数。例如,对于m个神经网络中的每个神经网络来说,为该神经网络的每个参数分别分配对应的参数标识。参数标识可以是任何能够作为标志区分不同参数的标识信息,例如,参数名称或参数编号等。示例性地,服务器可以维护一个字典的数据结构,并以参数标识作为键值(key)来储存神经网络的各个参数的参数值。
下面结合图3描述上述示例。假设图3的神经网络1包括10个网络层,并对应具有10个参数,这10个参数分别编号为1,2,3,4,5,6,7,8,9,10,并且假设图3的神经网络2包括8个网络层,并对应具有8个参数,这8个参数分别编号为6,7,8,9,10,11,12,13。神经网络1和神经网络2具有5个编号相同的参数,即编号为6,7,8,9,10的参数。对于神经网络1和神经网络2来说,上述5个相同编号的参数所对应的网络层在两个神经网络中的结构是一样的,例如,包括同样大小的卷积核。
服务器可以维护一数据结构,其至少包括编号为1,2,3,4,5,6,7,8,9,10,11,12,13的参数的参数值。当服务器接收到神经网络1和神经网络2的学习率以及梯度时,对于编号为1,2,3,4,5的这部分参数(对应于本文描述的第一部分参数值),神经网络2没有上传学习率和梯度,仅神经网络1上传了学习率和梯度,因此可以仅利用神经网络1上传的学习率和梯度计算编号为1,2,3,4,5的这部分参数的新的参数值;对于编号为11,12,13的这部分参数(对应于本文描述的第一部分参数值),神经网络1没有上传学习率和梯度,仅神经网络2上传了学习率和梯度,因此可以仅利用神经网络2上传的学习率和梯度计算编号为11,12,13的这部分参数的新的参数值;对于编号为6,7,8,9,10的这部分参数(对应于本文描述的第二部分参数值),神经网络1和神经网络2均上传了学习率和梯度,因此可以综合利用神经网络1和神经网络2上传的学习率和梯度计算编号为6,7,8,9,10的这部分参数的新的参数值。
对于服务器来说,当某个参数值仅对应一个神经网络(即该参数值为第一部分参数值)时,计算该参数值的参数标识所对应的第一新参数值的方式可以采用现有的或将来可能实现的神经网络训练方法中的参数值更新方式来实现,本领域技术人员能够理解这种参数值更新方式,本文不做赘述。
对于服务器来说,当某个参数值对应至少两个神经网络(即该参数值为第二部分参数值)时,计算该参数值的参数标识所对应的第二新参数值的方式可以结合至少两个神经网络的学习率和梯度来实现,其示例如下。
示例性地,根据与第二参数值对应的至少两个神经网络的学习率和第一参数值的参数标识所关联的参数的梯度,以及第二参数值,计算与第二参数值的参数标识对应的第二新参数值可以包括:将与第二参数值对应的至少两个神经网络中的每个神经网络的学习率作为各自的权重,对至少两个神经网络的、与第二参数值的参数标识所关联的参数的梯度进行加权求和,以获得综合梯度;以及根据综合梯度和服务器存储的第二参数值,计算与第二参数值的参数标识对应的第二新参数值。
沿用上述示例,并以计算编号为6的参数的参数值为例进行描述。假设客户端1上传到服务器的神经网络1的学习率为α1以及神经网络1的编号为6的参数的梯度为d1,并且假设客户端2上传到服务器的神经网络2的学习率为α2以及神经网络2的编号为6的参数的梯度为d2,则在服务器上,可计算d0=α1×d1+α2×d2,d0为综合梯度。随后,可以基于综合梯度d0以及服务器当前存储的与编号为6的参数对应的参数值,来计算编号为6的参数的新参数值。基于综合梯度计算新参数值的方式可以采用现有的或将来可能出现的神经网络训练方法中的、基于梯度计算新参数值的方式实现,本领域技术人员可以理解其实现方式,本文不做赘述。
上述计算综合梯度的方式仅是示例而非对本发明的限制,综合梯度可以采用其他合适的计算方式来计算。例如,可以将与第二参数值对应的至少两个神经网络中的每个神经网络的学习率作为各自的权重,对至少两个神经网络的、与第二参数值的参数标识所关联的参数的梯度进行加权求和,并对加权求和的结果取平均(除以2),以获得综合梯度。
在步骤S230,利用新的参数值更新服务器中存储的参数值。
沿用上述示例,经过一轮计算之后,可以获得编号为1,2,3,4,5,6,7,8,9,10,11,12,13的参数的新的参数值,可以分别用这些参数的新的参数值取代当前存储的这些参数的参数值。例如,服务器维护上述一个字典的数据结构,每次计算出新的参数值之后,即更新该数据结构中的值。
在步骤S240,对于m个神经网络中的第i个神经网络,将服务器中存储的与第i个神经网络对应的参数值传送到运行第i个神经网络的客户端,用于更新第i个神经网络的参数,其中,1≤i≤m。
沿用上述示例,服务器计算神经网络1和神经网络2的新的参数值,并在服务器中更新编号为1,2,3,4,5,6,7,8,9,10,11,12,13的参数的参数值。随后,服务器可以将服务器中更新后的(新存储的)、神经网络1所对应的编号为1,2,3,4,5,6,7,8,9,10的参数的参数值传送到客户端1,将神经网络2所对应的编号为6,7,8,9,10,11,12,13的参数的参数值传送到客户端2。神经网络1和神经网络2分别利用接收到的参数值来更新自身神经网络中的参数,从而完成神经网络的一次迭代训练。本领域技术人员可以理解,上述迭代步骤可以反复执行,即步骤S210~S240可以反复执行,直至神经网络的训练满足要求为止。
根据本发明实施例,提出了在服务器上执行模型参数的更新的方式,每个神经网络可以仅上传其梯度和学习率,参数的更新过程主要在服务器处进行。由于以上工作特性,本发明实施例提供的网络参数训练方法可以大大增加模型训练过程的灵活性和泛化性。实验显示,这种服务器式的多任务训练有利于提升各个任务的表现,能很好地取代迁移学习和多任务学习。例如,经过实验,如果同时在服务器上挂载两个任务,一个是ImageNet一千类的分类任务,一个是COCO的目标检测任务,两个任务的基础模型都是ResNet 101,则最终训练得到的模型参数在两个任务上的表现均优于采用迁移学习方式微调得到的模型。
示例性地,根据本发明实施例的网络参数训练方法可以在具有存储器和处理器的设备、装置或者系统中实现。
根据本发明实施例的网络参数训练方法可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。
替代地,根据本发明实施例的网络参数训练方法还可以分布地部署在服务器端和客户端处。例如,可以在客户端获取神经网络的学习率和梯度,客户端将获取的学习率和梯度传送给服务器端(或云端),由服务器端(或云端)进行网络参数训练。
根据本发明实施例,m个神经网络中的每个神经网络的每个参数与各自的参数标识关联,方法200还可以包括:接收运行m个神经网络中的第i个神经网络的客户端的初始参数信息,初始参数信息包括第i个神经网络的所有参数的初始值;如果初始参数信息包括服务器中尚未存储的与特定参数标识关联的特定参数的初始值,则将特定参数的初始值存储在服务器中。
对于任一神经网络来说,初始运行该神经网络的客户端可以与服务器独立。客户端可以首先获取服务器的IP地址,并通过该IP地址访问服务器。获取IP地址的方式可以采用现有IP技术实现,本文不做赘述。客户端访问服务器时,可以向服务器发送连接请求,服务器接收该连接请求,并选择是否同意客户端连接。当客户端建立与服务器的连接之后,可以首先向其发送初始参数信息,该初始参数信息包括该客户端所运行的神经网络的所有参数的初始值。任一神经网络的参数的初始值可以通过神经网络的初始化过程获得,本领域技术人员可以理解神经网络的参数的初始化方式,本文不做赘述。示例性地,任一神经网络的参数的初始值可以是预设值。
对于服务器来说,如果服务器中还没有储存某参数的参数值,那么可以以最先声明该参数的神经网络(或说任务)传递的初始值作为服务器中存储的该参数的初始值。如果服务器中已存储某参数的参数值,则当接收到神经网络或说任务传递的该参数的初始值时,可以选择忽略该初始值。这样,服务器可以随着神经网络的初始值传递而实时添加、补充其存储的参数的初始值。
示例性而非限制性,在服务器同时接收到多个神经网络的、与特定参数标识关联的特定参数的初始值时,可以选择多个神经网络之一的、该特定参数的初始值,并将选择的初始值存储在服务器中。
根据发明另一方面,提供一种网络参数训练方法,应用于客户端。图4示出根据本发明一个实施例的网络参数训练方法400的示意性流程图。如图4所示,方法400包括以下步骤S410、S420和S430。
在步骤S410,向服务器传送运行在客户端上的神经网络的学习率以及与神经网络的每个参数分别对应的梯度。
神经网络每次迭代开始后,可以由运行其的客户端向服务器传递学习率和各个参数对应的梯度,等待服务器进行更新。
每个神经网络可以基于自身当前的参数值、以及预设的损失函数计算当前的学习率以及每个参数分别对应的梯度。计算学习率以及梯度的方式可以采用现有的或将来可能出现的学习率以及梯度计算方式实现,例如可以采用反向传播算法计算。
在步骤S420,自服务器接收与神经网络对应的参数值。
如上所述,服务器可以基于客户端上传的学习率以及梯度更新服务器中存储的参数值,并将更新后的、与每个神经网络对应的参数值传送给运行该神经网络的客户端。
在步骤S430,利用接收到的参数值对神经网络的参数进行更新。
待服务器更新参数完成后,客户端可以从服务器中下载最新版本的参数,并输入其神经网络中进行迭代,以增强神经网络的泛化性能。
示例性地,在利用接收到的参数值对神经网络的参数进行更新(步骤S430)之后,方法400还可以包括:基于经更新的参数计算神经网络下一次迭代的学习率以及与神经网络的每个参数分别对应的梯度。
本次迭代完成,即更新神经网络的参数之后,可以继续基于经更新的参数进行下一次迭代,本领域技术人员可以理解下一次迭代的学习率以及梯度的计算方式,本文不做赘述。
根据本发明实施例,方法400还可以包括:建立与服务器的连接;以及向服务器发送初始参数信息,初始参数信息包括神经网络的所有参数的初始值。
如上文所述,客户端可以通过IP地址向服务器发送连接请求,并建立与服务器的连接。客户端可以将神经网络的所有参数的初始值发送给服务器,由服务器选择存储或丢弃该初始值。
根据本发明另一方面,提供一种服务器。图5示出了根据本发明一个实施例的服务器500的示意性框图。
如图5所示,根据本发明实施例的服务器500包括接收模块510、计算模块520、更新模块530和传送模块540。所述各个模块可分别执行上文中结合图2-3描述的网络参数训练方法的各个步骤/功能。以下仅对该服务器500的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
接收模块510用于对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与所述神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数。接收模块510可以由图1所示的电子设备中的处理器102运行存储装置103中存储的程序指令来实现。
计算模块520用于基于所述m个神经网络的学习率和梯度,以及所述服务器中存储的与所述m个神经网络对应的参数值,计算新的参数值。计算模块520可以由图1所示的电子设备中的处理器102运行存储装置103中存储的程序指令来实现。
更新模块530用于利用所述新的参数值更新所述服务器中存储的参数值。更新模块530可以由图1所示的电子设备中的处理器102运行存储装置103中存储的程序指令来实现。
传送模块540用于对于所述m个神经网络中的第i个神经网络,将所述服务器中存储的与所述第i个神经网络对应的参数值传送到运行所述第i个神经网络的客户端,用于更新所述第i个神经网络的参数,其中,1≤i≤m。传送模块540可以由图1所示的电子设备中的处理器102运行存储装置103中存储的程序指令来实现。
根据本发明另一方面,提供一种客户端。图6示出了根据本发明一个实施例的客户端600的示意性框图。
如图6所示,根据本发明实施例的客户端600包括传送模块610、接收模块620和更新模块630。所述各个模块可分别执行上文中结合图4描述的网络参数训练方法的各个步骤/功能。以下仅对该客户端600的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
传送模块610用于向服务器传送运行在所述客户端上的神经网络的学习率以及与所述神经网络的每个参数分别对应的梯度。传送模块610可以由图1所示的电子设备中的处理器102运行存储装置103中存储的程序指令来实现。
接收模块620用于自所述服务器接收与所述神经网络对应的参数值。接收模块620可以由图1所示的电子设备中的处理器102运行存储装置103中存储的程序指令来实现。
更新模块630用于利用所述接收到的参数值对所述神经网络的参数进行更新。更新模块630可以由图1所示的电子设备中的处理器102运行存储装置103中存储的程序指令来实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
图7示出了根据本发明一个实施例的服务器700的示意性框图。服务器700包括通信装置710、存储装置720、以及处理器730。
所述通信装置710用于传送数据,例如接收神经网络的学习率和梯度或者发送神经网络的参数值等。所述通信装置710是可选的,服务器700可以不包括所述通信装置710。
所述存储装置720存储用于实现根据本发明实施例的网络参数训练方法中的相应步骤的计算机程序指令。
所述处理器730用于运行所述存储装置720中存储的计算机程序指令,以执行根据本发明实施例的网络参数训练方法的相应步骤。
在一个实施例中,所述计算机程序指令被所述处理器730运行时用于执行以下步骤:对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数;基于m个神经网络的学习率和梯度,以及服务器中存储的与m个神经网络对应的参数值,计算新的参数值;利用新的参数值更新服务器中存储的参数值;以及对于m个神经网络中的第i个神经网络,将服务器中存储的与第i个神经网络对应的参数值传送到运行第i个神经网络的客户端,用于更新第i个神经网络的参数,其中,1≤i≤m。
图8示出了根据本发明一个实施例的客户端800的示意性框图。客户端800包括通信装置810、存储装置820、以及处理器830。
所述通信装置810用于传送数据,例如传送神经网络的学习率和梯度或者接收神经网络的参数值等。所述通信装置810是可选的,客户端800可以不包括所述通信装置810。
所述存储装置820存储用于实现根据本发明实施例的网络参数训练方法中的相应步骤的计算机程序指令。
所述处理器830用于运行所述存储装置820中存储的计算机程序指令,以执行根据本发明实施例的网络参数训练方法的相应步骤。
在一个实施例中,所述计算机程序指令被所述处理器830运行时用于执行以下步骤:向服务器传送运行在客户端上的神经网络的学习率以及与神经网络的每个参数分别对应的梯度;自服务器接收与神经网络对应的参数值;以及利用接收到的参数值对神经网络的参数进行更新。
此外,根据本发明实施例,还提供了一种网络参数训练系统,包括:上述服务器500和上述客户端600;或者,上述服务器700和上述客户端800。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的网络参数训练方法的相应步骤,并且用于实现根据本发明实施例的服务器中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
在一个实施例中,所述程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的服务器的各个功能模块,并和/或者可以执行根据本发明实施例的网络参数训练方法。
在一个实施例中,所述程序指令在运行时用于执行以下步骤:对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与神经网络的每个参数对应的梯度,其中,m是大于或等于1的整数;基于m个神经网络的学习率和梯度,以及服务器中存储的与m个神经网络对应的参数值,计算新的参数值;利用新的参数值更新服务器中存储的参数值;以及对于m个神经网络中的第i个神经网络,将服务器中存储的与第i个神经网络对应的参数值传送到运行第i个神经网络的客户端,用于更新第i个神经网络的参数,其中,1≤i≤m。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的网络参数训练方法的相应步骤,并且用于实现根据本发明实施例的客户端中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
在一个实施例中,所述程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的客户端的各个功能模块,并和/或者可以执行根据本发明实施例的网络参数训练方法。
在一个实施例中,所述程序指令在运行时用于执行以下步骤:向服务器传送运行在客户端上的神经网络的学习率以及与神经网络的每个参数分别对应的梯度;自服务器接收与神经网络对应的参数值;以及利用接收到的参数值对神经网络的参数进行更新。
根据本发明实施例的网络参数训练系统中的各模块可以通过根据本发明实施例的实施网络参数训练的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的服务器和/或客户端中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种网络参数训练方法,应用于服务器,所述方法包括:
对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与所述神经网络的每个参数对应的梯度,其中,m是大于1的整数;
基于所述m个神经网络的学习率和梯度,以及所述服务器中存储的与所述m个神经网络对应的参数值,计算新的参数值,其中,所述与所述m个神经网络对应的参数值包括第一部分参数值和第二部分参数值,所述第一部分参数值中的每个参数值仅对应所述m个神经网络中的一个神经网络,所述第二部分参数值中的每个参数值同时对应所述m个神经网络中的至少两个神经网络;
利用所述新的参数值更新所述服务器中存储的参数值;以及
对于所述m个神经网络中的第i个神经网络,将所述服务器中存储的与所述第i个神经网络对应的参数值传送到运行所述第i个神经网络的客户端,用于更新所述第i个神经网络的参数,其中,1≤i≤m。
2.如权利要求1所述的方法,其中,所述m个神经网络中的每个神经网络的每个参数与各自的参数标识关联,
所述基于所述m个神经网络的学习率和梯度以及所述服务器中存储的与所述m个神经网络对应的参数值,计算新的参数值包括:
对于所述第一部分参数值中的每个第一参数值,根据与所述第一参数值对应的神经网络的学习率和所述第一参数值的参数标识所关联的参数的梯度,以及所述第一参数值,计算与所述第一参数值的参数标识对应的第一新参数值;
对于所述第二部分参数值中的每个第二参数值,根据与所述第二参数值对应的至少两个神经网络的学习率和所述第二参数值的参数标识所关联的参数的梯度,以及所述第二参数值,计算与所述第二参数值的参数标识对应的第二新参数值。
3.如权利要求2所述的方法,其中,所述根据与所述第二参数值对应的至少两个神经网络的学习率和所述第一参数值的参数标识所关联的参数的梯度,以及所述第二参数值,计算与所述第二参数值的参数标识对应的第二新参数值包括:
将所述与所述第二参数值对应的至少两个神经网络中的每个神经网络的学习率作为各自的权重,对所述至少两个神经网络的、与所述第二参数值的参数标识所关联的参数的梯度进行加权求和,以获得综合梯度;以及
根据所述综合梯度和所述服务器存储的第二参数值,计算与所述第二参数值的参数标识对应的第二新参数值。
4.如权利要求1至3任一项所述的方法,其中,所述m个神经网络中的每个神经网络的每个参数与各自的参数标识关联,所述方法还包括:
接收运行所述m个神经网络中的第i个神经网络的客户端的初始参数信息,所述初始参数信息包括所述第i个神经网络的所有参数的初始值;
如果所述初始参数信息包括所述服务器中尚未存储的与特定参数标识关联的特定参数的初始值,则将所述特定参数的初始值存储在所述服务器中。
5.一种网络参数训练方法,应用于客户端,所述方法包括:
向服务器传送运行在所述客户端上的神经网络的学习率以及与所述运行在所述客户端上的神经网络的每个参数分别对应的梯度,其中,所述服务器存储有与m个神经网络对应的参数值,所述m个神经网络包括所述运行在所述客户端上的神经网络,m是大于1的整数,其中,所述与所述m个神经网络对应的参数值包括第一部分参数值和第二部分参数值,所述第一部分参数值中的每个参数值仅对应所述m个神经网络中的一个神经网络,所述第二部分参数值中的每个参数值同时对应所述m个神经网络中的至少两个神经网络;
自所述服务器接收与所述运行在所述客户端上的神经网络对应的参数值;以及
利用所述接收到的参数值对所述运行在所述客户端上的神经网络的参数进行更新。
6.如权利要求5所述的方法,其中,所述方法还包括:
建立与所述服务器的连接;以及
向所述服务器发送初始参数信息,所述初始参数信息包括所述运行在所述客户端上的神经网络的所有参数的初始值。
7.一种服务器,包括:
接收模块,用于对于m个神经网络中的每个神经网络,接收该神经网络的学习率以及与所述神经网络的每个参数对应的梯度,其中,m是大于1的整数;
计算模块,用于基于所述m个神经网络的学习率和梯度,以及所述服务器中存储的与所述m个神经网络对应的参数值,计算新的参数值,其中,所述与所述m个神经网络对应的参数值包括第一部分参数值和第二部分参数值,所述第一部分参数值中的每个参数值仅对应所述m个神经网络中的一个神经网络,所述第二部分参数值中的每个参数值同时对应所述m个神经网络中的至少两个神经网络;
更新模块,用于利用所述新的参数值更新所述服务器中存储的参数值;以及
传送模块,用于对于所述m个神经网络中的第i个神经网络,将所述服务器中存储的与所述第i个神经网络对应的参数值传送到运行所述第i个神经网络的客户端,用于更新所述第i个神经网络的参数,其中,1≤i≤m。
8.一种客户端,包括:
传送模块,用于向服务器传送运行在所述客户端上的神经网络的学习率以及与所述运行在所述客户端上的神经网络的每个参数分别对应的梯度,其中,所述服务器存储有与m个神经网络对应的参数值,所述m个神经网络包括所述运行在所述客户端上的神经网络,m是大于1的整数,其中,所述与所述m个神经网络对应的参数值包括第一部分参数值和第二部分参数值,所述第一部分参数值中的每个参数值仅对应所述m个神经网络中的一个神经网络,所述第二部分参数值中的每个参数值同时对应所述m个神经网络中的至少两个神经网络;
接收模块,用于自所述服务器接收与所述运行在所述客户端上的神经网络对应的参数值;以及
更新模块,用于利用所述接收到的参数值对所述运行在所述客户端上的神经网络的参数进行更新。
9.一种服务器,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至4任一项所述的网络参数训练方法。
10.一种客户端,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求5或6所述的网络参数训练方法。
11.一种网络参数训练系统,包括:
如权利要求7所述的服务器和权利要求8所述的客户端;或者,
如权利要求9所述的服务器和权利要求10所述的客户端。
12.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至4任一项所述的网络参数训练方法。
13.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求5或6所述的网络参数训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811058426.7A CN109117953B (zh) | 2018-09-11 | 2018-09-11 | 网络参数训练方法和系统、服务器、客户端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811058426.7A CN109117953B (zh) | 2018-09-11 | 2018-09-11 | 网络参数训练方法和系统、服务器、客户端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109117953A CN109117953A (zh) | 2019-01-01 |
CN109117953B true CN109117953B (zh) | 2021-11-09 |
Family
ID=64859232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811058426.7A Active CN109117953B (zh) | 2018-09-11 | 2018-09-11 | 网络参数训练方法和系统、服务器、客户端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109117953B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458287B (zh) * | 2019-02-15 | 2024-05-07 | 平安科技(深圳)有限公司 | 神经网络优化器的参数更新方法、装置、终端及存储介质 |
CN109902820B (zh) * | 2019-02-20 | 2023-04-07 | 腾讯科技(深圳)有限公司 | Ai模型训练方法、装置、存储介质及设备 |
CN110136828A (zh) * | 2019-05-16 | 2019-08-16 | 杭州健培科技有限公司 | 一种基于深度学习实现医学影像多任务辅助诊断的方法 |
CN112257840B (zh) * | 2019-07-22 | 2024-09-03 | 华为技术有限公司 | 一种神经网络处理方法以及相关设备 |
DE102019212825A1 (de) * | 2019-08-27 | 2021-03-04 | Robert Bosch Gmbh | Verfahren zur Erkennung von Verschlechterung in einem Netzwerk |
CN112446485B (zh) * | 2019-08-31 | 2023-06-02 | 安徽寒武纪信息科技有限公司 | 一种神经网络协同训练方法、装置以及相关产品 |
CN112446474B (zh) | 2019-08-31 | 2022-11-22 | 安徽寒武纪信息科技有限公司 | 芯片和多芯片系统及电子设备和数据传输方法 |
CN110956202B (zh) * | 2019-11-13 | 2023-08-01 | 重庆大学 | 基于分布式学习的图像训练方法、系统、介质及智能设备 |
CN113162861A (zh) * | 2020-01-23 | 2021-07-23 | 华为技术有限公司 | 一种基于模型训练的通信方法、装置及系统 |
CN114282678A (zh) * | 2020-09-18 | 2022-04-05 | 华为技术有限公司 | 一种机器学习模型的训练的方法以及相关设备 |
CN112766493B (zh) * | 2021-01-19 | 2023-04-07 | 北京市商汤科技开发有限公司 | 多任务神经网络的训练方法、装置、电子设备及存储介质 |
CN113283596B (zh) * | 2021-05-18 | 2024-06-04 | 北京达佳互联信息技术有限公司 | 一种模型参数训练方法、服务器、系统及存储介质 |
CN113326939A (zh) * | 2021-06-21 | 2021-08-31 | 商汤国际私人有限公司 | 网络训练、行人重识别方法及装置、电子设备和存储介质 |
CN115660034B (zh) * | 2022-10-28 | 2023-08-15 | 北京百度网讯科技有限公司 | 分布式模型训练的方法、装置和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106297774A (zh) * | 2015-05-29 | 2017-01-04 | 中国科学院声学研究所 | 一种神经网络声学模型的分布式并行训练方法及系统 |
CN106779093A (zh) * | 2017-01-06 | 2017-05-31 | 中国科学院上海高等研究院 | 基于滑动窗口采样的分布式机器学习训练方法及其系统 |
CN107018184A (zh) * | 2017-03-28 | 2017-08-04 | 华中科技大学 | 分布式深度神经网络集群分组同步优化方法及系统 |
CN107578094A (zh) * | 2017-10-25 | 2018-01-12 | 济南浪潮高新科技投资发展有限公司 | 基于参数服务器和fpga实现神经网络分布式训练的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10445641B2 (en) * | 2015-02-06 | 2019-10-15 | Deepmind Technologies Limited | Distributed training of reinforcement learning systems |
-
2018
- 2018-09-11 CN CN201811058426.7A patent/CN109117953B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106297774A (zh) * | 2015-05-29 | 2017-01-04 | 中国科学院声学研究所 | 一种神经网络声学模型的分布式并行训练方法及系统 |
CN106779093A (zh) * | 2017-01-06 | 2017-05-31 | 中国科学院上海高等研究院 | 基于滑动窗口采样的分布式机器学习训练方法及其系统 |
CN107018184A (zh) * | 2017-03-28 | 2017-08-04 | 华中科技大学 | 分布式深度神经网络集群分组同步优化方法及系统 |
CN107578094A (zh) * | 2017-10-25 | 2018-01-12 | 济南浪潮高新科技投资发展有限公司 | 基于参数服务器和fpga实现神经网络分布式训练的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109117953A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117953B (zh) | 网络参数训练方法和系统、服务器、客户端及存储介质 | |
US20210256403A1 (en) | Recommendation method and apparatus | |
JP7322044B2 (ja) | レコメンダシステムのための高効率畳み込みネットワーク | |
CN109284823B (zh) | 一种运算装置及相关产品 | |
US9990558B2 (en) | Generating image features based on robust feature-learning | |
KR102342678B1 (ko) | 개인화 컨텐츠 추천을 위한 실시간 그래프기반 임베딩 구축 방법 및 시스템 | |
CN110738324B (zh) | 深度学习系统和用于深度学习系统的处理数据的方法 | |
WO2022057433A1 (zh) | 一种机器学习模型的训练的方法以及相关设备 | |
CN109597965B (zh) | 基于深度神经网络的数据处理方法、系统、终端及介质 | |
CN113240127B (zh) | 基于联邦学习的训练方法、装置、电子设备及存储介质 | |
US20210390152A1 (en) | Method, system, and non-transitory computer-readable record medium for providing multiple models of federated learning using personalization | |
US20210383205A1 (en) | Taxonomy Construction via Graph-Based Cross-domain Knowledge Transfer | |
WO2022022274A1 (zh) | 一种模型训练方法及装置 | |
CN111353598A (zh) | 一种神经网络压缩方法、电子设备及计算机可读介质 | |
WO2024067373A1 (zh) | 一种数据处理方法及相关装置 | |
CN116468114A (zh) | 一种联邦学习方法及相关装置 | |
CN114037882A (zh) | 边缘人工智能装置、电子装置及其方法 | |
CN114118403A (zh) | 神经网络架构搜索方法、装置、存储介质及电子设备 | |
CN109598344A (zh) | 模型生成方法和装置 | |
WO2024094094A1 (zh) | 一种模型训练方法及装置 | |
WO2024152686A1 (zh) | 确定资源信息的推荐指标的方法、装置、设备、存储介质及计算机程序产品 | |
CN115438755B (zh) | 分类模型的增量训练方法、装置和计算机设备 | |
CN110689117A (zh) | 基于神经网络的信息处理方法和装置 | |
CN111784787B (zh) | 图像生成方法和装置 | |
WO2021129530A1 (zh) | 一种虚拟物品的显示方法、装置、计算机设备和存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |