CN110689045A - 一种深度学习模型的分布式训练方法及装置 - Google Patents

一种深度学习模型的分布式训练方法及装置 Download PDF

Info

Publication number
CN110689045A
CN110689045A CN201910783355.5A CN201910783355A CN110689045A CN 110689045 A CN110689045 A CN 110689045A CN 201910783355 A CN201910783355 A CN 201910783355A CN 110689045 A CN110689045 A CN 110689045A
Authority
CN
China
Prior art keywords
training
deep learning
learning model
weight
batch
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.)
Pending
Application number
CN201910783355.5A
Other languages
English (en)
Inventor
张斯尧
谢喜林
王思远
黄晋
蒋杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Vision Polytron Technologies Inc
Original Assignee
Suzhou Vision Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Vision Polytron Technologies Inc filed Critical Suzhou Vision Polytron Technologies Inc
Priority to CN201910783355.5A priority Critical patent/CN110689045A/zh
Publication of CN110689045A publication Critical patent/CN110689045A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例提供了一种深度学习模型的分布式训练方法及装置,所述方法包括:通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学习模型进行迭代训练;其中,在每次对所述大数据车辆图像的深度学习模型进行迭代训练时,使用比前次迭代训练更多的处理器来加载更多的图像数据;通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以调节训练的准确度。通过本发明实施例,能够提高对大数据车辆图像的深度学习模型进行训练的效率和准确度。

Description

