CN110348562A - 神经网络的量化策略确定方法、图像识别方法和装置 - Google Patents
神经网络的量化策略确定方法、图像识别方法和装置 Download PDFInfo
- Publication number
- CN110348562A CN110348562A CN201910531769.9A CN201910531769A CN110348562A CN 110348562 A CN110348562 A CN 110348562A CN 201910531769 A CN201910531769 A CN 201910531769A CN 110348562 A CN110348562 A CN 110348562A
- Authority
- CN
- China
- Prior art keywords
- quantization
- network
- strategy
- target nerve
- quantization strategy
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种神经网络的量化策略确定方法、图像识别方法、装置、计算机设备和可读存储介质。该方法包括:获取预设的针对目标神经网络的多种量化策略;其中,每个量化策略用于表征目标神经网络中各网络层的运算属性的值,目标神经网络在各个量化策略下具有对应的模型参数;根据目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略。采用本方法确定的目标量化策略能够在对目标神经网络压缩的同时,避免目标神经网络的预测精度严重下降的问题。
Description
技术领域
本申请涉及神经网络技术领域,特别是涉及一种神经网络的量化策略确定方法、图像识别方法、装置、计算机设备和可读存储介质。
背景技术
随着神经网络技术的发展,出现了神经网络量化技术,主要是对神经网络中每个网络层(如卷积层和全连接层)中的模型参数值、激活值(输出值或输入值)等进行压缩,降低模型参数值的位宽、激活值的位宽等,从而实现压缩神经网络模型文件的数据量、降低神经网络模型在预测过程中的计算资源需求等目的。
传统神经网络量化技术是直接压缩已有的网络结构到固定位宽。例如,将ResNet-18网络(一种残差网络)中的模型参数值和激活值压缩至4bit(比特);示例性地,基于每个网络层中模型参数符合某个确定的正态分布的特性,将以32位的浮点数(32bit)表示的模型参数以8位的整数(8bit)进行表示。
然而,传统神经网络量化技术选择固定位宽作为量化策略,可能会导致神经网络的预测精度严重下降。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在对目标神经网络压缩的同时,避免目标神经网络的预测精度严重下降的神经网络的量化策略确定方法、图像识别方法、装置、计算机设备和可读存储介质。
第一方面,一种神经网络的量化策略确定方法,所述方法包括:
获取预设的针对目标神经网络的多种量化策略;其中,每个量化策略用于表征所述目标神经网络中各网络层的运算属性的值,所述目标神经网络在各个量化策略下具有对应的模型参数;
根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略。
在其中一个实施例中,所述运算属性包括以下内容中的至少一种:所述网络层中激活值的位宽、所述网络层中模型参数值的位宽、所述网络层的宽度、所述网络层的组数;其中,所述网络层的组数表征将输入所述网络层的不同通道的特征进行分组运算时的分组个数。
在其中一个实施例中,所述根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略,包括:
采用训练样本对初始神经网络进行训练,得到所述目标神经网络在不同量化策略下的模型参数;
根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略。
在其中一个实施例中,所述采用训练样本对初始神经网络进行训练,得到所述目标神经网络在不同量化策略下的模型参数,包括:
采用训练样本对所述初始神经网络进行迭代训练操作;所述迭代训练操作包括:对当前量化策略下的模型参数进行至少一次迭代更新;
从各量化策略中选取一种量化策略作为新的当前量化策略,返回执行所述迭代训练操作,直至所述初始神经网络训练完成;其中,不同量化策略共享同一带参数网络层中同一运算属性的值所对应的模型参数;所述带参数网络层具有模型参数;
输出所述训练完成的初始神经网络在不同量化策略下的模型参数,作为所述目标神经网络在不同量化策略下的模型参数。
在其中一个实施例中,所述从各量化策略中选取一种量化策略作为新的当前量化策略,包括:
从各量化策略中随机选取一种量化策略作为新的当前量化策略。
在其中一个实施例中,所述从各量化策略中随机选取一种量化策略作为新的当前量化策略,包括:
从所述初始神经网络中每个网络层的运算属性的多种可选值中随机选取一种可选值替换所述当前量化策略中每个网络层的运算属性的值。
在其中一个实施例中,所述根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略,包括:
根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到运算量指标符合预设的运算量条件且测试精度最高的至少一个量化策略作为目标量化策略。
在其中一个实施例中,在所述根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略之前,所述方法还包括:
根据所述目标神经网络在每种量化策略下各网络层的运算属性的值,计算所述目标神经网络在每种量化策略下的运算量指标;
从各量化策略中剔除运算量指标不符合预设的运算量条件的量化策略。
在其中一个实施例中,所述目标神经网络在每种量化策略下的运算量指标为每种量化策略下各带参数网络层的运算量之和;所述带参数网络层的运算量为所述带参数网络层中激活值的位宽、模型参数值的位宽、运算次数三者的乘积;所述带参数网络层的运算次数与所述带参数网络层的输入通道数和输出通道数均正相关。
在其中一个实施例中,所述带参数网络层的运算次数还与所述带参数网络层的组数负相关;所述组数表征将输入所述带参数网络层的不同通道的特征进行分组运算时的分组个数。
在其中一个实施例中,当所述带参数网络层为卷积层时,所述运算次数=输入特征的宽度×输入特征的高度×卷积核宽度×卷积核高度×输入通道数×输出通道数÷组数;当所述带参数网络层为全连接层时,所述运算次数=输入通道数×输出通道数÷组数。
在其中一个实施例中,所述根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一个量化策略作为目标量化策略,包括:
采用遗传算法从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略;所述遗传算法对应的适应度包括测试精度。
在其中一个实施例中,所述采用遗传算法从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略,包括:
建立所述目标神经网络的量化策略对应的初始种群;所述初始种群包括多个编码序列,每个编码序列表示一种量化策略;
执行迭代处理操作,所述迭代处理操作包括:以所述初始种群中的多个编码序列为第一父代,交叉产生第一子代;采用所述第一父代中各编码序列对应的模型参数和所述第一子代中各编码序列对应的模型参数,分别对所述测试样本进行测试,得到所述第一父代中各编码序列对应的测试精度和所述第一子代中各编码序列对应的测试精度;根据所述第一父代和所述第一子代中各编码序列对应的测试精度,从所述第一父代和所述第一子代中筛选出测试精度最高的多个编码序列作为第二父代;
将所述第二父代作为新的第一父代,返回执行所述迭代处理操作,直至迭代次数大于或者等于预设阈值为止,并将所述迭代次数大于或者等于预设阈值时的第一父代的多个编码序列中测试精度最高的至少一个编码序列对应的量化策略,作为目标量化策略。
在其中一个实施例中,所述目标神经网络中的每个带参数网络层的运算属性具有多种可选值,除带参数网络层以外的其它每个网络层的运算属性具有一种可选值;所述带参数网络层具有模型参数。
在其中一个实施例中,所述方法还包括:
采用训练样本对所述目标量化策略下的初始神经网络进行训练,得到所述目标神经网络的目标模型参数。
第二方面,一种图像识别方法,所述方法包括:
将待处理图像输入目标神经网络进行特征提取处理,输出所述待处理图像的图像特征;其中,所述目标神经网络的目标量化策略是根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择得到的;其中,每个量化策略用于表征所述目标神经网络中各网络层的运算属性的值,所述目标神经网络在各个量化策略下具有对应的模型参数;
根据所述待处理图像的图像特征,对所述待处理图像进行图像识别处理,得到所述待处理图像的图像识别结果。
第三方面,一种神经网络的量化策略确定装置,所述装置包括:
量化策略获取模块,用于获取预设的针对目标神经网络的多种量化策略;其中,每个量化策略用于表征所述目标神经网络中各网络层的运算属性的值,所述目标神经网络在各个量化策略下具有对应的模型参数;
量化策略选择模块,用于根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略。
第四方面,一种图像识别装置,所述装置包括:
特征提取处理模块,用于将待处理图像输入目标神经网络进行特征提取处理,输出所述待处理图像的图像特征;其中,所述目标神经网络的目标量化策略是根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择得到的;其中,每个量化策略用于表征所述目标神经网络中各网络层的运算属性的值,所述目标神经网络在各个量化策略下具有对应的模型参数;
图像识别处理模块,用于根据所述待处理图像的图像特征,对所述待处理图像进行图像识别处理,得到所述待处理图像的图像识别结果。
第五方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述神经网络的量化策略确定方法的步骤。
第六方面,一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述神经网络的量化策略确定方法的步骤。
上述神经网络的量化策略确定方法、图像识别方法、装置、计算机设备和可读存储介质,每个量化策略用于表征目标神经网络中各网络层的运算属性的值;当采用不同的量化策略时,目标神经网络的模型参数不同,相应地,目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度是不同的;本实施例可以基于这一点,从目标神经网络对应的多种量化策略中选择至少一种测试精度较高的量化策略作为目标量化策略,实现在对目标神经网络压缩的同时,避免目标神经网络的预测精度严重下降的问题。
附图说明
图1a为一个实施例中神经网络的量化策略确定方法的流程示意图;
图1b为一个实施例中神经网络的量化策略确定方法的示意图;
图2为一个实施例中根据测试精度搜索量化策略的流程示意图;
图3为一个实施例中对不同量化策略下的初始神经网络进行交替训练的流程示意图;
图4为一个实施例中基于遗传算法的搜索过程的流程示意图;
图5为一个实施例中图像识别方法的示意图;
图6为一个实施例中神经网络的量化策略确定装置的结构框图;
图7为一个实施例中神经网络的量化策略确定装置的结构框图;
图8为一个实施例中图像识别装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1a所示,提供了一种神经网络的量化策略确定方法,以该方法应用于计算机设备为例进行说明,计算机设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、服务器等,该方法可以包括以下步骤:
S101,获取预设的针对目标神经网络的多种量化策略;其中,每个量化策略用于表征目标神经网络中各网络层的运算属性的值,目标神经网络在各个量化策略下具有对应的模型参数。
其中,网络层的运算属性表征该网络层中与运算相关的属性;例如,该网路层中模型参数的属性,如模型参数值的位宽,表示采用多少位来存储/表示该网络中层中的各模型参数的值;例如,该网络层中激活值的属性,如激活值的位宽,表示采用多少位来存储/表示该网络层涉及的运算过程中的中间运算值以及输出值等;例如,该网络层的宽度,如该网络层的输出通道数(或者是等价的输入通道数,因为该网络层的输入通道数等于与该网络层的连接的上一网络层的输出通道数,该网络层的输出通道数等于与该网络层连接的下一网络层的输入通道数)。可以理解的是,某个网络层的模型参数值的位宽、激活值的位宽等运算属性的值越小,意味着该网络层的运算量越小;而且当网络层的模型参数值的位宽的值越小时,意味着存储该网络层的模型参数所需的存储空间较小。因此,当选择合适的量化策略时,可以降低目标神经网络的模型文件所需的存储空间,降低目标神经网络在运算时消耗的计算资源,可以将模型文件小型化甚至部署在移动终端等运算资源较少的设备中。
可选地,运算属性可以包括以下内容中的至少一种:网络层中激活值的位宽、网络层中模型参数值的位宽、网络层的宽度、网络层的组数;其中,网络层的组数表征将输入网络层的不同通道的特征进行分组运算时的分组个数。示例性地,某个卷积层的输出通道数为2,则该卷积层可以对应两个卷积核,以3×3的卷积核为例,该卷积层的输入通道数为4,即输入为四个通道的输入特征;若组数的值为默认的1,即不进行分组运算,需要对四个通道的输入特征分别采用两个卷积核进行卷积处理,则该卷积层的模型参数的数目为2×3×3×4;若组数的值为2,即进行分组运算(组卷积),即将四个通道的输入特征分成两组输入特征,每组输入特征有两个通道的输入特征,其中一组输入特征采用两个卷积核中的一个卷积核进行卷积运算,另外一组输入特征采用两个卷积核中的另一个卷积核进行卷积运算,则该卷积层的模型参数的数目为2×3×3×2,降低了该卷积层的模型参数,同时降低了运算次数。
每个网络层的运算属性与网络层的类型可以存在相关性,例如卷积层的运算属性可以包括:网络层中激活值的位宽、网络层中模型参数值的位宽、网络层的宽度、网络层的组数;池化层的运算属性可以包括:网络层中激活值的位宽,而不涉及模型参数值的位宽、网络层的宽度,也不涉及分组运算相关的组数。
每个网络层的运算属性可以具有至少一种可选值,每个网络层的运算属性的可选值的数目可以相同,也可以不同。以上述卷积层为例,该卷积层的运算属性的值可以包括:网络层中激活值的位宽的取值、网络层中模型参数值的位宽的取值、网络层的宽度的取值、网络层的组数的取值,这四种取值的组合;示例性地,该卷积层的运算属性具有4种可选值,分别为:[4、1、1、1]、[2、2、2、1]、[1、1、2、1]、[2、2、2、2],其中,[2、2、2、2]表征激活值的位宽的取值为2bit,网络层中模型参数值的位宽的取值为2bit、网络层的宽度的取值为2、网络层的组数的取值为2。需要提醒的是,例如,某个卷积层的运算属性的可选值中没有涉及组数的取值时,实际仍然存在组数的取值,只是该卷积层的运算属性中组数的取值可以均为为默认取值1,而不存在其它可选值。总之,对于每个网络层中运算属性的可选值存在多种具体实施方式,本实施例对此并不限制。
需要说明的是,目标神经网络为需要量化的神经网络,可以为各种结构,包括但不限于VGG(Visual Geometry Group Network,视觉几何组网络),Res Net(残差神经网络),Inception(将1x1、3x3等各个尺寸的卷积特征和池化特征堆叠在一起)等架构。
目标神经网络对应的多种量化策略可以是根据目标神经网络的各网络层的运算属性和设置规则实时生成的,也可以是预先设置的,可以存储在计算机设备的本地存储区中,也可以存储在服务器中;本实施例对此并不限制。其中,设置规则包括但不限于运算属性的取值范围等取值要求。不同量化策略下目标神经网络中各网络层的运算属性的值不同,目标神经网络对应的多种量化策略可以覆盖符合配置规则的各网络层的运算属性的所有可能的取值,即使只有一个网络层的运算属性的取值不同,相应的量化策略也是不同的。
为简化说明,参照图1b所示,以N层卷积神经网络为例,每个网络层均为卷积层,且如图1b中每个网络层对应的圆圈1~圆圈M所示,每个圆圈代表一种运算属性的值,即每个网络层的运算属性具有M种可选值。相应地,每个网络层中的一条支路代表该网络层中的一种运算属性的值,则如图中由每个网络层中的一条支路所组成的实线{M,3,……,2,1}代表一种量化策略,该目标神经网络具有MN种量化策略。
因为不同量化策略表征了目标神经网络在运算过程中各网络层的运算属性,因此目标神经网络在各个量化策略下具有对应的模型参数;例如采用4位数据表示模型参数,还是采用2位数据表示模型参数,针对同一训练样本所训练得到的模型参数可以不同。
S102,根据目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略。
以模型参数的位宽为例,若每个网络层采用相同的模型参数的位宽,或多或少总有网络层的模型参数的位宽是过于冗余的,即使将某个网络层的模型参数的位宽进行部分压缩,目标神经网络针对测试样本的测试精度可能并没有削弱,甚至可能因为过拟合导致压缩后测试精度提升的情况。总之,当采用不同的量化策略时,目标神经网络的模型参数不同,相应地,目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度是不同的;本实施例可以基于这一点,从目标神经网络对应的多种量化策略中选择至少一种测试精度较高的量化策略作为目标量化策略,例如可以选择符合预设的测试精度条件的至少一种量化策略。其中,符合预设的测试精度条件可以为测试误差小于或等于预设测试误差。因为测试精度可以衡量预测精度,因此本实施例的神经网络的量化策略确定方法可以避免预测精度严重下降的问题。
在一种可能的实施方式中,计算机设备可以获取预设的不同量化策略下目标神经网络的模型参数,并采用不同量化策略下的模型参数对测试样本分别进行测试,得到不同量化策略下的测试精度,并选取符合预设的测试精度条件的一种量化策略。
在本实施例的神经网络的量化策略确定方法中,每个量化策略用于表征目标神经网络中各网络层的运算属性的值;当采用不同的量化策略时,目标神经网络的模型参数不同,相应地,目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度是不同的;本实施例可以基于这一点,从目标神经网络对应的多种量化策略中选择至少一种测试精度较高的量化策略作为目标量化策略,实现在对目标神经网络压缩的同时,避免目标神经网络的预测精度严重下降的问题。
可选地,目标神经网络中的每个带参数网络层的运算属性可以具有多种可选值,除带参数网络层以外的其它每个网络层的运算属性可以具有一种可选值。其中,带参数网络层可以为卷积层、全连接层等具有模型参数的网络层。因为无论是神经网络的模型参数、测试精度还是运算量指标等,与带参数网络层的运算属性相关性较大,而与除带参数网络层以外的其它每个网络层的运算属性的相关性较小;这样可以降低整个量化策略确定过程中的运算量。
可以理解的是,在确定了目标神经网络的目标量化策略之后,可以直接将目标神经网络在目标量化策略下的模型参数作为目标模型参数。但是,一般地,在确定目标量化策略之前所得到的目标量化策略下的模型参数是基于粗训练过程得到的,涉及的训练样本的数量较少,和/或训练完成的条件较为宽松(如迭代次数较小、损失函数的截止阈值较大等)。因此,可以在确定目标量化策略之后,再采用训练样本对目标量化策略下的初始神经网络进行训练,得到目标神经网络的目标模型参数;具体地,可以采用更多的训练样本,和/或更严苛的训练完成条件。此外,可以将粗训练过程得到的目标量化策略下的模型参数作为目标模型参数的初始值,可以提高训练效率。
需要说明的是,计算机设备还可以采用在目标神经网络之外,构建一个与目标神经网络结构相同的参考神经网络,该参考神经网络中各网络层的运算属性具有多个可选值,可以针对参考神经网络的不同量化策略的下的模型参数对测试样本进行测试的测试精度,从参考神经网络对应的多种量化策略中选择至少一种量化策略作为目标神经网络的目标量化策略;此技术方案仍在本申请的保护范围之内。
参照图2所示,在一个实施例中,涉及如何根据测试精度搜索量化策略的具体过程,可以包括:
S201,采用训练样本对初始神经网络进行训练,得到目标神经网络在不同量化策略下的模型参数。
在一种可能的实施方式中,计算机设备可以采用训练样本分别对不同量化策略下的初始神经网络进行训练,得到目标神经网络在不同量化策略下的模型参数。
参照图3所示,在一种可能的实施方式中,计算机设备可以采用对不同量化策略下的初始神经网络进行交替训练的方式,降低运算量,提高训练效率;具体可以包括:
S301,采用训练样本对初始神经网络进行迭代训练操作;迭代训练操作包括:对当前量化策略下的模型参数进行至少一次迭代更新。
示例性地,一次迭代更新可以包括以下过程:基于当前量化策略下的模型参数,将各训练样本输入初始神经网络中,通过前向传播计算得到各训练样本的处理结果;计算各训练样本的输出结果和各训练样本中的标注之间的损失,作为初始神经网络的损失函数的值,并基于损失函数的值通过反向传播计算得到损失函数的梯度,以及根据损失函数的梯度基于最速下降法等方式对当前量化策略下的模型参数进行更新。当然,当训练样本很多时,可以分批进行训练。
其中,迭代训练操作包括:对当前量化策略下的模型参数进行一次迭代更新,也可以对当前量化策略下的模型参数进行多次迭代更新;每次迭代训练操作中对当前量化策略下的模型参数进行迭代更新的次数可以相同,也可以不同。
S302,从各量化策略中选取一种量化策略作为新的当前量化策略,返回执行迭代训练操作,直至初始神经网络训练完成;其中,不同量化策略共享同一带参数网络层中同一运算属性的值所对应的模型参数。
目标神经网络在某个量化策略下的模型参数可以包括:该量化策略下每个带参数网络层的网络层参数(网络层中的模型参数)。当多个量化策略共享同一带参数网络层中同一运算属性的值时,相应地,多个量化策略共享上述同一运算属性的值所对应的网络层参数。
示例性地,参照图1b所示,{M,3,……,2,1}代表量化策略A,{2,3,……,3,1}代表量化策略B,量化策略A和量化策略B共享了网络层2中运算属性的第三可选值,以及网络层N中运算属性的第一可选值,因此量化策略A和量化策略B共享了网络层2中运算属性的第三可选值所对应的网络层2的网络层参数,并同时共享了网络层N中运算属性的第一可选值所对应的网络层N的网络层参数。可以理解的是,对于图1b所示的N层卷积神经网络而言,不同量化策略下的模型参数包括:N个网络层中的M种网络层参数,以一个网络层参数为一个参数块为例,则对初始神经网络的训练涉及对M×N个参数块的迭代更新,每一次迭代训练操作,相当于对M×N个参数块中当前量化策略对应的N个参数块进行迭代更新,其它参数块保持不变;任意两次迭代训练操作涉及的N个参数块之间可能存在交叠的参数块,也可能不存在交叠的参数块。
其中,计算机设备可以按照预设顺序从各量化策略中选取当前量化策略的下一种量化策略作为新的当前量化策略,也可以从各量化策略中随机选取一种量化策略作为新的当前量化策略。可以理解的是,按照预设顺序的选取策略,一般需要遍历所有量化策略,而量化策略可能存在MN种,因此训练过程涉及的运算量过多,训练效率低;而当采用随机选取策略时,相比于按照预设顺序的选取策略而言,可以避免由于选取策略的不同所引入的误差,同时可以采用尽可能少的迭代处理操作实现对尽可能多的参数块的更新,提高训练效率。
具体地,在从各量化策略中随机选取一种量化策略作为新的当前量化策略时,可以通过随机选取一种量化策略的标识,并获取所述量化策略的标识所对应的量化策略;也可以从初始神经网络中每个网络层的运算属性的多种可选值中随机选取一种可选值替换当前量化策略中每个网络层的运算属性的值,可以更容易实现随机选取量化策略的过程,过程简单,运算量少。
此外,上述训练过程为粗训练过程,其训练完成的条件可以包括以下内容中的至少一种:迭代更新次数大于或等于预设次数、多次迭代训练操作所对应的多个损失函数的平均值小于或等于预设阈值等。
S303,输出训练完成的初始神经网络在不同量化策略下的模型参数,作为目标神经网络在不同量化策略下的模型参数。
以图1a为例,训练完成的初始神经网络在不同量化策略下的模型参数可以为可以为MN种量化策略下的模型参数,每种量化参数下的模型参数包括N个参数块;也可以更简洁的表示为M×N个参数块,任一量化参数下的模型参数包括这M×N个参数块中与该量化策略对应的N个参数块。
S202,根据目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略。
例如,基于任一量化策略下的模型参数,将每个测试样本输入目标神经网络中,通过前向传播计算得到每个测试样本的处理结果;判断每个测试样本的输出结果和标注是否一致,得到预测准确或预测错误的判断结果,并统计所有测试样本的判断结果,以及将预测准确的判断结果在所有判断结果中的占比作为测试精度。
在一种可能的实施方式中,计算机设备可以采用不同量化策略下的目标神经网络分别对测试样本进行测试,得到不同量化策略下的测试精度,并选取测试精度最高的至少一种量化策略作为目标量化策略。
在一种可能的实施方式中,目标量化策略的选取标准不单在测试精度,还可以对目标量化策略的运算量指标(Bitops)进行限定,要求运算量指标符合预设的运算量条件;一般地预设的运算量条件与部署目标神经网络的设备的处理能力相关,以使得目标神经网络与部署目标神经网络的设备相适配。
可选地,计算机设备可以在选取目标量化策略时搜索符合预设的运算量条件且测试精度最高的至少一个量化策略,即可以根据目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到运算量指标符合预设的运算量条件且测试精度最高的至少一个量化策略作为目标量化策略。
可选地,计算机设备也可以在选取目标量化策略之前,甚至在训练得到不同量化策略的模型参数之前,对获取的目标量化策略进行筛选,提前剔除运算量指标不符合预设的运算量条件的量化策略,即根据目标神经网络在每种量化策略下各网络层的运算属性的值,计算目标神经网络在每种量化策略下的运算量指标;从各量化策略中剔除运算量指标不符合预设的运算量条件的量化策略;如此,可以进一步降低整个量化策略确定过程的运算量。
具体地,针对运算量指标的计算,目标神经网络在每种量化策略下的运算量指标可以为每种量化策略下各带参数网络层的运算量之和,因为其它网络层的运算量相比于带参数网络层的运算量而言较小,因此可以忽略;带参数网络层的运算量可以为带参数网络层中激活值的位宽、模型参数值的位宽、运算次数三者的乘积;带参数网络层的运算次数与带参数网络层的输入通道数和输出通道数均正相关。
例如,当带参数网络层为卷积层时,运算次数=输入特征的宽度×输入特征的高度×卷积核宽度×卷积核高度×输入通道数×输出通道数;当带参数网络层为全连接层时,运算次数=输入通道数×输出通道数。
当带参数网络层的运算属性包括组数时,基于之前的论述,带参数网络层的运算次数还与带参数网络层的组数负相关。例如,当带参数网络层为卷积层时,运算次数=输入特征的宽度×输入特征的高度×卷积核宽度×卷积核高度×输入通道数×输出通道数÷组数;当带参数网络层为全连接层时,运算次数=输入通道数×输出通道数÷组数。
在一种可能的实施方式中,计算机设备可以采用遗传算法从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略;遗传算法对应的适应度包括测试精度。基于遗传算法的搜索方式可以无需计算每种量化策略下的测试精度,可以仅对部分优秀的子代对应的量化策略计算其测试精度,因此降低了搜索工作量,提高了搜索效率。
具体地,参照图4所示,基于遗传算法的搜索过程可以包括:
S401,建立目标神经网络的量化策略对应的初始种群;初始种群包括多个编码序列,每个编码序列表示一种量化策略;
S402,执行迭代处理操作,迭代处理操作包括:以初始种群中的多个编码序列为第一父代,交叉产生第一子代;采用第一父代中各编码序列对应的模型参数和第一子代中各编码序列对应的模型参数,分别对测试样本进行测试,得到第一父代中各编码序列对应的测试精度和第一子代中各编码序列对应的测试精度;根据第一父代和第一子代中各编码序列对应的测试精度,从第一父代和第一子代中筛选出测试精度最高的多个编码序列作为第二父代;
S403,将第二父代作为新的第一父代,返回执行迭代处理操作,直至迭代次数大于或者等于预设阈值为止,并将迭代次数大于或者等于预设阈值时的第一父代的多个编码序列中测试精度最高的至少一个编码序列对应的量化策略,作为目标量化策略。
其中,计算机设备可以采用各种编码方式作为量化策略的编码方式。一种可选的方式为根据不同量化策略下每个网络层中运算属性的值的索引来进行编码,例如上述的{M,3,……,2,1}代表量化策略A,{2,3,……,3,1}代表量化策略B,都是这种编码方式的体现。可以理解的是,初始种群中编码序列的数目相比于量化策略的种类而言很少,例如可以为5~20内的任意整数值;初始种群可以通过随机生成编码序列或者随机选取量化策略再编码处理的方式得到。具体地,遗传算法中的交叉方式可以为横向交叉,也可以为横向交叉和纵向交叉方式交替进行的方式,总之,本实施例对此并不限制。
需要说明的是,当需要对目标量化策略的运算量指标进行限定时,遗传算法对应的适应度还可以与运算量指标相关;例如适应度为运算量指标和测试精度的组合,且运算量指标越低、测试精度越高时适应度越高,如此可以通过遗传算法筛选出运算量指标符合预设的运算量条件且测试精度最高的目标量化策略。
可以理解的是,对于上述任一实施例而言,计算机设备可以基于目标量化策略确定目标神经网络中各网络层的运算属性的目标值,并采用训练样本对目标神经网络进行训练,训练好的目标神经网络可以应用于特征提取处理、分类处理、目标对象检测、图像分割、图像配准、图像映射等多种神经网络应用场景,所处理的对象也并不限于图像数据、文本数据、视频数据、音频数据等;针对不同的应用场景,目标神经网络的结构有所不同,采用的训练样本有所不同,但是其目标量化策略的确定均可以基于本申请的量化策略确定方法进行确定,相应地,在采用训练样本对目标量化策略下的初始神经网络进行训练,得到目标神经网络的目标模型参数之后,本申请的神经网络的量化策略确定方法还可以包括:将待处理数据输入目标神经网络进行前向运算,输出前向运算结果。示例性地,若目标神经网络采用标注有分类标签的训练样本训练,则前向运算结果为待处理数据的分类结果;待处理数据为待处理图像时,若目标神经网络采用标注有目标对象的训练样本图像训练,则前向运算结果为待处理图像的目标对象检测结果。可以理解的是,相比于采用其它量化方法量化得到的神经网络进行前向运算而言,基于本实施例的目标量化策略量化得到的神经网络,前向运算结果更准确,即预测精度更准确。
参照图5所示,从另一个角度,以图像识别处理为例,本申请还提供了一种图像识别方法,具体可以包括:
S501,将待处理图像输入目标神经网络进行特征提取处理,输出待处理图像的图像特征。
其中,目标神经网络的目标量化策略是根据目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从目标神经网络对应的多种量化策略中选择得到的;其中,每个量化策略用于表征目标神经网络中各网络层的运算属性的值,目标神经网络在各个量化策略下具有对应的模型参数。
以执行主体为计算机设备为例,上述待处理图像可以是计算机设备接收到的其它设备发送的待处理图像,如拍摄装置、其它计算机设备等,也可以是计算机设备本地存储的待处理图像,或者是其它来源的待处理图像;总之,计算机设备需要对从该待处理图像中提取出图像特征,然后基于该图像特征对该待处理图像进行图像识别处理,应用场景可以但不限于是身份认证、刷脸支付、图像相似度比对等图像识别任务的场景。
关于目标神经网络的目标量化策略的确定过程参照之前的描述,这里不再赘述。
S502,根据待处理图像的图像特征,对待处理图像进行图像识别处理,得到待处理图像的图像识别结果。
其中,图像识别处理可以包括但不限于:图像验证处理(验证多张目标图像是否为同一对象的图像)、图像搜索处理(在多张目标图像中查找与查询图像最相近的图像)和图像聚类(将多张目标图像进行分类);其中,待处理图像可以是目标图像,也可以是查询图像,对象可以包括但不限于:人、花卉、场景、物品等。
以图像验证处理为例,计算机设备可以预先将底库图像输出目标神经网络进行特征提取处理,输出底库图像的图像特征;然后将待处理图像的图像特征和底库图像的图像特征进行比对,根据比对结果确定待处理图像和底库图像是否对应同一个对象。示例性地,计算机设备可以分别计算待处理图像的图像特征与底库图像的图像特征之间的相似度,例如待处理图像的图像特征与底库图像的图像特征之间的L1范数、L2范数等;例如,判断相似度是否大于预设相似度阈值,若是,则确定待处理图像与底库图像是同一对象;若否,则确定待处理图像与底库图像不是同一对象。
相比于采用其它量化方法量化得到的神经网络进行图像识别处理而言,基于本实施例的目标量化策略量化得到的神经网络,图像识别结果更准确。
应该理解的是,虽然图1a,2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1a,2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种神经网络的量化策略确定装置,包括:量化策略获取模块61和量化策略选择模块62,其中:
量化策略获取模块61,用于获取预设的针对目标神经网络的多种量化策略;其中,每个量化策略用于表征目标神经网络中各网络层的运算属性的值,目标神经网络在各个量化策略下具有对应的模型参数;
量化策略选择模块62,用于根据目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略。
可选地,参照图7所示,在图6的基础上,该装置还可以包括:
目标模型参数获取模块63,用于采用训练样本对目标量化策略下的初始神经网络进行训练,得到目标神经网络的目标模型参数。
可选地,运算属性包括以下内容中的至少一种:网络层中激活值的位宽、网络层中模型参数值的位宽、网络层的宽度、网络层的组数;其中,网络层的组数表征将输入网络层的不同通道的特征进行分组运算时的分组个数。
可选地,参照图7所示,量化策略选择模块62可以包括:
训练单元621,用于采用训练样本对初始神经网络进行训练,得到目标神经网络在不同量化策略下的模型参数;
搜索单元622,用于根据目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略。
可选地,训练单元621具体用于采用训练样本对初始神经网络进行迭代训练操作;迭代训练操作包括:对当前量化策略下的模型参数进行至少一次迭代更新;从各量化策略中选取一种量化策略作为新的当前量化策略,返回执行迭代训练操作,直至初始神经网络训练完成;其中,不同量化策略共享同一带参数网络层中同一运算属性的值所对应的模型参数;带参数网络层具有模型参数;输出训练完成的初始神经网络在不同量化策略下的模型参数,作为目标神经网络在不同量化策略下的模型参数。
可选地,训练单元621还用于从各量化策略中随机选取一种量化策略作为新的当前量化策略。
可选地,训练单元621还用于从初始神经网络中每个网络层的运算属性的多种可选值中随机选取一种可选值替换当前量化策略中每个网络层的运算属性的值。
可选地,搜索单元622具体用于根据目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到运算量指标符合预设的运算量条件且测试精度最高的至少一个量化策略作为目标量化策略。
可选地,该装置还可以包括:
运算量指标计算模块,用于根据目标神经网络在每种量化策略下各网络层的运算属性的值,计算目标神经网络在每种量化策略下的运算量指标;
量化策略筛选模块,用于从各量化策略中剔除运算量指标不符合预设的运算量条件的量化策略。
可选地,目标神经网络在每种量化策略下的运算量指标为每种量化策略下各带参数网络层的运算量之和;带参数网络层的运算量为带参数网络层中激活值的位宽、模型参数值的位宽、运算次数三者的乘积;带参数网络层的运算次数与带参数网络层的输入通道数和输出通道数均正相关。
可选地,带参数网络层的运算次数还与带参数网络层的组数负相关;组数表征将输入带参数网络层的不同通道的特征进行分组运算时的分组个数。
可选地,当带参数网络层为卷积层时,运算次数=输入特征的宽度×输入特征的高度×卷积核宽度×卷积核高度×输入通道数×输出通道数÷组数;当带参数网络层为全连接层时,运算次数=输入通道数×输出通道数÷组数。
可选地,搜索单元622具体用于采用遗传算法从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略;遗传算法对应的适应度包括测试精度。
可选地,搜索单元622还用于建立目标神经网络的量化策略对应的初始种群;初始种群包括多个编码序列,每个编码序列表示一种量化策略;执行迭代处理操作,迭代处理操作包括:以初始种群中的多个编码序列为第一父代,交叉产生第一子代;采用第一父代中各编码序列对应的模型参数和第一子代中各编码序列对应的模型参数,分别对测试样本进行测试,得到第一父代中各编码序列对应的测试精度和第一子代中各编码序列对应的测试精度;根据第一父代和第一子代中各编码序列对应的测试精度,从第一父代和第一子代中筛选出测试精度最高的多个编码序列作为第二父代;将第二父代作为新的第一父代,返回执行迭代处理操作,直至迭代次数大于或者等于预设阈值为止,并将迭代次数大于或者等于预设阈值时的第一父代的多个编码序列中测试精度最高的至少一个编码序列对应的量化策略,作为目标量化策略。
可选地,目标神经网络中的每个带参数网络层的运算属性具有多种可选值,除带参数网络层以外的其它每个网络层的运算属性具有一种可选值;带参数网络层具有模型参数。
在一个实施例中,如图8所示,提供了一种图像识别装置,包括:特征提取处理模块81和图像识别处理模块82,其中:
特征提取处理模块81,用于将待处理图像输入目标神经网络进行特征提取处理,输出待处理图像的图像特征;其中,目标神经网络的目标量化策略是根据目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从目标神经网络对应的多种量化策略中选择得到的;其中,每个量化策略用于表征目标神经网络中各网络层的运算属性的值,目标神经网络在各个量化策略下具有对应的模型参数;
图像识别处理模块82,用于根据待处理图像的图像特征,对待处理图像进行图像识别处理,得到待处理图像的图像识别结果。
关于神经网络的量化策略确定装置的具体限定可以参见上文中对于神经网络的量化策略确定方法的限定,关于图像识别装置的具体限定可以参见上文中对于图像识别方法的限定,在此不再赘述。上述神经网络的量化策略确定装置、图像识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种神经网络的量化策略确定方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取预设的针对目标神经网络的多种量化策略;其中,每个量化策略用于表征目标神经网络中各网络层的运算属性的值,目标神经网络在各个量化策略下具有对应的模型参数;
根据目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取预设的针对目标神经网络的多种量化策略;其中,每个量化策略用于表征目标神经网络中各网络层的运算属性的值,目标神经网络在各个量化策略下具有对应的模型参数;
根据目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种神经网络的量化策略确定方法,其特征在于,所述方法包括:
获取预设的针对目标神经网络的多种量化策略;其中,每个量化策略用于表征所述目标神经网络中各网络层的运算属性的值,所述目标神经网络在各个量化策略下具有对应的模型参数;
根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略。
2.根据权利要求1所述的方法,其特征在于,所述运算属性包括以下内容中的至少一种:所述网络层中激活值的位宽、所述网络层中模型参数值的位宽、所述网络层的宽度、所述网络层的组数;其中,所述网络层的组数表征将输入所述网络层的不同通道的特征进行分组运算时的分组个数。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略,包括:
采用训练样本对初始神经网络进行训练,得到所述目标神经网络在不同量化策略下的模型参数;
根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略。
4.根据权利要求3所述的方法,其特征在于,所述采用训练样本对初始神经网络进行训练,得到所述目标神经网络在不同量化策略下的模型参数,包括:
采用训练样本对所述初始神经网络进行迭代训练操作;所述迭代训练操作包括:对当前量化策略下的模型参数进行至少一次迭代更新;
从各量化策略中选取一种量化策略作为新的当前量化策略,返回执行所述迭代训练操作,直至所述初始神经网络训练完成;其中,不同量化策略共享同一带参数网络层中同一运算属性的值所对应的模型参数;所述带参数网络层具有模型参数;
输出所述训练完成的初始神经网络在不同量化策略下的模型参数,作为所述目标神经网络在不同量化策略下的模型参数。
5.根据权利要求4所述的方法,其特征在于,所述从各量化策略中选取一种量化策略作为新的当前量化策略,包括:
从各量化策略中随机选取一种量化策略作为新的当前量化策略。
6.根据权利要求5所述的方法,其特征在于,所述从各量化策略中随机选取一种量化策略作为新的当前量化策略,包括:
从所述初始神经网络中每个网络层的运算属性的多种可选值中随机选取一种可选值替换所述当前量化策略中每个网络层的运算属性的值。
7.根据权利要求3所述的方法,其特征在于,所述根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略,包括:
根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到运算量指标符合预设的运算量条件且测试精度最高的至少一个量化策略作为目标量化策略。
8.根据权利要求3所述的方法,其特征在于,在所述根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略之前,所述方法还包括:
根据所述目标神经网络在每种量化策略下各网络层的运算属性的值,计算所述目标神经网络在每种量化策略下的运算量指标;
从各量化策略中剔除运算量指标不符合预设的运算量条件的量化策略。
9.根据权利要求7或8所述的方法,其特征在于,所述目标神经网络在每种量化策略下的运算量指标为每种量化策略下各带参数网络层的运算量之和;所述带参数网络层的运算量为所述带参数网络层中激活值的位宽、模型参数值的位宽、运算次数三者的乘积;所述带参数网络层的运算次数与所述带参数网络层的输入通道数和输出通道数均正相关。
10.根据权利要求9所述的方法,其特征在于,所述带参数网络层的运算次数还与所述带参数网络层的组数负相关;所述组数表征将输入所述带参数网络层的不同通道的特征进行分组运算时的分组个数。
11.根据权利要求10所述的方法,其特征在于,当所述带参数网络层为卷积层时,所述运算次数=输入特征的宽度×输入特征的高度×卷积核宽度×卷积核高度×输入通道数×输出通道数÷组数;当所述带参数网络层为全连接层时,所述运算次数=输入通道数×输出通道数÷组数。
12.根据权利要求3-8中任一项所述的方法,其特征在于,所述根据所述目标神经网络在不同量化策略下的模型参数,从各量化策略中搜索得到测试精度最高的至少一个量化策略作为目标量化策略,包括:
采用遗传算法从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略;所述遗传算法对应的适应度包括测试精度。
13.根据权利要求12所述的方法,其特征在于,所述采用遗传算法从各量化策略中搜索得到测试精度最高的至少一种量化策略作为目标量化策略,包括:
建立所述目标神经网络的量化策略对应的初始种群;所述初始种群包括多个编码序列,每个编码序列表示一种量化策略;
执行迭代处理操作,所述迭代处理操作包括:以所述初始种群中的多个编码序列为第一父代,交叉产生第一子代;采用所述第一父代中各编码序列对应的模型参数和所述第一子代中各编码序列对应的模型参数,分别对所述测试样本进行测试,得到所述第一父代中各编码序列对应的测试精度和所述第一子代中各编码序列对应的测试精度;根据所述第一父代和所述第一子代中各编码序列对应的测试精度,从所述第一父代和所述第一子代中筛选出测试精度最高的多个编码序列作为第二父代;
将所述第二父代作为新的第一父代,返回执行所述迭代处理操作,直至迭代次数大于或者等于预设阈值为止,并将所述迭代次数大于或者等于预设阈值时的第一父代的多个编码序列中测试精度最高的至少一个编码序列对应的量化策略,作为目标量化策略。
14.根据权利要求1所述的方法,其特征在于,所述目标神经网络中的每个带参数网络层的运算属性具有多种可选值,除带参数网络层以外的其它每个网络层的运算属性具有一种可选值;所述带参数网络层具有模型参数。
15.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用训练样本对所述目标量化策略下的初始神经网络进行训练,得到所述目标神经网络的目标模型参数。
16.一种图像识别方法,其特征在于,所述方法包括:
将待处理图像输入目标神经网络进行特征提取处理,输出所述待处理图像的图像特征;其中,所述目标神经网络的目标量化策略是根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择得到的;其中,每个量化策略用于表征所述目标神经网络中各网络层的运算属性的值,所述目标神经网络在各个量化策略下具有对应的模型参数;
根据所述待处理图像的图像特征,对所述待处理图像进行图像识别处理,得到所述待处理图像的图像识别结果。
17.一种神经网络的量化策略确定装置,其特征在于,所述装置包括:
量化策略获取模块,用于获取预设的针对目标神经网络的多种量化策略;其中,每个量化策略用于表征所述目标神经网络中各网络层的运算属性的值,所述目标神经网络在各个量化策略下具有对应的模型参数;
量化策略选择模块,用于根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择至少一种量化策略作为目标量化策略。
18.一种图像识别装置,其特征在于,所述装置包括:
特征提取处理模块,用于将待处理图像输入目标神经网络进行特征提取处理,输出所述待处理图像的图像特征;其中,所述目标神经网络的目标量化策略是根据所述目标神经网络采用不同量化策略下的模型参数对测试样本进行测试的测试精度,从所述目标神经网络对应的多种量化策略中选择得到的;其中,每个量化策略用于表征所述目标神经网络中各网络层的运算属性的值,所述目标神经网络在各个量化策略下具有对应的模型参数;
图像识别处理模块,用于根据所述待处理图像的图像特征,对所述待处理图像进行图像识别处理,得到所述待处理图像的图像识别结果。
19.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16中任一项所述方法的步骤。
20.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910531769.9A CN110348562B (zh) | 2019-06-19 | 2019-06-19 | 神经网络的量化策略确定方法、图像识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910531769.9A CN110348562B (zh) | 2019-06-19 | 2019-06-19 | 神经网络的量化策略确定方法、图像识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110348562A true CN110348562A (zh) | 2019-10-18 |
CN110348562B CN110348562B (zh) | 2021-10-15 |
Family
ID=68182396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910531769.9A Active CN110348562B (zh) | 2019-06-19 | 2019-06-19 | 神经网络的量化策略确定方法、图像识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110348562B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852439A (zh) * | 2019-11-20 | 2020-02-28 | 字节跳动有限公司 | 神经网络模型的压缩与加速方法、数据处理方法及装置 |
CN110852421A (zh) * | 2019-11-11 | 2020-02-28 | 北京百度网讯科技有限公司 | 模型生成方法和装置 |
CN111034596A (zh) * | 2019-12-02 | 2020-04-21 | 浙江大学城市学院 | 一种基于强化学习的水培花卉生根诱导培育方法 |
CN111414993A (zh) * | 2020-03-03 | 2020-07-14 | 三星(中国)半导体有限公司 | 卷积神经网络的裁剪、卷积计算方法及装置 |
CN111582476A (zh) * | 2020-05-09 | 2020-08-25 | 北京百度网讯科技有限公司 | 自动量化策略搜索方法、装置、设备以及存储介质 |
CN111680716A (zh) * | 2020-05-09 | 2020-09-18 | 浙江大华技术股份有限公司 | 一种识别对比方法、装置、计算机设备和存储介质 |
CN111967491A (zh) * | 2020-06-29 | 2020-11-20 | 北京百度网讯科技有限公司 | 模型的离线量化方法、装置、电子设备以及存储介质 |
CN112906883A (zh) * | 2021-02-04 | 2021-06-04 | 云从科技集团股份有限公司 | 用于深度神经网络的混合精度量化策略确定方法和系统 |
CN112926570A (zh) * | 2021-03-26 | 2021-06-08 | 上海交通大学 | 一种自适应比特网络量化方法、系统及图像处理方法 |
CN113139650A (zh) * | 2020-01-20 | 2021-07-20 | 阿里巴巴集团控股有限公司 | 深度学习模型的调优方法和计算装置 |
WO2021169914A1 (zh) * | 2020-02-24 | 2021-09-02 | 中科寒武纪科技股份有限公司 | 数据量化处理方法、装置、电子设备和存储介质 |
CN113762403A (zh) * | 2021-09-14 | 2021-12-07 | 杭州海康威视数字技术股份有限公司 | 图像处理模型量化方法、装置、电子设备及存储介质 |
WO2021249440A1 (zh) * | 2020-06-09 | 2021-12-16 | 北京灵汐科技有限公司 | 网络精度的量化方法、系统、装置、电子设备及可读介质 |
CN113811897A (zh) * | 2019-12-30 | 2021-12-17 | 深圳元戎启行科技有限公司 | 神经网络模型的推理方法、装置、计算机设备和存储介质 |
CN113807504A (zh) * | 2021-09-30 | 2021-12-17 | 上海阵量智能科技有限公司 | 一种神经网络的生成方法、装置、计算机设备及存储介质 |
CN114239792A (zh) * | 2021-11-01 | 2022-03-25 | 荣耀终端有限公司 | 模型量化方法、装置及存储介质 |
WO2022062828A1 (zh) * | 2020-09-23 | 2022-03-31 | 深圳云天励飞技术股份有限公司 | 图像模型训练、图像处理方法、芯片、设备及介质 |
WO2022141924A1 (zh) * | 2020-12-31 | 2022-07-07 | 上海商汤智能科技有限公司 | 神经网络运行方法、装置、电子设备及存储介质 |
CN114781650A (zh) * | 2022-04-28 | 2022-07-22 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN115374898A (zh) * | 2022-08-02 | 2022-11-22 | 清华大学 | 神经网络测试方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030033127A1 (en) * | 2001-03-13 | 2003-02-13 | Lett Gregory Scott | Automated hypothesis testing |
CN106485316A (zh) * | 2016-10-31 | 2017-03-08 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
CN107688855A (zh) * | 2016-08-12 | 2018-02-13 | 北京深鉴科技有限公司 | 针对于复杂神经网络的分层量化方法与装置 |
US20180046896A1 (en) * | 2016-08-12 | 2018-02-15 | DeePhi Technology Co., Ltd. | Method and device for quantizing complex artificial neural network |
CN108268950A (zh) * | 2018-01-16 | 2018-07-10 | 上海交通大学 | 基于矢量量化的迭代式神经网络量化方法及系统 |
CN108734268A (zh) * | 2017-04-21 | 2018-11-02 | 展讯通信(上海)有限公司 | 深度神经网络模型的压缩方法及装置、终端、存储介质 |
CN109558819A (zh) * | 2018-11-20 | 2019-04-02 | 北京市遥感信息研究所 | 一种用于遥感图像目标检测的深度网络轻量化方法 |
-
2019
- 2019-06-19 CN CN201910531769.9A patent/CN110348562B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030033127A1 (en) * | 2001-03-13 | 2003-02-13 | Lett Gregory Scott | Automated hypothesis testing |
CN107688855A (zh) * | 2016-08-12 | 2018-02-13 | 北京深鉴科技有限公司 | 针对于复杂神经网络的分层量化方法与装置 |
US20180046896A1 (en) * | 2016-08-12 | 2018-02-15 | DeePhi Technology Co., Ltd. | Method and device for quantizing complex artificial neural network |
CN106485316A (zh) * | 2016-10-31 | 2017-03-08 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
CN108734268A (zh) * | 2017-04-21 | 2018-11-02 | 展讯通信(上海)有限公司 | 深度神经网络模型的压缩方法及装置、终端、存储介质 |
CN108268950A (zh) * | 2018-01-16 | 2018-07-10 | 上海交通大学 | 基于矢量量化的迭代式神经网络量化方法及系统 |
CN109558819A (zh) * | 2018-11-20 | 2019-04-02 | 北京市遥感信息研究所 | 一种用于遥感图像目标检测的深度网络轻量化方法 |
Non-Patent Citations (3)
Title |
---|
YING WAN ET AL: "Quantized Synchronization of Chaotic Neural Networks With Scheduled Output Feedback Control", 《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》 * |
张建明等: "基于压缩卷积神经网络的交通标志分类算法", 《华中科技大学学报(自然科学版)》 * |
黄迪等: "智能决策系统的深度神经网络加速与压缩方法综述", 《指挥信息系统与技术》 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852421A (zh) * | 2019-11-11 | 2020-02-28 | 北京百度网讯科技有限公司 | 模型生成方法和装置 |
CN110852421B (zh) * | 2019-11-11 | 2023-01-17 | 北京百度网讯科技有限公司 | 模型生成方法和装置 |
CN110852439A (zh) * | 2019-11-20 | 2020-02-28 | 字节跳动有限公司 | 神经网络模型的压缩与加速方法、数据处理方法及装置 |
CN111034596A (zh) * | 2019-12-02 | 2020-04-21 | 浙江大学城市学院 | 一种基于强化学习的水培花卉生根诱导培育方法 |
CN113811897B (zh) * | 2019-12-30 | 2022-05-31 | 深圳元戎启行科技有限公司 | 神经网络模型的推理方法、装置、计算机设备和存储介质 |
CN113811897A (zh) * | 2019-12-30 | 2021-12-17 | 深圳元戎启行科技有限公司 | 神经网络模型的推理方法、装置、计算机设备和存储介质 |
CN113139650A (zh) * | 2020-01-20 | 2021-07-20 | 阿里巴巴集团控股有限公司 | 深度学习模型的调优方法和计算装置 |
WO2021169914A1 (zh) * | 2020-02-24 | 2021-09-02 | 中科寒武纪科技股份有限公司 | 数据量化处理方法、装置、电子设备和存储介质 |
CN111414993A (zh) * | 2020-03-03 | 2020-07-14 | 三星(中国)半导体有限公司 | 卷积神经网络的裁剪、卷积计算方法及装置 |
CN111414993B (zh) * | 2020-03-03 | 2024-03-01 | 三星(中国)半导体有限公司 | 卷积神经网络的裁剪、卷积计算方法及装置 |
CN111582476A (zh) * | 2020-05-09 | 2020-08-25 | 北京百度网讯科技有限公司 | 自动量化策略搜索方法、装置、设备以及存储介质 |
CN111680716B (zh) * | 2020-05-09 | 2023-05-12 | 浙江大华技术股份有限公司 | 一种识别对比方法、装置、计算机设备和存储介质 |
CN111680716A (zh) * | 2020-05-09 | 2020-09-18 | 浙江大华技术股份有限公司 | 一种识别对比方法、装置、计算机设备和存储介质 |
US11783168B2 (en) | 2020-06-09 | 2023-10-10 | Lynxi Technologies Co., Ltd. | Network accuracy quantification method and system, device, electronic device and readable medium |
WO2021249440A1 (zh) * | 2020-06-09 | 2021-12-16 | 北京灵汐科技有限公司 | 网络精度的量化方法、系统、装置、电子设备及可读介质 |
CN111967491A (zh) * | 2020-06-29 | 2020-11-20 | 北京百度网讯科技有限公司 | 模型的离线量化方法、装置、电子设备以及存储介质 |
WO2022062828A1 (zh) * | 2020-09-23 | 2022-03-31 | 深圳云天励飞技术股份有限公司 | 图像模型训练、图像处理方法、芯片、设备及介质 |
WO2022141924A1 (zh) * | 2020-12-31 | 2022-07-07 | 上海商汤智能科技有限公司 | 神经网络运行方法、装置、电子设备及存储介质 |
CN112906883A (zh) * | 2021-02-04 | 2021-06-04 | 云从科技集团股份有限公司 | 用于深度神经网络的混合精度量化策略确定方法和系统 |
CN112926570B (zh) * | 2021-03-26 | 2023-01-17 | 上海交通大学 | 一种自适应比特网络量化方法、系统及图像处理方法 |
CN112926570A (zh) * | 2021-03-26 | 2021-06-08 | 上海交通大学 | 一种自适应比特网络量化方法、系统及图像处理方法 |
CN113762403B (zh) * | 2021-09-14 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 图像处理模型量化方法、装置、电子设备及存储介质 |
CN113762403A (zh) * | 2021-09-14 | 2021-12-07 | 杭州海康威视数字技术股份有限公司 | 图像处理模型量化方法、装置、电子设备及存储介质 |
CN113807504A (zh) * | 2021-09-30 | 2021-12-17 | 上海阵量智能科技有限公司 | 一种神经网络的生成方法、装置、计算机设备及存储介质 |
CN113807504B (zh) * | 2021-09-30 | 2024-04-16 | 上海阵量智能科技有限公司 | 一种神经网络的生成方法、装置、计算机设备及存储介质 |
CN114239792A (zh) * | 2021-11-01 | 2022-03-25 | 荣耀终端有限公司 | 模型量化方法、装置及存储介质 |
CN114239792B (zh) * | 2021-11-01 | 2023-10-24 | 荣耀终端有限公司 | 利用量化模型进行图像处理的系统、装置及存储介质 |
CN114781650A (zh) * | 2022-04-28 | 2022-07-22 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN114781650B (zh) * | 2022-04-28 | 2024-02-27 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN115374898A (zh) * | 2022-08-02 | 2022-11-22 | 清华大学 | 神经网络测试方法、装置、设备及存储介质 |
CN115374898B (zh) * | 2022-08-02 | 2023-04-25 | 清华大学 | 神经网络测试方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110348562B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110348562A (zh) | 神经网络的量化策略确定方法、图像识别方法和装置 | |
CN106326837B (zh) | 对象追踪方法和装置 | |
CN107688823A (zh) | 一种图像特征获取方法及装置,电子设备 | |
CN111160140B (zh) | 一种图像检测方法及装置 | |
Salesi et al. | TAGA: Tabu asexual genetic algorithm embedded in a filter/filter feature selection approach for high-dimensional data | |
CN110555514A (zh) | 神经网络模型搜索方法、图像识别方法和装置 | |
CN110288460A (zh) | 基于前向传播的催收预测方法、装置、设备及存储介质 | |
CN110008119A (zh) | 报表测试方法、装置、计算机设备和存储介质 | |
CN115730738A (zh) | 工艺参数确定方法、装置、计算机设备和存储介质 | |
CN114417739A (zh) | 一种异常工况的工艺参数推荐方法及装置 | |
CN115906927B (zh) | 基于人工智能的数据访问分析方法、系统及云平台 | |
CN114444676A (zh) | 模型通道剪枝方法、装置、计算机设备和存储介质 | |
CN114880709B (zh) | 一种应用人工智能的电商数据防护方法及服务器 | |
CN109783876A (zh) | 时间序列模型建立方法、装置、计算机设备和存储介质 | |
CN112115914B (zh) | 目标检测方法及装置、电子设备和存储介质 | |
CN109767031A (zh) | 模型分类器建立方法、装置、计算机设备和存储介质 | |
CN115186936A (zh) | 基于gnn模型的油田最优井网构建方法 | |
Fournier et al. | Integrated rock-typing with capillary pressure curve clustering | |
CN112817525A (zh) | 闪存芯片可靠性等级预测方法、装置及存储介质 | |
CN111737319A (zh) | 用户集群的预测方法、装置、计算机设备和存储介质 | |
CN111105144A (zh) | 数据处理方法、装置和目标对象风险监控方法 | |
CN114048722B (zh) | 一种电子报表模板设计及动态渲染的方法及系统 | |
CN109697528A (zh) | 营收数据预测方法、装置、计算机设备和存储介质 | |
CN116629348B (zh) | 一种智能车间数据采集分析方法、装置及计算机设备 | |
CN112966213B (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 |