一种类Alexnet网络的模型训练方法和装置制造方法及图纸

技术编号:16457341 阅读:20 留言:0更新日期:2017-10-25 21:25
本申请实施例提供了一种类Alexnet网络的模型训练方法和装置,所述方法包括:采用第一图形处理单元GPU计算在类Alexnet网络下的第一梯度值和第二梯度值;接收第二图形处理单元GPU发送的在所述类Alexnet网络下的第三梯度值;依据所述第一梯度值和第三梯度值计算所述类Alexnet网络的第一模型参数;接收所述第二图形处理单元GPU发送的在所述类Alexnet网络下的第四梯度值;依据所述第二梯度值和第四梯度值计算所述类Alexnet网络的第二模型参数;采用所述第一模型参数和第二模型参数训练所述类Alexnet网络的模型,使计算和通信两个过程分开进行,进一步使类Alexnet网络的卷积层的计算和全连接参数通信并行,有效地减少了模型训练过程耗费的时间,提高了模型训练的运行效率。

A model training method and device for Alexnet networks

The embodiment of the invention provides a method and a device type training model of Alexnet network, the method includes: the first graphics processing unit GPU the first gradient calculation in class Alexnet network under the gradient value and the second value; receiving second graphics processing unit GPU to send in the Alexnet network under the third gradient value basis; the first and third gradient gradient value model to calculate the parameters of the first class of Alexnet network; receiving the second graphics processing unit GPU sent in the Alexnet network under the fourth gradient value; according to the second gradient values and fourth gradient value calculation of the second parameter model of Alexnet network; by using the first model parameters and model parameters of the second training class Alexnet network model, the computation and communication two processes separately, further make the class Alexnet network The calculation of the stacked layer and the communication of the full connection parameters can effectively reduce the time spent in the model training process and improve the efficiency of the model training.