一种深度学习模型的分布式训练方法及装置
技术领域
本发明属于计算机视觉与智慧交通技术领域,具体是涉及到一种基于大数据车辆图像 的深度学习模型的分布式训练方法、装置、终端设备及计算机可读介质。
背景技术
随着现代化交通、安防等行业的迅速发展,大数据与深度学习技术是近年来计算机视 觉与模式识别技术在智能交通领域的重要研究课题之一。
基于大数据与深度学习的模型的分布式训练是计算机视觉领域深度学习网络的一个重 要研究基础。通常,对于深度学习应用来说,更大的数据集和更大的模型能够带来准确度 的显著提升,但代价是会花费更长的训练时间。伴随着最近几年深度学习的兴起,很多研究 者基于此开始尝试在构建深度学习网络训练模型时,同时能兼顾准确度和实效性。其目标 是对现实中的车辆图像、行人图像等进行训练,使分布式训练方法具有真实场景下广泛的 应用价值。
现有大数据车辆图像深度学习模型的训练方法存在训练速度慢,训练成本高等缺点, 例如,用目前英伟达的M40的GPU(图像处理器)完成百万张车辆图像的残差网络-50(ResNet-50)训练要花费将近14天。这一训练总共要进行10的18次方的单精度运算。这 无疑从时间成本和费用成本上来说都存在不小的缺陷。
发明内容
有鉴于此,本发明实施例提供一种深度学习模型的分布式训练方法、装置、终端设备 及计算机可读介质,能够提高对大数据车辆图像的深度学习模型进行训练的效率和准确度。
本发明实施例的第一方面提供了一种深度学习模型的分布式训练方法,包括:
通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学习模型进行迭代训练; 其中,在每次对所述大数据车辆图像的深度学习模型进行迭代训练时,使用比前次迭代训 练更多的处理器来加载更多的图像数据;
通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以提高 对所述大数据车辆图像的深度学习模型进行训练的准确度;所述改进的线性缩放包括:将 批量从B增加到kB时,同时将学习率从η增加到kη;所述改进的预热策略包括:如果使用相对较大的学习率kη,则从相对较小的学习率η值开始,在前几个时间段将所述相对较小的学习率η增加到所述相对较大的学习率kη。
本发明实施例的第二方面提供了一种深度学习模型的分布式训练装置,包括:
迭代训练模块,用于通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学习 模型进行迭代训练;其中,在每次对所述大数据车辆图像的深度学习模型进行迭代训练时, 使用比前次迭代训练更多的处理器来加载更多的图像数据;
准度训练模块,用于通过改进的线性缩放与预热策略对加载的所述更多的图像数据进 行批量训练,以提高对所述大数据车辆图像的深度学习模型进行训练的准确度;所述改进 的线性缩放包括:将批量从B增加到kB时,同时将学习率从η增加到kη;所述改进的预热策略包括:如果使用相对较大的学习率kη,则从相对较小的学习率η值开始,在前几个 时间段将所述相对较小的学习率η增加到所述相对较大的学习率kη。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述 存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现 上述深度学习模型的分布式训练方法的步骤。
本发明实施例的第六方面提供了一种计算机可读介质,所述计算机可读介质存储有计 算机程序,所述计算机程序被处理执行时实现上述深度学习模型的分布式训练方法的步骤。
本发明实施例提供的深度学习模型的分布式训练方法中,可通过改进的随机梯度下降 迭代算法对大数据车辆图像的深度学习模型进行迭代训练,在每次对所述大数据车辆图像 的深度学习模型进行迭代训练时,使用比前次迭代训练更多的处理器来加载更多的图像数 据,并通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以调 节训练的准确度,从而可提高对大数据车辆图像的深度学习模型进行训练的效率、准确度, 使其更好地满足实时性需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附 图获得其他的附图。
图1是本发明实施例提供的一种深度学习模型的分布式训练方法的流程图;
图2是本发明实施例提供的一种深度学习模型的分布式训练装置的结构示意图;
图3是图2中的迭代训练模块的细化结构示意图;
图4是本发明实施例提供的另一种深度学习模型的分布式训练装置的结构示意图;
图5是图4中的缩放改进模块的细化结构示意图;
图6是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体 细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、 电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
请参阅图1,图1是本发明实施例提供的一种深度学习模型的分布式训练方法。如图1 所示,本实施例的深度学习模型的分布式训练方法包括以下步骤:
S101:通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学习模型进行迭代 训练。
在本发明实施例中,通常来说,使用参数服务器的异步方法无法保证在大型系统上稳 定。对于非常大的深度神经网络(DNN)训练,数据并行同步方法更加稳定。这个想法也很简单——通过为随机梯度下降(SGD)使用大的批量大小,每次迭代的工作可以轻松分 配到多个处理器。理想车辆图像训练情况下,ResNet-50需要772亿次单精度操作来处理一 个225x225的车辆图像。如果为图像网(ImageNet)数据集运行90次epoch(时间段), 运算数为90*128万*77.2亿(10的18次方)。目前,最强大的超级计算机每秒可完成200 ×1015次单精度运算。如果有一种算法可以充分利用超级计算机,理论上可以5秒内完成 ResNet-50的训练。为此,需要让算法使用更多的处理器,并在每次迭代时加载更多的车辆 图像数据。以此来减少总训练时间。通常来说,在一定范围内,更大的批量将使单个GPU 的速度更高(如图2所示)。原因是低级矩阵计算库将更有效。对于使用ImageNet训练Res-Net 50模型,每个GPU的最佳批量大小为512。如果想要使用许多GPU并使每个GPU都有效, 则需要更大的批量大小。例如,如果有16个GPU,那么应该将批量大小设置为 16×512=8192。理想情况下,如果固定总数量访问量,随着处理器数量的增加相应呈线 性增加批量大小,那么改进的SGD迭代次数将会线性减小,每次迭代的时间成本保持不变, 因此总时间也将随处理器数量线性减少。具体的改进的SGD迭代算法如下:令w代表(深 度神经网络)DNN的权重、X代表训练数据、n为X中的样本数,而Y代表训练数据 X的标注。我们令xi为X的样本,l(xi,yi,w)为xi和其标注yi(i∈{1,2,...,n))所计 算出的损失。本发明实施例使用如交叉熵函数那样的损失函数,DNN训练的目标是最小化 方程(1)中的损失函数,公式如下:
Figure BDA0002177243820000041
其中,w代表DNN的权重,X为训练数据,n为X中的样本数,Y代表训练数据X 的标注,xi为训练数据X中的样本。
在第t次迭代中,本发明实施例使用前向和反向传播以求得损失函数对权重的梯度。然 后,使用这个梯度来更新权重,根据梯度更新权重的方程(2)如下:
Figure BDA0002177243820000042
其中,wt为第t-1次迭代后的权重,wt+1为第t次迭代后的权重,η为学习率,第t次迭代的批量大小为Bt,且Bt的大小为b。本发明实施例令第t次迭代的批量大小为Bt,且Bt的 大小为b,然后就可以基于以下方程(3)更新权重:
Figure BDA0002177243820000043
其中,wt为第t-1次迭代后的权重,wt+1为第t次迭代后的权重,η为学习率,第t次迭代的批量大小为Bt,且Bt的大小为b。
为了简化表达方式,我们可以说方程(4)中的更新规则代表我们使用权重的梯度
Figure BDA0002177243820000044
更 新权重wt为wt+1
Figure BDA0002177243820000045
采用上述方法,进行迭代,同时尽可能多的用到处理器来加载更多的图像数据,能够 大幅度线性减少训练时间。此外,在通过改进的随机梯度下降迭代算法对深度学习模型进 行迭代训练之前,还包括建立所述深度学习模型,建立所述深度学习模型的方法同现有技 术,故在此不再赘述。
S102:通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练, 以提高对所述深度学习模型进行训练的准确度。
在本发明实施例中,在训练大批量的时候,我们需要确保在运行相同数量的时间段 (epoch)的情况下,实现与小的批量差不多的测试精度。在这里我们固定了时间段(epoch) 的数量,因为在统计上,一个时间段(epoch)意味着算法会触及整个数据集一次;而在计 算上,固定时间段(epoch)的数量意味着固定浮点运算的数量。本发明实施例采用改进的 线性缩放和预热策略训练大批量数据:1.线性缩放:将批量从B增加到kB,同时也将学习 率从η增加到kη;2.预热策略:如果使用相对较大的学习率kη,则从相对较小的学习率η值开始,在前几个时间段将所述相对较小的学习率η增加到所述相对较大的学习率kη。 通过这些技术,可以在一定范围内使用相对较大的批量数据图像。进一步地,为了对权重 进行更精准地调节,本发明实施例还可在最后应用改进的适应率缩放(LARS)对所述批量 训练中的大批量训练层进行相应的训练,得出最后的快速训练模型。具体地,为了提高大 批量训练的准确性,本发明方法实施例使用了一种新的更新学习率(LR)规则。在这里必 须考虑单机情况,使用
Figure BDA0002177243820000051
来更新权重。使用数据并行方法,可以用相同的方式 处理多机器版本。所述深度学习模型的每个层都有自己的权重w和梯度
Figure BDA0002177243820000052
标准SGD算 法对所有层使用相同的LR(η),然而,从日常实验中,可以观察到不同的层可能需要不 同的LR,原因是权重范数||w||和权重梯度范数
Figure BDA0002177243820000053
之间的比率在不同的层有很大的不 同。本发明实施例使用改进的LARS算法(新的更新学习率规则)来解决这个问题,基本 LR规则在公式(1)中定义。公式(1)中的l是缩放因子,在本发明实施例中,可在AlexNet 和ResNet训练中,将l设置为0.001。γ是用户的调整参数。通常一个好的γ,值都在[1,50] 之间。在这个等式中,不同的层可以有不同的LR。可向SGD添加动量(用μ表示)和权 重衰减(用β表示),并对LARS使用以下方法步骤:获取所述批量训练中的大批量训练 层中的每个可学习参数的本地学习率η;获取所述批量训练中的大批量训练层中的每个层的 真实学习率η′;所述真实学习率为η′=γ×α×η;其中,γ是用户的调整参数,γ的取值范 围为[1,50],α为加速项;通过公式
Figure BDA0002177243820000054
更新权重梯度;其中,
Figure BDA0002177243820000055
为权重梯度, w为权重,β为权重衰减;通过公式
Figure BDA0002177243820000056
更新加速项α;其中,μ为动量;采用公 式w=w-α来更新权重。使用这种方法预热(warmup),采用有大的批量的SGD可以 实现与基准相同的精度,以得出最后训练好的快速训练模型。为了扩展到更大的批量大小 (例如32k),需要将本地响应规范化(LRN)更改为批量归一化(BN)。本发明方法在 所述深度神经网络的每个卷积层之后添加BN。本发明实施例提供的改进的LARS可以帮助 ResNet-50保持高的测试精度。当前的方法(未改进的线性缩放和预热)对于批量大小为16k 和32k的精度要低得多。可以理解的使,本发明实施例中提出的方法实际上可用于实际操 作过程中的大数据车辆图像的深度学习模型的分布式训练中。
在图1提供的深度学习模型的分布式训练方法中,可通过改进的随机梯度下降迭代算 法对大数据车辆图像的深度学习模型进行迭代训练,在每次对所述大数据车辆图像的深度 学习模型进行迭代训练时,使用比前次迭代训练更多的处理器来加载更多的图像数据,并 通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以调节训练 的准确度,从而可提高对大数据车辆图像的深度学习模型进行训练的效率、准确度,使其 更好地满足实时性需求。
请参阅图2,图2是本发明实施例提供的一种深度学习模型的分布式训练装置的结构框 图。如图2所示,本实施例的深度学习模型的分布式训练装置20包括迭代训练模块201和 准度训练模块202。迭代训练模块201和准度训练模块202分别用于执行图1中的S101和S102中的具体方法,详情可参见图1的相关介绍,在此仅作简单描述:
迭代训练模块201,用于通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学 习模型进行迭代训练;其中,在每次对所述大数据车辆图像的深度学习模型进行迭代训练 时,使用比前次迭代训练更多的处理器来加载更多的图像数据。
准度训练模块202,用于通过改进的线性缩放与预热策略对加载的所述更多的图像数据 进行批量训练,以提高对所述大数据车辆图像的深度学习模型进行训练的准确度;所述改 进的线性缩放包括:将批量从B增加到kB时,同时将学习率从η增加到kη;所述改进的 预热策略包括:如果使用相对较大的学习率kη,则从相对较小的学习率η值开始,在前几个时间段将所述相对较小的学习率η增加到所述相对较大的学习率kη。
进一步地,可参见图3,迭代训练模块201可具体包括损失构建单元2011和权重更新 单元2012:
损失构建单元2011,用于构建所述大数据车辆图像的深度学习模型的损失函数L(W):
Figure BDA0002177243820000061
其中,w代表深度神经网络DNN的权重,X为训练数据,n为X中的样本数,Y代 表训练数据X的标注,xi为训练数据X中的样本,l(xi,yi,w)为针对xi和其标注 yi(i∈{1,2,...,n))所计算出的损失。
权重更新单元2012,用于在每次对所述大数据车辆图像的深度学习模型进行迭代训练时, 根据所述损失函数对权重的梯度更新DNN的权重:
Figure BDA0002177243820000062
其中,wt为第t-1次迭代后的权重,wt+1为第t次迭代后的权重,η为学习率,第t次迭代的批量大小为Bt,且Bt的大小为b;在每次迭代训练时,使用比前次迭代训练更多的处 理器来加载更多的图像数据。
图2提供的深度学习模型的分布式训练装置,可通过改进的随机梯度下降迭代算法对 大数据车辆图像的深度学习模型进行迭代训练,在每次对所述大数据车辆图像的深度学习 模型进行迭代训练时,使用比前次迭代训练更多的处理器来加载更多的图像数据,并通过 改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以调节训练的准 确度,从而可提高对大数据车辆图像的深度学习模型进行训练的效率、准确度,使其更好 地满足实时性需求。
请参阅图4,图4是本发明实施例提供的另一种深度学习模型的分布式训练装置的结构 框图。如图4所示,本实施例的深度学习模型的分布式训练装置40是在图2所示的深度学 习模型的分布式训练装置20的基础上经过优化得来的,除了包括迭代训练模块201和准度 训练模块202之外,深度学习模型的分布式训练装置40还包括建立模块401和缩放改进模 块402:
建立模块401,用于在所述迭代训练模块201通过改进的随机梯度下降迭代算法对大数 据车辆图像的深度学习模型进行迭代训练之前,建立所述大数据车辆图像的深度学习模型。
缩放改进模块402,用于在所述准度训练模块202通过改进的线性缩放与预热策略对加 载的所述更多的图像数据进行批量训练,以提高对所述大数据车辆图像的深度学习模型进 行训练的准确度之后,通过改进的适应率缩放算法对所述批量训练中的大批量训练层进行 训练,得出快速训练模型。
进一步地,可参见图5,缩放改进模块402可具体包括本地学习率获取单元4021、真实学习率获取单元4022、梯度更新单元4023、加速更新单元4024和模型得出单元4025:
本地学习率获取单元4021,用于获取所述批量训练中的大批量训练层中的每个可学习 参数的本地学习率η。
真实学习率获取单元4022,用于获取所述批量训练中的大批量训练层中的每个层的真 实学习率η′;所述真实学习率为η′=γ×α×η;其中,γ是用户的调整参数,γ的取值范围 为[1,50],α为加速项。
梯度更新单元4023,用于通过公式
Figure BDA0002177243820000071
更新权重梯度;其中,
Figure BDA0002177243820000072
为权重梯 度,w为权重,β为权重衰减。
加速更新单元4024,用于通过公式
Figure BDA0002177243820000073
更新加速项α;其中,μ为动量。
模型得出单元4025,用于采用公式w=w-α来更新权重,以得出最后训练好的快速训练模型。
图4提供的深度学习模型的分布式训练装置,可在每次对所述大数据车辆图像的深度 学习模型进行迭代训练时,使用比前次迭代训练更多的处理器来加载更多的图像数据,并 通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以调节训练 的准确度,且通过改进的适应率缩放算法对所述准确度进行进一步的调节,从而可大大提 高对大数据车辆图像的深度学习模型进行训练的效率、准确度,使其更好地满足实时性需 求。
图6是本发明一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备 6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如进行深度学习模型的分布式训练的程序。所述处理器60执行所述计算机程序62时实现上述方法实施例中的步骤,例如,图1所示的S101至S102。或者,所述 处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图 2所示模块201至202的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个 模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个 或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述 所述计算机程序62在终端设备6中的执行过程。例如,所述计算机程序62可以被分割成 迭代训练模块201和准度训练模块202。(虚拟装置中的模块),各模块具体功能如下:
迭代训练模块201,用于通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学 习模型进行迭代训练;其中,在每次对所述大数据车辆图像的深度学习模型进行迭代训练 时,使用比前次迭代训练更多的处理器来加载更多的图像数据。
准度训练模块202,用于通过改进的线性缩放与预热策略对加载的所述更多的图像数据 进行批量训练,以提高对所述大数据车辆图像的深度学习模型进行训练的准确度;所述改 进的线性缩放包括:将批量从B增加到kB时,同时将学习率从η增加到kη;所述改进的 预热策略包括:如果使用相对较大的学习率kη,则从相对较小的学习率η值开始,在前几个时间段将所述相对较小的学习率η增加到所述相对较大的学习率kη。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。 终端设备6可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的 部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、 网络接入设备、总线等。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用 处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者 其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是 微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所 述存储器61也可以是终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬 盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括终端设备6的内部存储单元也包括外部 存储设备。所述存储器61用于存储所述计算机程序以及终端设备6所需的其他程序和数据。 所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单 元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功 能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上 描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也 可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成 的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能 单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述 系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘 述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的 部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及 算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以 硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可 以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过 其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述 模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如 多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。 另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装 置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既 可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时, 可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法 中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程 序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个 方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可 以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可 以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、 磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说 明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进 行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电 载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例 对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施 例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者 替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含 在本发明的保护范围之内。

