CN109635945A - 一种用于图像分类的深度神经网络的训练方法 - Google Patents

一种用于图像分类的深度神经网络的训练方法 Download PDF

Info

Publication number
CN109635945A
CN109635945A CN201811389548.4A CN201811389548A CN109635945A CN 109635945 A CN109635945 A CN 109635945A CN 201811389548 A CN201811389548 A CN 201811389548A CN 109635945 A CN109635945 A CN 109635945A
Authority
CN
China
Prior art keywords
layer
neural network
characteristic pattern
responsive type
deep neural
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.)
Granted
Application number
CN201811389548.4A
Other languages
English (en)
Other versions
CN109635945B (zh
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201811389548.4A priority Critical patent/CN109635945B/zh
Publication of CN109635945A publication Critical patent/CN109635945A/zh
Application granted granted Critical
Publication of CN109635945B publication Critical patent/CN109635945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种用于图像分类的深度神经网络的训练方法,在神经网络的训练过程中,对隐藏层的类型进行划分,根据特征图迁移成本和计算成本的大小关系,将神经网络中的隐藏层分为计算敏感型层和迁移敏感型层,由于计算敏感型层的特征图的计算成本较高,故对其使用迁移方式处理,在降低内存成本的同时保持较小的性能开销,同理,对迁移敏感型层使用重新计算方式处理特征图。对于后向计算过程中的梯度图,使用引用计数方式跟踪每个梯度图的依赖关系,当其引用计数为0时,将其使用的内存空间回收并留给其他梯度图复用。通过对特征图和梯度图的优化,与标准的反向传播算法相比,能够显著降低神经网络训练时的内存成本,同时保持较小的性能开销。

Description

一种用于图像分类的深度神经网络的训练方法
技术领域
本发明属于深度学习技术领域,更具体地,涉及一种用于图像分类的 深度神经网络的训练方法。
背景技术
深度神经网络的训练通常使用反向传播算法(Back Propagation),这是 一种是建立在梯度下降法上的,适合于多层神经元网络的监督学习算法。 反向传播算法的学习过程由前向计算过程和后向计算过程组成,在正向计 算过程中,输入信息通过输入层经隐藏层,逐层处理并传向输出层,得到 输出与期望的误差。随后转入反向计算,将误差从输出层往前传递,逐层 求出目标函数对各神经元权值的偏导数,作为修改权值的依据,网络的学习在权值修改过程中完成。该学习过程反复循环迭代,直到神经网络的输 出达到预定的目标范围为止。在深度神经网络标准的反向传播方法中,训 练网络所需的内存资源与神经网络的层数呈线性关系(假设层数为n,则内 存成本为O(n))。深度神经网络由于其网络结构日趋复杂和层数逐渐加深的 原因,训练时所需的内存资源需求迅速增加,往往超出了GPU的物理内存 限制,深度神经网络训练时所需的GPU内存资源成为限制神经网络结构进 一步加深的主要瓶颈。深度神经网络训练过程中的内存消耗主要来自于前 向计算过程中输入数据经过各个隐藏层产生的特征图、后向计算过程中误 差经过各个隐藏层产生的梯度图和调用cuDNN计算库所需的工作区等数 据。
研究者提出了两种具有代表性的训练优化方法,在一定程度上减少了 深度神经网络训练时的内存成本。第一种是MXNet系统中的sublinear策略, 该策略基于计算时间换取内存空间的思想,提出了重新计算(re-compute) 的技术。图1展示了该策略下神经网络的训练过程,对于一个n层的神经 网络,该策略将其中个层标记为检查点,在训练的前向计算过程中仅保 留作为检查点的层的特征图,其余层的特征图被直接丢弃;在后向计算过 程中如果需要已被丢弃的特征图,则从最近的检查点开始,进行额外的前 向计算将其恢复出来。另一种代表性的策略为NVIDIA提出的vDNN (Virtualized Deep NeuralNetworks),如图2所示,该策略基于空间置换 的思想,将服务器上的CPU内存作为临时交换空间,把当前时刻不参与计 算的特征图传输至CPU内存中,减少GPU内存资源的消耗。具体来说, 在训练过程中,该策略使用两条流水线分别用于特征图的计算和传输过程。 在前向计算过程中,通过传输流将当前层的输入特征图转移至CPU内存中; 在后向计算过程需要该特征图时,将其从CPU内存转移回GPU内存中。 该策略除了对特征图进行优化,还对调用cuDNN库所需工作区的内存大小 进行动态调整,原则上在GPU内存足够时,尽量满足每个工作区的内存需 求,当GPU内存不足时,减少分配给后续工作区的实际内存大小。
然而,sublinear策略能够将n层神经网络训练过程的内存成本由O(n)减 少为但由于需要额外的前向计算,对于计算成本较高的层而言, 会给训练过程带来明显的性能开销。vDNN策略由于需要GPU内存和CPU 内存之间频繁的数据传输,造成了PCIe较大的带宽压力,对于迁移成本较 高的层而言,数据传输过程不能完全与计算过程重叠,会造成严重的性能 下降。
发明内容
针对现有技术的缺陷,本发明的目的在于解决现有技术深度神经网络 训练性能损耗大、内存成本高导致的图像分类速度慢的技术问题。
为实现上述目的,第一方面,本发明实施例提供了一种用于图像分类 的深度神经网络的训练方法,其特征在于,该方法中包括以下步骤:
S1.使用图像训练集训练深度神经网络,在训练的第一次迭代过程中, 计算各隐藏层特征图的迁移成本和计算成本;
S2.基于各隐藏层特征图的迁移成本和计算成本之间的大小关系,将深 度神经网络中的隐藏层分为计算敏感型层和迁移敏感型层两种类型,初始 化迭代次数k=2;
S3.在第k次迭代的前向传播过程中,采用迁移方式将计算敏感型层的 特征图从GPU内存传输至辅存中,直接丢弃迁移敏感型层的特征图;
S4.在第k次迭代的后向传播过程中,采用反迁移方式将计算敏感型层 的特征图从辅存传输至GPU内存中,采用重新计算方式将迁移敏感型层的 特征图恢复出来,同时采用引用计数的方式控制隐藏层梯度图的回收;
S5.判断是否满足迭代结束条件,若是,则结束训练,否则,k加1,返 回步骤S3。
具体地,迁移是指隐藏层特征图从GPU内存传输至辅存中,所述迁移 成本是指隐藏层特征图完成一次迁移所花费的时间,所述计算成本是指隐 藏层特征图完成一次前向计算所花费的时间,所述辅存为与GPU在同一个 服务器上的CPU内存。
具体地,深度神经网络中各隐藏层特征图的计算成本的计算方式如下: 对深度神经网络进行m次前向计算,获取第j次前向计算过程中第i层的计算 时间计算出第i层的单次前向计算时间;深度神经网络中各 隐藏层特征图的迁移成本的计算方式如下:对深度神经网络中各隐藏层特 征图进行M次迁移,获取第j次数据传输第i层的迁移时间计 算出第i层的单次迁移时间,其中,i为深度神经网络中的隐藏层层索引, i∈[1,n],n为该深度神经网络隐藏层的总层数。
具体地,步骤S2具体为:比较第i层的单次前向计算时间和单次迁移时 间,若Fi>Ti,则该层为计算敏感型层;否则,该层为迁移敏感型层,其中, Fi为第i层的单次前向计算时间,Ti为第i层的单次迁移时间。
具体地,步骤S3包括以下子步骤:
S301.在前向传播过程中,针对计算敏感型层hi,使用流水线并行的方 式,将其特征图由GPU内存异步传输至辅存中,所述流水线并行是指hi层的 数据传输与hi+1层的前向计算并行,i为深度神经网络中的隐藏层层索引, i∈[1,n-1];
S302.在前向传播过程中,针对迁移敏感型层hj,在该层的前向计算完 成后,直接丢弃其特征图,j为深度神经网络中的隐藏层层索引,j∈[1,n], n为该深度神经网络隐藏层的总层数。
具体地,步骤S4包括以下子步骤:
S401.在后向传播过程中,针对计算敏感型层hi,使用流水线并行的方 式将其特征图由CPU内存传输至GPU内存中,所述流水线并行是指hi层的数 据传输与hi+1层的后向计算并行;
S402.在后向传播过程中,针对迁移敏感型层hj,进行一次前向计算将 其特征图恢复出来;
S403.针对每个隐藏层,获取其梯度图;
S404.针对每个隐藏层梯度图,获取其引用计数referencei,其中,第i 层的引用计数计算方式为:referencei初始化为0,每当第i层的梯度图参与 到第j层的后向计算中,referencei=referencei+1,其中,j为神经网络中的隐 藏层索引,j∈[1,i);
S405.在第k次迭代的后向传播过程中,每当第i层梯度图参与的后向计 算完成后,通过referencei=referencei-1减少该梯度图的引用计数,当 referencei=0时,将该梯度图的GPU内存空间回收并留用给其他梯度图。
第二方面,本发明实施例提供了一种计算机可读存储介质,该计算机 可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上 述第一方面所述的训练方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有 以下有益效果:
1.本发明通过特征图的迁移和重新计算,迁移的本质是空间置换,重新 计算的本质是时间换空间,从而实现对特征图的内存优化;通过引用计数 方式控制梯度图的回收,回收的内存留给其他梯度图复用,从而实现对梯 度图的内存优化,能够有效降低神经网络训练时的内存成本,进而能够提 高GPU内存的利用率。
2.本发明通过将隐藏层分为计算敏感型层和迁移敏感型层,并对不同类 型的敏感层采取不同的处理,合理地利用GPU计算能力和GPU与CPU之间 的传输带宽,最小化了训练中的性能损耗,进而能够提高图像分类的速度。
附图说明
图1为现有技术提供的sublinear策略下神经网络的训练过程示意图;
图2为现有技术提供的vDNN策略下神经网络的训练过程示意图;
图3为本发明实施例提供的一种用于图像分类的深度神经网络的训练 方法流程图;
图4为本发明实施例提供的特征图内存优化示意图;
图5为本发明实施例提供的梯度图内存优化示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图 及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体 实施例仅仅用以解释本发明,并不用于限定本发明。
首先,就本发明所涉及的技术术语进行解释和说明:
特征图:feature map,在前向传播过程中,训练数据经过神经网络中各 层计算产生的中间输出结果;神经网络第一层的输入数据为训练数据,最 后Loss层产生的输出数据为损失值数据,其余各层均以前一层的特征图为 输入,经过本层的计算后产生输出特征图。
梯度图:gradient map,在后向传播过程中,损失值数据对各层特征图 的梯度,与特征图一一对应;神经网络中每一层均以后一层的梯度图为输 入,经过本层的求导计算后产生传往前一层的梯度。
重新计算:re-compute,是sublinear方法的核心思想,在前项计算过程 中,隐藏层的特征图被直接丢弃,在后向计算过程中,使用一次前向计算 恢复已丢弃的特征图。
引用计数:用于记录数据参与计算的次数,即有多少个计算需要该数 据;在如下两个计算表达式中c=a+b,d=a+c,a参与c和d两个计算过 程,故a的引用计数为2,而b仅参与c的计算,故b的引用计数为1。
本发明的整体思路在于,在神经网络的训练过程中,首先对隐藏层的 类型进行划分,根据特征图迁移成本和计算成本的大小关系,将神经网络 中的隐藏层分为计算敏感型层和迁移敏感型层两类,由于计算敏感型层的 特征图的计算成本较高,故对其使用迁移方式处理,在降低内存成本的同 时保持较小的性能开销,同理,对于迁移敏感型层使用重新计算方式处理 特征图。对于后向计算过程中的梯度图,使用引用计数方式跟踪每个梯度图的依赖关系,当其引用计数为0时,将其使用的内存空间回收并留给其 他梯度图复用。通过对特征图和梯度图的优化,与标准的反向传播算法相 比,能够显著降低神经网络训练时的内存成本,同时保持较小的性能开销。
如图3所示,一种用于图像分类的深度神经网络的训练方法,该方法 中包括以下步骤:
S1.使用图像训练集训练深度神经网络,在训练的第一次迭代过程中, 计算各隐藏层特征图的迁移成本和计算成本;
S2.基于各隐藏层特征图的迁移成本和计算成本的大小关系,将深度神 经网络中的隐藏层分为计算敏感型层和迁移敏感型层两种类型,初始化迭 代次数k=2;
S3.在第k次迭代的前向传播过程中,采用迁移方式将计算敏感型层的 特征图从GPU内存传输至辅存中,直接丢弃迁移敏感型层的特征图;
S4.在第k次迭代的后向传播过程中,采用反迁移方式将计算敏感型层 的特征图从辅存传输至GPU内存中,采用重新计算方式将迁移敏感型层的 特征图恢复出来,同时采用引用计数的方式控制隐藏层梯度图的回收;
S5.判断是否满足迭代结束条件,若是,则结束训练,否则,k加1,返 回步骤S3。
步骤S1.使用图像训练集训练深度神经网络,在训练的第一次迭代过程 中,计算各隐藏层特征图的迁移成本和计算成本。
图像训练集可以从MINST、CIFAR10、IMAGENET任选一个。迁移是 指隐藏层特征图从GPU内存传输至辅存中。迁移成本是指隐藏层特征图完 成一次迁移所花费的时间。计算成本是指隐藏层特征图完成一次前向计算 所花费的时间。辅存为与GPU所在的同一个服务器上的CPU内存,两者 通过PCIe或者NVLink连接。
S101.获取深度神经网络中各隐藏层特征图的计算成本。
对深度神经网络进行m次前向计算,获取第j次前向计算过程中第i层的 计算时间计算出第i层的单次前向计算时间,其中,i为深度 神经网络中的隐藏层层索引,i∈[1,n],n为该深度神经网络隐藏层的总层数,m∈[1,100]。
S102.获取深度神经网络中各隐藏层特征图的迁移成本。
对深度神经网络中各隐藏层特征图进行M次迁移(由GPU内存到辅存的 数据传输),获取第j次数据传输第i层的迁移时间计算出第i 层的单次迁移时间,其中,i为深度神经网络中的隐藏层层索引,i∈[1,n], n为该深度神经网络隐藏层的总层数,M∈[1,100]。
步骤S2.基于各隐藏层特征图的迁移成本和计算成本的大小关系,将深 度神经网络中的隐藏层分为计算敏感型层和迁移敏感型层两种类型,初始 化迭代次数k=2。
计算敏感型层是指该层特征图的计算成本大于迁移成本。迁移敏感型 层是指该层特征图的迁移成本不大于计算成本。具体过程如下:
比较第i层的单次前向计算时间和单次迁移时间,若Fi>Ti,则该层为 计算敏感型层;否则,该层为迁移敏感型层。
步骤S3.在第k次迭代的前向传播过程中,采用迁移方式将计算敏感型层 的特征图从GPU内存传输至辅存中,直接丢弃迁移敏感型层的特征图。
S301.在前向传播过程中,针对计算敏感型层hi,使用流水线并行的方 式,将其特征图由GPU内存异步传输至辅存中,所述流水线并行是指hi层的 数据传输与hi+1层的前向计算并行,i为深度神经网络中的隐藏层层索引, i∈[1,n-1],n为该深度神经网络隐藏层的总层数。
S302.在前向传播过程中,针对迁移敏感型层hj,在该层的前向计算完 成后,直接丢弃其特征图,j为深度神经网络中的隐藏层层索引,j∈[1,n], n为该深度神经网络隐藏层的总层数。
步骤S4.在第k次迭代的后向传播过程中,采用反迁移方式将计算敏感型 层的特征图从辅存传输至GPU内存中,采用重新计算方式将迁移敏感型层 的特征图恢复出来,同时采用引用计数的方式控制隐藏层梯度图的回收。
S401.在后向传播过程中,针对计算敏感型层hi,使用流水线并行的方 式将其特征图由CPU内存传输至GPU内存中,所述流水线并行是指hi层的数 据传输与hi+1层的后向计算并行。
S402.在后向传播过程中,针对迁移敏感型层hj,进行一次前向计算将 其特征图恢复出来。
如图4所示,FW表示前向计算(forward),BW表示后向计算(backward), 黑色框表示实际操作,灰色框表示未操作,框的长度表示该操作的时间。 FW1<offload1,表明计算时间<迁移时间,所以第1个隐藏层为迁移敏感型 的层,在前向计算过程中将该层特征图丢弃(drop1)。之后在第2个隐藏层的 后向计算的同时进行第1个隐藏层的前向计算,将丢弃的特征图恢复出来。 将FW1与BW2并行可减少性能损耗;为保证在进行第1个隐藏层的后向计算时该丢弃的特征图已恢复完成,需要在第1个隐藏层的后向计算之前添加同 步等待操作。offload2<FW2,表明迁移时间<计算时间,所以第2个隐藏层 为计算敏感型层,在前向计算过程中将该层特征图从GPU内存传输至CPU 内存中。之后在第3个隐藏层的后向计算的同时进行第2个隐藏层特征图的 反迁移prefetch2。对于n层的神经网络,本方法可将特征图的内存成本由 O(n)降为O(1),同时,由于本方法针对不同层的特性采用不同的内存优化 方法,可以最小化由于迁移或者重新计算操作带来的性能开销。
S403.针对每个隐藏层,获取其梯度图。
在第k次迭代的后向传播过程中,根据第k次迭代的前向传播误差,求 得输出层的目标函数对该层特征图的梯度,得到第i个隐藏层梯度图,其中, i为深度神经网络中的隐藏层层索引,i∈[1,n],n为该深度神经网络隐藏层 的总层数。
S404.针对每个隐藏层梯度图,获取其引用计数referencei,其中,第i 层的引用计数计算方式为:
referencei初始化为0,每当第i层的梯度图参与到第j层的后向计算中,referencei=referencei+1,其中,j为神经网络中的隐藏层索引,j∈[1,i)。
S405.在第k次迭代的后向传播过程中,每当第i层梯度图参与的后向计 算完成后,由公式referencei=referencei-1减少该梯度图的引用计数,当 referencei=0时,将该梯度图的GPU内存空间回收并留用给其他梯度图。
如图5所示,5层的深度神经网路中,L表示损失值(Loss),G表示梯度 图,layer1表示输入层,layer5表示输出层,其他均为隐藏层。以图5中layer4的梯度图G4为例,其仅为layer4后向计算时的输入数据,由公式 referencei=referencei+1,G4的引用计数为1,当layer4的后向计算完成后, 由公式referencei=referencei-1得G4的引用计数为0,此时其对应的内存空间 可被回收并留用给下一个梯度图G2,故G4和G2使用同一片内存,同理G3和G1使用同一片内存;对于梯度图的内存优化可以将其内存成本由O(n)降为 O(1),并且由于内存空间的回收留用仅仅是相对内存地址指针的改写,不 涉及任何实质的内存释放和再分配,故不会带来性能损失。
步骤S5.判断是否满足迭代结束条件,若是,则结束训练,否则,k加1, 返回步骤S3。
迭代结束条件可以是迭代达到预设次数,或者,精度达到预设值,由 用户根据实际需要设置。深度神经网络训练结束后,使用训练好的深度神 经网络进行图像分类。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可 轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申 请的保护范围应该以权利要求的保护范围为准。

Claims (7)

1.一种用于图像分类的深度神经网络的训练方法,其特征在于,该方法中包括以下步骤:
S1.使用图像训练集训练深度神经网络,在训练的第一次迭代过程中,计算各隐藏层特征图的迁移成本和计算成本;
S2.基于各隐藏层特征图的迁移成本和计算成本之间的大小关系,将深度神经网络中的隐藏层分为计算敏感型层和迁移敏感型层两种类型,初始化迭代次数k=2;
S3.在第k次迭代的前向传播过程中,采用迁移方式将计算敏感型层的特征图从GPU内存传输至辅存中,直接丢弃迁移敏感型层的特征图;
S4.在第k次迭代的后向传播过程中,采用反迁移方式将计算敏感型层的特征图从辅存传输至GPU内存中,采用重新计算方式将迁移敏感型层的特征图恢复出来,同时采用引用计数的方式控制隐藏层梯度图的回收;
S5.判断是否满足迭代结束条件,若是,则结束训练,否则,k加1,返回步骤S3。
2.如权利要求1所述的训练方法,其特征在于,迁移是指隐藏层特征图从GPU内存传输至辅存中,所述迁移成本是指隐藏层特征图完成一次迁移所花费的时间,所述计算成本是指隐藏层特征图完成一次前向计算所花费的时间,所述辅存为与GPU在同一个服务器上的CPU内存。
3.如权利要求1所述的训练方法,其特征在于,深度神经网络中各隐藏层特征图的计算成本的计算方式如下:对深度神经网络进行m次前向计算,获取第j次前向计算过程中第i层的计算时间计算出第i层的单次前向计算时间;深度神经网络中各隐藏层特征图的迁移成本的计算方式如下:对深度神经网络中各隐藏层特征图进行M次迁移,获取第j次数据传输第i层的迁移时间计算出第i层的单次迁移时间,其中,i为深度神经网络中的隐藏层层索引,i∈[1,n],n为该深度神经网络隐藏层的总层数。
4.如权利要求1所述的训练方法,其特征在于,步骤S2具体为:比较第i层的单次前向计算时间和单次迁移时间,若Fi>Ti,则该层为计算敏感型层;否则,该层为迁移敏感型层,其中,Fi为第i层的单次前向计算时间,Ti为第i层的单次迁移时间。
5.如权利要求1所述的训练方法,其特征在于,步骤S3包括以下子步骤:
S301.在前向传播过程中,针对计算敏感型层hi,使用流水线并行的方式,将其特征图由GPU内存异步传输至辅存中,所述流水线并行是指hi层的数据传输与hi+1层的前向计算并行,i为深度神经网络中的隐藏层层索引,i∈[1,n-1];
S302.在前向传播过程中,针对迁移敏感型层hj,在该层的前向计算完成后,直接丢弃其特征图,j为深度神经网络中的隐藏层层索引,j∈[1,n],n为该深度神经网络隐藏层的总层数。
6.如权利要求1所述的训练方法,其特征在于,步骤S4包括以下子步骤:
S401.在后向传播过程中,针对计算敏感型层hi,使用流水线并行的方式将其特征图由CPU内存传输至GPU内存中,所述流水线并行是指hi层的数据传输与hi+1层的后向计算并行;
S402.在后向传播过程中,针对迁移敏感型层hj,进行一次前向计算将其特征图恢复出来;
S403.针对每个隐藏层,获取其梯度图;
S404.针对每个隐藏层梯度图,获取其引用计数referencei,其中,第i层的引用计数计算方式为:referencei初始化为0,每当第i层的梯度图参与到第j层的后向计算中,referencei=referencei+1,其中,j为神经网络中的隐藏层索引,j∈[1,i);
S405.在第k次迭代的后向传播过程中,每当第i层梯度图参与的后向计算完成后,通过referencei=referencei-1减少该梯度图的引用计数,当referencei=0时,将该梯度图的GPU内存空间回收并留用给其他梯度图。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的训练方法。
CN201811389548.4A 2018-11-21 2018-11-21 一种用于图像分类的深度神经网络的训练方法 Active CN109635945B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811389548.4A CN109635945B (zh) 2018-11-21 2018-11-21 一种用于图像分类的深度神经网络的训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811389548.4A CN109635945B (zh) 2018-11-21 2018-11-21 一种用于图像分类的深度神经网络的训练方法

Publications (2)

Publication Number Publication Date
CN109635945A true CN109635945A (zh) 2019-04-16
CN109635945B CN109635945B (zh) 2022-12-02

Family

ID=66068867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811389548.4A Active CN109635945B (zh) 2018-11-21 2018-11-21 一种用于图像分类的深度神经网络的训练方法

Country Status (1)

Country Link
CN (1) CN109635945B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858072A (zh) * 2020-08-06 2020-10-30 华中科技大学 一种大规模分布式深度学习的资源管理方法及系统
CN112541513A (zh) * 2019-09-20 2021-03-23 百度在线网络技术(北京)有限公司 一种模型训练方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130138436A1 (en) * 2011-11-26 2013-05-30 Microsoft Corporation Discriminative pretraining of deep neural networks
US20170068888A1 (en) * 2015-09-09 2017-03-09 Intel Corporation Cost-sensitive classification with deep learning using cost-aware pre-training
CN106503654A (zh) * 2016-10-24 2017-03-15 中国地质大学(武汉) 一种基于深度稀疏自编码网络的人脸情感识别方法
CN106682694A (zh) * 2016-12-27 2017-05-17 复旦大学 一种基于深度学习的敏感图像识别方法
CN108596078A (zh) * 2018-04-20 2018-09-28 南京信息工程大学 一种基于深度神经网络的海洋噪声信号识别方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130138436A1 (en) * 2011-11-26 2013-05-30 Microsoft Corporation Discriminative pretraining of deep neural networks
US20170068888A1 (en) * 2015-09-09 2017-03-09 Intel Corporation Cost-sensitive classification with deep learning using cost-aware pre-training
CN106503654A (zh) * 2016-10-24 2017-03-15 中国地质大学(武汉) 一种基于深度稀疏自编码网络的人脸情感识别方法
CN106682694A (zh) * 2016-12-27 2017-05-17 复旦大学 一种基于深度学习的敏感图像识别方法
CN108596078A (zh) * 2018-04-20 2018-09-28 南京信息工程大学 一种基于深度神经网络的海洋噪声信号识别方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112541513A (zh) * 2019-09-20 2021-03-23 百度在线网络技术(北京)有限公司 一种模型训练方法、装置、设备及存储介质
CN111858072A (zh) * 2020-08-06 2020-10-30 华中科技大学 一种大规模分布式深度学习的资源管理方法及系统
CN111858072B (zh) * 2020-08-06 2024-02-09 华中科技大学 一种大规模分布式深度学习的资源管理方法及系统

Also Published As

Publication number Publication date
CN109635945B (zh) 2022-12-02

Similar Documents

Publication Publication Date Title
US20230325348A1 (en) Performing concurrent operations in a processing element
CN109478144B (zh) 一种数据处理装置和方法
CN108416436A (zh) 使用多核心处理模块进行神经网络划分的方法及其系统
CN109741318B (zh) 基于有效感受野的单阶段多尺度特定目标的实时检测方法
JP2021522565A (ja) 並列分散テンソル計算用のニューラル・ハードウェア・アクセラレータ
CN109034381A (zh) 训练任务优化系统、方法及其非暂态电脑可读媒体
CN107341544A (zh) 一种基于可分割阵列的可重构加速器及其实现方法
CN111507993A (zh) 一种基于生成对抗网络的图像分割方法、装置及存储介质
CN107609641A (zh) 稀疏神经网络架构及其实现方法
CN110516801A (zh) 一种高吞吐率的动态可重构卷积神经网络加速器架构
CN108388537A (zh) 一种卷积神经网络加速装置和方法
WO2022067508A1 (zh) 一种神经网络加速器、加速方法以及装置
CN110321997A (zh) 高并行度计算平台、系统及计算实现方法
CN112163601A (zh) 图像分类方法、系统、计算机设备及存储介质
CN110580519B (zh) 一种卷积运算装置及其方法
CN115526287A (zh) 用于存储器高效和参数高效的图神经网络的技术
CN115136115A (zh) 使用共享便笺式存储器的向量简化
CN109635945A (zh) 一种用于图像分类的深度神经网络的训练方法
CN109409509A (zh) 一种针对基于fpga的卷积神经网络加速器的数据结构和加速方法
CN108334944A (zh) 一种人工神经网络运算的装置及方法
CN109359542A (zh) 基于神经网络的车辆损伤级别的确定方法及终端设备
US20200226461A1 (en) Asynchronous early stopping in hyperparameter metaoptimization for a neural network
CN108629405A (zh) 提高卷积神经网络计算效率的方法和装置
CN112200310B (zh) 智能处理器、数据处理方法及存储介质
Chen et al. Hardware implementation of convolutional neural network-based remote sensing image classification method

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