CN114118406A - 一种卷积神经网络的量化压缩方法 - Google Patents

一种卷积神经网络的量化压缩方法 Download PDF

Info

Publication number
CN114118406A
CN114118406A CN202111262226.5A CN202111262226A CN114118406A CN 114118406 A CN114118406 A CN 114118406A CN 202111262226 A CN202111262226 A CN 202111262226A CN 114118406 A CN114118406 A CN 114118406A
Authority
CN
China
Prior art keywords
tensor
quantization
neural network
layer
convolutional neural
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
CN202111262226.5A
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.)
Second Research Institute Of Casic
Harbin Institute of Technology
Original Assignee
Second Research Institute Of Casic
Harbin Institute of Technology
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 Second Research Institute Of Casic, Harbin Institute of Technology filed Critical Second Research Institute Of Casic
Priority to CN202111262226.5A priority Critical patent/CN114118406A/zh
Publication of CN114118406A publication Critical patent/CN114118406A/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/08Learning methods
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种卷积神经网络的量化压缩方法,解决了如何能够在提高压缩比的同时有效保留精度的问题,属于神经网络加速领域。本发明包括:S1、获取卷积神经网络的原始权重张量、输入特征张量以及量化点;S2、将原始权重张量输入至DP结构,DP结构对原始权重张量进行修改,输出修改后的原始权重张量;S3、利用量化点及量化函数对修改后的原始权重张量及除第一层外的原始输入特征张量进行定点量化;利用定点量化后的权重张量和输入特征张量替换原始权值张量和输入特征张量,得到量化后的卷积神经网络;S4、将训练数据输入至量化后的卷积神经网络,计算loss,利用反向传播和梯度下降更新DP结构的参数和原始权重张量,转入S2,进行下一轮,直至训练完成。

Description

