CN106682731A - 卷积神经网络的加速方法及装置 - Google Patents

卷积神经网络的加速方法及装置 Download PDF

Info

Publication number
CN106682731A
CN106682731A CN201710027447.1A CN201710027447A CN106682731A CN 106682731 A CN106682731 A CN 106682731A CN 201710027447 A CN201710027447 A CN 201710027447A CN 106682731 A CN106682731 A CN 106682731A
Authority
CN
China
Prior art keywords
module
convolutional neural
current
prediction
outcome
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
CN201710027447.1A
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.)
Institute of Computing Technology of CAS
Capital Normal University
Original Assignee
Institute of Computing Technology of CAS
Capital Normal University
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 Institute of Computing Technology of CAS, Capital Normal University filed Critical Institute of Computing Technology of CAS
Priority to CN201710027447.1A priority Critical patent/CN106682731A/zh
Publication of CN106682731A publication Critical patent/CN106682731A/zh
Pending legal-status Critical Current

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/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

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)
  • Image Analysis (AREA)

Abstract

本发明提供了一种卷积神经网络的加速方法及装置,涉及图像处理技术领域,其中,该方法包括:在卷积神经网络中设置半停模块;在所述卷积神经网络的预测过程中,当执行至所述半停模块时,计算所述预测过程当前的预测结果;判断当前的所述预测结果是否满足预设预测要求;当当前的所述预测结果满足所述预设预测要求时,停止所述预测过程,并将当前的所述预测结果作为所述卷积神经网络的最终预测结果,否则,继续执行所述预测过程。本发明提供的卷积神经网络的加速方法及装置,可以解决现有技术中存在的CNN运行速度慢,难以执行实时性要求较高的任务的技术问题。

Description

