CN112862058A - 神经网络的训练方法、装置和设备 - Google Patents

神经网络的训练方法、装置和设备 Download PDF

Info

Publication number
CN112862058A
CN112862058A CN201911171008.3A CN201911171008A CN112862058A CN 112862058 A CN112862058 A CN 112862058A CN 201911171008 A CN201911171008 A CN 201911171008A CN 112862058 A CN112862058 A CN 112862058A
Authority
CN
China
Prior art keywords
neural network
training
image
trained
detection result
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
CN201911171008.3A
Other languages
English (en)
Other versions
CN112862058B (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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development Co Ltd
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 Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN201911171008.3A priority Critical patent/CN112862058B/zh
Publication of CN112862058A publication Critical patent/CN112862058A/zh
Application granted granted Critical
Publication of CN112862058B publication Critical patent/CN112862058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06N20/00Machine learning
    • 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)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

本公开实施例提供一种神经网络的训练方法、装置和设备,其中,所述神经网络的训练方法包括:利用样本图像对所述神经网络进行N轮训练,得到训练结束的目标神经网络;其中,N是正整数;其中,所述N轮训练中的K轮训练中的每一轮训练包括:从待选压缩方式集合中选择一种压缩方式对本轮中待训练的神经网络进行压缩,得到压缩后的神经网络;利用压缩后的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果;根据所述图像检测结果对所述压缩后的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络;其中,K小于或等于N,且K为正整数。

Description