一种卷积神经网络的量化压缩方法
技术领域
本发明涉及一种基于自适应梯度和权重投影的神经网络模型量化压缩方法,属于神经 网络加速领域。
背景技术
在机器学*** 台上的应用可以覆盖我们生活的方方面面。例如,许多工厂采用神经网络进行故障检测; 谷歌和特斯拉等公司正在培训他们的网络以取代司机;研究人员甚至设计了医疗诊断网络。
综上所述,神经网络的边缘部署已经成为工业生产和日常生活的需求,但现有的边缘 平台很难做到像云端服务器一样实现大型网络的高速训练和计算,所以就要求在这些模型 的部署平台上设计专门的加速器。这种部署可以概括为云和边缘两种。云部署需要将数据 从传感器传输到数据中心。模型的训练和推理在数据中心执行。边缘计算在数据产生地点 附近执行网络推理,模型可以在数据中心进行预训练。Marchisio等人将这些部署划分为 DNN的四个用例场景:(1)数据中心离线DNN培训,(2)数据中心推理,(3)边缘设备在线 学习,(4)边缘设备推理。
相比于边缘设备部署,云端部署有如下缺点:首先,需要上传大量的数据,这会导致 能量和延迟开销;第二,在许多情况下,如在偏远地区的观察任务中,以稳定和快速的方式连接物联网节点和云是不切实际的;第三,云和边缘之间的数据交换可能会导致隐私和安全问题。而如果将DNN部署到边缘平台,则会面临以下问题。首先大部分边缘设备无 法为DNN提供巨大的内存和计算资源,即使是计算量需求最小的网络也需要0.219 GFLOPs的算力。想要在计算量受限的边缘平台如FPGA、MCU等上实现网络的实时推 理,需要进行加速器流水设计来平衡带宽、存储以及计算单元的使用,提高吞吐量和硬件 利用率。其次,因为边缘平台是无法将一次推理的所有计算都在一个cycle中执行完成的, 所以在加速器设计中加入流水设计来实现计算的批处理。但是和云端平台不同,边缘平台 往往不会有大容量的内部存储器,所以我们需要使用外部存储器来进行计算过程中的权重、 特征图存储等。此时,数据读写和带宽是无法被忽略的问题。片外存储器读写意味着更多 的功耗,而其较小的带宽进一步限制了计算实时性。
为了解决这些问题,各种模型压缩技术被提出用于实现高精度的轻量化网络,包括网 络量化、知识蒸馏、剪枝等。量化是最有效的方法之一,因为它可以减少内存消耗和推理 时间,同时不引入导致复杂地址分配的稀疏性问题。其限制了神经网络的权重和激活值的 位宽,从根本上降低了模型的大小。同时更低的位宽意味着更低的计算消耗。在进行加速 器流水设计时,低比特数据对存储器带宽的要求更低,单位时间内传输的数据量更大,有 效提高了吞吐量以及单位时间内的硬件利用率。而且相比于神经网络的剪枝方法,量化不 会像剪枝一样修改模型分支,导致加速器设计中的地址索引的复杂化。此外,非结构化剪 枝会将稀疏性问题引入神经网络,其本质无法给网络推理加速。量化则显著的提高了模型 吞吐量。
通常,有两种线性量化方法:均匀量化和非均匀量化。它们的关键区别在于是否使用 了不等的量化间隔。均匀量化采用均匀间隔的点,并根据点的值将权重投影到这些点上。 很明显,使用均匀量化间隔的投影对网络的硬件实现更加友好。然而,单层DNN的权重服从钟形长尾分布。由于均匀量化对所有分布区间具有相同的分辨率,所以量化后的模型精度会有较明显的衰退。非均匀量化在权值分布的峰值区域附近赋予了更高的分辨率,因此会引入更多的量化点来区分密集分布的权值。该方法在计算开销较高的情况下,表现出了比均匀量化方法更好的性能。在没有特定编码策略的情况下,非均匀量化网络的计算量与全精度模型的计算量相差不大。
可以看出,现有的量化方法要么以牺牲精度为代价提高网络压缩比,或者以采用编码 方法来简化量化点的表示,实现精度和速度的折衷。本文提出一种基于自适应梯度和权重 投影的量化优化方法,能够在提高压缩比的同时有效保留精度,适合于边缘计算场景。
发明内容
针对如何能够在提高压缩比的同时有效保留精度的问题,本发明提供一种卷积神经网 络的量化压缩方法。
本发明的一种卷积神经网络的量化压缩方法,所述方法包括:
S1、获取卷积神经网络的原始权重张量、输入特征张量以及量化点;
S2、将原始权重张量输入至DP结构,DP结构对原始权重张量进行修改,输出修改后的原始权重张量;
DP结构包括DP层,DP层为每个原始权重张量初始化一个完全相同的四维张量,作为对应每个原始权值张量的影响因子,原始权重张量与影响因子进行四维卷积运算,得到与原始权重大小相同的新的权重张量,作为修改后的原始权重张量;
S3、利用量化点及量化函数对修改后的原始权重张量及除第一层外的原始输入特征 张量进行定点量化;利用定点量化后的权重张量和输入特征张量替换原始权值张量和输入 特征张量,得到量化后的卷积神经网络;
S4、将训练数据输入至量化后的卷积神经网络,计算loss,利用反向传播和梯度下降 更新DP结构的参数和原始权重张量,转入S2,进行下一轮,直至训练完成。
作为优选,所述DP结构包括多个DP层和ReLU函数,多个DP层堆叠,每两个DP 层之间***ReLU函数引入非线性特性。
作为优选,在所述S2中的DP结构还包括BN层,DP层得到的新的权重张量后,将 新的权重张量输入至BN层,BN层将新的权重张量调整为均值为0方差为1的分布,再 利用BN参数对分布进行动态调整,BN层的输出结果作为修改后的原始权重张量。
本发明的有益效果,本发明利用DP结构来量化卷积神经网络中的权值。DP结构由一个权重层和几个投影层组成。对DP结构的结果进行量化,获得量化后的权重,应用于 卷积神经网络中。在训练过程中,不直接使用来自原始网络的梯度来更新权值,而是将其 分解为子梯度,实现DP结构中投影层和权重层的基于梯度下降。DP结构的输出反映了 网络推理中权值的更新。即在经过DP结构后,浅层权重层投影到高维张量和复合梯度上, 更新过程更加灵活,在训练中表现出更好的调整能力。由于训练平面也被投射到更深的维 度中,所以本发明探索了更深的训练空间。本发明在训练过程中引入了更多的随机性,从 而提高了模型的性能。本发明能够在提高压缩比的同时有效保留精度,适合于边缘计算场 景。
附图说明
图1为DP层深度投影的前向计算的示意图;
图2为图1的简化计算示意图;
图3为DP层中W的梯度示意图;
图4为DP层中β的梯度示意图;
图5为现有通用权重架构;
图6为DP层的架构;
图7为DP层+BN层的架构。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地 描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他 实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组 合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本实施方式以典型的均匀量化为例,其量化过程如下:
Figure BDA0003325842170000041
Figure BDA0003325842170000042
ri=tanh(W) (1-3)
W’表示量化后的权重,round()表示自动取整函数,k表示量化bit数,ro表示过渡参数,此时权重被修改到[0,1]之间。
其梯度计算过程如下:
Figure BDA0003325842170000043
可以确定,预处理过程的梯度只与相应的权值相关,导致权值的下降模式固定,梯度 消失、过拟合等问题会影响量化模型的泛化。考虑到量化函数只能对[0,1]中的值起作用, 本实施方式使用公式(1-1)和公式(1-2)来维持缩放和投影模块,但将公式(1-3)替换为本实施方式的深度投影函数,如所示:
ri=DP(W) (1-5)
DP( )表示DP结构的处理函数;
本实施方式提出深度投影来改进量化的第一步也是最重要的一步:原始权值的预处 理。tanh函数可以通过减小每个数之间的差距来管理权值的离群值,但仍然存在过拟合和 梯度消失等问题。这是因为tanh是一个单调函数,这意味着它在数据范围内具有相似的趋势。而用于权值更新的梯度与计算后的权值本身相关连。因此,梯度训练缺乏随机性, 而随机性有利于网络的泛化。我们的方法作为一种空间混合方法来寻找更好的权重值分 布。最新权重ri由原始值和基于公式(1-5)的相关影响因子计算得到。因子张量作为一 个复杂的函数来改变权重分布的模式。DP结构结合影响因子和权重的更新,进行了比传 统方法更高维度的参数优化。DP结构的结果在卷积神经网络中作为权值输出,下降空间 更具随机性,增强了网络训练的随机性。在此过程中还引入了归一化,以缓解梯度消失和 过拟合,同时自然的限制参数范围。新的向后传播公式如下:
Figure BDA0003325842170000051
如上所述,DP结构将浅权层投射到高维张量。在DP层的详细设计方面,与tanh函数相比,DP层提供了每个ri和W之间的连接。也就是说,DP结构的每个权重对每个输 出都有贡献,它们的贡献依赖于可以通过梯度下降训练的因素。新权值的分布,无论是空 间上的还是统计上的,都可以在训练期间通过基于梯度的DP因子下降或DP输入来进行 微调。最简单的深度投影形式如下:
ri=∑(βj·wj) (1-7)
在公式(1-7)中,wj为权重,βj为相应的影响因子。在这种情况下,输出ri可以看 作DP权值的线性投影,并且βj在层中共享,而不是在卷积核中共享。对于每一层,我们 将生成一个向量列表,如{β0,β1,β2,……,βn},并且每个向量形式都是
Figure BDA0003325842170000052
可以看出,DP结构的权值矩阵与影响因子相乘并累计得到新的权值。因子在不同的 核之间共享,但同一输出矩阵中的每一个数字都有不同的计算参数。通过DP结构引入了更多的维度,因为在最终计算中使用的权重与DP结构的几个张量相连。同时采用了更深 层次的训练空间,因为传递给后权值的梯度被分解为因子来更新附加张量。
请注意,来自不同层的权重张量的大小通常是不相等的,这表明很难生成一个通用的 投影层,它能够连接到大小不变的不同权重张量。因此,DP结构中投影层和权重层的形 状是由卷积神经网络的原始权重形状决定的。因此,n的值应该等于一个卷积核中的权值 数,因为在投影过程中权矩阵的形状应该保持不变。同时,m的值也有相同的要求,以 保证ri与卷积核中所有权值的映射关系。
根据上述内容,如图1至图7所示,本实施方式的卷积神经网络的量化压缩方法,包括:
步骤一、获取卷积神经网络的原始权重张量、输入特征张量以及量化点;
步骤二、将原始权重张量输入至DP结构,DP结构对原始权重张量进行修改,输出修改后的原始权重张量;
DP结构包括DP层,DP层为每个原始权重张量初始化一个完全相同的四维张量,作为对应每个原始权值张量的影响因子,原始权重张量与影响因子进行四维卷积运算,得到与原始权重大小相同的新的权重张量,作为修改后的原始权重张量;
步骤三、利用量化点及量化函数对修改后的原始权重张量及除第一层外的原始输入特 征张量进行定点量化;利用定点量化后的权重张量和输入特征张量替换原始权值张量和输 入特征张量,得到量化后的卷积神经网络;
步骤四、将训练数据输入至量化后的卷积神经网络,计算loss,利用反向传播和梯度 下降更新DP结构的参数和原始权重张量,转入S2,进行下一轮,直至训练完成。
本实施方式中,DP结构的深度投影的正向计算类似于全连接层,计算开销巨大。即使模型的推理可以通过预先计算出DP结构的结果来规避巨额实时计算,但在训练过程的前向过程,每一层都需要进行额外的计算,训练时间变长。DP结构可以通过方便的计算 操作符转换为其他计算。具体来说,DP结构中的权值W、投影张量β和结果
Figure BDA0003325842170000061
都是四 维张量。深度投影的正向计算可以转化为复杂的卷积运算。原卷积核作为输入,影响因子 可视为新的卷积核。由此可见,由于不同的深度学习框架提供了快速的卷积运算符,DP 结构正向计算是可以被加速的。
本实施方式的训练过程采用反向传播,普通的基于tanh函数的下降在公式(1-8)中 展示,其中梯度只与相应的权值本身有关。DP结构中的梯度是多个值的和,并与训练中的各种参数相连,有效缓解了梯度消失的问题。
W′=R′i·(1-tanh(W)2) (1-8)
深度投影的梯度可以分为两部分:包括式(1-1)和式(1-2)的常规模块以及DP结构。 前者可采用STE(straight through estimator)进行计算。后者由两个参数的梯度组成:DP 结构的权重梯度和影响因子梯度。假设本实施方式已经有了ri的梯度,表示为r′i。因此梯 度方程如下
Figure BDA0003325842170000071
Figure BDA0003325842170000072
影响因子
Figure BDA0003325842170000073
的梯度为
Figure BDA0003325842170000074
DP层中原始权重张量wj的梯度为w′j,r′i表示ri的梯度,小标i表示第i个输出权重,小标j表示第j个输入权重,同时也是输出权重的通道数。
矩阵形式为
W′=R′i·βT (1-11)
β′=WT·R′i (1-12)
权重和影响因子梯度的最终形式显示出其实际值与导数之间的密切关系。即所有权重 的导数都与相应位置的所有因子相关,而因子的导数具有相似的特征。与传统模型的权值 更新不同,DP通过因子分解将导数值投影到高维空间来扩展梯度路径。正向传播过程就 像将高维张量投影到低维张量,而向后传播则在之前高维空间中优化低维参数。在这种情 况下,曾经直接传递给微调权重的梯度被分解,以更新灵活的DP参数,为基于梯度的训练提供更深、高维的空间。在此过程中取得了较好的效果。
由于正向计算可以写成卷积形式,向后计算也可以转化为卷积运算,并由公共框架中 的特定运算符进行加速。
W和β的梯度是许多子梯度的复合值。每个子梯度都是式(1-9)和式(1-10)的子项。虽然参数的更新是用高维张量进行的,但整个过程可以投影到低维空间,类似于普通网络中传统的基于梯度的下降。由于这只是图中操作的逆过程,
Figure BDA0003325842170000075
的梯度也是由W和β以及相应的子梯度值计算的各种子项的累积。例如,一个分项可以表述如下:
Figure BDA0003325842170000076
在公式(1-15)中,
Figure BDA0003325842170000077
表示更新后权重的一部分,而
Figure BDA0003325842170000078
表示原始权重的一部分(DP的 结果)。注意,两个参数的下标不相同。
Figure BDA0003325842170000081
是作为
Figure BDA0003325842170000082
梯度子项的偏移量。
Figure BDA0003325842170000083
的详细公式如下:
Figure BDA0003325842170000084
显然,
Figure BDA0003325842170000085
Figure BDA0003325842170000086
有关,而不仅仅是r′i,而且所有的梯度系数都是灵活的,在训练中可以进行微调。更新后的权重
Figure BDA0003325842170000087
的最终形式是
Figure BDA0003325842170000088
Figure BDA0003325842170000089
Figure BDA00033258421700000810
Figure BDA00033258421700000811
表示未更新前的权重张量,lr表示学习率;
与一般的更新公式(2-17)相比,方程(1-16)引入了更全面、更灵活的更新步骤,因为梯度是
Figure BDA00033258421700000812
的复杂组合。在训练过程中,
Figure BDA00033258421700000813
在每次迭代中对于不同层的不同权值的系数是不同的,显示出对每个权值的自适应调整能力。而且这种多样性不是人为设计的,而是根据网络优化的倾向进行自我优化。
本实施方式在量化网络中引入自适应梯度,网络梯度下降过程更弹性更有利于网络优 化。将权重的优化过程投影到更高维度的张量,拓展了网络的训练空间,使得梯度的下降 更加随机、平滑。
本实施方式中,DP结构包括多个DP层和ReLU函数,多个DP层堆叠,每两个DP 层之间***ReLU函数引入非线性特性。
本实施方式的DP结构采用多个DP层集成。DP越深,可进一步增强随机性和梯度 扩散。此外,投影层越多,计算量越大,训练速度越慢。需要谨慎地考虑投影层的集成。 尽管如此,DP层集成也有其优点。简单DP层只能实现W的线性投影。“更深的训练空间” 只是原始空间的线性扩展。其中不能添加非线性特征,因为无论特征是在BN块之前还是 之后引入,都会影响修改后模型的性能。验证性实验证明了这一结论。然而,这个问题可 以很容易地在集成模块中处理。在简单的DP层之后使用ReLU函数。就像激活函数在普 通模型中的工作方式一样,传播路径中的ReLU函数可以从非线性角度分解梯度。
本实施方式的DP结构还包括BN层,DP层得到的新的权重张量后,将新的权重张 量输入至BN层,BN层将新的权重张量调整为均值为0方差为1的分布,再利用BN参 数对分布进行动态调整,BN层的输出结果作为修改后的原始权重张量。
虽然优化后的反向传播路径可以缓解梯度消失/***和过拟合等问题,但这些问题在 骨干网络中仍然存在,特别是在深层。批处理归一化(BN)被提出来解决这个问题。在本 实施方式中,每个投影层将使原始权重层在其初始深度的基础上更深,从而增强这些障碍。 因此,也引入BN层来优化工作。
BN层在添加包括γ和β在内的缩放参数之前,将值的分布变为均值为零、方差为1的分布。我们采用BN的完全式。即首先将投影层输出的分布改变为在零附近离散。使用 γ和β来动态修改数据范围,然后对上面重塑的分布进行微调。注意γ和β在每个三维权 重张量中是共享的。这些操作提高了DP结构的训练效率,使每个权值矩阵找到合适的数 据范围成为可能。综上所述,BN层相当于其他量化方法中的裁剪函数。
此外,包括BN层在内的投影层在我们的骨干网络中无法转换成相应隐藏层,因此该 方法不会显式增加网络深度。将卷积运算转换为矩阵乘法运算,使添加投影层后的计算可 以转换为W·DP·Act。根据矩阵乘法的交换律,它不能写成W·Act·DP,从而证明了 上述结论。
本实施方式利用BN层改善深度投影的效果。BN层能从区间的角度调整整个权重层的分布还不改变其内部的相对分布关系,有利于抑制过拟合以及梯度弥散,使训练过程更加平滑。
本实施方式通过重新组合量化函数,可以将DP结构分支迁移到不同的量化方法中, 并进一步应用于不同的量化网络。DP分支不会影响网络的架构。唯一需要更新的是常规 的Conv2D操作符。由于我们的方法适用于卷积中的权值,因此将Conv2D函数初始化的权值替换为
Figure BDA0003325842170000101
并用量化函数进行量化,而DP参数的梯度在运算符中计算。DP的影响 因子的更新可以在网络更新后完成。事实上,在权值被置换后,模型中的参数已经不多了。
本实施方式在均匀量化和非均匀量化算法上都证明了本实施方式方法的有效性。不管 如何设置量化点,都可以使用本实施方法实现网络精度优化。
本实施方式在不改变网络前向推理的情况下,增加训练网络开销来优化量化后网络的 精度。因为不需要改变网络的推理过程,所以本实施方式的方法适应性很好,可以用于各 种网络以及各种任务。虽然增加了训练网络部分的开销,但是可以用深度学习框架中的快 速算子来改善训练的时间消耗。
本实施方式在CIFAR-10数据集上训练了ResNet-20。所有可迭代参数的初始学习率 为0.01,衰减因子为0.5,训练限制在800个epoch,Mini-batch为128,重量衰减设置为 5×10-4。在训练中没有采用数据增强技术。
表1展示了CIFAR-10数据集上三个位宽的不同量化策略的结果。表中,W4/A4表示将隐藏层的权值和激活值量化为4位的量化级别。第一层和最后一层的位宽由框架名称后面的数字表示。例如32-32表示该方法采用全精度的首尾层。
表1不同量化位宽的ResNet20在CIFAR-10上的精度比较
方法 W2/A2 W3/A3 W4/A4
DOREFA-NET(32-32) 88.2 89.9 90.5
PACT(32-32) 89.7 91.1 91.7
LQ-NET(MIXED) 90.2 91.6
BSQ(MIXED) 90.19 92.16 92.32
APoT(8-8) 91.0 92.2 92.3
DP_1(8-8) 88.66 91.49 92.24
DP_2(8-8) 88.46 91.18 92.24
DP_3(8-8) 85.5 88.7 90.82
对于ResNet20,尽管DP_1和DP_2仍然基于均匀量化,但在4比特的情况下,它显 示出与BSQ、APoT等非统一框架相当的精度。当采用3位量化级别时,DP_1比DP_2 和PACT、DOREFA-NET等均匀量化方法表现出更好的性能,即使在第一层和最后一层 保持较低的精度。当涉及到2位时,本发明所有的框架都显示明显的退化。本发明认为这 种现象是由于重要层的位宽较低和均匀量化层的局限性造成的。2位均匀量化的不动点在 特征提取和分类方面具有局限性。而DP_3的结果证明过度叠加DP层并不有利于最终的 结果。根据DP块的三种配置结果,本发明发现DP块并不是完全的优化器,只带来正面 收益。在投影过程中,正面影响和负面影响都被引入。在DP_3中,本发明方法的收益被 它的负面影响所超过,带来了精度退化,所以在集成多个DP模块之前需要进行验证性实 验。
本发明还在ResNet56上训练本发明的方法,如表2所示。结果证明了本发明的方法在更深的网络中依旧表现出了较好的泛化性,给均匀量化带来了精度提升。注意,所有APoT的方法均使用了渐进量化并使用训练好的全精度的模型来初始化,而本发明的方法均是从头开始训练,并没有使用渐进量化等技巧。
表2不同量化位宽的ResNet56在CIFAR-10上的精度比较
方法 W3/A3 W4/A4
APoT(8-8) 93.9 94.0
DP_1(8-8) 93.18 93.96
实验二:在CIFAR-100数据集上进行测试
本发明在CIFAR-100数据集上对ResNet20的DP改进的性能进行了评估。与 CIFAR-10实验相比,训练设置没有改变。即初始学习率仍然为0.01,衰减因子为0.5。最 大训练长度为800个epoch,mini-batch为128。重量衰减设置为5×10-4。在本发明的训 练中没有采用数据增强技术。
表3不同量化位宽的ResNet20在CIFAR-100上的精度比较
Figure BDA0003325842170000111
表3阐述了DP_1和DP_2的性能变化。引入2位量化后,精度仍存在显著下降。然 而,尽管CIFAR-100和CIFAR-10的结构大致相同,但当类别增加而相关训练图片减少时, 其准确性存在差距。换句话说,在CIFAR-100中,DP_1的性能超过了DP_2。本发明认 为这与训练图像有关。如前所述,CIFAR-100为单个目标提供了500个样本,而CIFAR-10 为一个目标提供了5000个样本。比较DP__2和DP_1的架构,更深层次的DP模块使得 模型难以拟合分类函数。对两个数据集的最佳分类精度的比较可以发现精度差距是存在 的,也就是说DP_2和DP_1的精度差距不是一个恒定的趋势,特别是在其他数据集中。
将BN层加入到DP层中,以缓解模型深度引起的消失梯度问题。由于DP结构作为 原始层的预处理函数,在反向传播中,深度连同梯度问题从骨干网的梯度传递到DP分支。 本发明测试了这些BN层在DP_1和DP_2中的影响。具体来说,本发明在CIFAR-10和 CIFAR-100上训练了这两种类型的模型在DP架构中有和没有BN层。
表4阐述了有无BN的性能变化。
由于DP_1的性能优于DP_2,本部分重点对该结构进行了不同位宽的实验,在DP_2上只进行了4位测试。结果显示在表6。模型在CIFAR-10上测试,去除BN层时,精度 会有相当大的下降。如前一节分析,CIFAR-10提供了足够的训练样本,在一定程度上导 致了过拟合问题。BN层可以通过在训练中充当正则化函数来缓解这个问题。此外,梯度 弥散也会影响没有BN约束的模型的结果。DP_1结果CIFAR-100仍可观察到轻微改善。 本发明推测,这种提升更多地与梯度有关,因为过拟合很少发生在这个数据集中。
表4 BN的影响
Figure BDA0003325842170000121
DP_2的结果显示了更大的差异。无论是在CIFAR-10还是CIFAR-100上测试,BN 层的缺失都会导致相当大的精度下降。对此的解释是,层越深,梯度消失的可能性越大。
综上所述,在本发明的实验中,DP_1及其扩展对量化后的骨干网络产生了积极的影 响。在确定DP模块的最终架构之前,需要进行验证性实验,考虑数据集、模型结构等相关因素的影响。尽管如此,DP_1仍是一个简单而有效的量化网络优化方法。
虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例 仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多 修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范 围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要 求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其他 所述实施例中。

Claims (9)

1.一种卷积神经网络的量化压缩方法,其特征在于,所述方法包括:
S1、获取卷积神经网络的原始权重张量、输入特征张量以及量化点;
S2、将原始权重张量输入至DP结构,DP结构对原始权重张量进行修改,输出修改后的原始权重张量;
DP结构包括DP层,DP层为每个原始权重张量初始化一个完全相同的四维张量,作为对应每个原始权值张量的影响因子,原始权重张量与影响因子进行四维卷积运算,得到与原始权重大小相同的新的权重张量,作为修改后的原始权重张量;
S3、利用量化点及量化函数对修改后的原始权重张量及除第一层外的原始输入特征张量进行定点量化;利用定点量化后的权重张量和输入特征张量替换原始权值张量和输入特征张量,得到量化后的卷积神经网络;
S4、将训练数据输入至量化后的卷积神经网络,计算loss,利用反向传播和梯度下降更新DP结构的参数和原始权重张量,转入S2,进行下一轮,直至训练完成。
2.根据权利要求1所述的卷积神经网络的量化压缩方法,其特征在于,所述DP结构包括多个DP层和ReLU函数,多个DP层堆叠,每两个DP层之间***ReLU函数引入非线性特性。
3.根据权利要求1或2所述的卷积神经网络的量化压缩方法,其特征在于,在所述S2中的DP结构还包括BN层,DP层得到的新的权重张量后,将新的权重张量输入至BN层,BN层将新的权重张量调整为均值为0方差为1的分布,再利用BN参数对分布进行动态调整,BN层的输出结果作为修改后的原始权重张量。
4.根据权利要求3所述的卷积神经网络的量化压缩方法,其特征在于,所述S3中,量化函数的量化过程为:
Figure FDA0003325842160000011
Figure FDA0003325842160000012
ri=DP(W)
W’表示量化后的权重,round()表示自动取整函数,k表示量化bit数,ro表示过渡参数,此时权重被修改到[0,1]之间,ri表示DP处理后的参数,DP()表示DP结构的处理函数。
5.根据权利要求4所述的卷积神经网络的量化压缩方法,其特征在于,S4中,DP层中原始权重张量wj的梯度w′j
Figure FDA0003325842160000021
影响因子
Figure FDA0003325842160000022
的梯度
Figure FDA0003325842160000023
Figure FDA0003325842160000024
r′i表示ri的梯度,小标i表示第i个输出权重,小标j表示第j个输入权重,同时也是输出权重的通道数。
6.根据权利要求5所述的卷积神经网络的量化压缩方法,其特征在于,S4中,更新的原始权重张量
Figure FDA0003325842160000025
为:
Figure FDA0003325842160000026
Figure FDA0003325842160000027
Figure FDA0003325842160000028
表示未更新前的权重张量,lr表示学习率。
7.根据权利要求6所述的卷积神经网络的量化压缩方法,其特征在于,S4中,反向传播过程中,卷积神经网络权重的梯度采用STE进行计算,DP结构的参数采用梯度下降法进行更新。
8.一种卷积神经网络的量化压缩装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现如权利要求1-7任一所述方法的步骤。
9.一种存储介质,所述存储介质中存储有至少一条指令,其特征在于,所述至少一条指令由处理器加载并执行以实现如权利要求1-7任一所述的卷积神经网络的量化压缩方法。
CN202111262226.5A 2021-10-28 2021-10-28 一种卷积神经网络的量化压缩方法 Pending CN114118406A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111262226.5A CN114118406A (zh) 2021-10-28 2021-10-28 一种卷积神经网络的量化压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111262226.5A CN114118406A (zh) 2021-10-28 2021-10-28 一种卷积神经网络的量化压缩方法

Publications (1)

Publication Number Publication Date
CN114118406A true CN114118406A (zh) 2022-03-01

Family

ID=80377349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111262226.5A Pending CN114118406A (zh) 2021-10-28 2021-10-28 一种卷积神经网络的量化压缩方法

Country Status (1)

Country Link
CN (1) CN114118406A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451771A (zh) * 2023-06-14 2023-07-18 中诚华隆计算机技术有限公司 图像分类卷积神经网络压缩方法及芯粒器件数据分配方法
CN116957045A (zh) * 2023-09-21 2023-10-27 第六镜视觉科技(西安)有限公司 基于最优传输理论的神经网络量化方法、***及电子设备
CN117574976A (zh) * 2024-01-16 2024-02-20 北京大学 一种大语言模型软硬件协同量化加速计算方法及***

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451771A (zh) * 2023-06-14 2023-07-18 中诚华隆计算机技术有限公司 图像分类卷积神经网络压缩方法及芯粒器件数据分配方法
CN116451771B (zh) * 2023-06-14 2023-09-15 中诚华隆计算机技术有限公司 图像分类卷积神经网络压缩方法及芯粒器件数据分配方法
CN116957045A (zh) * 2023-09-21 2023-10-27 第六镜视觉科技(西安)有限公司 基于最优传输理论的神经网络量化方法、***及电子设备
CN116957045B (zh) * 2023-09-21 2023-12-22 第六镜视觉科技(西安)有限公司 基于最优传输理论的神经网络量化方法、***及电子设备
CN117574976A (zh) * 2024-01-16 2024-02-20 北京大学 一种大语言模型软硬件协同量化加速计算方法及***
CN117574976B (zh) * 2024-01-16 2024-04-30 北京大学 一种大语言模型软硬件协同量化加速计算方法及***

Similar Documents

Publication Publication Date Title
CN107516129B (zh) 基于维度自适应的Tucker分解的深度网络压缩方法
CN114118406A (zh) 一种卷积神经网络的量化压缩方法
US11270187B2 (en) Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization
US20210150306A1 (en) Phase selective convolution with dynamic weight selection
US20190347537A1 (en) Efficient Convolutional Neural Networks and Techniques to Reduce Associated Computational Costs
US20190243610A1 (en) Asymmetric quantization of multiple-and-accumulate operations in deep learning processing
Chakrabarti et al. Backprop with approximate activations for memory-efficient network training
US20200389182A1 (en) Data conversion method and apparatus
Chernozhukov et al. Plug-in regularized estimation of high-dimensional parameters in nonlinear semiparametric models
CN115115905A (zh) 基于生成模型的高可迁移性图像对抗样本生成方法
Sterck et al. An adaptive algebraic multigrid algorithm for low-rank canonical tensor decomposition
CN110689045A (zh) 一种深度学习模型的分布式训练方法及装置
CN114943335A (zh) 一种三值神经网络逐层优化方法
Cowen et al. Lsalsa: accelerated source separation via learned sparse coding
KR20230056422A (ko) 재현 데이터를 생성하기 위한 방법 및 장치
CN112258410B (zh) 一种可微分的低秩学习网络图像修复方法
Gerdjikov et al. Multicomponent NLS-type equations on symmetric spaces and their reductions
EP4141751A1 (en) Error mitigation for sampling on quantum devices
Oh et al. Application of Deep Learning Model Inference with Batch Size Adjustment
DE102022120819A1 (de) Quantisiertes neuronales- netzwerk-training und - inferenzieren
US20230004351A1 (en) Method and device for additive coding of signals in order to implement digital mac operations with dynamic precision
US12033070B2 (en) Low resource computational block for a trained neural network
US11657282B2 (en) Efficient inferencing with fast pointwise convolution
Gürbüzbalaban et al. Fractional moment-preserving initialization schemes for training fullyconnected neural networks
Sarkar et al. An incremental pruning strategy for fast training of CNN models

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