论文翻译:Deep Learning with Low Precision by Half-wave Gaussian Quantization

**

Deep Learning with Low Precision by Half-wave Gaussian Quantization 半波高斯量化的低精度深度学习

**
//机器加自己,翻译了个大概,不正确的地方欢迎指正·!!

Abstract

研究了深度神经网络激活的量化问题。对广义二值量化方法的检验表明,该方法由两个函数逼近经典非线性双曲正切:一个分段常数sign函数,用于前馈网络计算,和一个分段线性双曲正切函数,用于反向传播在网络学习步骤(sign(x)+Htach)。然后讨论了广泛应用的ReLU非线性逼近问题。摘要提出了一种用于前向逼近的半波高斯量化器(HWGQ),并利用网络激活的统计特性和批处理归一化操作,证明了该方法的有效实现。为了克服由于使用了不同的前向和后向近似而导致的梯度不匹配问题,本文研究了几种分段后向逼近方法。所得到的量化网络(被称为HWGQ-Net)的实现显示,与以前可用的具有1位二进制权值和2位量化激活的低精度网络相比,其性能更接近于全精度网络,如Alex Net、Res Net、Goog Le Net和VGG-Net。

1.Introduction

深度神经网络已经在计算机视觉问题上取得了最先进的性能,如分类[21,33,34,11,12],检测[7,31,1]等。然而,在内存或计算资源都有限的现实世界中,它们的复杂性是广泛使用的障碍。这是由两个主要问题造成的:大模型尺寸(Goog-Le-Net[34]为50MB,Res-Net-101[12]为200M,Alex Net[21]为250MB,VGG-Net[33]为500M)和庞大的计算成本,通常需要基于GPU的实现。这引起了人们对内存占用和计算量更小的压缩模型的兴趣。
一些研究通过使用量化[3,26,24],低秩矩阵分解[18,6]、剪枝[10,9]、架构设计[25,16]等,解决了模型尺寸的缩减问题,最近,有研究表明,量化的权值压缩可以节省大量内存,将每个权值降低到1位,而分类精度的代价很小[3,26]。但是,由于在每个计算单元中实现的核心网络操作是权重和激活向量之间的点积,因此它在计算维度上的效率较低。用量化激活对二进制或量化权重进行补充,将可以通过逻辑和位计数操作来替换昂贵的点积。 如果除权重外,每个单元的输入都被二进制化或量化为低位,则应该有可能大幅提高速度。
然而,激活的量化要比权重的量化困难得多。例如,[4,30]表明,虽然可以用模型精度中的边际成本对权重进行二值化,但是对于大规模分类,例如在Image Net [32]上,激活的额外量化会带来不小的损失。 难点在于,激活的二值化或量化需要用不可微操作进行处理,这给反向传播算法带来了问题。 这在计算网络输出的前馈步骤和计算学习所需的梯度的反向传播步骤之间进行迭代。难点在于二值化或量化算子的阶跃响应在反向传播过程中会产生非常微弱的梯度信号,影响学习效率。到目前为止,已经通过使用前馈步骤中使用的算子的连续逼近来实现反向传播步骤来解决了该问题。然而,这造成了实现正向计算的模型和用于学习它的导数之间的不匹配,导致了次优模型。
在这项工作中,我们把在前馈步骤中使用的量化算子和在反向传播步骤中使用的连续逼近看作两个近似于每个网络单元的激活函数的函数。我们把这些称为激活函数的向前和向后近似。我们首先考虑在[4,30]中使用的二进制±1量化器,这两个函数可以看作是非线性激活函数双曲正切的离散和连续逼近,在经典神经网络工作中经常使用。但是,这种激活在最近的深度学习文献中并不常用,因为Re LU的非线性[28,36,11]已取得了更大的优势。 这恰恰是因为它产生了更强的梯度幅度。虽然双曲正切或sigmoid非线性正在压缩非线性并且大多数情况是平坦的,但Re LU是半波整流器,对正输入具有线性响应。因此,尽管双曲正切的导数几乎处处都接近于零,但Re LU在轴的整个正范围内具有单位导数。
为了提高量化网络的学习效率,考虑为Re LU设计前向逼近函数和后向逼近函数。为了离散化其线性分量,我们建议使用最佳量化器。通过利用文献中常用的网络激活和批归一化操作的统计数据,我们表明可以使用半波高斯量化器(HWGQ)来完成此过程,该过程不需要学习,并且计算效率很高。虽然最近的一些研究尝试了类似的想法[4,30],但他们设计的量化器不足以保证良好的深度学习性能。我们通过研究适当的向后逼近函数来解决此问题,以解决正向模型与反向传播导数之间的不匹配问题。本文提出用线性化、梯度削波或梯度抑制等方法来实现后向逼近。我们表明,将前向HWGQ与这些后向操作相结合会产生非常有效的低精度网络(与HWGQ-Net相比较),称为HWGQ-Net,其性能与连续模型(例如Alex Net [21],Res Net [12])更加接近 ,Goog LeNet [34]和VGG-Net [33],比文献中其他可用的低精度网络要好。据我们所知,这是首次使用单个低精度算法在如此众多的流行网络中取得成功。使用[30]的论点,HWGQ-Net(1位权重和2位激活)理论上可以实现〜32倍的内存和〜32倍的卷积计算节省。这表明HWGQ网络对于在实际应用中部署最先进的神经网络非常有用。

