CN111931906A - 一种基于结构搜索的深度神经网络混合精度量化方法 - Google Patents

一种基于结构搜索的深度神经网络混合精度量化方法 Download PDF

Info

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
Application number
CN202010676264.4A
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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202010676264.4A priority Critical patent/CN111931906A/zh
Publication of CN111931906A publication Critical patent/CN111931906A/zh
Pending legal-status Critical Current

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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06N3/084Backpropagation, 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实现深度神经网络前,需要对深度神经网络的计算与存储进行有效压缩。深度神经网络量化是最为有效的网络模型压缩方法,能够将网络中密集计算与海量存储由浮点型转化为整数型,同时优化计算与存储,大幅降低硬件实现所需的逻辑与存储资源开销。但是,目前已有的深度神经网络量化方法也存在一些问题,这些方法多采用手工设计量化位宽的方式,并且网络中所有计算层均被设置了相同的量化位宽。在低位宽时,网络性能损失较大;在高位宽时,网络模型压缩率不足,难以在网络性能与模型压缩率间取得平衡。
发明内容
有鉴于此,本发明提供了一种基于结构搜索的深度神经网络混合精度量化方法,该方法利用目前最为先进的神经网络结构搜索算法,独立搜索网络中每一个卷积层和全连接层的最优量化位宽,实现深度神经网络的混合精度网络量化,在保证网络精度的前提下,最大程度压缩网络模型,实现网络性能与模型压缩率间的最优平衡。
实现本发明的技术方案如下:
一种基于结构搜索的深度神经网络混合精度量化方法,包括以下步骤:
步骤一、为网络中每个卷积层和全连接层建立搜索空间,每个搜索空间均由一组与原始计算层功能、维度相同的量化计算层组成,所述量化计算层采用不同的量化位宽;
步骤二、采用结构参数描述搜索空间中的所有候选量化层的概率分布,并建立搜索模块,搜索模块的输出是搜索空间中所有候选层的概率加权和,利用搜索模块替换深度神经网络中的卷积层和全连接层,并保持其他功能层不变,即得到超网络;
步骤三、采用基于梯度的网络模型结构搜索算法,在训练集和验证集上交替训练超网络中的权重参数与结构参数;训练结束后根据结构参数计算每一个搜索模块中各候选层概率,选取最大概率候选层从而确定量化位宽。
进一步地,所述交替训练的算法为:
其中,
Figure BDA0002584166800000022
Figure BDA0002584166800000023
分别表示网络在训练集和验证集的基础损失函数,w和α分别表示超网络中的权重参数与结构参数,
Figure BDA0002584166800000024
表示在结构参数为α时的最优权重参数,
Figure BDA0002584166800000031
是额外的存储开销损失函数,γ是
Figure BDA0002584166800000032
的权重,用于调整基础损失与存储开销损失的比例;存储开销损失用于促进网络模型的压缩率收敛到一个设定的预期值R,其定义为:
Figure BDA0002584166800000033
其中,d表示网络平均存储开销与预期值间的距离,t为该距离的阈值;距离d的具体定义为:
Figure BDA0002584166800000034
其中,L是搜索块的个数,
Figure BDA0002584166800000035
为搜索空间,
Figure BDA0002584166800000036
为第l个候选层,函数ck(·)是用来计算第k个搜索模块中候选层的权重参数存储开销,pk(·)为第k个搜索模块中候选层的概率分布,M是全精度网络的总模型大小。
有益效果:
(1)本发明通过搜索算法为每一个卷积层和全连接层的选取最优量化位宽,实现深度神经网络的混合精度计算,能够最大程度压缩网络模型,并保证网络性能。
(2)本发明采用了基于梯度的模型搜索算法,相比于其他算法,实现所需的GPU设备少,且训练时间远低于其他搜索算法,能够快速获得混合精度量化的深度神经网络模型。
附图说明
图1为搜索模块结构示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种基于结构搜索的深度神经网络混合精度量化方法,具体过程如下:
步骤一、建立搜索空间
为了完成计算层(包括卷积层与全连接层)的量化位宽搜索任务,首先需要为网络中每个计算层建立搜索空间。对于卷积层,其搜索空间
Figure BDA0002584166800000041
定义为:
Figure BDA0002584166800000042
其中,
Figure BDA0002584166800000043
Figure BDA0002584166800000044
分别表示输入特征张量和权重张量,
Figure BDA0002584166800000045
Figure BDA0002584166800000046
分别表示第l个候选层的量化位宽,m为可选位宽的个数。由于特征图和权重参数可以选择不同的量化位宽,因此搜索空间中候选层的个数为m×m个。当m较大时,候选层数目会变得过多,这会造成模型搜索算法难以部署在GPU上。为了减少搜索空间,本发明将每一个候选层的特征图与权重参数的量化位宽设置为相同的固定数值,此时搜索空间只有m个候选层,降低搜索时对GPU设备的需求。公式(1)可改写为:
Figure BDA0002584166800000047
类似的,全连接层的搜索空间定义如下式所示:
Figure BDA0002584166800000048
步骤二、建立超网络
超网络是能够覆盖搜索过程中所有量化位宽可能的网络架构,也是搜索过程中训练的目标网络。利用搜索模块替换深度神经网络中的卷积层和全连接层,并保持其他功能层不变,此时即为超网络。搜索模块结构如附图1所示,Vm和Vn分别是输入和输出节点。这两个节点之间的第l条边
Figure BDA0002584166800000049
表示搜索空间中的第l个候选层操作。可利用结构参数
Figure BDA00025841668000000410
来描述搜索空间中候选量化层的概率分布Γ。第l个候选层的概率可以表示为:
Figure BDA0002584166800000051
在搜索过程中,从搜索空间中根据概率分布抽取一个候选层作为搜索模块的计算层。但是抽取操作是不可导的,因此无法使用常规的网络反向传播来更新结构参数,从而更新搜索模块中的概率分布。为了解决这一问题,本发明采用Gumbel-Softmax函数来近似抽样操作,第l个候选层的近似概率定义为:
Figure BDA0002584166800000052
其中,Gl是独立同分布的Gumbel噪声,τ是Gumbel-Softmax函数的温度参数。当τ→∞时,概率分布Γ变为均匀分布,当τ→0时,概率分布Γ变为抽样函数。输出节点是搜索空间中所有候选层的概率加权和,因此输出节点可表示为:
Figure BDA0002584166800000053
根据上述公式即可使用常规的网络反向传播来更新结构参数。
步骤三、搜索量化位宽
此步骤利用超网络搜索每一个计算层的最优量化位宽。一般的网络模型结构搜索是一个二级优化问题,其目标是训练权重参数使得训练集上网络损失最小,训练结构参数使得验证集上网络损失最小。本发明不仅关注常规的网络损失,还关注网络的模型大小。因此,本发明的优化目标可以表述为:
Figure BDA0002584166800000054
其中,
Figure BDA0002584166800000055
Figure BDA0002584166800000056
分别表示网络在训练集和验证集的基础损失函数,w和α分别表示超网络中的权重参数与结构参数,
Figure BDA0002584166800000057
表示在结构参数为α时的最优权重参数。上式中,
Figure BDA0002584166800000058
是额外的存储开销损失函数,γ是
Figure BDA0002584166800000059
的权重,用于调整基础损失与存储开销损失的比例。存储开销损失用于促进网络模型的压缩率收敛到一个设定的预期值R,其定义为:
Figure BDA0002584166800000061
其中,d表示网络平均存储开销与预期值间的距离,t为该距离的阈值。当距离超过阈值时,网络存储开销超出可接受范围,训练过程优化网络存储开销;当距离小于阈值是,网络存储开销在可接受范围内,训练过程的优化目标不受存储开销影响。这种处理方式能够降低训练过程中量化位宽波动,在存储开销的可接受范围内,网络训练更加专注于优化网络性能。距离d的具体定义为:
Figure BDA0002584166800000062
其中,L是搜索块的个数,函数ck(·)是用来计算第k个搜索模块中候选层的权重参数存储开销,pk(·)为第k个搜索模块中候选层的概率分布,M是全精度网络的总模型大小。
在搜索过程中,在训练集上的权重参数、在验证集上优化结构参数,两个优化过程交替进行。同时在训练过程中逐步降低Gumbel-Softmax函数中的温度参数τ,从而逐步选出最优的量化位宽。在搜索完成后,在测试集上进行测试并选出网络性能最优的模型。利用最优模型,根据公式(5)计算每个搜索块所有候选层的概率,选择概率最大候选层的量化位宽作为原始计算层的量化位宽,从而得到混合精度量化网络。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种基于结构搜索的深度神经网络混合精度量化方法,其特征在于,包括以下步骤:
步骤一、为网络中每个卷积层和全连接层建立搜索空间,每个搜索空间均由一组与原始计算层功能、维度相同的量化计算层组成,所述量化计算层采用不同的量化位宽;
步骤二、采用结构参数描述搜索空间中的所有候选量化层的概率分布,并建立搜索模块,搜索模块的输出是搜索空间中所有候选层的概率加权和,利用搜索模块替换深度神经网络中的卷积层和全连接层,并保持其他功能层不变,即得到超网络;
步骤三、采用基于梯度的网络模型结构搜索算法,在训练集和验证集上交替训练超网络中的权重参数与结构参数;训练结束后根据结构参数计算每一个搜索模块中各候选层概率,选取最大概率候选层从而确定量化位宽。
2.如权利要求1所述的一种基于结构搜索的深度神经网络混合精度量化方法,其特征在于,所述交替训练的算法为:
Figure FDA0002584166790000011
其中,
Figure FDA0002584166790000012
Figure FDA0002584166790000013
分别表示网络在训练集和验证集的基础损失函数,w和α分别表示超网络中的权重参数与结构参数,
Figure FDA0002584166790000014
表示在结构参数为α时的最优权重参数,
Figure FDA0002584166790000015
是额外的存储开销损失函数,γ是
Figure FDA0002584166790000016
的权重,用于调整基础损失与存储开销损失的比例;存储开销损失用于促进网络模型的压缩率收敛到一个设定的预期值R,其定义为:
Figure FDA0002584166790000017
其中,d表示网络平均存储开销与预期值间的距离,t为该距离的阈值;距离d的具体定义为:
Figure FDA0002584166790000021
其中,L是搜索块的个数,
Figure FDA0002584166790000022
为搜索空间,
Figure FDA0002584166790000023
为第l个候选层,函数ck(·)是用来计算第k个搜索模块中候选层的权重参数存储开销,pk(·)为第k个搜索模块中候选层的概率分布,M是全精度网络的总模型大小。
CN202010676264.4A 2020-07-14 2020-07-14 一种基于结构搜索的深度神经网络混合精度量化方法 Pending CN111931906A (zh)

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)

* Cited by examiner, † Cited by third party
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 北京交通大学 一种对深度卷积神经网络进行多位宽量化的方法

Cited By (8)

* Cited by examiner, † Cited by third party
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