神经网络的训练方法、装置和设备
技术领域
本公开涉及机器学习技术,具体涉及一种神经网络的训练方法、装置和设备。
背景技术
深度卷积神经网络在不断发展的过程中,刷新了各个计算机视觉数据集上的性能表现,但是这些性能的提升往往建立在神经网络规模越来越大的基础上,而规模越庞大的神经网络在运行时将会消耗更多的资源并占用更多的时间。近些年来,为了能够将深度卷积神经网络部署在移动设备上,越来越多的研究人员开始研究如何压缩网络的规模。
发明内容
有鉴于此,本公开至少提供一种神经网络的训练方法、装置和设备。
第一方面,提供一种神经网络的训练方法,所述方法包括:
利用样本图像对所述神经网络进行N轮训练,得到训练结束的目标神经网络;其中,N是正整数;
其中,所述N轮训练中的K轮训练中的每一轮训练包括:
从待选压缩方式集合中选择一种压缩方式对本轮中待训练的神经网络进行压缩,得到压缩后的神经网络;
利用压缩后的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果;
根据所述图像检测结果对所述压缩后的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络;其中,K小于或等于N,且K为正整数。
结合本公开提供的任一实施方式,所述N轮训练中的N-K轮训练中的每一轮训练包括:利用本轮中待训练的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果;根据所述图像检测结果对本轮中待训练的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络。
结合本公开提供的任一实施方式,所述待选压缩方式集合中包括以下至少两种压缩方式:网络剪枝,或者M比特量化,所述M是自然数。
结合本公开提供的任一实施方式,所述从待选压缩方式集合中选择一种压缩方式对本轮中待训练的神经网络进行压缩,得到压缩后的神经网络,包括:分别使用所述待选压缩方式集合中的每一种压缩方式对本轮中待训练的神经网络进行压缩,得到D个压缩后的神经网络;其中,D为所述待选压缩方式集合中包括的压缩方式的数量,且D为正整数;利用压缩后的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果,包括:分别利用所述D个压缩后的神经网络对输入的样本图像提取图像特征;分别利用所述D个压缩后的神经网络对其提取到的图像特征进行处理,得到所述D个压缩后的神经网络的图像检测结果;根据所述图像检测结果对所述压缩后的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络,包括:根据每个压缩后的神经网络的图像检测结果对该压缩后的神经网络的网络参数进行调整,得到D个训练后的神经网络;从所述D个训练后的神经网络中选择一个神经网络作为下一轮中待训练的神经网络。
结合本公开提供的任一实施方式,所述从所述D个训练后的神经网络中选择一个神经网络作为下一轮中待训练的神经网络,包括:确定所述D个训练后的神经网络的性能得分;选择性能得分最高的神经网络,作为下一轮中待训练的神经网络。
结合本公开提供的任一实施方式,所述确定所述D个训练后的神经网络的性能得分,包括:基于如下至少一项确定所述目标神经网络的性能得分:神经网络的精度、神经网络一次前向传播的耗时、或者神经网络的浮点计算次数。
第二方面,提供一种目标检测方法,所述方法包括:利用神经网络对待检测图像进行目标检测,得到检测结果;所述神经网络采用本公开任一实施例所述的神经网络的训练方法训练得到。
第三方面,提供一种智能行驶方法,所述方法包括:利用神经网络对道路图像进行检测,得到检测结果;其中,所述神经网络采用本公开任一实施例所述的神经网络的训练方法训练得到;根据所述检测结果控制采集所述道路图像的智能行驶设备。
第四方面,提供一种驾驶员监控方法,所述方法包括:利用神经网络对采集的车舱内的图像进行检测,得到检测结果;其中,所述神经网络采用本公开任一实施例所述的神经网络的训练方法训练得到;根据所述检测结果对包括所述车舱的车辆的驾驶员进行告警。
第五方面,提供一种神经网络的训练装置,所述装置用于利用样本图像对所述神经网络进行N轮训练,得到训练结束的目标神经网络;其中,N是正整数;所述装置包括:
网络压缩模块,用于对所述N轮训练中的K轮训练中的每一轮训练,从待选压缩方式集合中选择一种压缩方式对本轮中待训练的神经网络进行压缩,得到压缩后的神经网络;
图像处理模块,用于利用压缩后的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果;
参数调整模块,用于根据所述图像检测结果对所述压缩后的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络;其中,K小于或等于N,且K为正整数。
结合本公开提供的任一实施方式,针对所述N轮训练中的N-K轮训练中的每一轮训练,所述图像处理模块,还用于利用本轮中待训练的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果;所述参数调整模块,还用于根据所述图像检测结果,对本轮中待训练的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络。
结合本公开提供的任一实施方式,所述待选压缩方式集合中包括以下至少两种压缩方式:网络剪枝,或者M比特量化,所述M是自然数。
结合本公开提供的任一实施方式,所述网络压缩模块,用于:分别使用所述待选压缩方式集合中的每一种压缩方式对本轮中待训练的神经网络进行压缩,得到D个压缩后的神经网络;其中,D为所述待选压缩方式集合中包括的压缩方式的数量,且D为正整数;所述图像处理模块,用于:分别利用所述D个压缩后的神经网络对输入的样本图像提取图像特征;分别利用所述D个压缩后的神经网络对其提取到的图像特征进行处理,得到所述D个压缩后的神经网络的图像检测结果;所述参数调整模块,用于:根据每个压缩后的神经网络的图像检测结果对该压缩后的神经网络的网络参数进行调整,得到D个训练后的神经网络;从所述D个训练后的神经网络中选择一个神经网络作为下一轮中待训练的神经网络。
结合本公开提供的任一实施方式,所述参数调整模块,在用于从所述D个训练后的神经网络中选择一个神经网络作为下一轮中待训练的神经网络时,用于:确定所述D个训练后的神经网络的性能得分;选择性能得分最高的神经网络,作为下一轮中待训练的神经网络。
结合本公开提供的任一实施方式,所述参数调整模块,在用于确定所述D个训练后的神经网络的性能得分时,用于:基于如下至少一项确定所述目标神经网络的性能得分:神经网络的精度、神经网络一次前向传播的耗时、或者神经网络的浮点计算次数。
第六方面,提供一种目标检测装置,所述装置用于利用神经网络对待检测图像进行目标检测,得到检测结果;所述神经网络采用本公开任一实施例所述的神经网络的训练方法训练得到。
第七方面,提供一种智能行驶装置,所述装置包括:第一检测处理模块,用于利用神经网络对道路图像进行检测,得到检测结果;其中,所述神经网络采用本公开任一实施例所述的神经网络的训练方法训练得到;设备控制模块,用于根据所述检测结果控制采集所述道路图像的智能行驶设备。
第八方面,提供一种驾驶员监控装置,所述装置包括:第二检测处理模块,用于利用神经网络对采集的车舱内的图像进行检测,得到检测结果;其中,所述神经网络采用本公开任一实施例所述的神经网络的训练方法训练得到;告警处理模块,用于根据所述检测结果对包括所述车舱的车辆的驾驶员进行告警。
第九方面,提供一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施例所述的神经网络的训练方法,或者实现本公开任一实施例所述的目标检测方法,或者实现本公开任一实施例所述的智能行驶方法,或者实现本公开任一实施例所述的驾驶员监控方法。
第十方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的神经网络的训练方法,或者实现本公开任一实施例所述的目标检测方法,或者实现本公开任一实施例所述的智能行驶方法,或者实现本公开任一实施例所述的驾驶员监控方法。
本公开一个或多个实施例的神经网络的训练方法、装置和设备,通过在神经网络的训练过程中进行压缩处理,随着神经网络的压缩,网络需要训练的参数越来越少,因此可以减少神经网络训练的时间,提高训练效率,并且,神经网络训练结束后不再需要进行微调,也使得神经网络训练效率提升。
附图说明
为了更清楚地说明本公开一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开至少一个实施例提供的一种神经网络的训练方法;
图2为本公开至少一个实施例提供的另一种神经网络的训练方法;
图3为本公开至少一个实施例提供的网络训练的多次迭代原理图;
图4为本公开至少一个实施例提供的其中一次迭代的原理图;
图5为本公开至少一个实施例提供的网络训练过程示意图;
图6为本公开至少一个实施例提供的一种神经网络的训练装置;
图7为本公开至少一个实施例提供的一种智能行驶装置的结构图;
图8为本公开至少一个实施例提供的一种驾驶员监控装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开一个或多个实施例中的技术方案,下面将结合本公开一个或多个实施例中的附图,对本公开一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
相关技术中,典型的两种压缩神经网络的方法是卷积神经网络剪枝和卷积神经网络量化。以卷积神经网络剪枝为例,通常会先训练一个全精度浮点神经网络,随后使用网络剪枝方法对全精度浮点神经网络进行剪枝,最后对剪枝后的神经网络进行量化,并使用微调训练补回由于剪枝和量化而损失的网络性能。这种神经网络训练方法效率低,而且最终得到的神经网络的性能有待提高。
本公开实施例提供一种神经网络的训练方法,该方法可以应用于对神经网络的训练,并且,该方法能够在神经网络的训练过程中使用压缩方式对神经网络进行压缩,该压缩方式包括但不限于:网络剪枝或者网络量化等压缩方式。
图1示例了一种神经网络的训练方法的流程,在该方法中,可以利用样本图像对待训练的神经网络进行N轮训练,得到训练结束的目标神经网络。其中,N可以是正整数。本实施例不限制样本图像的具体内容,例如,可以是道路图像,或者是车辆驾驶员图像等;也不限制神经网络的具体网络结构,例如,可以是卷积神经网络等;该样本图像和神经网络可以根据实际业务需求确定。
其中,在对神经网络进行的N轮训练中,K轮训练中的每一轮训练可以按照图1所示的流程执行。该K是小于或等于N的正整数,比如,示例性的,假设N等于50,K等于20,即神经网络通过50轮训练得到目标神经网络,而在其中的20轮训练中,每一轮训练都可以按照图1所示的流程执行。
在步骤100中,从待选压缩方式集合中选择一种压缩方式对本轮中待训练的神经网络进行压缩,得到压缩后的神经网络。
本步骤中,待选压缩方式集合可以包括至少两种压缩方式。例如,网络剪枝、M比特量化,所述M是自然数。其中的网络剪枝例如可以是针对卷积层剪掉权重比较低的通道。M比特量化的M取值例如可以是2、4或者8。
需要说明的是,在对神经网络使用了压缩处理的各轮训练中,不同轮训练使用的压缩方式可以是不同的。比如,在一个神经网络的第18次迭代中使用的是网络剪枝压缩方式,而在第19次迭代中使用的是4比特量化压缩方式。
在一个例子中,由待选压缩方式集合中选择本轮训练要使用的压缩方式,可以是以神经网络性能作为选择的依据。比如,如果使用网络剪枝压缩神经网络后训练得到的目标神经网络比使用量化压缩得到的目标神经网络性能更好,则选择使用网络剪枝进行压缩。
在步骤102中,利用压缩后的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果。
例如,以卷积神经网络为例,该卷积神经网络可以通过卷积核对样本图像提取图像特征,并可以对所述图像特征进行处理得到图像检测结果。
在步骤104中,根据所述图像检测结果对所述压缩后的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络。
本步骤中,对神经网络的网络参数进行调整可以是通过监督训练的方式,或者也可以通过无监督训练的方式。例如,当使用监督训练时,神经网络根据输入的样本图像得到图像检测结果后,该图像检测结果可以与样本图像的标注结果之间比较差异,并据此差异反向传播调整神经网络的网络参数。又例如,当使用无监督训练时,样本图像可以不具有标注结果,根据图像检测结果对神经网络的网络参数进行调整。
本轮训练得到的神经网络可以作为下一轮训练的初始状态的神经网络,即在本轮训练得到的神经网络基础上进行下一轮训练。例如,在每一轮训练开始时,都可以对待训练的神经网络进行网络参数的初始化,可以将本轮训练得到的神经网络的网络参数进行存储,并在下一轮训练开始时利用存储的网络参数进行网络初始化,得到下一轮训练的初始状态的神经网络。该下一轮训练中可以重新选择适用的压缩方式,所选择的压缩方式可以与本轮训练使用的压缩方式不同。
此外,对于所述N轮训练中的N-K轮训练中的每一轮训练,可以不对神经网络进行压缩,该N-K轮训练中的每一轮训练可以包括:利用本轮中待训练的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果;根据所述图像检测结果对本轮中待训练的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络。
本实施例的神经网络训练方法,通过在神经网络的训练过程中进行压缩处理,随着神经网络的压缩,网络需要训练的参数越来越少,因此可以减少神经网络训练的时间,提高训练效率,并且,神经网络训练结束后不再需要进行微调,也使得神经网络训练效率提升。
图2以在卷积神经网络的训练过程中融入神经网络压缩为例,例如,该卷积神经网络可以是全精度浮点神经网络,浮点神经网络表示网络中的参数使用32个比特位表示。其中,该实施例中使用的压缩方式可以包括网络剪枝和M比特量化,本实施例中将示例性描述如何由待选压缩方式集合中选择一种要使用的压缩方式。如图2所示,该方法可以包括如下处理:
在步骤200中,对待训练的卷积神经网络进行初始化。
在步骤202中,保存该轮训练的初始状态的神经网络对应的神经网络信息。
例如,本步骤可以开始对卷积神经网络的第一轮训练。在第一轮训练开始前,可以存储在步骤200中初始化的卷积神经网络的神经网络信息。该神经网络信息可以包括:当前的神经网络训练轮数、神经网络的网络参数、神经网络优化器状态等,该神经网络信息可以包括用于恢复神经网络训练的必要信息。
在步骤204中,以保存的神经网络信息为基础,使用待选压缩方式集合中的其中一种压缩方式对该卷积神经网络进行压缩,得到压缩后的卷积神经网络。
本步骤中,可以由待选压缩方式集合中选择一种压缩方式对卷积神经网络进行压缩。例如,可以使用网络剪枝,具体可以是加载插件化的网络剪枝压缩方式对卷积神经网络进行压缩处理。
在步骤206中,利用压缩后的卷积神经网络对输入的样本图像提取图像特征,对其提取到的图像特征进行处理,得到图像检测结果。
例如,卷积神经网络可以通过网络中的卷积层、池化层、全连接层等结构对样本图像进行图像特征的提取、以及图像特征的处理,得到图像检测结果。
在步骤208中,根据压缩后的神经网络的图像检测结果对该压缩后的神经网络的网络参数进行调整,得到训练结束的目标神经网络。
本步骤中得到的训练结束的卷积神经网络可以称为目标神经网络,并且,该目标神经网络可以是与步骤204中选择的压缩方式对应的,即该目标神经网络是在网络训练过程中采用了204中选择的压缩方式对卷积神经网络进行压缩。
在步骤210中,使用测试集数据对目标神经网络进行测试,得到目标神经网络的性能得分。
例如,可以使用数据集中的测试集数据,对通过网络剪枝压缩方式压缩后的卷积神经网络训练得到的目标神经网络进行性能评估,获得性能得分。
例如,所述性能得分基于如下至少一项确定,但具体实施中不局限于此:
A、评测神经网络的精度,例如神经网络的分类或分割精度,精度越高,得分越高。
B、统计神经网络一次前向传播的耗时,耗时越短,得分越高。
C、统计神经网络前向传播的浮点计算次数,次数越少,得分越高。
在步骤212中,保存性能得分、目标神经网络的网络信息与压缩方式之间的对应关系。例如,在得到一个目标神经网络后,可以记录该目标神经网络的训练过程是采用了何种压缩方式,还存储该目标神经网络的性能得分、以及神经网络信息。
在步骤214中,判断待选压缩方式集合中的每一种压缩方式是否都已经被采用。
如上的步骤204至步骤212中已经使用了待选压缩方式集合中的其中一种压缩方式对神经网络进行压缩处理,本步骤判断该待选压缩方式集合中是否全部被使用过。
如果判断结果为是,则继续执行步骤216。
否则,如果判断结果为否,即待选压缩方式集合中尚有压缩方式还没有使用,则返回执行步骤204。请参见图3所示,图3可以清楚的看到,在K轮训练的每一轮训练中,都要执行D次训练,该D是待选压缩方式集合中包括的压缩方式的数量,且D为正整数。该D次训练的初始状态是相同的,每次训练开始前都是要加载本轮训练的初始状态的神经网络的神经网络信息。这D次训练是分别使用待选压缩方式集合中的每一种压缩方式对本轮中待训练的神经网络进行压缩,并对压缩后的神经网络进行训练。
请参见图4,图4也清楚的显示了要分别使用待选压缩方式集合中的每一种压缩方式压缩某一轮训练的待训练的神经网络,且每一种压缩方式的训练都是相同的起点,即以本轮训练的初始状态的神经网络为基础。并且,采用每一种压缩方式压缩神经网络并训练后,都保存该压缩方式与训练结束的目标神经网络的网络信息、性能得分的对应关系。
在步骤216中,选取性能得分最高的神经网络,作为最优神经网络,对应的压缩方式可以称为目标压缩方式。
按照上述的方式依次用待选压缩方式集合中的每一种压缩方式,压缩卷积神经网络并训练,得到各个目标神经网络的神经网络信息和性能得分,直至使用完所有的压缩方式。例如,待选压缩方式集合中共有D个压缩方式,如上所述的,将最终得到D个训练后的目标神经网络,可以根据这些目标神经网络的性能得分,选择一个目标神经网络作为下一轮中待训练的神经网络。
当然,在其他的实施方式中,也可以选取其他目标神经网络作为最优神经网络,比如,选取性能次优的目标神经网络。本实施例不局限于此。
在步骤218中,初始化神经网络并加载最优神经网络对应的神经网络信息,作为下一轮训练的初始状态神经网络。例如,在获得了最优神经网络后,本轮训练可以结束。该最优神经网络作为本轮训练结束得到的神经网络,加载最优神经网络对应的神经网络信息,作为下一轮训练的初始状态神经网络。
在步骤220中,判断训练次数是否达到最大迭代次数。
若否,返回执行步骤202,开始在下一轮训练中逐个采用各个压缩方式压缩卷积神经网络后进行训练,以根据训练得到的网络的性能由待选压缩方式集合中选择一种适用于该下一轮训练的压缩方式。
若训练次数已经达到最大迭代次数,则结束训练,得到训练结束的卷积神经网络。需要说明的是,本实施例的神经网络训练是以达到最大迭代次数为结束条件,这只是示例,实际实施中不局限于此,例如还可以根据神经网络的性能是否达标作为网络训练是否结束的条件,比如,当神经网络的输出结果与标注结果之间的差异在某一阈值范围内时结束训练。
请参见图5,图5整体上示意了一个卷积神经网络从开始训练到训练结束的过程。可以看到,在神经网络的整个训练过程中迭代了n+1轮,每一轮训练都使用本申请实施例提供的方法,根据压缩方式选择策略确定本轮训练使用的压缩方式。并且,在各轮训练中使用的压缩方式可以是不同的,每轮训练都选取最适合(比如,能使得本轮训练达到最优神经网络性能)的压缩方式。
此外,需要说明的是,如上的本实施例中示例了根据压缩后训练得到的目标神经网络的性能得分来选择压缩方式,比如,依次使用各个压缩方式压缩神经网络后训练该网络,并最终选取性能得分最高的神经网络对应的压缩方式。但在实际实施中并不局限于此,也可以按照其他方式进行压缩方式的选择。
为了方便在神经网络的各轮训练中使用压缩方式进行网络压缩,可以将这些压缩方式实现为插件化的形式,例如在步骤204中提到的加载插件化的网络剪枝压缩方式对卷积神经网络进行压缩处理。
本实施例的神经网络训练方法,通过在神经网络的每轮训练中选择能够使得网络训练性能最佳的压缩方式进行网络压缩,使得可以将神经网络的训练过程结合了不同压缩方法的耦合,最大限度的提升神经网络的训练效率和神经网络性能。
本说明书提供的神经网络训练方法,可以适用于涉及到神经网络压缩、低功耗和低计算资源平台需要节省资源消耗的场景,还可以适用于图像分类以及相关的需要进行网络加速的计算机视觉任务。
如下示例神经网络的几种应用场景,该神经网络可以是通过上述神经网络的训练方法训练得到,并且实际实施中还可以有更多的应用场景。
在一个例子中:可以将神经网络应用于目标检测,利用神经网络对待检测图像进行目标检测,得到检测结果。
例如,待检测图像可以是设置在大型场所的监控摄像头采集到的大型场所内的人群图像,通过将该人群图像输入预先训练的目标检测神经网络,可以识别到人群中的异常行为人物。
在一个例子中:可以将神经网络应用于智能行驶。利用神经网络对道路图像进行检测,得到检测结果,并根据所述检测结果控制采集所述道路图像的智能行驶设备。
例如,利用神经网络对道路图像检测得到的检测结果可以是道路中的车道线、路口等与车辆行驶相关的道路元素,根据该检测结果所控制的智能行驶设备例如可以包括:自动驾驶的车辆、装有ADAS(Advanced Driver Assistance System,高级驾驶辅助系统)的车辆、机器人等设备。比如,可以根据道路图像的检测结果直接控制智能行驶设备执行刹车、停止运动、减速、加速等运动控制,也可以是根据道路图像的检测结果对自动驾驶的车辆的驾驶员发出提示,由驾驶员来根据提示控制装有ADAS的车辆。
在一个例子中:可以将神经网络应用于驾驶员监控。利用神经网络对采集的车舱内的图像进行检测,得到检测结果,并根据所述检测结果对包括所述车舱的车辆的驾驶员进行告警。
例如,采集的车舱内的图像可以是车辆内驾驶员的脸部图像,可以利用预先训练的神经网络对该脸部图像进行识别,检测驾驶员是否存在疲劳驾驶,比如,若根据连续一定数量的视频帧的检测结果确定驾驶员多次打哈欠,可以认为驾驶员是在疲劳驾驶。可以根据该检测结果对驾驶员进行告警,比如进行语音提示,或者在车辆内的控制显示屏上显示提示信息。
图6是本公开至少一个实施例提供的一种神经网络的训练装置的结构示意图,该训练装置可以执行本公开任一实施例的神经网络的训练方法。所述装置用于利用样本图像对所述神经网络进行N轮训练,得到训练结束的目标神经网络;其中,N是正整数。如图6所示,该装置可以包括:网络压缩模块61、图像处理模块62和参数调整模块63。
网络压缩模块61,用于对所述N轮训练中的K轮训练中的每一轮训练,从待选压缩方式集合中选择一种压缩方式对本轮中待训练的神经网络进行压缩,得到压缩后的神经网络。
在一个例子中,所述待选压缩方式集合中包括以下至少两种压缩方式:网络剪枝,或者M比特量化,所述M是自然数。例如,其中的网络剪枝例如可以是针对卷积层剪掉权重比较低的通道。M比特量化的M取值例如可以是2、4或者8。
图像处理模块62,用于利用压缩后的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果。
参数调整模块63,用于根据所述图像检测结果对所述压缩后的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络;其中,K小于或等于N,且K为正整数。
本实施例的神经网络训练装置,通过由网络压缩模块在神经网络的训练过程中进行压缩处理,随着神经网络的压缩,网络需要训练的参数越来越少,因此可以减少神经网络训练的时间,提高训练效率,并且,神经网络训练结束后不再需要进行微调,也使得神经网络训练效率提升。
在一个例子中,针对所述N轮训练中的N-K轮训练中的每一轮训练,图像处理模块62,还用于利用本轮中待训练的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果。参数调整模块63,还用于根据所述图像检测结果,对本轮中待训练的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络。
在一个例子中,网络压缩模块61,用于:分别使用所述待选压缩方式集合中的每一种压缩方式对本轮中待训练的神经网络进行压缩,得到D个压缩后的神经网络;其中,D为所述待选压缩方式集合中包括的压缩方式的数量,且D为正整数。
所述图像处理模块62,用于:分别利用所述D个压缩后的神经网络对输入的样本图像提取图像特征;分别利用所述D个压缩后的神经网络对其提取到的图像特征进行处理,得到所述D个压缩后的神经网络的图像检测结果。
参数调整模块63,用于:根据每个压缩后的神经网络的图像检测结果对该压缩后的神经网络的网络参数进行调整,得到D个训练后的神经网络;从所述D个训练后的神经网络中选择一个神经网络作为下一轮中待训练的神经网络。
在一个例子中,参数调整模块63,在用于从所述D个训练后的神经网络中选择一个神经网络作为下一轮中待训练的神经网络时,用于:确定所述D个训练后的神经网络的性能得分;选择性能得分最高的神经网络,作为下一轮中待训练的神经网络。
在一个例子中,参数调整模块63,在用于确定所述D个训练后的神经网络的性能得分时,用于:基于如下至少一项确定所述目标神经网络的性能得分:神经网络的精度、神经网络一次前向传播的耗时或者神经网络的浮点计算次数。
例如,所述性能得分基于如下至少一项确定,但具体实施中不局限于此:评测神经网络的精度,例如神经网络的分类或分割精度,精度越高,得分越高。或者还可以是,统计神经网络一次前向传播的耗时,耗时越短,得分越高。或者还可以是,统计神经网络前向传播的浮点计算次数,次数越少,得分越高。
本公开实施例还提供了一种目标检测装置,该装置用于利用神经网络对待检测图像进行目标检测,得到检测结果;所述神经网络采用本公开任一实施例所述的神经网络的训练方法训练得到。
例如,待检测图像可以是设置在大型场所的监控摄像头采集到的大型场所内的人群图像,通过将该人群图像输入预先训练的目标检测神经网络,可以识别到人群中的异常行为人物。
图7是本公开至少一个实施例提供的一种智能行驶装置的结构示意图,该智能行驶装置可以执行本公开任一实施例的智能行驶方法。如图7所示,该装置可以包括:第一检测处理模块71和设备控制模块72。
第一检测处理模块71,用于利用神经网络对道路图像进行检测,得到检测结果;其中,所述神经网络采用本公开任一实施例所述的神经网络的训练方法训练得到。设备控制模块72,用于根据所述检测结果控制采集所述道路图像的智能行驶设备。
例如,利用神经网络对道路图像检测得到的检测结果可以是道路中的车道线、路口等与车辆行驶相关的道路元素,根据道路图像的检测结果直接控制智能行驶设备执行刹车、停止运动、减速、加速等运动控制,也可以是根据道路图像的检测结果对自动驾驶的车辆的驾驶员发出提示,由驾驶员来根据提示控制装有ADAS的车辆。
图8是本公开至少一个实施例提供的一种驾驶员监控装置的结构示意图,该驾驶员监控装置可以执行本公开任一实施例的驾驶员监控方法。如图8所示,该装置可以包括:第二检测处理模块81和告警处理模块82。
第二检测处理模块81,用于利用神经网络对采集的车舱内的图像进行检测,得到检测结果;其中,所述神经网络采用权利要求1-6任一所述的训练方法训练得到。告警处理模块82,用于根据所述检测结果对包括所述车舱的车辆的驾驶员进行告警。
例如,采集的车舱内的图像可以是车辆内驾驶员的脸部图像,可以利用预先训练的神经网络对该脸部图像进行识别,检测驾驶员是否存在疲劳驾驶。若存在疲劳驾驶,可以根据该检测结果对驾驶员进行告警,比如进行语音提示,或者在车辆内的控制显示屏上显示提示信息。
本公开还提供了一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施例所述的神经网络的训练方法,或者实现本公开任一实施例所述的智能行驶方法,或者实现本公开任一实施例所述的驾驶员监控方法。
本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的神经网络的训练方法,或者实现本公开任一实施例所述的智能行驶方法,或者实现本公开任一实施例所述的驾驶员监控方法。
本领域技术人员应明白,本公开一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本公开一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开实施例还提供一种计算机可读存储介质,该存储介质上可以存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例描述的用于文字识别的神经网络的训练方法的步骤,和/或,实现本公开任一实施例描述的文字识别方法的步骤。其中,所述的“和/或”表示至少具有两者中的其中一个,例如,“多和/或B”包括三种方案:多、B、以及“多和B”。
本公开中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本公开中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本公开中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本公开中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本公开中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPG多(现场可编程门阵列)或多SIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理网络。通常,中央处理网络将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理网络以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PD多)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本公开包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本公开内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本公开一个或多个实施例的较佳实施例而已,并不用以限制本公开一个或多个实施例,凡在本公开一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开一个或多个实施例保护的范围之内。