卷积神经网络的加速方法及装置
技术领域
本发明涉及图像处理技术领域,尤其是涉及一种卷积神经网络的加速方法及装置。
背景技术
近来,深度学习在语音分析、图像识别和自然语言处理等相关领域得到了广泛应用。卷积神经网络(CNN,Convolutional Neural Network)是深度学习的一个重要分支,已成为当前语音分析和图像识别领域的研究热点。CNN由于其超强的特征提取能力以及端到端的全局优化能力,使得视觉目标检测、分类识别等的精度大幅提升。
CNN是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。CNN包括多层卷积层和池化层,在CNN实际生产应用中一般分为模型训练和模型预测两个阶段。模型训练过程是基于大规模的含有人工标注信息的数据集,对网络参数进行学习和调整,具体如下:CNN接收输入的数据集,经过多层卷积层和池化层分别进行卷积运算和降维运算,从而提取该数据集的特征;然后对输入的给定训练数据集,计算输出值,并与期望值比较,若有误差则反向调整参数,使模型的准确率更高;经过多次提取特征和反向调整参数获得的最优参数组合即为训练模型。模型预测是依据训练模型对输入数据进行运算,确定分类或识别结果,模型预测过程与模型训练过程较为类似。
综上可知,CNN在模型预测过程中,需要进行大量的卷积运算和降维运算,因而CNN的运行速度慢,难以执行实时性要求较高的任务。
发明内容
有鉴于此,本发明的目的在于提供一种卷积神经网络的加速方法及装置,以解决现有技术中存在的CNN运行速度慢,难以执行实时性要求较高的任务的技术问题。
第一方面,本发明实施例提供了一种卷积神经网络的加速方法,所述方法包括:在卷积神经网络中设置半停模块;在所述卷积神经网络的预测过程中,当执行至所述半停模块时,计算所述预测过程当前的预测结果;判断当前的所述预测结果是否满足预设预测要求;当当前的所述预测结果满足所述预设预测要求时,停止所述预测过程,并将当前的所述预测结果作为所述卷积神经网络的最终预测结果,否则,继续执行所述预测过程。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,计算所述预测过程当前的预测结果,包括:确定所述半停模块的上一运算层,根据所述上一运算层的输出结果和所述卷积神经网络的参数,计算当前的所述预测结果。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述方法还包括:在所述卷积神经网络的前向传播训练过程中,当执行至所述半停模块时,计算所述前向传播训练过程当前的训练结果;判断当前的所述训练结果是否满足预设训练要求;当当前的所述训练结果满足所述预设训练要求时,停止所述前向传播训练过程,并确定前向传播路径,否则,继续执行所述前向传播训练过程。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:在所述卷积神经网络的反向传播训练过程中,确定所述前向传播训练过程停止时对应的第一半停模块,以及所述前向传播路径中,与所述第一半停模块相邻的第二半停模块;更新所述第一半停模块和所述第二半停模块之间的模型参数。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:重复所述卷积神经网络的前向传播训练过程和反向传播训练过程,直至所述卷积神经网络收敛。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,更新所述第一半停模块和所述第二半停模块之间的模型参数,包括:计算所述第一半停模块和所述第二半停模块之间的每一运算层的模型参数的梯度;根据每一所述运算层的模型参数的梯度更新每一所述运算层的模型参数。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,计算所述前向传播训练过程当前的训练结果,包括:确定所述半停模块的上一运算层,根据所述上一运算层的输出结果和所述卷积神经网络的参数,计算当前的所述训练结果。
第二方面,本发明实施例还提供一种卷积神经网络的加速装置,所述装置包括:设置模块,用于在卷积神经网络中设置半停模块;第一计算模块,用于在所述卷积神经网络的预测过程中,当执行至所述半停模块时,计算所述预测过程当前的预测结果;第一判断模块,用于判断当前的所述预测结果是否满足预设预测要求;结束控制模块,用于当当前的所述预测结果满足所述预设预测要求时,停止所述预测过程,并将当前的所述预测结果作为所述卷积神经网络的最终预测结果,否则,继续执行所述预测过程。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述第一计算模块具体用于:确定所述半停模块的上一运算层,根据所述上一运算层的输出结果和所述卷积神经网络的参数,计算当前的所述预测结果。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述装置还包括:第二计算模块,用于在所述卷积神经网络的前向传播训练过程中,当执行至所述半停模块时,计算所述前向传播训练过程当前的训练结果;第二判断模块,用于判断当前的所述训练结果是否满足预设训练要求;中止控制模块,用于当当前的所述训练结果满足所述预设训练要求时,停止所述前向传播训练过程,并确定前向传播路径,否则,继续执行所述前向传播训练过程。
本发明实施例带来了以下有益效果:
在本发明实施例中,在卷积神经网络中设置半停模块,在卷积神经网络的预测过程中,当执行至半停模块时,计算预测过程当前的预测结果,判断当前的预测结果是否满足预设预测要求,当当前的预测结果满足预设预测要求时,停止该预测过程,并将当前的预测结果作为卷积神经网络的最终预测结果,否则,继续执行该预测过程。通过本发明实施例提供的卷积神经网络的加速方法及装置,当执行至半停模块时,会根据当前的预测结果是否满足预设预测要求,来控制是否停止预测过程,即控制CNN是否提前结束预测过程,从而减少CNN的冗余计算,在保证准确率的同时提升了CNN的运行速度,进而可以满足实时性要求较高的任务的需求,解决了现有技术中存在的CNN的运行速度慢,难以执行实时性要求较高的任务的问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的卷积神经网络的加速方法的预测过程示意图;
图2为本发明第一实施例提供的卷积神经网络的预测过程的基本结构示意图;
图3为本发明第一实施例提供的卷积神经网络的加速方法的前向传播训练过程示意图;
图4为本发明第一实施例提供的卷积神经网络的加速方法的反向传播训练过程示意图;
图5为本发明第一实施例提供的卷积神经网络的反向传播训练过程的基本结构示意图;
图6为本发明第二实施例提供的卷积神经网络的加速装置中预测过程对应的模块组成示意图;
图7为本发明第二实施例提供的卷积神经网络的加速装置中前向传播训练过程对应的模块组成示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前CNN在模型预测过程中,需要进行大量的卷积运算和降维运算,因而CNN的运行速度慢,难以执行实时性要求较高的任务。基于此,本发明实施例提供的一种卷积神经网络的加速方法及装置,可以解决现有技术中存在的CNN运行速度慢,难以执行实时性要求较高的任务的技术问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种卷积神经网络的加速方法进行详细介绍。
实施例一:
图1为本发明第一实施例提供的卷积神经网络的加速方法的预测过程示意图,如图1所示,该方法包括以下步骤:
步骤S110,在卷积神经网络中设置半停模块。
具体地,CNN包括多个卷积层和多个池化层等运算层,卷积层用于提取特征,池化层用于降维。本实施例中,半停模块可以设置在CNN的任意两个运算层之间,以提前中断CNN的运算过程。
该半停模块可以设置一个或多个。例如,当准确率要求不高时,由于前几个运算层的计算结果可能已经可以满足要求,因此可以在前几个运算层之间设置一个或多个半停模块。
步骤S120,在卷积神经网络的预测过程中,当执行至半停模块时,计算预测过程当前的预测结果。
CNN的预测过程如下:参数初始化,使用训练好的模型参数对CNN进行初始化。接受预测数据并进行计算,具体地,将预测数据输入第一层进行卷积计算,得到第一层输出,然后将第一层输出作为第二层的输入数据进行计算,得到第二层输出,以此类推,将第N层输出作为第N+1层的输入数据进行计算,得到第N+1层输出。
在卷积神经网络的预测过程中,当执行至半停模块时,也即半停模块的上一运算层输出计算结果时,确定半停模块的上一运算层,根据上一运算层的输出结果和该卷积神经网络的参数,计算当前的预测结果。
图2为本发明第一实施例提供的卷积神经网络的预测过程的基本结构示意图,如图2所示,CNN包括卷积层等多个运算层,半停模块设置在两个运算层之间,半停模块包括计算部分、判断部分、控制部分和输出部分。其中,计算部分根据上一运算层的输出结果和该卷积神经网络的参数,计算当前的预测结果。
根据执行的任务类型,计算相应的预测结果。例如,若执行分类任务,则计算预测数据属于各个类别的概率,预测结果为上述计算得到的多个概率中的最大值及对应的类别。若执行语音识别任务,则预测结果为识别出的语句。若执行图文转化任务,则预测结果为转化的文字。
步骤S130,判断当前的预测结果是否满足预设预测要求。
半停模块内设置有预设预测要求,半停模块的判断部分判断当前的预测结果是否满足预设预测要求,其中,预设预测要求是根据执行的任务类型和实际需求设置的。例如,执行分类任务时,预设预测要求为达到概率阈值,需要判断当前的预测结果是否达到该概率阈值。又如,执行语音识别任务时,预设预测要求为语句达到通顺度以及词性正确率要求等,需要判断当前识别的语句是否达到该通顺度和词性正确率的要求。
步骤S140,当当前的预测结果满足预设预测要求时,停止该预测过程,并将当前的预测结果作为卷积神经网络的最终预测结果,否则,继续执行该预测过程。
若当前的预测结果满足预设预测要求,则半停模块的控制部分停止此次预测过程,并控制半停模块的输出部分将当前的预测结果作为CNN的最终预测结果输出。若当前的预测结果不满足预设预测要求,则半停模块的控制部分将半停模块当前的预测结果传播至该半停模块的下一运算层,在该下一运算层,将半停模块当前的预测结果作为输入数据进行计算,继续向下执行预测过程,并重复执行步骤S120至步骤S140,直到输出最终预测结果。以分类任务为例,概率阈值设置为0.6,若当前的预测结果为:属于类别A且概率为0.5,则不满足要求,继续执行预测过程,若当前的预测结果为:属于类别B且概率为0.7,则满足要求,控制部分停止此次预测过程,并控制输出部分输出最终预测结果:属于类别B,概率为0.7。
将上述方法应用在一个多分类深度网络中,分别在CPU(Central ProcessingUnit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)两个计算平台上,计算设置半停模块前后的准确率和识别速度,具体对比数据如下表所示。
表1
表2
表1为两个网络深度分别为16和9的CNN的网络模型设置半停模块前后,在CPU上运行的速度、准确率及加速比的对比表,其中,在第四卷积层之后设置有一个半停模块,半停模块的概率阈值为0.6,计算平台为Intel Xeon E5-2609v3,256G内存,不使用GPU。
表2为两个网络深度分别为16和9的CNN的网络模型设置半停模块前后,在GPU上运行的速度、准确率及加速比的对比表,其中,在第四卷积层之后设置有一个半停模块,半停模块的概率阈值为0.6,计算平台为Intel Xeon E5-2609v3,Tesla k80,256G内存。
从表1和表2可以看出,无论是否采用GPU,设置半停模块后,在保证准确率的同时,均显著加快了CNN的运行速度,其中,在CPU上运行的加速效果比在GPU上运行的加速效果好,网络深度越大,加速效果越好。
半停模块的计算部分开销很低,对运算速度的影响很小,实验发现,半停模块可以中止超过90%的预测数据的更深层次的计算,从而加快CNN的预测速度。本发明实施例提供的方法所带来的加速效果不局限于此次实验数据,也不局限于实验平台,实际的加速效果与半停模块在CNN中的位置以及半停模块的预设预测要求有关。
基于上述分析可知,本发明实施例提供的卷积神经网络的加速方法具有以下有益效果:
在本发明实施例中,在卷积神经网络中设置半停模块,在卷积神经网络的预测过程中,当执行至半停模块时,计算预测过程当前的预测结果,判断当前的预测结果是否满足预设预测要求,当当前的预测结果满足预设预测要求时,停止该预测过程,并将当前的预测结果作为卷积神经网络的最终预测结果,否则,继续执行该预测过程。通过本发明实施例提供的卷积神经网络的加速方法,当执行至半停模块时,会根据当前的预测结果是否满足预设预测要求,来控制是否停止预测过程,即控制CNN是否提前结束预测过程,从而减少CNN的冗余计算,在保证准确率的同时提升了CNN的运行速度,进而可以满足实时性要求较高的任务的需求,解决了现有技术中存在的CNN的运行速度慢,难以执行实时性要求较高的任务的问题。
图3为本发明第一实施例提供的卷积神经网络的加速方法的前向传播训练过程示意图,如图3所示,考虑到前向传播训练过程中也存在大量的冗余计算,该方法还包括以下步骤:
步骤S210,在卷积神经网络的前向传播训练过程中,当执行至半停模块时,计算前向传播训练过程当前的训练结果。
CNN的模型训练过程包括参数初始化、前向传播训练过程和反向传播训练过程。参数初始化,可以采用随机初始化或者使用预先训练好的参数初始化。
CNN的前向传播训练过程与预测过程相似,包括:接受训练数据,训练数据包括简单样本和复杂样本,将训练数据经过多个运算层进行计算,当执行至半停模块时,确定半停模块的上一运算层,半停模块的计算部分根据上一运算层的输出结果和卷积神经网络的参数,计算当前的训练结果。计算当前的训练结果的具体过程与预测过程中计算当前的预测结果的具体过程相同,这里不再赘述。
步骤S220,判断当前的训练结果是否满足预设训练要求。
半停模块内设置有预设训练要求,该预设训练要求与上述预设预测要求的设置方法相同,步骤S220的具体执行过程与步骤S130相同,这里不再赘述。
步骤S230,当当前的训练结果满足预设训练要求时,停止该前向传播训练过程,并确定前向传播路径,否则,继续执行该前向传播训练过程。
步骤230的具体执行过程与步骤S140相似,当当前的训练结果满足预设训练要求时,半停模块的控制部分停止前向传播训练过程,确定并保存前向传播路径,以便进行反向传播训练的更新模型参数过程。当当前的训练结果满足预设训练要求时,半停模块的控制部分控制CNN继续执行该前向传播训练过程。当设置有多个半停模块时,停止前向传播训练时,简单样本与复杂样本对应的的半停模块可能不同,因此不同样本的前向传播路径可能不同。
在CNN的前向传播训练过程中,当执行至半停模块时,会根据当前的训练结果是否满足预设训练要求,来控制是否停止前向传播训练过程,从而减少前向传播训练过程中CNN的冗余计算,因而提升了CNN的运行速度。
图4为本发明第一实施例提供的卷积神经网络的加速方法的反向传播训练过程示意图,如图4所示,考虑到反向传播训练过程中,复杂样本对网络参数过度调整时,不仅会降低CNN的运算速度,还会影响CNN网络模型对简单样本的拟合能力,在步骤S230之后,该方法还包括以下步骤:
步骤S240,在卷积神经网络的反向传播训练过程中,确定前向传播训练过程停止时对应的第一半停模块,以及前向传播路径中,与第一半停模块相邻的第二半停模块。
在CNN的反向传播训练过程中,当上述前向传播路径中包含多个半停模块时,确定前向传播训练过程停止时的半停模块为第一半停模块,与第一半停模块相邻的半停模块为第二半停模块。
步骤S250,更新第一半停模块和第二半停模块之间的模型参数。
该步骤包括以下两个子步骤:
(1)计算第一半停模块和第二半停模块之间的每一运算层的模型参数的梯度。
(2)根据每一运算层的模型参数的梯度更新每一运算层的模型参数。
图5为本发明第一实施例提供的卷积神经网络的反向传播训练过程的基本结构示意图,如图5所示,前向传播训练过程在第一半停模块停止,前向传播路径中,距离第一半停模块最近的半停模块为第二半停模块。具体地,在CNN的反向传播训练过程中,通过梯度下降的方法,延梯度的反方向,最小化损失函数,并且沿反向传播方向更新第一半停模块和第二半停模块之间的模型参数。若前向传播路径中只有一个半停模块,即只有前向传播训练过程停止时对应的第一半停模块,则更新前向传播路径中的所有模型参数。由于梯度的方向指明了误差扩大的方向,因此在更新模型参数的时候需要延梯度的反方向,从而减小模型参数引起的误差。
在CNN的反向传播训练过程中,当前向传播路径中包含多个半停模块时,只更新第一半停模块和第二半停模块之间的模型参数,这样既增强了CNN网络模型对没有在第二半停模块停止的复杂样本的拟合能力,又不破坏CNN网络模型对在第二半停模块之前停止的简单样本的拟合能力,同时提高了CNN的运算速度。
在CNN的反向传播训练之后,本发明实施例提供的方法还包括:重复卷积神经网络的前向传播训练过程和反向传播训练过程,直至该卷积神经网络收敛。CNN经过若干轮迭代优化之后,获得的最优网络参数组合即为CNN网络模型。
由于在CNN的轮迭代优化过程中,重复进行多次前向传播训练过程和反向传播训练过程,而前向传播训练过程和反向传播训练过程均受到了半停模块的加速效果,因此CNN的轮迭代优化过程的运算速度得到了很大的提高。
实施例二:
图6为本发明第二实施例提供的卷积神经网络的加速装置中预测过程对应的模块组成示意图,如图6所示,该装置包括:设置模块11,用于在卷积神经网络中设置半停模块;第一计算模块12,用于在卷积神经网络的预测过程中,当执行至半停模块时,计算预测过程当前的预测结果;第一判断模块13,用于判断当前的预测结果是否满足预设预测要求;结束控制模块14,用于当当前的预测结果满足预设预测要求时,停止该预测过程,并将当前的预测结果作为卷积神经网络的最终预测结果,否则,继续执行该预测过程。
其中,第一计算模块12具体用于:确定半停模块的上一运算层,根据上一运算层的输出结果和卷积神经网络的参数,计算当前的预测结果。
本发明实施例提供的卷积神经网络的加速装置具有以下有益效果:
在本发明实施例中,在卷积神经网络中设置半停模块,在卷积神经网络的预测过程中,当执行至半停模块时,计算预测过程当前的预测结果,判断当前的预测结果是否满足预设预测要求,当当前的预测结果满足预设预测要求时,停止该预测过程,并将当前的预测结果作为卷积神经网络的最终预测结果,否则,继续执行该预测过程。通过本发明实施例提供的卷积神经网络的加速装置,当执行至半停模块时,会根据当前的预测结果是否满足预设预测要求,来控制是否停止预测过程,即控制CNN是否提前结束预测过程,从而减少CNN的冗余计算,在保证准确率的同时提升了CNN的运行速度,进而可以满足实时性要求较高的任务的需求,解决了现有技术中存在的CNN的运行速度慢,难以执行实时性要求较高的任务的问题。
图7为本发明第二实施例提供的卷积神经网络的加速装置中前向传播训练过程对应的模块组成示意图,如图7所示,考虑到前向传播训练过程中也存在大量的冗余计算,该装置还包括:第二计算模块21,用于在卷积神经网络的前向传播训练过程中,当执行至半停模块时,计算前向传播训练过程当前的训练结果;第二判断模块22,用于判断当前的训练结果是否满足预设训练要求;中止控制模块23,用于当当前的训练结果满足预设训练要求时,停止前向传播训练过程,并确定前向传播路径,否则,继续执行前向传播训练过程。
其中,第二计算模块21具体用于:确定半停模块的上一运算层,根据上一运算层的输出结果和卷积神经网络的参数,计算当前的训练结果。
本发明实施例提供的装置还包括:确定模块,用于在卷积神经网络的反向传播训练过程中,确定前向传播训练过程停止时对应的第一半停模块,以及前向传播路径中,与第一半停模块相邻的第二半停模块;参数更新模块,用于更新第一半停模块和第二半停模块之间的模型参数。
其中,参数更新模块包括:梯度计算单元,用于计算第一半停模块和第二半停模块之间的每一运算层的模型参数的梯度;参数更新单元,用于根据每一运算层的模型参数的梯度更新每一运算层的模型参数。
本发明实施例提供的装置还包括重复传播控制模块,用于重复卷积神经网络的前向传播训练过程和反向传播训练过程,直至该卷积神经网络收敛。
本发明实施例提供的卷积神经网络的加速装置,与上述实施例提供的卷积神经网络的加速方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例所提供的卷积神经网络的加速方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种卷积神经网络的加速方法,其特征在于,所述方法包括:
在卷积神经网络中设置半停模块;
在所述卷积神经网络的预测过程中,当执行至所述半停模块时,计算所述预测过程当前的预测结果;
判断当前的所述预测结果是否满足预设预测要求;
当当前的所述预测结果满足所述预设预测要求时,停止所述预测过程,并将当前的所述预测结果作为所述卷积神经网络的最终预测结果,否则,继续执行所述预测过程。
2.根据权利要求1所述的方法,其特征在于,计算所述预测过程当前的预测结果,包括:
确定所述半停模块的上一运算层,根据所述上一运算层的输出结果和所述卷积神经网络的参数,计算当前的所述预测结果。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述卷积神经网络的前向传播训练过程中,当执行至所述半停模块时,计算所述前向传播训练过程当前的训练结果;
判断当前的所述训练结果是否满足预设训练要求;
当当前的所述训练结果满足所述预设训练要求时,停止所述前向传播训练过程,并确定前向传播路径,否则,继续执行所述前向传播训练过程。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述卷积神经网络的反向传播训练过程中,确定所述前向传播训练过程停止时对应的第一半停模块,以及所述前向传播路径中,与所述第一半停模块相邻的第二半停模块;
更新所述第一半停模块和所述第二半停模块之间的模型参数。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
重复所述卷积神经网络的前向传播训练过程和反向传播训练过程,直至所述卷积神经网络收敛。
6.根据权利要求4所述的方法,其特征在于,更新所述第一半停模块和所述第二半停模块之间的模型参数,包括:
计算所述第一半停模块和所述第二半停模块之间的每一运算层的模型参数的梯度;
根据每一所述运算层的模型参数的梯度更新每一所述运算层的模型参数。
7.根据权利要求3所述的方法,其特征在于,计算所述前向传播训练过程当前的训练结果,包括:
确定所述半停模块的上一运算层,根据所述上一运算层的输出结果和所述卷积神经网络的参数,计算当前的所述训练结果。
8.一种卷积神经网络的加速装置,其特征在于,所述装置包括:
设置模块,用于在卷积神经网络中设置半停模块;
第一计算模块,用于在所述卷积神经网络的预测过程中,当执行至所述半停模块时,计算所述预测过程当前的预测结果;
第一判断模块,用于判断当前的所述预测结果是否满足预设预测要求;
结束控制模块,用于当当前的所述预测结果满足所述预设预测要求时,停止所述预测过程,并将当前的所述预测结果作为所述卷积神经网络的最终预测结果,否则,继续执行所述预测过程。
9.根据权利要求8所述的装置,其特征在于,所述第一计算模块具体用于:
确定所述半停模块的上一运算层,根据所述上一运算层的输出结果和所述卷积神经网络的参数,计算当前的所述预测结果。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二计算模块,用于在所述卷积神经网络的前向传播训练过程中,当执行至所述半停模块时,计算所述前向传播训练过程当前的训练结果;
第二判断模块,用于判断当前的所述训练结果是否满足预设训练要求;
中止控制模块,用于当当前的所述训练结果满足所述预设训练要求时,停止所述前向传播训练过程,并确定前向传播路径,否则,继续执行所述前向传播训练过程。
CN201710027447.1A 2017-01-13 2017-01-13 卷积神经网络的加速方法及装置 Pending CN106682731A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710027447.1A CN106682731A (zh) 2017-01-13 2017-01-13 卷积神经网络的加速方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710027447.1A CN106682731A (zh) 2017-01-13 2017-01-13 卷积神经网络的加速方法及装置