Claims (10)

1.一种深度学习模型的分布式训练方法,其特征在于,包括:
通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学习模型进行迭代训练;其中,在每次对所述大数据车辆图像的深度学习模型进行迭代训练时,使用比前次迭代训练更多的处理器来加载更多的图像数据;
通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以提高对所述大数据车辆图像的深度学习模型进行训练的准确度;所述改进的线性缩放包括:将批量从B增加到kB时,同时将学习率从η增加到kη;所述改进的预热策略包括:如果使用相对较大的学习率kη,则从相对较小的学习率η值开始,在前几个时间段将所述相对较小的学习率η增加到所述相对较大的学习率kη。
2.根据权利要求1所述的深度学习模型的分布式训练方法,其特征在于,所述通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学习模型进行迭代训练之前,还包括:
建立所述大数据车辆图像的深度学习模型。
3.根据权利要求1所述的深度学习模型的分布式训练方法,其特征在于,所述通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学习模型进行迭代训练,包括:
构建所述大数据车辆图像的深度学习模型的损失函数L(W):
Figure FDA0002177243810000011
其中,w代表深度神经网络DNN的权重,X为训练数据,n为X中的样本数,Y代表训练数据X的标注,xi为训练数据X中的样本,l(xi,yi,w)为针对xi和其标注yi(i∈{1,2,...,n))所计算出的损失;
在每次对所述大数据车辆图像的深度学习模型进行迭代训练时,根据所述损失函数对权重的梯度更新DNN的权重:
Figure FDA0002177243810000012
其中,wt为第t-1次迭代后的权重,wt+1为第t次迭代后的权重,η为学习率,第t次迭代的批量大小为Bt,且Bt的大小为b;在每次迭代训练时,使用比前次迭代训练更多的处理器来加载更多的图像数据。
4.根据权利要求1所述的深度学习模型的分布式训练方法,其特征在于,所述通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以提高对所述大数据车辆图像的深度学习模型进行训练的准确度之后,还包括:
通过改进的适应率缩放算法对所述批量训练中的大批量训练层进行训练,得出快速训练模型;所述通过改进的适应率缩放算法对所述批量训练中的大批量训练层进行训练,得出快速训练模型,包括:
获取所述批量训练中的大批量训练层中的每个可学习参数的本地学习率η;
获取所述批量训练中的大批量训练层中的每个层的真实学习率η′;所述真实学习率为η′=γ×α×η;其中,γ是用户的调整参数,γ的取值范围为[1,50],α为加速项;
通过公式
Figure FDA0002177243810000021
更新权重梯度;其中,
Figure FDA0002177243810000022
为权重梯度,w为权重,β为权重衰减;
通过公式更新加速项α;其中,μ为动量;
采用公式w=w-α来更新权重,以得出快速训练模型。
5.一种深度学习模型的分布式训练装置,其特征在于,包括:
迭代训练模块,用于通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学习模型进行迭代训练;其中,在每次对所述大数据车辆图像的深度学习模型进行迭代训练时,使用比前次迭代训练更多的处理器来加载更多的图像数据;
准度训练模块,用于通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以提高对所述大数据车辆图像的深度学习模型进行训练的准确度;所述改进的线性缩放包括:将批量从B增加到kB时,同时将学习率从η增加到kη;所述改进的预热策略包括:如果使用相对较大的学习率kη,则从相对较小的学习率η值开始,在前几个时间段将所述相对较小的学习率η增加到所述相对较大的学习率kη。
6.根据权利要求5所述的深度学习模型的分布式训练装置,其特征在于,还包括:
建立模块,用于在所述迭代训练模块通过改进的随机梯度下降迭代算法对大数据车辆图像的深度学习模型进行迭代训练之前,建立所述大数据车辆图像的深度学习模型。
7.根据权利要求5所述的深度学习模型的分布式训练装置,其特征在于,所述迭代训练模块包括:
损失构建单元,用于构建所述大数据车辆图像的深度学习模型的损失函数L(W):
Figure FDA0002177243810000024
其中,w代表DNN的权重,X为训练数据,n为X中的样本数,Y代表训练数据X的标注,xi为训练数据X中的样本,l(xi,yi,w)为针对xi和其标注yi(i∈{1,2,...,n))所计算出的损失;
权重更新单元,用于在每次对所述大数据车辆图像的深度学习模型进行迭代训练时,根据所述损失函数对权重的梯度更新DNN的权重:
Figure FDA0002177243810000031
其中,wt为第t-1次迭代后的权重,wt+1为第t次迭代后的权重,η为学习率,第t次迭代的批量大小为Bt,且Bt的大小为b;在每次迭代训练时,使用比前次迭代训练更多的处理器来加载更多的图像数据。
8.根据权利要求5所述的深度学习模型的分布式训练装置,其特征在于,还包括:
缩放改进模块,用于在所述准度训练模块通过改进的线性缩放与预热策略对加载的所述更多的图像数据进行批量训练,以提高对所述大数据车辆图像的深度学习模型进行训练的准确度之后,通过改进的适应率缩放算法对所述批量训练中的大批量训练层进行训练,得出快速训练模型;
所述缩放改进模块包括:
本地学习率获取单元,用于获取所述批量训练中的大批量训练层中的每个可学习参数的本地学习率η;
真实学习率获取单元,用于获取所述批量训练中的大批量训练层中的每个层的真实学习率η′;所述真实学习率为η′=γ×α×η;其中,γ是用户的调整参数,γ的取值范围为[1,50],α为加速项;
梯度更新单元,用于通过公式更新权重梯度;其中,
Figure FDA0002177243810000033
为权重梯度,w为权重,β为权重衰减;
加速更新单元,用于通过公式
Figure FDA0002177243810000034
更新加速项α;其中,μ为动量;
模型得出单元,用于采用公式w=w-α来更新权重,以得出快速训练模型。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述方法的步骤。
10.一种计算机可读介质,所述计算机可读介质存储有计算机程序,其特征在于,所述计算机程序被处理执行时实现如权利要求1-4中任一项所述方法的步骤。
CN201910783355.5A 2019-08-23 2019-08-23 一种深度学习模型的分布式训练方法及装置 Pending CN110689045A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910783355.5A CN110689045A (zh) 2019-08-23 2019-08-23 一种深度学习模型的分布式训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910783355.5A CN110689045A (zh) 2019-08-23 2019-08-23 一种深度学习模型的分布式训练方法及装置