2. Related Work

减小模型大小是深度学习文献中的一个流行目标。 一种策略是利用广为人知的神经网络权重冗余[5]。例如,[6,18]提出了一种低秩矩阵分解方法,将一个大权重矩阵分解为几个可分离的小矩阵。另一种称为连接修剪的过程(剪枝)[10,9]包括删除预训练模型的不重要连接并重新训练,从而显示出模型的显着减少,而没有明显的损失误差。另一个模型压缩策略是压缩模型架构本身,例如,通过删除全连接层,使用小尺寸的卷积核等。许多最先进的深度网络,如NIN[25]、Goog Le Net[34]和Res Net[12],都依赖于这样的设计选择。例如,Squeeze Net [16]已显示出约50倍的参数减少,其精度可与Alex Net媲美。 此外,哈希函数也已用于压缩模型大小[2]。
模型压缩方法的另一个分支是权值二值化[3,30,4]或量化[26,24,8]。[35]使用定点表示来量化预训练神经网络的权重。 文献[8]表明向量量化能有4〜8倍压缩,具有最小的精度损失。[24]提出了一种基于跨网络层的最佳位宽分配的定点量化方法。[22, 26]的研究表明,即使在大规模分类任务中,对{−1,0,1}级的三元权值量化也可以实现16倍或32倍的模型压缩,精度损失较小。最后,[3]表明,在CIFAR-10上,过滤器权重可以量化为±1,而不会显着降低分类精度[20]。
由于激活的量化可以进一步提高速度并减少训练内存的需求,因此吸引了一些注意力[35、24、4、30、37、23、26]。[35,24]在网络训练后执行量化,避免了不可微优化的问题。最近,[4,30,37]试图通过在反向传播步骤中使用量化器函数的连续逼近来解决不可微优化问题。[23]针对梯度不匹配的问题提出了几种可能的解决方案[26,37],表明在反向传播过程中,梯度可以用少量位元进行量化。尽管其中一些方法在CIFAR-10上产生了良好的结果,但没有一种方法可以产生与大型分类任务中的全精度模型(例如Image Net [32])竞争的低精度网络。

3.Binary Networks

我们首先简要回顾深度网络的二值化所涉及的问题。

3.1. Goals

深度神经网络由多个单元层组成,这些单元可以大致模拟哺乳动物大脑中神经元的计算。 每个单元计算一个激活函数

在这里插入图片描述

其中在这里插入图片描述
是权值向量,在这里插入图片描述
是输入向量,g(.)是非线性函数,
在这里插入图片描述

图1.二进制sign(左)和半波高斯量化(右)激活的前向和后向函数。
卷积网络实现了这些单元的层次,
权重通常表示为张量在这里插入图片描述
滤波器通道数、宽度和高度分别定义为词c,w,h.
由于现代网络中有大量此类单元,因此(1)的结构是整体模型复杂性的主要因素。这种复杂性对于两个维度的应用程序来说可能是一个问题。第一个是存储权重w所需的大内存占用空间。第二个是计算大量点积w^T x所需的计算复杂性。 权重的浮点存储和浮点运算来计算点积的需求使这两个困难更加复杂,这在许多应用中并不实际。这激发了人们对低精度网络的兴趣[4,30,37]。

