CN111898750A - 基于进化算法的神经网络模型压缩方法及装置 - Google Patents
基于进化算法的神经网络模型压缩方法及装置 Download PDFInfo
- Publication number
- CN111898750A CN111898750A CN202010603853.XA CN202010603853A CN111898750A CN 111898750 A CN111898750 A CN 111898750A CN 202010603853 A CN202010603853 A CN 202010603853A CN 111898750 A CN111898750 A CN 111898750A
- Authority
- CN
- China
- Prior art keywords
- neural network
- quantization
- precision
- strategy
- weight
- 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
Links
- 230000006835 compression Effects 0.000 title claims abstract description 72
- 238000007906 compression Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000003062 neural network model Methods 0.000 title claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 52
- 238000013139 quantization Methods 0.000 claims abstract description 113
- 230000004913 activation Effects 0.000 claims abstract description 63
- 238000013528 artificial neural network Methods 0.000 claims abstract description 22
- 238000011002 quantification Methods 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 10
- 238000005457 optimization Methods 0.000 abstract description 5
- 108090000623 proteins and genes Proteins 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000035772 mutation Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 239000013585 weight reducing agent Substances 0.000 description 1
Images
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
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于进化算法的神经网络模型压缩方法,包括:随机生成各个网络层的权值精度和激活值精度,得到不同的量化策略;根据所述权值精度和激活值精度计算不同量化策略的适应度;根据所述适应度计算得到进化中的最优量化策略;根据所述最优量化策略对神经网络的权值和激活值进行量化,实现神经网络模型压缩。本发明公开的神经网络模型压缩方法,可以针对不同的网络层实行不同程度的权值量化,还可以对权值和激活值进行联合优化,使模型性能达到最优,而且基于进化算法可以自动搜索最优量化策略,不需要人为经验和其他规则约束。
Description
技术领域
本发明涉及人工智能技术领域,特别涉及一种基于进化算法的神经网络模型压缩方法、装置、设备及存储介质。
背景技术
近年来,神经网络在人工智能的许多领域取得了成功,然而随着神经网络模型层数越来越多,网络模型的权重参数数量也随之增长,其在嵌入式移动平台上的应用受到了限制,神经网络模型压缩旨在减少模型中存在的冗余信息,通过减少表示模型的数据来对神经网络进行存储上的压缩和计算上的加速。
模型量化是一种常用的神经网络模型压缩方法,它主要有两个研究方向,一个是权值共享,基本思想是多个网络连接的权重共用一个权值,还有一个是权值精简,即权值的低比特表示,模型量化可以减少表示权值的比特数,因此可以减少模型的存储和计算量,现有技术中的量化方法,对神经网络的所有网络层进行相同程度的量化,会造成比较大的性能损失,因为不同网络层对于网络模型的性能影响是不同的。
发明内容
本公开实施例提供了一种基于进化算法的神经网络模型压缩方法、装置、设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本公开实施例提供了一种基于进化算法的神经网络模型压缩方法,包括:
随机生成各个网络层的权值精度和激活值精度,得到不同的量化策略;
根据权值精度和激活值精度计算不同量化策略的适应度;
根据适应度计算得到进化中的最优量化策略;
根据最优量化策略对神经网络的权值和激活值进行量化,实现神经网络模型压缩。
进一步地,随机生成各个网络层的权值精度和激活值精度,包括:
同一网络层的权值精度相同;
同一网络层的激活值精度相同。
进一步地,根据适应度计算得到进化中的最优量化策略,包括:
将当前所有的量化策略组成一个族群;
根据族群中各个量化策略的适应度计算各个量化策略在进化中被选中的概率;
根据概率得到最优量化策略。
进一步地,根据概率得到最优量化策略,包括:
当量化策略在进化中被选中的概率达到预设阈值时,将量化策略作为最优量化策略。
进一步地,当量化策略在进化中被选中的概率没有达到预设阈值时,还包括:
根据选择、变异和交叉的进化算子生成子代量化策略;
计算子代量化策略的适应度和在进化中被选中的概率;
当子代量化策略在进化中被选中的概率没有达到预设阈值时,重复执行上述步骤,直到被选中的概率达到预设阈值。
进一步地,根据最优量化策略对神经网络的激活值进行量化,包括:
通过截断式修正线性单元激活函数对神经网络的激活值进行量化。
第二方面,本公开实施例提供了一种基于进化算法的神经网络模型压缩装置,包括:
随机模块,用于随机生成各个网络层的权值精度和激活值精度,得到不同的量化策略;
第一计算模块,用于根据权值精度和激活值精度计算不同量化策略的适应度;
第二计算模块,用于根据适应度计算得到进化中的最优量化策略;
压缩模块,用于根据最优量化策略对神经网络的权值和激活值进行量化,实现神经网络模型压缩。
进一步地,随机模块,包括:
随机生成的同一网络层的权值精度相同;
随机生成的同一网络层的激活值精度相同。
第三方面,本公开实施例提供了一种基于进化算法的神经网络模型压缩设备,包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行上述实施例提供的基于进化算法的神经网络模型压缩方法。
第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机可读指令,计算机可读指令可被处理器执行以实现上述实施例提供的一种基于进化算法的神经网络模型压缩方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例提供的基于进化算法的神经网络模型压缩方法,可以针对不同的网络层实行不同程度的权值量化,对于“敏感度”较高的网络层保留较多的比特,对于“敏感度”较低的网络层压缩较多的比特,可以对激活值进行量化,进一步减少网络模型运行时的存取开销和计算复杂度,该方法对权值和激活值进行联合优化,使模型性能达到最优,而且基于进化算法可以自动搜索最优量化策略,不需要人为经验和其他规则约束。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种基于进化算法的神经网络模型压缩方法的流程示意图;
图2是根据一示例性实施例示出的一种基于进化算法的神经网络模型压缩方法的流程示意图;
图3是根据一示例性实施例示出的一种ResNet20在CIFAR-10数据集上的压缩结果;
图4是根据一示例性实施例示出的一种ResNet50在ImageNet数据集上的压缩结果;
图5是根据一示例性实施例示出的一种RetinaNet在COCO数据集上的压缩结果;
图6是根据一示例性实施例示出的一种基于进化算法的神经网络模型压缩装置的结构示意图;
图7是根据一示例性实施例示出的一种基于进化算法的神经网络模型压缩设备的结构示意图;
图8是根据一示例性实施例示出的一种计算机存储介质的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例提供的神经网络模型压缩方法,提出了一种全新的神经网络混合精度量化框架,目的是通过进化算法自动地搜索最优的神经网络量化策略并尽可能地保持原有模型的性能,首先将神经网络中各个网络层权值和激活值的量化精度进行联合编码,从而获取量化子网络的适应度,这样适应度函数可以同时表示权值和激活值带来的量化损失,通过进化算法来自动地选择出最优量化子网络,在神经网络运行过程中,使用量化后的权值进行前向计算并对激活值进行对应精度的量化,从而对神经网络进行加速。该方法对权值和激活值进行联合优化,使模型性能达到最优,而且基于进化算法可以自动搜索最优量化策略,不需要人为经验和其他规则约束。
下面将结合附图1-附图8,对本申请实施例提供的基于进化算法的神经网络模型压缩方法、装置、设备及存储介质进行详细介绍。
参见图1,该方法具体包括以下步骤;
S101随机生成各个网络层的权值精度和激活值精度,得到不同的量化策略。
本公开实施例提供的神经网络模型压缩方法,是针对不同的网络层实行不同程度的权值量化,考虑到我们不能准确的估计每个网络层权值或者激活值对于模型性能的影响,本公开实施例采用进化算法来将权值和激活值的精度编码成基因段,为了降低计算的复杂度,使同一网络层的权值精度相同,同一网络层的激活值精度相同。
首先,我们将随机产生N个个体,组成的族群作为第一个父代,每个个体由许多片基因组成,每一片基因代表了每个网络层权值或者激活值的量化精度,这样不同的个体就可以对应不同的混合精度量化策略,假设每个网络层的量化选择有1/2/4/8比特四个选择,那么可以用00/01/10/11来进行表示,接下来将利用进化算法对族群进行更新迭代,从而找到最优的个体即最优的量化策略。
S102根据权值精度和激活值精度计算不同量化策略的适应度。
本公开实施例提供的神经网络模型压缩方法,目标是将神经网络模型的权值和激活值压缩成比特率较低的参数,并尽可能地保持原始模型的性能,假设输入与输出数据分别为与网络的误差可以表示为神经网络的训练就是解决误差最小化问题,神经网络的量化算法可以建模为:
根据分析建立的包含权值和激活值的量化模型,可以得到每个个体P,也就是每个量化策略的适应度为:
根据该公式,可以计算族群中每个量化策略的适应度,适应度越高,说明该量化策略越合适。
S103根据适应度计算得到进化中的最优量化策略。
具体地,当前所有的量化策略组成一个族群,根据族群中各个量化策略的适应度计算各个量化策略在进化中被选中的概率,可根据如下公式计算被选中的概率:
其中,Pk是族群中第k个个体,K是族群中个体的个数。
根据该公式,可以得到各个量化策略在进化中被选中的概率,当概率达到预设阈值时,将该量化策略作为最优量化策略。其中,预设阈值本领域人员可自行设定,本公开实施例不做具体限制。
当概率没有达到预设阈值时,根据选择、变异和交叉的进化算法生成子代量化策略,计算子代量化策略的适应度和在进化中被选中的概率,当子代量化策略在进化中被选中的概率没有达到预设阈值时,重复执行上述步骤,直到被选中的概率达到预设阈值。
具体地,当没有达到预设阈值时,根据计算得到的每个量化策略在进化中被选中的概率,选择个体作为父代,通过进化算法中的选择、交叉、变异算子产生下一代族群。
首先进行选择操作,给定一个概率m1,根据给定概率从父代中选择一个个体直接作为子代的一员,显然,具有更高压缩率和更好性能的量化网络会被保存下来,通常具有最高适应度的个体的基因会被遗传到下一代。
然后进行交叉,给定一个概率m2,从父代中选择两个个体通过交换随机的相同位置的基因产生两个子代,保留适应度较高的子代,交叉操作的目的是交换父代中的优秀基因。
最后进行变异,给定一个概率m3,从父代中选择一个个体,对它的某些基因进行随机的扰动,为了保证父代和子代的数量一致,我们有m1+m2+m3=1。
在另一种可能的实现方式中,根据适应度计算各个量化策略在进化中被选中的概率,然后通过进化算法中的选择、交叉、变异操作产生下一代族群,继续对下一代族群进行进化运算,迭代进行预设次数的进化运算,将最后一次产生的被选中的概率最高的子代量化策略作为最优量化策略,其中,预设次数本领域人员可自行设定,本公开实施例不做具体限制。
进化算法是以达尔文的进化论思想为基础,通过模拟生物进化过程与机制的求解问题的自组织、自适应的人工智能技术,生物进化是通过繁殖、变异、竞争和选择实现的,而进化算法则主要通过选择、交叉和变异这三种操作实现优化问题的求解,与传统的基于微积分的方法和穷举法等优化算法相比,进化计算是一种成熟的具有高鲁棒性和广泛适用性的全局优化方法,具有自组织、自适应、自学习的特性,能够不受问题性质的限制,有效地处理传统优化算法难以解决的复杂问题,本公开实施例通过采用进化算法,可以保留父代优秀基因,迭代生成最优的量化策略。
S104根据最优量化策略对神经网络的权值和激活值进行量化,实现神经网络模型压缩。
具体地,神经网络模型按照搜索到的最优量化策略,对权值和激活值进行量化,通过梯度下降法不断缩小量化后的模型和原始模型的性能差异,本公开实施例在对激活值进行量化时,提出了新的量化补偿方式,量化激活值与量化权值不同,量化权值可以通过学习去补偿,量化激活值的误差结果只能加重权值的补偿学习,传统的ReLU(Rectified linearunit,修正线性单元)激活函数是无界的,这代表着其结果有很大的范围,通过截断式ReLU激活函数,给激活值添加一个上界,可以部分减少量化误差的损失,本发明在此基础上提出了一种带参数的截断式ReLU函数,用来进一步减少激活值量化带来的性能误差,截断式函数如下所示:
0,x∈(-∞,0]
y={x,x∈(0,a]
a,x∈(a,+∞)
其中x和y分别为函数的输入和输出,a为截断的阈值。
神经网络模型在运行的过程中,使用量化后的权值进行前向计算,并对激活值进行对应精度的量化,从而对神经网络进行压缩和加速,实现神经网络模型压缩,通过对神经网络进行压缩,可以加快神经网络的运行速度,节约存储空间,使神经网络模型在嵌入式平台上得到广泛应用。
本公开实施例提供的神经网络模型压缩方法,同时考虑了权值和激活值量化对于性能的影响,并对其进行了联合优化,与之前的量化方法如Dorefa,PACT,HAQ,HAWQ等相比具有明显的优越性。
图3是根据一示例性实施例示出的一种ResNet20在CIFAR-10数据集上的压缩结果;图4是根据一示例性实施例示出的一种ResNet50在ImageNet数据集上的压缩结果;图5是根据一示例性实施例示出的一种RetinaNet在COCO数据集上的压缩结果。
以ResNet20在CIFAR-10数据集上为例,如图3所示,从左至右的第一列method表示不同的模型压缩算法,Acc-Orig表示原始模型的准确率,w-bits表示权重采用的比特数,a-bits表示激活值采用的比特数,W-Comp表示权重的压缩倍数,A-Comp表示激活值的压缩倍数,Acc-Quant表示压缩模型的准确率,Acc-Diff表示压缩模型的准确率损失,由图3可知,Dorefa、PACT、HAWQ等模型压缩算法,准确率损失较大,而最后一行本公开实施例的模型压缩算法,在具有较高压缩准确率的同时,能够实现更小的性能损失。
由图4和图5可知,通过本申请的压缩算法,ResNet50在ImageNet数据集上的压缩结果和RetinaNet在COCO数据集上的压缩结果,都能够保证较高的压缩准确率和较小的性能损失。
为了便于理解本申请实施例提供的照明控制方法,下面结合附图2进行说明。如图2所示,基于进化算法的神经网络模型压缩方法,包括:
S201对权值和激活值进行联合编码。
S202量化族群初始化。
S203计算族群中各个量化策略的适应度。
S204计算各个量化策略在进化中被选中的概率。
S205进行选择、交叉、变异的进化操作,得到子量化策略。
S206计算子量化策略在进化中被选中的概率。
S207判断子量化策略被选中的概率是否大于等于预设阈值,当大于等于预设阈值时,执行步骤S208将大于等于预设阈值的量化策略作为最优量化策略;当小于预设阈值时,执行步骤S203计算族群中各个量化策略的适应度。
S208将大于等于预设阈值的量化策略作为最优量化策略。
S209根据最优量化策略对神经网络的权值和激活值进行量化。
根据本公开实施例的神经网络模型压缩方法,可以针对不同的网络层实行不同程度的权值量化,对于“敏感度”较高的网络层保留较多的比特,对于“敏感度”较低的网络层压缩较多的比特,可以对激活值进行量化,进一步减少网络模型运行时的存取开销和计算复杂度,该方法对权值和激活值进行联合优化,使模型性能达到最优,而且基于进化算法可以自动搜索最优量化策略,不需要人为经验和其他规则约束。
第二方面,本公开实施例还提供一种基于进化算法的神经网络模型压缩装置,该装置用于执行上述实施例的基于进化算法的神经网络模型压缩方法,如图6所示,该装置包括:
601随机模块,用于随机生成各个网络层的权值精度和激活值精度,得到不同的量化策略;
602第一计算模块,用于根据权值精度和激活值精度计算不同量化策略的适应度;
603第二计算模块,用于根据适应度计算得到进化中的最优量化策略;
604压缩模块,用于根据最优量化策略对神经网络的权值和激活值进行量化,实现神经网络模型压缩。
进一步地,随机模块,包括:
随机生成的同一网络层的权值精度相同;
随机生成的同一网络层的激活值精度相同。
进一步地,第一计算模块,包括:
组成单元,用于将当前所有的量化策略组成一个族群;
计算单元,用于根据族群中各个量化策略的适应度计算各个量化策略在进化中被选中的概率;
进化单元,用于根据概率得到最优量化策略。
进一步地,进化单元,具体用于当量化策略在进化中被选中的概率达到预设阈值时,将量化策略作为最优量化策略。
进一步地,进化单元,具体用于当量化策略在进化中被选中的概率没有达到预设阈值时,根据选择、变异和交叉的进化算子生成子代量化策略,计算子代量化策略的适应度和在进化中被选中的概率,当子代量化策略在进化中被选中的概率没有达到预设阈值时,重复执行上述步骤,直到被选中的概率达到预设阈值。
进一步地,压缩模块,包括:激活值量化单元,用于通过截断式修正线性单元激活函数对神经网络的激活值进行量化。
需要说明的是,上述实施例提供的基于进化算法的神经网络模型压缩装置在执行基于进化算法的神经网络模型压缩方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于进化算法的神经网络模型压缩装置与基于进化算法的神经网络模型压缩方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
第三方面,本公开实施例还提供一种与前述实施例所提供的基于进化算法的神经网络模型压缩方法对应的电子设备,以执行上述基于进化算法的神经网络模型压缩方法。
请参考图7,其示出了本申请的一些实施例所提供的一种电子设备的示意图。如图7所示,电子设备包括:处理器700,存储器701,总线702和通信接口703,处理器700、通信接口703和存储器701通过总线702连接;存储器701中存储有可在处理器700上运行的计算机程序,处理器700运行计算机程序时执行本申请前述任一实施例所提供的基于进化算法的神经网络模型压缩方法。
其中,存储器701可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口703(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线702可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器701用于存储程序,处理器700在接收到执行指令后,执行程序,前述本申请实施例任一实施方式揭示的基于进化算法的神经网络模型压缩方法可以应用于处理器700中,或者由处理器700实现。
处理器700可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器700中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器700可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器701,处理器700读取存储器701中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的基于进化算法的神经网络模型压缩方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
第四方面,本申请实施例还提供一种与前述实施例所提供的基于进化算法的神经网络模型压缩方法对应的计算机可读存储介质,请参考图8,其示出的计算机可读存储介质为光盘800,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施例所提供的基于进化算法的神经网络模型压缩方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的基于进化算法的神经网络模型压缩方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于进化算法的神经网络模型压缩方法,其特征在于,包括:
随机生成各个网络层的权值精度和激活值精度,得到不同的量化策略;
根据所述权值精度和激活值精度计算不同量化策略的适应度;
根据所述适应度计算得到进化中的最优量化策略;
根据所述最优量化策略对神经网络的权值和激活值进行量化,实现神经网络模型压缩。
2.根据权利要求1所述的方法,其特征在于,所述随机生成各个网络层的权值精度和激活值精度,包括:
同一网络层的权值精度相同;
同一网络层的激活值精度相同。
3.根据权利要求1所述的方法,其特征在于,所述根据所述适应度计算得到进化中的最优量化策略,包括:
将当前所有的量化策略组成一个族群;
根据族群中各个量化策略的适应度计算各个量化策略在进化中被选中的概率;
根据所述概率得到最优量化策略。
4.根据权利要求3所述的方法,其特征在于,所述根据所述概率得到最优量化策略,包括:
当量化策略在进化中被选中的概率达到预设阈值时,将所述量化策略作为最优量化策略。
5.根据权利要求4所述的方法,其特征在于,当量化策略在进化中被选中的概率没有达到预设阈值时,还包括:
根据选择、变异和交叉的进化算子生成子代量化策略;
计算所述子代量化策略的适应度和在进化中被选中的概率;
当所述子代量化策略在进化中被选中的概率没有达到预设阈值时,重复执行上述步骤,直到被选中的概率达到预设阈值。
6.根据权利要求1所述的方法,其特征在于,根据所述最优量化策略对神经网络的激活值进行量化,包括:
通过截断式修正线性单元激活函数对神经网络的激活值进行量化。
7.一种基于进化算法的神经网络模型压缩装置,其特征在于,包括:
随机模块,用于随机生成各个网络层的权值精度和激活值精度,得到不同的量化策略;
第一计算模块,用于根据所述权值精度和激活值精度计算不同量化策略的适应度;
第二计算模块,用于根据所述适应度计算得到进化中的最优量化策略;
压缩模块,用于根据所述最优量化策略对神经网络的权值和激活值进行量化,实现神经网络模型压缩。
8.根据权利要求7所述的装置,其特征在于,所述随机模块,包括:
随机生成的同一网络层的权值精度相同;
随机生成的同一网络层的激活值精度相同。
9.一种基于进化算法的神经网络模型压缩设备,其特征在于,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至6任一项所述的基于进化算法的神经网络模型压缩方法。
10.一种计算机可读介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至6任一项所述的一种基于进化算法的神经网络模型压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010603853.XA CN111898750A (zh) | 2020-06-29 | 2020-06-29 | 基于进化算法的神经网络模型压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010603853.XA CN111898750A (zh) | 2020-06-29 | 2020-06-29 | 基于进化算法的神经网络模型压缩方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111898750A true CN111898750A (zh) | 2020-11-06 |
Family
ID=73207089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010603853.XA Pending CN111898750A (zh) | 2020-06-29 | 2020-06-29 | 基于进化算法的神经网络模型压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111898750A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580805A (zh) * | 2020-12-25 | 2021-03-30 | 三星(中国)半导体有限公司 | 神经网络模型的量化方法和量化神经网络模型的装置 |
CN112580639A (zh) * | 2021-03-01 | 2021-03-30 | 四川大学 | 一种基于进化神经网络模型压缩的早期胃癌图像识别方法 |
CN114239792A (zh) * | 2021-11-01 | 2022-03-25 | 荣耀终端有限公司 | 模型量化方法、装置及存储介质 |
WO2024046183A1 (zh) * | 2022-08-30 | 2024-03-07 | 华为技术有限公司 | 模型压缩方法、装置以及相关设备 |
-
2020
- 2020-06-29 CN CN202010603853.XA patent/CN111898750A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580805A (zh) * | 2020-12-25 | 2021-03-30 | 三星(中国)半导体有限公司 | 神经网络模型的量化方法和量化神经网络模型的装置 |
CN112580639A (zh) * | 2021-03-01 | 2021-03-30 | 四川大学 | 一种基于进化神经网络模型压缩的早期胃癌图像识别方法 |
CN112580639B (zh) * | 2021-03-01 | 2021-08-13 | 四川大学 | 一种基于进化神经网络模型压缩的早期胃癌图像识别方法 |
CN114239792A (zh) * | 2021-11-01 | 2022-03-25 | 荣耀终端有限公司 | 模型量化方法、装置及存储介质 |
CN114239792B (zh) * | 2021-11-01 | 2023-10-24 | 荣耀终端有限公司 | 利用量化模型进行图像处理的系统、装置及存储介质 |
WO2024046183A1 (zh) * | 2022-08-30 | 2024-03-07 | 华为技术有限公司 | 模型压缩方法、装置以及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898750A (zh) | 基于进化算法的神经网络模型压缩方法及装置 | |
CN109615073B (zh) | 一种神经网络模型的构建方法、设备以及存储介质 | |
EP3822880A1 (en) | Load prediction method and apparatus based on neural network | |
CN110991724A (zh) | 用于预测风景区客流量的方法、系统及存储介质 | |
CN106610867B (zh) | 一种片上网络任务调度方法及装置 | |
CN113821983B (zh) | 基于代理模型的工程设计优化方法、装置及电子设备 | |
CN113128432B (zh) | 基于演化计算的机器视觉多任务神经网络架构搜索方法 | |
CN111860939B (zh) | 基于注意力机制和rclstm网络的客流量预测方法及系统 | |
CN116644804B (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
CN112988275A (zh) | 一种基于任务感知的移动边缘计算多用户计算卸载方法 | |
US20190221006A1 (en) | Selecting encoding options | |
CN113094945B (zh) | 一种sa-beso联合拓扑优化方法 | |
CN115933664A (zh) | 物流机器人的调度方法以及系统 | |
JP7438544B2 (ja) | ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法 | |
CN110147804B (zh) | 一种不平衡数据处理方法、终端及计算机可读存储介质 | |
CN111178529A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN111240606A (zh) | 一种基于安全内存的存储优化方法及系统 | |
CN112561050A (zh) | 一种神经网络模型训练方法及装置 | |
CN116305461B (zh) | 结构响应计算方法、装置、电子设备及存储介质 | |
CN111033532B (zh) | 生成对抗网络的训练方法和系统、电子设备和存储介质 | |
CN116384452B (zh) | 动态网络模型构建方法、装置、设备及存储介质 | |
CN115481562B (zh) | 多并行度优化方法、装置、识别方法和电子设备 | |
CN115408571A (zh) | 一种面向近邻图向量检索的向量编码学习方法及装置 | |
CN117648964A (zh) | 模型压缩方法、装置以及相关设备 | |
CN116843962A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201106 |