Claims (10)

1.一种神经网络的训练方法,其特征在于,所述方法包括:
利用样本图像对所述神经网络进行N轮训练,得到训练结束的目标神经网络;其中,N是正整数;
其中,所述N轮训练中的K轮训练中的每一轮训练包括:
从待选压缩方式集合中选择一种压缩方式对本轮中待训练的神经网络进行压缩,得到压缩后的神经网络;
利用压缩后的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果;
根据所述图像检测结果对所述压缩后的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络;其中,K小于或等于N,且K为正整数。
2.根据权利要求1所述的方法,其特征在于,所述待选压缩方式集合中包括以下至少两种压缩方式:
网络剪枝,或者M比特量化,所述M是自然数。
3.根据权利要求1或2所述的方法,其特征在于,所述从待选压缩方式集合中选择一种压缩方式对本轮中待训练的神经网络进行压缩,得到压缩后的神经网络,包括:
分别使用所述待选压缩方式集合中的每一种压缩方式对本轮中待训练的神经网络进行压缩,得到D个压缩后的神经网络;其中,D为所述待选压缩方式集合中包括的压缩方式的数量,且D为正整数;
利用压缩后的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果,包括:
分别利用所述D个压缩后的神经网络对输入的样本图像提取图像特征;
分别利用所述D个压缩后的神经网络对其提取到的图像特征进行处理,得到所述D个压缩后的神经网络的图像检测结果;
根据所述图像检测结果对所述压缩后的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络,包括:
根据每个压缩后的神经网络的图像检测结果对该压缩后的神经网络的网络参数进行调整,得到D个训练后的神经网络;
从所述D个训练后的神经网络中选择一个神经网络作为下一轮中待训练的神经网络。
4.一种目标检测方法,其特征在于,所述方法包括:
利用神经网络对待检测图像进行目标检测,得到检测结果;所述神经网络采用权利要求1-3任一所述的方法训练得到。
5.一种智能行驶方法,其特征在于,所述方法包括:
利用神经网络对道路图像进行检测,得到检测结果;其中,所述神经网络采用权利要求1-3任一所述的方法训练得到;
根据所述检测结果控制采集所述道路图像的智能行驶设备。
6.一种驾驶员监控方法,其特征在于,所述方法包括:
利用神经网络对采集的车舱内的图像进行检测,得到检测结果;其中,所述神经网络采用权利要求1-3任一所述的方法训练得到;
根据所述检测结果对包括所述车舱的车辆的驾驶员进行告警。
7.一种神经网络的训练装置,其特征在于,所述装置用于利用样本图像对所述神经网络进行N轮训练,得到训练结束的目标神经网络;其中,N是正整数;所述装置包括:
网络压缩模块,用于对所述N轮训练中的K轮训练中的每一轮训练,从待选压缩方式集合中选择一种压缩方式对本轮中待训练的神经网络进行压缩,得到压缩后的神经网络;
图像处理模块,用于利用压缩后的神经网络对输入的样本图像提取图像特征,并对所述图像特征进行处理得到图像检测结果;
参数调整模块,用于根据所述图像检测结果对所述压缩后的神经网络的网络参数进行调整,得到下一轮中待训练的神经网络;其中,K小于或等于N,且K为正整数。
8.一种目标检测装置,其特征在于,所述装置用于利用神经网络对待检测图像进行目标检测,得到检测结果;所述神经网络采用权利要求1-3任一所述的训练方法训练得到。
9.一种电子设备,其特征在于,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现权利要求1至3任一所述的方法,或者实现权利要求4所述的方法,或者实现权利要求5所述的方法,或者实现权利要求6所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至3任一所述的方法,或者实现权利要求4所述的方法,或者实现权利要求5所述的方法,或者实现权利要求6所述的方法。
CN201911171008.3A 2019-11-26 2019-11-26 神经网络的训练方法、装置和设备 Active CN112862058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911171008.3A CN112862058B (zh) 2019-11-26 2019-11-26 神经网络的训练方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911171008.3A CN112862058B (zh) 2019-11-26 2019-11-26 神经网络的训练方法、装置和设备