3.2. Weight Binarization
文献[30]提出了一种有效的策略来对卷积滤波器的权重W进行二值化。这包括通过二进制矩阵B∈{+1,-1}c×w×ℎ和比例因子α∈R+的乘积来近似用于计算所有单位的(1)的激活的全精度权重矩阵W,使得W≈αB。输入I的卷积运算可以近似为:
在这里插入图片描述

⊕表示无乘法卷积。文献[30]表明,当B^*=sign(W)且
在这里插入图片描述

时,可以实现最佳逼近。尽管二值权重极大地减少了模型的内存占用量,但它们不能完全解决计算复杂性的问题。I的二值化可以大大降低复杂度,从而使(2)中的点积可以通过逻辑和位计数操作实现[4,30]
3.3. Binary Activation Quantization(3.3 二进制激活量化)
在[30,4,37]中已建议使用二值激活。通常通过将(1)中的g(x)替换为非线性函数sign来实现:
在这里插入图片描述

如图1所示。通过最小化权重w的成本,这给用于学习神经网络的反向传播算法带来了困难。考虑单位(1)。 𝐶关于w的导数是
在这里插入图片描述

当g(x)被(3)替换时,导数在这里插入图片描述
几乎处处都为零,并且梯度幅度往往很小。结果,梯度下降算法不会收敛到成本的最小值。为了克服这个问题,[4]提出在反向传播步骤中使用替代函数,hard tanh,用在这里插入图片描述
表示。(解决梯度消失问题)该函数如图1所示,具有导数

在这项工作中,我们将(3)表示为(1)的激活非线性g(x)的前向逼近,将(5)表示为后项逼近。这些近似有两个主要问题。首先,它们近似于双曲正切(tanh),这是一个压缩非线性。压缩非线性(如tanh或sigmoid)的饱和特性强调了导数消失的问题,从而影响了反向传播的有效性。第二个是前向sign和后向sign的近似g(x)之间的差异在前馈模型和用于学习它的导数之间造成了不匹配。因此,反向传播可能非常不理想。这叫做梯度不匹配问题[23]。

4.Half-wave Gaussian Quantization

在本节中,我们提出了另一种量化策略,即ReLU非线性的近似值。

4.1. Re LU

Re LU是由[28]定义的半波整流器,
在这里插入图片描述

众所周知,与压缩非线性相比,它在(1)中的使用大大提高了反向传播算法的效率。因此,与上一节相比,将ReLU近似
在这里插入图片描述

图2在Alex Net的不同层的点积分布与二进制权重和量化激活(100随机图像)。
用于网络量化似乎更为明智。我们提出在前馈步骤中逼近(6)的量化器Q(X),并在反向传播步骤中提出合适的分段线性近似在这里插入图片描述

4.2. Forward Approximation

量化器是一个分段常数函数在这里插入图片描述

将量化间隔在这里插入图片描述
中的所有X值映射到量化级别在这里插入图片描述
,其中i=1,…,m.
通常,t1=-∞,tm+ 1 =∞。这概括了sign函数,可以将其视为1位量化器。如果
在这里插入图片描述

量化器表示为统一,Δ是恒定的量化步长。在降低精度的前提下,量化水平qi充当x的重建值。因为对于任何一个x,只要(7)中的量化指数x存储足够,就可以恢复量化水平qi,非均匀量化需要每次激活在这里插入图片描述
个存储位。但是,在算术运算中表示x需要更多 在这里插入图片描述
位,因为它们使用qi,而不是指数i。对于一个统一的量化器,其中Δ是可以作为证据(??)的通用比例因子,log2m位足够用于存储和算术运算。
最佳量化器通常是在均方误差意义上定义的,即
在这里插入图片描述