Publications (1)

Publication Number Publication Date
CN110689045A true CN110689045A (zh) 2020-01-14

Family

ID=69108401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910783355.5A Pending CN110689045A (zh) 2019-08-23 2019-08-23 一种深度学习模型的分布式训练方法及装置

Country Status (1)

Country Link
CN (1) CN110689045A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368931A (zh) * 2020-03-09 2020-07-03 第四范式(北京)技术有限公司 训练图像分类模型的方法及装置、计算机装置及存储介质
CN112347693A (zh) * 2020-10-26 2021-02-09 上海感探号信息科技有限公司 一种车辆运行动态镜像模拟方法、装置和系统
CN114118272A (zh) * 2021-11-26 2022-03-01 中国科学院长春光学精密机械与物理研究所 用于深度学习模型的三段式训练方法
CN117041531A (zh) * 2023-09-04 2023-11-10 无锡维凯科技有限公司 一种基于图像质量评估的手机摄像头聚焦检测方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034365A (zh) * 2018-07-06 2018-12-18 电子科技大学 深度学习模型的训练方法及装置
CN109902818A (zh) * 2019-01-15 2019-06-18 中国科学院信息工程研究所 一种面向深度学习训练任务的分布式加速方法及系统
CN110033081A (zh) * 2019-03-08 2019-07-19 华为技术有限公司 一种确定学习率的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034365A (zh) * 2018-07-06 2018-12-18 电子科技大学 深度学习模型的训练方法及装置
CN109902818A (zh) * 2019-01-15 2019-06-18 中国科学院信息工程研究所 一种面向深度学习训练任务的分布式加速方法及系统
CN110033081A (zh) * 2019-03-08 2019-07-19 华为技术有限公司 一种确定学习率的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YANG YOU等: "ImageNet Training in 24 Minutes", 《ARXIV》 *
YANG YOU等: "Scaling SGD Batch Size to 32K for ImageNet Training", 《ARXIV》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368931A (zh) * 2020-03-09 2020-07-03 第四范式(北京)技术有限公司 训练图像分类模型的方法及装置、计算机装置及存储介质
CN111368931B (zh) * 2020-03-09 2023-11-17 第四范式(北京)技术有限公司 确定图像分类模型的学习率的方法
CN112347693A (zh) * 2020-10-26 2021-02-09 上海感探号信息科技有限公司 一种车辆运行动态镜像模拟方法、装置和系统
CN112347693B (zh) * 2020-10-26 2023-12-22 上海感探号信息科技有限公司 一种车辆运行动态镜像模拟方法、装置和系统
CN114118272A (zh) * 2021-11-26 2022-03-01 中国科学院长春光学精密机械与物理研究所 用于深度学习模型的三段式训练方法
CN114118272B (zh) * 2021-11-26 2024-04-30 中国科学院长春光学精密机械与物理研究所 用于深度学习模型的三段式训练方法
CN117041531A (zh) * 2023-09-04 2023-11-10 无锡维凯科技有限公司 一种基于图像质量评估的手机摄像头聚焦检测方法和系统
CN117041531B (zh) * 2023-09-04 2024-03-15 无锡维凯科技有限公司 一种基于图像质量评估的手机摄像头聚焦检测方法和系统