【技术实现步骤摘要】
一种类Alexnet网络的模型训练方法和装置
本申请涉及信息
,特别是涉及一种类Alexnet网络的模型训练方法和一种类Alexnet网络的模型训练装置。
技术介绍
人工智能(ArtificialIntelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大。近年来,深度学习(DeepLearning)直接尝试解决抽象认知的难题,并取得了突破性的进展。深度学习引爆的这场革命,将人工智能带上了一个新的台阶,不仅学术意义巨大,而且实用性很强。深度学习的动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。通常,深度学习是通过建立相应的网络模型,采用模型训练的方式来进行的。根据不同的学习框架建立的学习模型很是不同,例如,卷积神经网络(Convolutionalneuralnetworks,简称CNNs)就是一种深度的监督学习下的机器学习模型,其中,Alexnet网络又是开发者经常使用的一种经典的卷积神经网络。如图1所示,是一种Alexnet网络的结构示例图。在Alexnet网络中,比较重要的两种层类型为卷积层Convolution(即图1中Convolution1至pool5部分)和全连接层InnerProduct(即图1中InnerProduct6至loss层部分)。在Alexnet网络中进行一次模型训练的过程可以描述如下:(1)先将数据从Data层正向传播到Top层,此过程途中先经过卷积层部分,再经过全连接层部分;(2)在传播到Top层后计算损失;(3)将损失从Top层依次反向传播到Data层,并在传播过程中计算梯度值,最后完成连接权重的更新,这一过程途中先经过全连接层部分,再经过卷积层部分。在Alexnet网络中,无论是正向传播过程还是反向传播过程,卷积层部分都会拥有非常大的计算量,几乎占了整个网络的计算时间80%以上,但卷积层需要更新的参数量却非常小,只占整个网络参数的10%;而全连接层部分的情况则与卷积层完全相反,全连接层部分拥有整个网络90%的待更新参数,但计算时间却只占了整个网络的20%。在单机多卡(即一台装有多个图形处理单元GPU的计算机)环境下,在进行模型训练时,为了能够得到无损的训练结果,必须在每个GPU上都保持一份全量的模型,并在两个模型上同时进行训练。以两卡(两个图形处理单元GPU)为例,可以将两张卡分为主卡和从卡,如图2所示,是已有技术中主卡与从卡的工作原理图。在每一轮训练结束后,需要将从卡上的模型计算出来的梯度值发送到主卡模型上,并由主卡在计算梯度值的平均值后更新参数,最后将主卡上最新的模型广播发送到从卡上,才能继续进行下一次的训练。已有技术中一般是先对所有层计算出全部的梯度值之后,将得到的所有层的梯度值发送到主卡上求和平均并更新模型,即必须先进行全部的计算之后才能进行通信,在时间上,计算和通信具有严格的先后顺序。因此,按照已有技术首先计算出全连接层的梯度值,并在将全连接层的梯度值汇总到主卡上之后,再计算卷积层的梯度值,则整个过程所耗费的时间将会非常多,严重影响模型训练的运行效率。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种类Alexnet网络的模型训练方法和相应的一种类Alexnet网络的模型训练装置。为了解决上述问题,本申请公开了一种类Alexnet网络的模型训练方法,包括:采用第一图形处理单元GPU计算在类Alexnet网络下的第一梯度值和第二梯度值;接收第二图形处理单元GPU发送的在所述类Alexnet网络下的第三梯度值;依据所述第一梯度值和第三梯度值计算所述类Alexnet网络的第一模型参数;接收所述第二图形处理单元GPU发送的在所述类Alexnet网络下的第四梯度值;依据所述第二梯度值和第四梯度值计算所述类Alexnet网络的第二模型参数;采用所述第一模型参数和第二模型参数训练所述类Alexnet网络的模型。可选地,所述类Alexnet网络由全连接层和卷积层组成,所述采用第一图形处理单元GPU计算在类Alexnet网络下的第一梯度值和第二梯度值的步骤包括:采用第一图形处理单元GPU计算在所述全连接层下的第一梯度值和在所述卷积层下的第二梯度值。可选地,所述第一图形处理单元GPU包括第一计算队列,所述采用第一图形处理单元GPU计算在所述全连接层下的第一梯度值和在所述卷积层下的第二梯度值的步骤包括:采用第一计算队列计算在所述全连接层下的第一梯度值和在所述卷积层下的第二梯度值。可选地,所述第一图形处理单元GPU还包括第一通信队列,所述第二图形处理单元GPU包括第二通信队列,所述接收第二图形处理单元GPU发送的在所述类Alexnet网络下的第三梯度值的步骤包括:采用第一通信队列接收第二通信队列发送的第三梯度值;所述接收所述第二图形处理单元GPU发送的在所述类Alexnet网络下的第四梯度值的步骤包括:采用第一通信队列接收第二通信队列发送的第四梯度值。可选地,所述第二图形处理单元还包括第二计算队列,所述第三梯度值和所述第四梯度值分别通过如下步骤获得:采用第二计算队列计算在所述全连接层下的第三梯度值;以及,采用第二计算队列计算在所述卷积层下的第四梯度值。可选地,所述依据所述第一梯度值和第三梯度值计算所述类Alexnet网络的第一模型参数的步骤包括:计算所述第一梯度值和第三梯度值的平均值,获得所述类Alexnet网络的第一模型参数。可选地,所述采用所述第二梯度值和第四梯度值计算所述类Alexnet网络的第二模型参数的步骤包括:计算所述第二梯度值和第四梯度值的平均值,获得所述类Alexnet网络的第二模型参数。可选地,在采用第一图形处理单元GPU计算在类Alexnet网络下的第一梯度值和第二梯度值的步骤前,还包括:判断网络是否为类Alexnet网络。可选地,所述网络包括m个结构层,所述判断网络是否为类Alexnet网络的步骤包括:对所述网络进行预训练,获得每个结构层的计算时间和参数量;根据所述计算时间和参数量,获得所述网络的计算总时间和总参数量;按照预设传输顺序,逐层累加所述m个结构层的计算时间,分别获得截至第n层的计算时间之和;当所述截至第p层的计算时间之和与所述计算总时间的比值满足第一预设条件时,累加剩余m-p层的参数量,获得所述剩余m-p层的参数量之和;判断所述剩余m-p层的参数量之和与所述总参数量的比值是否满足第二预设条件;若是,则将所述网络划分为类Alexnet网络。可选地,所述将所述网络划分为类Alexnet网络的步骤包括:将所述网络的前p层划分为类Alexnet网络的全连接层;将所述剩余m-p层划分为类Alexnet网络的卷积层。为了解决上述问题,本申请还公开了一种类Alexnet网络的模型训练装置,包括:第一计算模块,用于采用第一图形处理单元GPU计算在类Alexnet网络下的第一梯本文档来自技高网
...
一种类Alexnet网络的模型训练方法和装置

【技术保护点】
一种类Alexnet网络的模型训练方法,其特征在于,包括:采用第一图形处理单元GPU计算在类Alexnet网络下的第一梯度值和第二梯度值;接收第二图形处理单元GPU发送的在所述类Alexnet网络下的第三梯度值;依据所述第一梯度值和第三梯度值计算所述类Alexnet网络的第一模型参数;接收所述第二图形处理单元GPU发送的在所述类Alexnet网络下的第四梯度值;依据所述第二梯度值和第四梯度值计算所述类Alexnet网络的第二模型参数;采用所述第一模型参数和第二模型参数训练所述类Alexnet网络的模型。

【技术特征摘要】
1.一种类Alexnet网络的模型训练方法,其特征在于,包括:采用第一图形处理单元GPU计算在类Alexnet网络下的第一梯度值和第二梯度值;接收第二图形处理单元GPU发送的在所述类Alexnet网络下的第三梯度值;依据所述第一梯度值和第三梯度值计算所述类Alexnet网络的第一模型参数;接收所述第二图形处理单元GPU发送的在所述类Alexnet网络下的第四梯度值;依据所述第二梯度值和第四梯度值计算所述类Alexnet网络的第二模型参数;采用所述第一模型参数和第二模型参数训练所述类Alexnet网络的模型。2.根据权利要求1所述的方法,其特征在于,所述类Alexnet网络由全连接层和卷积层组成,所述采用第一图形处理单元GPU计算在类Alexnet网络下的第一梯度值和第二梯度值的步骤包括:采用第一图形处理单元GPU计算在所述全连接层下的第一梯度值和在所述卷积层下的第二梯度值。3.根据权利要求2所述的方法,其特征在于,所述第一图形处理单元GPU包括第一计算队列,所述采用第一图形处理单元GPU计算在所述全连接层下的第一梯度值和在所述卷积层下的第二梯度值的步骤包括:采用第一计算队列计算在所述全连接层下的第一梯度值和在所述卷积层下的第二梯度值。4.根据权利要求3所述的方法,其特征在于,所述第一图形处理单元GPU还包括第一通信队列,所述第二图形处理单元GPU包括第二通信队列,所述接收第二图形处理单元GPU发送的在所述类Alexnet网络下的第三梯度值的步骤包括:采用第一通信队列接收第二通信队列发送的第三梯度值;所述接收所述第二图形处理单元GPU发送的在所述类Alexnet网络下的第四梯度值的步骤包括:采用第一通信队列接收第二通信队列发送的第四梯度值。5.根据权利要求4所述的方法,其特征在于,所述第二图形处理单元还包括第二计算队列,所述第三梯度值和所述第四梯度值分别通过如下步骤获得:采用第二计算队列计算在所述全连接层下的第三梯度值;以及,采用第二计算队列计算在所述卷积层下的第四梯度值。6.根据权利要求1-5任一所述的方法,其特征在于,所述依据所述第一梯度值和第三梯度值计算所述类Alexnet网络的第一模型参数的步骤包括:计算所述第一梯度值和第三梯度值的平均值,获得所述类Alexnet网络的第一模型参数。7.根据权利要求6所述的方法,其特征在于,所述采用所述第二梯度值和第四梯度值计算所述类Alexnet网络的第二模型参数的步骤包括:计算所述第二梯度值和第四梯度值的平均值,获得所述类Alexnet网络的第二模型参数。8.根据权利要求1或2或3或4或5或7所述的方法,其特征在于,在采用第一图形处理单元GPU计算在类Alexnet网络下的第一梯度值和第二梯度值的步骤前,还包括:判断网络是否为类Alexnet网络。9.根据权利要求8所述的方法,其特征在于,所述网络包括m个结构层,所述判断网络是否为类Alexnet网络的步骤包括:对所述网络进行预训练,获得每个结构层的计算时间和参数量;根据所述计算时间和参数量,获得所述网络的计算总时间和总参数量;按照预设传输顺序,逐层累加所述m个结构层的计算时间,分别获得截至第n层的计算时间之和;当所述截至第p层的计算时间之和与所述计算总时间的比值满足第一预设条件时,累加剩余m-p层的参数量,获得所述剩余m-p层的参数量之和;判断所述剩余m-p层的参数量之和与所述总参数量的比值是否满足第二预设条件;若是,则将所述网络划分为类Alexnet网络。10.根据权利要求9所述的方法,其特征在于,所述将所述网络划分为类Alexnet网络的步骤包括:将所述网络的前p层划分为类Alexnet网络的全连接层;将所述剩余m-p层划分为类A...

【专利技术属性】
技术研发人员:王思宇
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1