其中p(x)是x的概率密度函数,因此,(1)的点积的最佳量化取决于它们的统计量。虽然(9)的最优解在这里插入图片描述
通常是非均匀的,但通过将(8)的均匀约束加到(9)可以得到一个统一解 。给定点积样本,可以通过劳埃德算法[27]获得(9)的最优解。但是,这是一个迭代算法。由于每个网络单元必须设计一个不同的量化器,并且该量化器随反向传播迭代而变化,此过程的直接应用在计算上难以解决。
通过利用深度网络激活的统计结构可以避免此困难。例如,[15,17]注意到(1)的点积趋于具有对称的,非稀疏的分布,接近高斯分布。考虑到ReLU是一个半波整流器,因此建议使用半波高斯量化器(HWGQ),
在这里插入图片描述

在这里插入图片描述
(i=1,…,m), 在这里插入图片描述
(i=1,…,m+1),其中他t1=0, 是高斯分布的最佳量化参数。HWGQ的采用保证了这些参数仅取决于点积分布的均值和方差。但是,由于这些值在各个单元之间可能会有所不同,因此不能消除在网络上重复应用劳埃德算法的需求。
这个问题可以通过批处理归一化来减轻[17]。这是一种广泛使用的标准化技术,它强制每个网络层的响应具有零均值和单位方差。我们将此归一化应用于点积,其结果如图2所示,用于许多不同层的Alex Net单元。虽然这些分布不是完全高斯分布,而且它们之间有微小的差异,但它们都接近高斯分布,均为零均值和单位方差。因此,最佳量化参数在这里插入图片描述
在这里插入图片描述
在单位,层和反向传播迭代中大致相同。因此,劳埃德(Lloyd)的算法一次可以应用于整个网络的数据。实际上,由于所有分布都近似为零均值和单位方差的高斯分布,因此甚至可以从该分布的样本中设计量化器。在我们的实现中,我们从零均值和单位方差的标准高斯分布中提取了在这里插入图片描述
个样本,并通过劳埃德算法获得了最佳量化参数。在对点积进行批归一化之后,将所得参数在这里插入图片描述
在这里插入图片描述
用于参数化用于所有层的单个HWGQ。

4.3. Backward Approximation

由于HWGQ是一个阶跃常数函数,它的导数几乎处处为零。因此,(4)中的g(x)乘Q(x)的近似值导致了导数消失的问题。 如在第3节中所述,可以在反向传播步骤中使用分段线性函数Q(x),以避免弱收敛。总之,我们寻求一种分段函数,该功能可以很好地逼近Re LU和HWGQ。 接下来,我们考虑三种可能性。

4.3.1 Vanilla ReLU

由于(6)的ReLU已经是分段线性函数,因此将ReLU本身(表示为vanilla ReLU)用作后向逼近函数似乎是明智的。这对应于在(4)中使用导数
在这里插入图片描述

ReLU的正向和反向近似ReLu 的Q(X)和 在这里插入图片描述
如图1所示。注意,尽管后向近似是精确的,但它并不等于前向近似。因此存在梯度不匹配。 对于x>0,ReLU对Q(X)的近似具有误差|Q(X)-X|。这是由(𝑡𝑖+ 1−𝑞𝑖)为𝑥∈(𝑡𝑖,𝑡𝑖+ 1]的上界,但当𝑥∈(𝑡𝑚,∞)时是无界的,对于x的大值,不匹配特别大。由于这些是x分布尾部的值,因此ReLU与Q(X)中的尾部有很大的不匹配。当ReLU用于在(4)中近似g(x)时,对于大的点积,它可能会产生非常不准确的梯度。根据我们的经验,这会使学习算法不稳定。
这是鲁棒估计文献中的一个经典问题,离群值会不适当地影响学习算法的性能[14]。对于量化,假设qm以外的x值具有非常低的概率,则大的点积实际上是离群值。离群值缓解的经典策略是限制误差函数的增长率,在这种情况下为在这里插入图片描述
。因此,问题是x=qm以外的ReLU是单调的。为了解决这个问题,我们研究了另一种较慢增长率的后向逼近函数。

4.3.2 Clipped ReLU

第一近似表示为the clipped ReLU,它与vanilla ReLU在(-∞,qm]中相同,但超过x=qm为常数,
在这里插入图片描述