Publications (1)

Publication Number Publication Date
CN106682731A true CN106682731A (zh) 2017-05-17

Family

ID=58858980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710027447.1A Pending CN106682731A (zh) 2017-01-13 2017-01-13 卷积神经网络的加速方法及装置

Country Status (1)

Country Link
CN (1) CN106682731A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107358209A (zh) * 2017-07-17 2017-11-17 成都通甲优博科技有限责任公司 人脸检测模型的训练方法、装置及人脸检测方法、装置
CN108710941A (zh) * 2018-04-11 2018-10-26 杭州菲数科技有限公司 用于电子设备的神经网络模型的硬加速方法和装置
CN109313429A (zh) * 2017-04-24 2019-02-05 深圳配天智能技术研究院有限公司 S型速度规划方法、装置、系统、机器人以及数控机床
CN109409518A (zh) * 2018-10-11 2019-03-01 北京旷视科技有限公司 神经网络模型处理方法、装置及终端
CN109816108A (zh) * 2019-02-15 2019-05-28 领目科技(上海)有限公司 深度学习加速装置、设备及方法
CN110147872A (zh) * 2018-05-18 2019-08-20 北京中科寒武纪科技有限公司 编码存储装置及方法、处理器及训练方法
CN110163295A (zh) * 2019-05-29 2019-08-23 四川智盈科技有限公司 一种基于提前终止的图像识别推理加速方法
CN110309917A (zh) * 2019-07-05 2019-10-08 北京中科寒武纪科技有限公司 离线模型的验证方法及相关装置
CN110967976A (zh) * 2018-09-28 2020-04-07 珠海格力电器股份有限公司 智能家居系统的控制方法和装置
US11995556B2 (en) 2018-05-18 2024-05-28 Cambricon Technologies Corporation Limited Video retrieval method, and method and apparatus for generating video retrieval mapping relationship

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109313429A (zh) * 2017-04-24 2019-02-05 深圳配天智能技术研究院有限公司 S型速度规划方法、装置、系统、机器人以及数控机床
CN107358209A (zh) * 2017-07-17 2017-11-17 成都通甲优博科技有限责任公司 人脸检测模型的训练方法、装置及人脸检测方法、装置
CN108710941A (zh) * 2018-04-11 2018-10-26 杭州菲数科技有限公司 用于电子设备的神经网络模型的硬加速方法和装置
CN110147872A (zh) * 2018-05-18 2019-08-20 北京中科寒武纪科技有限公司 编码存储装置及方法、处理器及训练方法
CN110147872B (zh) * 2018-05-18 2020-07-17 中科寒武纪科技股份有限公司 编码存储装置及方法、处理器及训练方法
US11995556B2 (en) 2018-05-18 2024-05-28 Cambricon Technologies Corporation Limited Video retrieval method, and method and apparatus for generating video retrieval mapping relationship
CN110967976A (zh) * 2018-09-28 2020-04-07 珠海格力电器股份有限公司 智能家居系统的控制方法和装置
CN109409518A (zh) * 2018-10-11 2019-03-01 北京旷视科技有限公司 神经网络模型处理方法、装置及终端
CN109816108A (zh) * 2019-02-15 2019-05-28 领目科技(上海)有限公司 深度学习加速装置、设备及方法
CN110163295A (zh) * 2019-05-29 2019-08-23 四川智盈科技有限公司 一种基于提前终止的图像识别推理加速方法
CN110309917A (zh) * 2019-07-05 2019-10-08 北京中科寒武纪科技有限公司 离线模型的验证方法及相关装置

