CN111931906A - 一种基于结构搜索的深度神经网络混合精度量化方法 - Google Patents
一种基于结构搜索的深度神经网络混合精度量化方法 Download PDFInfo
- Publication number
- CN111931906A CN111931906A CN202010676264.4A CN202010676264A CN111931906A CN 111931906 A CN111931906 A CN 111931906A CN 202010676264 A CN202010676264 A CN 202010676264A CN 111931906 A CN111931906 A CN 111931906A
- Authority
- CN
- China
- Prior art keywords
- network
- search
- layer
- candidate
- neural network
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000011002 quantification Methods 0.000 title claims description 7
- 238000013139 quantization Methods 0.000 claims abstract description 29
- 230000006835 compression Effects 0.000 claims abstract description 9
- 238000007906 compression Methods 0.000 claims abstract description 9
- 238000010845 search algorithm Methods 0.000 claims abstract description 8
- 239000010410 layer Substances 0.000 claims description 58
- 238000012549 training Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 7
- 239000000126 substance Substances 0.000 claims description 4
- 239000002346 layers by function Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 125000004432 carbon atom Chemical group C* 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000009827 uniform distribution Methods 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于结构搜索的深度神经网络混合精度量化方法,该方法利用目前最为先进的神经网络结构搜索算法,独立搜索网络中每一个卷积层和全连接层的最优量化位宽,实现深度神经网络的混合精度网络量化,在保证网络精度的前提下,最大程度压缩网络模型,实现网络性能与模型压缩率间的最优平衡。
Description
技术领域
本发明属于深度卷积神经网络压缩和加速领域,具体涉及一种基于结构搜索的深度神经网络混合精度量化方法。
背景技术
近年来,深度神经网络在智能图像处理领域取得了突破性进展,具有广泛的应场景。深度卷积神经网络中存在大量的网络权重参数与计算,因此目前多数深度神经网络算法部署在CPU或GPU等高性能设备上。但是CPU、GPU的高性能需要大量的功耗支持,因此在一些功耗严格受限的应用场景中难以应用。高性能、低功耗嵌入式硬件设备为解决这一问题提供了全新的解决思路,因此基于嵌入式设备构建深度神经网络实现平台日益成为工程应用中的研究热点,基于FPGA设计深度神经网络硬件加速器是其中最为广泛的解决方案。但是该方案也存在一定的技术难点,FPGA片内逻辑与存储资源有限,难以满足深度神经网络的超高并行度计算与海量数据存储。因此在利用FPGA实现深度神经网络前,需要对深度神经网络的计算与存储进行有效压缩。深度神经网络量化是最为有效的网络模型压缩方法,能够将网络中密集计算与海量存储由浮点型转化为整数型,同时优化计算与存储,大幅降低硬件实现所需的逻辑与存储资源开销。但是,目前已有的深度神经网络量化方法也存在一些问题,这些方法多采用手工设计量化位宽的方式,并且网络中所有计算层均被设置了相同的量化位宽。在低位宽时,网络性能损失较大;在高位宽时,网络模型压缩率不足,难以在网络性能与模型压缩率间取得平衡。
发明内容
有鉴于此,本发明提供了一种基于结构搜索的深度神经网络混合精度量化方法,该方法利用目前最为先进的神经网络结构搜索算法,独立搜索网络中每一个卷积层和全连接层的最优量化位宽,实现深度神经网络的混合精度网络量化,在保证网络精度的前提下,最大程度压缩网络模型,实现网络性能与模型压缩率间的最优平衡。
实现本发明的技术方案如下:
一种基于结构搜索的深度神经网络混合精度量化方法,包括以下步骤:
步骤一、为网络中每个卷积层和全连接层建立搜索空间,每个搜索空间均由一组与原始计算层功能、维度相同的量化计算层组成,所述量化计算层采用不同的量化位宽;
步骤二、采用结构参数描述搜索空间中的所有候选量化层的概率分布,并建立搜索模块,搜索模块的输出是搜索空间中所有候选层的概率加权和,利用搜索模块替换深度神经网络中的卷积层和全连接层,并保持其他功能层不变,即得到超网络;
步骤三、采用基于梯度的网络模型结构搜索算法,在训练集和验证集上交替训练超网络中的权重参数与结构参数;训练结束后根据结构参数计算每一个搜索模块中各候选层概率,选取最大概率候选层从而确定量化位宽。
进一步地,所述交替训练的算法为:
其中,和分别表示网络在训练集和验证集的基础损失函数,w和α分别表示超网络中的权重参数与结构参数,表示在结构参数为α时的最优权重参数,是额外的存储开销损失函数,γ是的权重,用于调整基础损失与存储开销损失的比例;存储开销损失用于促进网络模型的压缩率收敛到一个设定的预期值R,其定义为:
其中,d表示网络平均存储开销与预期值间的距离,t为该距离的阈值;距离d的具体定义为:
有益效果:
(1)本发明通过搜索算法为每一个卷积层和全连接层的选取最优量化位宽,实现深度神经网络的混合精度计算,能够最大程度压缩网络模型,并保证网络性能。
(2)本发明采用了基于梯度的模型搜索算法,相比于其他算法,实现所需的GPU设备少,且训练时间远低于其他搜索算法,能够快速获得混合精度量化的深度神经网络模型。
附图说明
图1为搜索模块结构示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种基于结构搜索的深度神经网络混合精度量化方法,具体过程如下:
步骤一、建立搜索空间
其中,和分别表示输入特征张量和权重张量,和分别表示第l个候选层的量化位宽,m为可选位宽的个数。由于特征图和权重参数可以选择不同的量化位宽,因此搜索空间中候选层的个数为m×m个。当m较大时,候选层数目会变得过多,这会造成模型搜索算法难以部署在GPU上。为了减少搜索空间,本发明将每一个候选层的特征图与权重参数的量化位宽设置为相同的固定数值,此时搜索空间只有m个候选层,降低搜索时对GPU设备的需求。公式(1)可改写为:
类似的,全连接层的搜索空间定义如下式所示:
步骤二、建立超网络
超网络是能够覆盖搜索过程中所有量化位宽可能的网络架构,也是搜索过程中训练的目标网络。利用搜索模块替换深度神经网络中的卷积层和全连接层,并保持其他功能层不变,此时即为超网络。搜索模块结构如附图1所示,Vm和Vn分别是输入和输出节点。这两个节点之间的第l条边表示搜索空间中的第l个候选层操作。可利用结构参数来描述搜索空间中候选量化层的概率分布Γ。第l个候选层的概率可以表示为:
在搜索过程中,从搜索空间中根据概率分布抽取一个候选层作为搜索模块的计算层。但是抽取操作是不可导的,因此无法使用常规的网络反向传播来更新结构参数,从而更新搜索模块中的概率分布。为了解决这一问题,本发明采用Gumbel-Softmax函数来近似抽样操作,第l个候选层的近似概率定义为:
其中,Gl是独立同分布的Gumbel噪声,τ是Gumbel-Softmax函数的温度参数。当τ→∞时,概率分布Γ变为均匀分布,当τ→0时,概率分布Γ变为抽样函数。输出节点是搜索空间中所有候选层的概率加权和,因此输出节点可表示为:
根据上述公式即可使用常规的网络反向传播来更新结构参数。
步骤三、搜索量化位宽
此步骤利用超网络搜索每一个计算层的最优量化位宽。一般的网络模型结构搜索是一个二级优化问题,其目标是训练权重参数使得训练集上网络损失最小,训练结构参数使得验证集上网络损失最小。本发明不仅关注常规的网络损失,还关注网络的模型大小。因此,本发明的优化目标可以表述为:
其中,和分别表示网络在训练集和验证集的基础损失函数,w和α分别表示超网络中的权重参数与结构参数,表示在结构参数为α时的最优权重参数。上式中,是额外的存储开销损失函数,γ是的权重,用于调整基础损失与存储开销损失的比例。存储开销损失用于促进网络模型的压缩率收敛到一个设定的预期值R,其定义为:
其中,d表示网络平均存储开销与预期值间的距离,t为该距离的阈值。当距离超过阈值时,网络存储开销超出可接受范围,训练过程优化网络存储开销;当距离小于阈值是,网络存储开销在可接受范围内,训练过程的优化目标不受存储开销影响。这种处理方式能够降低训练过程中量化位宽波动,在存储开销的可接受范围内,网络训练更加专注于优化网络性能。距离d的具体定义为:
其中,L是搜索块的个数,函数ck(·)是用来计算第k个搜索模块中候选层的权重参数存储开销,pk(·)为第k个搜索模块中候选层的概率分布,M是全精度网络的总模型大小。
在搜索过程中,在训练集上的权重参数、在验证集上优化结构参数,两个优化过程交替进行。同时在训练过程中逐步降低Gumbel-Softmax函数中的温度参数τ,从而逐步选出最优的量化位宽。在搜索完成后,在测试集上进行测试并选出网络性能最优的模型。利用最优模型,根据公式(5)计算每个搜索块所有候选层的概率,选择概率最大候选层的量化位宽作为原始计算层的量化位宽,从而得到混合精度量化网络。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种基于结构搜索的深度神经网络混合精度量化方法,其特征在于,包括以下步骤:
步骤一、为网络中每个卷积层和全连接层建立搜索空间,每个搜索空间均由一组与原始计算层功能、维度相同的量化计算层组成,所述量化计算层采用不同的量化位宽;
步骤二、采用结构参数描述搜索空间中的所有候选量化层的概率分布,并建立搜索模块,搜索模块的输出是搜索空间中所有候选层的概率加权和,利用搜索模块替换深度神经网络中的卷积层和全连接层,并保持其他功能层不变,即得到超网络;
步骤三、采用基于梯度的网络模型结构搜索算法,在训练集和验证集上交替训练超网络中的权重参数与结构参数;训练结束后根据结构参数计算每一个搜索模块中各候选层概率,选取最大概率候选层从而确定量化位宽。
2.如权利要求1所述的一种基于结构搜索的深度神经网络混合精度量化方法,其特征在于,所述交替训练的算法为:
其中,和分别表示网络在训练集和验证集的基础损失函数,w和α分别表示超网络中的权重参数与结构参数,表示在结构参数为α时的最优权重参数,是额外的存储开销损失函数,γ是的权重,用于调整基础损失与存储开销损失的比例;存储开销损失用于促进网络模型的压缩率收敛到一个设定的预期值R,其定义为:
其中,d表示网络平均存储开销与预期值间的距离,t为该距离的阈值;距离d的具体定义为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010676264.4A CN111931906A (zh) | 2020-07-14 | 2020-07-14 | 一种基于结构搜索的深度神经网络混合精度量化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010676264.4A CN111931906A (zh) | 2020-07-14 | 2020-07-14 | 一种基于结构搜索的深度神经网络混合精度量化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111931906A true CN111931906A (zh) | 2020-11-13 |
Family
ID=73312938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010676264.4A Pending CN111931906A (zh) | 2020-07-14 | 2020-07-14 | 一种基于结构搜索的深度神经网络混合精度量化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111931906A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111047563A (zh) * | 2019-11-26 | 2020-04-21 | 深圳度影医疗科技有限公司 | 一种应用于医学超声图像的神经网络构建方法 |
CN112906883A (zh) * | 2021-02-04 | 2021-06-04 | 云从科技集团股份有限公司 | 用于深度神经网络的混合精度量化策略确定方法和系统 |
CN113269312A (zh) * | 2021-06-03 | 2021-08-17 | 华南理工大学 | 一种联合量化与剪枝搜索的模型压缩方法及其系统 |
CN113743591A (zh) * | 2021-09-14 | 2021-12-03 | 北京邮电大学 | 一种自动化剪枝卷积神经网络的方法及其系统 |
WO2022216109A1 (en) * | 2021-04-09 | 2022-10-13 | Samsung Electronics Co., Ltd. | Method and electronic device for quantizing dnn model |
WO2023015674A1 (zh) * | 2021-08-12 | 2023-02-16 | 北京交通大学 | 一种对深度卷积神经网络进行多位宽量化的方法 |
-
2020
- 2020-07-14 CN CN202010676264.4A patent/CN111931906A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111047563A (zh) * | 2019-11-26 | 2020-04-21 | 深圳度影医疗科技有限公司 | 一种应用于医学超声图像的神经网络构建方法 |
CN112906883A (zh) * | 2021-02-04 | 2021-06-04 | 云从科技集团股份有限公司 | 用于深度神经网络的混合精度量化策略确定方法和系统 |
WO2022216109A1 (en) * | 2021-04-09 | 2022-10-13 | Samsung Electronics Co., Ltd. | Method and electronic device for quantizing dnn model |
CN113269312A (zh) * | 2021-06-03 | 2021-08-17 | 华南理工大学 | 一种联合量化与剪枝搜索的模型压缩方法及其系统 |
CN113269312B (zh) * | 2021-06-03 | 2021-11-09 | 华南理工大学 | 一种联合量化与剪枝搜索的模型压缩方法及其系统 |
WO2023015674A1 (zh) * | 2021-08-12 | 2023-02-16 | 北京交通大学 | 一种对深度卷积神经网络进行多位宽量化的方法 |
CN113743591A (zh) * | 2021-09-14 | 2021-12-03 | 北京邮电大学 | 一种自动化剪枝卷积神经网络的方法及其系统 |
CN113743591B (zh) * | 2021-09-14 | 2023-12-26 | 北京邮电大学 | 一种自动化剪枝卷积神经网络的方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111931906A (zh) | 一种基于结构搜索的深度神经网络混合精度量化方法 | |
US20180204110A1 (en) | Compressed neural network system using sparse parameters and design method thereof | |
CN113159173B (zh) | 一种结合剪枝与知识蒸馏的卷积神经网络模型压缩方法 | |
CN108304928A (zh) | 基于改进聚类的深度神经网络的压缩方法 | |
WO2020238237A1 (zh) | 一种基于幂指数量化的神经网络压缩方法 | |
CN112364981B (zh) | 一种混合精度神经网络的可微分搜索方法和装置 | |
CN110276451A (zh) | 一种基于权重归一化的深度神经网络压缩方法 | |
Shu et al. | IF-CNN: Image-aware inference framework for CNN with the collaboration of mobile devices and cloud | |
CN111831355B (zh) | 权重精度配置方法、装置、设备及存储介质 | |
CN111860771B (zh) | 一种应用于边缘计算的卷积神经网络计算方法 | |
CN114580636B (zh) | 基于三目标联合优化的神经网络轻量化部署方法 | |
CN113610227B (zh) | 一种用于图像分类的深度卷积神经网络剪枝方法 | |
CN108268950A (zh) | 基于矢量量化的迭代式神经网络量化方法及系统 | |
CN112861996A (zh) | 深度神经网络模型压缩方法及装置、电子设备、存储介质 | |
Yang et al. | Searching for burgerformer with micro-meso-macro space design | |
Verma et al. | A" Network Pruning Network''Approach to Deep Model Compression | |
CN113962388A (zh) | 一种硬件加速感知的神经网络通道剪枝方法 | |
CN113780542A (zh) | 一种面向fpga的多目标网络结构的构建方法 | |
CN113487012B (zh) | 一种面向fpga的深度卷积神经网络加速器及设计方法 | |
CN113157453B (zh) | 一种基于任务复杂度的高能效目标检测任务动态调度方法 | |
CN111598250A (zh) | 模型评估方法、装置、计算机设备及存储介质 | |
CN114372565A (zh) | 一种用于边缘设备的目标检测网络压缩方法 | |
CN113052189B (zh) | 一种基于改进的MobileNetV3特征提取网络 | |
CN114648123A (zh) | 一种卷积神经网络分层推理时间预测方法及装置 | |
CN113505804A (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: 20201113 |
|
RJ01 | Rejection of invention patent application after publication |