在这里插入图片描述

图3. clipped ReLU和log-tailed ReLU的反向分段激活函数。
在(4)中使用它来近似在这里插入图片描述
可以保证没有不匹配的尾巴。梯度仅对于间隔(0,qm]中的点积为非零。如图3所示,clipped ReLU对于HWGQ的匹配度要好于vanilla ReLU。在我们的实验中,ReLU削波被证明对于保证稳定的优化非常有用。这与之前的观察结果相似,即梯度削波阻碍了深度网络[29]的学习。

4.3.3 Log-tailed ReLU

理想情况下,随着量化级别m数量的增加,具有量化激活的网络应接近全精度网络的性能。(原始)Vanilla ReLU 近似方法对离群值的敏感性限制了低精度网络的性能。Clipped ReLU缓解了此问题,但由于削波间隔(qm,∞)中信息的丢失,它可能会损害网络性能。
一个中间解决方案是,在此间隔内使用某个函数,该函数的增长率介于Clipped ReLU(零导数)和ReLU(单位导数)之间。据称,一种可能性是强制尾部对数增长
在这里插入图片描述

其中 ,这称为log-tailed ReLU,如图3所示。它具有导数
在这里插入图片描述

当在(4)中使用近似在这里插入图片描述
时,log-tailed ReLU与幅度小于qm的vanilla ReLU相同,但是对大于qm的幅度给予减小的权重。它的行为类似于0<x<=qm的vanilla ReLU(单位导数),但是随着x增长到无穷大,收敛到clipped ReLU(零导数)。

5.Experimental Results

我们在Image Net (ILSVRC2012)[32]上评估了所提出的HWGQ-Net,它拥有约1.2万张来自1K个类别的训练图像和50K个验证图像。
在这里插入图片描述

评估指标为top-1 和top-5分类准确度。 测试了几种流行的网络:
Alex Net[21], Res Net [12], VGG-Net [33, 11]的变体, Goog Le Net [34]. 我们的实现使用Caffe [19],请参见https://github.com/zhaoweicai/hwgq上的源代码。

5.1. Implementation Details

在所有实验中,将训练图像的大小调整为256×256,并从图像或其水平翻转中随机采样224×224(对于Alex Net而言为227×227)裁剪。如第4.2节所述,在每个量化层之前应用批处理归一化[17]。对于具有二进制权重和完全激活的网络,丢失率[13]设置为0.1,但对于具有量化激活的网络,不使用任何丢失。所有网络都是使用SGD从头开始学习的。 除了标准随机图像翻转和裁剪外,没有使用任何数据增强。二值化权重不使用偏倚项。与[30]一样,具有量化激活的网络在批处理归一化之前使用最大池化。这称为层重排序。如[30,37]中所述,第一个和最后一个网络层具有完全的精度。评估仅基于中间224 x224裁剪。
在Alex Net [21]的实验中,小批量大小为256,权重衰减为0.0005,学习率从0.01开始。对于ResNet,我们使用[12]的参数。 VGG-Net的变体表示VGG-Variant,是[11]中模型A的较小版本,输入大小为56、28、14,只使用了3个卷积层,并去掉了“spp”层。最小批量为128,学习率从0.01开始。对于GoogLeNet [34],去除了侧向损耗的分支,在初始层中,最大池化被去除了,“减少” 的1×1卷积层的通道数增加到其后续的3×3和5×5个卷积层。权重衰减为0.0002,学习策略类似于ResNet [12]。对于所有测试的网络,动量为0.9,并且当小批量大小为256(128)时,每进行50K(100K)迭代一次,学习率就除以10,总共达到160K(320K)。在接下来的消融研究中,我们只探索了Alex Net、Res Net-18和vGG -Variant。在所有表和数字中,“FW”表示全精度权重,“BW”表示二进制权重,“Full”表示全精度权重和激活。
在这里插入图片描述

图4.𝑠𝑖𝑔𝑛(𝑥)和𝑄(𝑥)(HWGQ)激活函数的训练(细)和测试(粗)的误差曲线。

5.2. Full-precision Activation Comparison