Publications (2)

Publication Number Publication Date
CN112862058A true CN112862058A (zh) 2021-05-28
CN112862058B CN112862058B (zh) 2022-11-25

Family

ID=75984534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911171008.3A Active CN112862058B (zh) 2019-11-26 2019-11-26 神经网络的训练方法、装置和设备

Country Status (1)

Country Link
CN (1) CN112862058B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688850A (zh) * 2017-08-08 2018-02-13 北京深鉴科技有限公司 一种深度神经网络压缩方法
US20180053091A1 (en) * 2016-08-17 2018-02-22 Hawxeye, Inc. System and method for model compression of neural networks for use in embedded platforms
CN107784360A (zh) * 2017-10-27 2018-03-09 江苏环实科技有限公司 步进式卷积神经网络剪枝压缩方法
CN109993302A (zh) * 2019-03-06 2019-07-09 华南理工大学 基于知识迁移的卷积神经网络通道自选择压缩与加速方法
CN110097187A (zh) * 2019-04-29 2019-08-06 河海大学 一种基于激活-熵权重剪枝的cnn模型压缩方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180053091A1 (en) * 2016-08-17 2018-02-22 Hawxeye, Inc. System and method for model compression of neural networks for use in embedded platforms
CN107688850A (zh) * 2017-08-08 2018-02-13 北京深鉴科技有限公司 一种深度神经网络压缩方法
CN107784360A (zh) * 2017-10-27 2018-03-09 江苏环实科技有限公司 步进式卷积神经网络剪枝压缩方法
CN109993302A (zh) * 2019-03-06 2019-07-09 华南理工大学 基于知识迁移的卷积神经网络通道自选择压缩与加速方法
CN110097187A (zh) * 2019-04-29 2019-08-06 河海大学 一种基于激活-熵权重剪枝的cnn模型压缩方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAISUKE MIYASHITA等: "Convolutional Neural Networks using Logarithmic Data Representation", 《ARXIV:1603.01025V2》 *
YIHUI HE等: "Channel Pruning for Accelerating Very Deep Neural Networks", 《ARXIV:1707.06168V1》 *