Similar Documents

Publication Publication Date Title
CN106682731A (zh) 卷积神经网络的加速方法及装置
US11675940B2 (en) Generating integrated circuit floorplans using neural networks
CN110059740A (zh) 一种针对嵌入式移动端的深度学习语义分割模型压缩方法
CN109657780A (zh) 一种基于剪枝顺序主动学习的模型压缩方法
US20200074637A1 (en) 3d segmentation with exponential logarithmic loss for highly unbalanced object sizes
US11803731B2 (en) Neural architecture search with weight sharing
CN109583340A (zh) 一种基于深度学习的视频目标检测方法
CN106547737A (zh) 基于深度学习的自然语言处理中的序列标注方法
CN109409500A (zh) 基于知识蒸馏与非参数卷积的模型加速方法及装置
CN110223300A (zh) Ct图像腹部多器官分割方法及装置
CN112215423B (zh) 一种基于趋势引导与稀疏交互的行人轨迹预测方法及系统
CN106445915A (zh) 一种新词发现方法及装置
CN112883722B (zh) 一种基于云数据中心分布式文本摘要方法
CN115511069A (zh) 神经网络的训练方法、数据处理方法、设备及存储介质
CN113312874A (zh) 基于改进深度强化学习的总体布线方法
CN109165654A (zh) 一种目标定位模型的训练方法和目标定位方法及装置
CN112580624B (zh) 基于边界预测的多方向文本区域检测方法和装置
CN114332888B (zh) 一种东巴文的文字切分方法、装置、存储介质及电子设备
CN116884211A (zh) 一种交通序列预测方法、装置、电子设备及存储介质
JP4589034B2 (ja) 空気溜まりの解析方法およびコンピュータ・プログラム
US20210390833A1 (en) Method, apparatus, and computer storage medium for outputting virtual application object
CN106951888A (zh) 人脸特征点的相对坐标约束方法以及定位方法
CN113822293A (zh) 用于图数据的模型处理方法、装置、设备及存储介质
CN110223316A (zh) 基于循环回归网络的快速目标跟踪方法
CN112380854A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170517

RJ01 Rejection of invention patent application after publication