在考虑正向量化激活函数𝑠𝑖𝑔𝑛(x)和𝑄(𝑥)的性能之前,我们比较了连续 在这里插入图片描述
(hard tanh)和 在这里插入图片描述
(Re LU)作为激活函数的性能。在这种情况下,没有激活量化,也没有前向/后向梯度不匹配。 表1列出了Alex Net的结果,使用〜𝑠𝑖𝑔𝑛(𝑥)和〜𝑄(𝑥)的相同设置进行公平比较。如从第3节和第4节的讨论所预期的那样,对于FW和BW网络, 在这里插入图片描述
实现的性能明显优于在这里插入图片描述
。这些结果超出了当包含量化时可获得的性能的事实,这表明𝑠𝑖𝑔𝑛(𝑥)不是量化函数的好选择 。另一方面,Q(x)有一个相当合理的上限。事实是,这些结果量化时可达到的性能这表明𝑠𝑖𝑔𝑛(𝑥)是不是一个好的选择呢量化函数。
𝑄(𝑥)从另一方面来说,有一个公平的合理的上限。

5.3. Low-bit Activation Quantization Results

接下来,我们比较了通过在上一节的设置中添加sign和的HWGQ Q(x)(后向Vanilla ReLU)量化器所获得的性能。表2总结了Alex Net,Res Net-18和VGG-Variant的结果。首先,请注意,由于5.1节中引入的层重新排序[30]的影响,BW的性能比表1中的Alex Net的BW +𝑄弱。接下来,将BW与FW +𝑄进行比较,前者仅对权重进行二值化,而后者仅对激活量进行量化,可以看出,权重二值化会导致精度的轻微降低。这与[30,4]的发现是一致的。 另一方面,激活量化会导致不小的损失。 这证实了后者是一个更困难的问题。
当权重二值化和激活量化相结合时,识别性能甚至进一步下降。对于Alex Net而言,BW +𝑠𝑖𝑔𝑛(后向hard tanh)的下降幅度要比BW +𝑄(后向vanilla ReLU)更大。
在这里插入图片描述

图5.可选的后向逼近的训练(细)和测试(粗)的误差曲线。

这些结果支持第3节和第4节的假设以及表1的发现。AlexNet的BW +𝑠𝑖𝑔𝑛和BW +𝑄的训练误差如图4所示。注意,Q(𝑥)的训练误差低得多,这表明它比sign(x)可以更好地逼近全精度激活。 但是,由于使用𝑄(𝑥)作为前向和Vallia ReLU作为后向逼近而导致的梯度不匹配使得优化有些不稳定。例如,训练期间BW +𝑄的误差曲线是颠簸的。对于更深的网络,此问题变得更加严重。 实际上,对于ResNet-18和VGG-Variant,BW +𝑄的表现要差于BW + sign。这可以由以下事实解释,即,sign的梯度不匹配问题比Vailla ReLU小。通过校正前向量化器𝑄(𝑥)与其后向逼近器之间的不匹配,可以进行实质性的改进。
5.4. Backward Approximations Comparison
接下来,我们考虑了第4.3节中后向逼近器的影响。 表3列出了不同近似值下的性能。
在所有情况下,权重都是二元的,并且HWGQ被用作正向逼近器(量化器)。“no-opt”是指对预训练的BW网络的激活进行量化。这不需要不可微的近似,但是不能解决量化误差。 我们试图通过重新计算所有批处理归一化层的均值和方差来最小化整个网络中累积误差的影响。即使在此之后,“no-opt”的准确性也要比完全激活网络低得多。
通过从零开始训练量化激活网络,可以获得实质性的收获。尽管Vailla ReLU作为Alex Net的向后逼近器具有合理的性能,但使用(12)的clipped Re LU和(13)的log-tailed Re LU可以获得更好的结果。图5显示,对于所有网络,Vailla Re LU的较大梯度不匹配都会在优化中产生不稳定性。 但是,对于诸如Res Net-18和VGG-Variant这样的更深层网络,这些不稳定性更为严重。这说明了表3中这些网络的clipped ReLU的性能急剧下降。请注意,在图5中,clipped ReLU和log-tailed Re LU使学习更稳定,并为所有用户提供了更好的最佳选择网络。 其中,log-tailed Re LU在Alex Net上的表现优于clipped ReLU,但在ResNet-18和VGG-Variant上则稍差。 为保持一致,在以下各节中使用了“ clipped Re LU”。