Also Published As

Publication number Publication date
CN112862058B (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
CN108090508B (zh) 一种分类训练方法、装置及存储介质
US10275719B2 (en) Hyper-parameter selection for deep convolutional networks
EP4152154A1 (en) Adaptive artificial neural network selection techniques
CN112926461B (zh) 神经网络训练、行驶控制方法及装置
CN104463201A (zh) 一种识别驾驶状态、驾驶人的方法及装置
CN110880034A (zh) 使用卷积神经网络的计算装置及其操作方法
KR20230090344A (ko) 군중 행위 검출 방법 및 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 제품
US20230162724A9 (en) Keyword spotting apparatus, method, and computer-readable recording medium thereof
CN112733808A (zh) 模型训练与图像处理方法、装置、电子设备和存储介质
CN115210719A (zh) 用于执行机器学习模型的自适应量化
CN109978058B (zh) 确定图像分类的方法、装置、终端及存储介质
CN112861996A (zh) 深度神经网络模型压缩方法及装置、电子设备、存储介质
US11037016B2 (en) Feature determination apparatus and method adapted to multiple object sizes
EP3598343A1 (en) Method and apparatus for processing audio data
CN112862058B (zh) 神经网络的训练方法、装置和设备
US9053751B2 (en) Sound and image segment sorting device and method
US10997493B2 (en) Information processing device and information processing method
CN113160279A (zh) 一种地铁环境中行人异常行为检测方法及装置
CN110706691B (zh) 语音验证方法及装置、电子设备和计算机可读存储介质
JP5360143B2 (ja) 走行場面認識モデル生成装置、運転支援装置、及びプログラム
CN113593546B (zh) 终端设备唤醒方法和装置、存储介质及电子装置
CN112989093A (zh) 检索方法、装置和电子设备
CN115713751A (zh) 疲劳驾驶检测方法、设备、存储介质及装置
JP2021124949A (ja) 機械学習モデル圧縮システム、プルーニング方法及びプログラム
CN114416863A (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