Similar Documents

Publication Publication Date Title
JP7087079B2 (ja) 深層学習アプリケーションのための堅牢な勾配重み圧縮方式
CN110689045A (zh) 一种深度学习模型的分布式训练方法及装置
Lu et al. Evaluations on deep neural networks training using posit number system
US11531860B2 (en) Apparatus and method for executing recurrent neural network and LSTM computations
US20170061279A1 (en) Updating an artificial neural network using flexible fixed point representation
US20210295168A1 (en) Gradient compression for distributed training
CN111079753B (zh) 一种基于深度学习与大数据结合的车牌识别方法及装置
US11275561B2 (en) Mixed precision floating-point multiply-add operation
EP4379607A1 (en) Neural network accelerator, and data processing method for neural network accelerator
WO2022126116A1 (en) Data-type-aware clock-gating
CN111210004B (zh) 卷积计算方法、卷积计算装置及终端设备
US11494326B1 (en) Programmable computations in direct memory access engine
CN112200310B (zh) 智能处理器、数据处理方法及存储介质
US10990525B2 (en) Caching data in artificial neural network computations
Nichols et al. MagmaDNN: accelerated deep learning using MAGMA
WO2021081854A1 (zh) 一种卷积运算电路和卷积运算方法
CN115456149B (zh) 脉冲神经网络加速器学习方法、装置、终端及存储介质
EP3821376A1 (en) Hierarchical parallelism in a network of distributed neural network cores
CN114298329A (zh) 一种模型训练方法、装置、设备及存储介质
CN113570053A (zh) 一种神经网络模型的训练方法、装置以及计算设备
WO2020121030A1 (en) Caching data in artificial neural network computations
Hsia et al. Fast computation of deep neural network and its real‐time implementation for image recognition
US20220051095A1 (en) Machine Learning Computer
KR20220091365A (ko) Baum-Welch 가속기
Urquhart VLSI architectures for the linear discriminant function classifier

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