5.5. Bit-width Impact

下一组实验研究了激活量化对位宽的影响。 在所有情况下,权重都是二元的。 表4总结了Alex Net和ResNet-18的性能与量化级别数的关系。 前者在后者的基础上有所改善,但存在饱和效应。默认的HWGQ配置(也在所有先前的实验中使用)由两个非均匀的正量化级别加一个“ 0”组成。 在表中将此标记为“ 2”。 对于Alex Net,这种非常低的位量化足以实现接近全精度激活的识别率。对于此网络,使用七个非均匀级别的量化足以重现全精度激活的性能。然而,对于ResNet-18,低位激活和全精度激活之间存在更明显的差距。这些结果表明,增加量化级别数对ResNet-18比对Alex Net更有利。
在这里插入图片描述

表4还显示了通过统一量化获得的结果,并带有上标“ *”。 有趣的是,对于相同数量的量化级别,均匀量化器的性能仅比其非均匀量化器的性能稍差。但是,这并不是完全公平的比较,因为如4.2节所述,非均匀量化需要更多位用于算术运算。 对于相同的位宽,例如 “ 2”和“ 3 *”都需要2位表示来进行算术计算,均匀量化器明显优于非均匀量化器。

5.6. Comparison to the state-of-the-art

表51给出了许多流行网络体系结构的全精度和低精度HWGQ-Net之间的比较。 在所有情况下,HWGQ-Net均使用1位二进制权重,2位均匀HWGQ作为前向逼近器,并使用clipped ReLU作为后向逼近器。 与以前的消融实验相比,训练迭代次数增加了一倍,并且多项式学习速率退火(幂次为1)用于HWGQ-Net。表5显示,HWGQ-Net可以很好地近似所有流行网络,而与它们的复杂性或深度无关。 从全精度到低精度的top-1精度下降在所有网络中都是相似的(5〜 9点),这表明随着更好的全精度网络的出现,低精度HWGQ-Net将实现更高的性能。
从头开始训练具有二进制权重和低精度激活的网络是一个新的挑战性问题,只有以前的一些工作才能解决[4,30,37]。表6将HWGQ-Net与最新的XNOR-Net [30]和DOREFA-Net [37]进行了Image Net分类任务的比较。DOREFA-Net的结果是一个二元权重模型,2位激活,全精度梯度和没有预先训练。
在这里插入图片描述

表6.与最新的低精度方法的比较。还报告了与相应的高精度网络之间的Top-1差距。

对于AlexNet而言,HWGQ-Net在很大程度上优于XNOR-Net和DOREFA-Net。 对于ResNet-18,在XNOR-Net上也观察到了类似的改进,但没有DOREFA-Net的结果。 值得注意的是,高精度网络和HWGQ-Net(Alex Net为-5.8和Res Net-18为-7.7)之间的差距比XNOR-Net(-12.4 for Alex Net and -18.1 for Res Net-18)的差距和DOREFA-Net(对于AlexNet为-8.2)小得多。有力的证据表明,HWGQ是更好的激活量化器。 请注意,与[4,30,37]的一个或两个网络的实验相反,HWGQ-Net被证明在各种网络体系结构中表现良好。 据我们所知, 这是第一次用一个低精度的网络成功地模拟了许多流行的网络。

6. Conclusion

在这项工作中,我们考虑了以低精度训练高性能深度网络的问题。 这是通过为ReLU非线性设计两个近似器来实现的:前馈计算中的半波高斯量化器,以及反向传播步骤中的分段连续函数。 这种设计克服了流行的二进制量化程序的学习效率低下的问题。 为了最大程度地减小梯度不匹配问题,我们研究了几种后向逼近函数,包括clipped ReLU和log-tailed Re LU近似值。
对于各种最先进的网络,被称为HWGQ-Net的网络,在低精度的深度学习方面明显优于以前的网络。这些有希望的结果表明,HWGQ-Net对于在实际应用中部署最新的神经网络可能非常有用。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值