没有合适的资源?快使用搜索试试~ 我知道了~
5456基于加权熵的深度神经网络Eunhyeok Park、Junwhan Ahn§和Sungjoo Yoocanusglow@gmail.com,junwhan@snu.ac.kr,sungjoo. gmail.com首尔大学计算与内存架构实验室§设计自动化实验室摘要量化被认为是优化神经网络模型在移动和嵌入式系统中部署时推理成本的最有效方法之一,这些系统具有严格的资源约束。在这样的方法中,关键的是在严格的精度损失约束下提供低成本量化(例如,1%)。在本文中,我们提出了一种新的方法,量化的权重和激活的基础上加权熵的概念。不像最近的工作二进制权重神经网络,我们的ap-proach是多位量化,其中权重和激活可以量化的任何数量的位取决于目标的准确性。这有助于更灵活地利用不同量化级别提供的准确性-性能权衡此外,我们的计划提供了一个自动量化流程的基础上,传统的训练算法,这大大减少了设计时的 努 力 , 以 优 化 网 络 。 根 据 我 们 基 于 图 像 分 类(AlexNet,GoogLeNet和ResNet-50/101),对象检测(带有ResNet-50的R-FCN)和语言建模(LSTM网络)的实用神经网络模型的广泛评估此外,与现有的量化方案相比,我们提供了更高的精度与类似的资源约束,需要更低的设计工作。1. 介绍深度神经网络(DNN)在移动和嵌入式系统中越来越受欢迎[1,7,23]。这些系统的特点是在性能、能耗和内存容量方面的资源约束很紧。因此,今天将DNN部署到移动系统的典型场景是在服务器中训练这样的DNN,并仅在这样的系统中执行推理。因此,降低神经网络的推理成本是DNN广泛应用于移动通信领域的当务之急。胆汁和嵌入式系统。降低神经网络的推理代价最有效的方法之一是降低计算精度。最近的研究表明,DNN的推理可以通过使用8位甚至更窄的位宽表示权重和激活来准确完成,而不是传统的32-/64位浮点数[22]。此外,还有一些积极的研究旨在通过积极量化权重和/或激活以进行推理来进一步降低计算和数值的精度[4,12,17,19,25]。这样的渐进量化方法是有前途的,因为它们可以通过利用专用硬件加速器的好处,例如,在推理期间实现神经网络的执行时间、能量消耗和存储器容量要求的显著减少。NVIDIA P40和P4 [2]支持8位整数算术或Stripes [14],其提供与位宽成比例的执行时间和能耗。然而,现有的量化技术有两个限制,这可能会阻碍这种技术在移动和嵌入式系统中的实际应用。首先,现有的方法缺乏支持灵活的输出质量和推理性能之间的权衡。移动和嵌入式系统通常在资源和推理精度方面都有严格的约束,这需要设计空间探索以在输出质量和推理性能之间进行权衡。然而,现有的一些方法不够灵活,无法利用这种贸易-脱离关系。例如,二值化权重[4,19,25]的技术会严重损失深度网络的输出质量,如果目标系统允许非常小的准确性损失,则无法应用。百分之一。其次,即使现有的量化技术支持这种权衡,它们需要修改的目标网络,以实现良好的量化质量和/或应用量化的网络的一部分。由于这一点,这样的技术在设计时可能需要大量的努力,这可能最终阻止它们的广泛采用。此外,现有的方法,如XNOR-5457Net[19]和DoReFa-Net[25]不对第一层和最后一层应用量化,以避免过度的精度损失,这可能会限制精度降低的好处。为了解决这两个局限性,我们提出了一种新的量化方案的基础上加权熵的概念。我们的方法解决了上述两个限制,同时量化权重和活动。我们的贡献可归纳如下:1. 我们提出了一种新的多位量化方法的权重和激活。与二进制量化方法不同,我们的方案能够为每个权重/激活的任何数量的比特产生量化结果,从而实现更大的灵活性,以利用精度-性能权衡。2. 我们的方案有利于整个神经网络的自动量化。它不需要对网络进行任何修改,除了激活量化,因此,它可以很容易地集成到传统的神经网络训练算法中。3. 我们基于各种实际的神经网络设计,包括AlexNet[15], GoogLeNet [21], ResNet 50/101 [11] , R-FCN [5]和用于语言建模的LSTM [24],证明了我们方法的有效性。2. 相关工作在本节中,我们简要回顾了DNN推理的量化方法的先前工作Vanhoucke等人[22]对神经网络的8位和32位实现进行了比较。Miyashita等人[17]提出在以2为底的对数表示(称为LogQuant)中对权重和激活进行优化,并表明4位权重和5位激活对AlexNet的准确性损失约为1.7%LogQuant在小于8位的位宽中显示出其潜力,但它显著降低了AlexNet在4位以下的准确性已经有几种方法试图将权重和/或激活分成两个(即,二进制)或三进制(即,三元)水平。Hwang和Sung[12]表明三元权重(即,−1、0和+1)和3位激活可以保持字符和音素的准确性识 别 任 务 。 Courbariaux 等 人 [4] 提 出 了 一 种 称 为BinaryConnect的二进制权重网络,并在CIFAR-10和SVHN 等 小 规 模 模 型 上 证 明 了 其 良 好 的 准 确 性 。Rastegari等人[19]提出了一种二进制网络(XNOR-Net的二进制权重版本),它在AlexNet上不会出现准确性损失。Zhou等人。[25]提出了DoReFa-Net,它将线性量化应用于归一化权重和有界激活,并在AlexNet中使用1位权重和2位激活时显示出6%的top-1准确度损失。他们还报告结果具有1位权重和k位激活,这允许我们利用精度损失和性能/能量/模型大小之间的权衡关系。如前一节所述,我们的方法相对于先前提出的量化方法的主要优点是(1)通过多位量化利用精度-性能权衡的灵活性,以及(2)在不修改现有网络的情况下对整个网络进行量化。在这方面,大多数二元/三元权重方法甚至不能提供前者。虽然XNOR-Net和DoReFa-Net提供了前者,但它们仍然无法实现后者。XNOR-Net需要通过在卷积层之前放置归一化和激活层来进行通道缩放和层重新排序。DoReFa-Net在现有网络中增加了有界激活函数XNOR-Net和DoReFa-Net都没有将其量化方案应用于网络的第一层和最后一层,以避免明显的这种限制导致在设计时修改网络的额外努力、那些全精度层的高性能/能量开销以及支持用于快速执行那些层的大规模全精度硬件单元的额外硬件成本3. 动机最近的研究表明,卷积层或全连接层中的大多数权重都集中在零附近,导致钟形分布[10]。激活值的分布是相似的,除了激活值由于ReLU层而总是非负的现有的量化方案是基于这样的字符- istics明智地分配量化级别。例如,基于LogQuant的量化(或LogQuant)通过将更多量化级别分配给近零值来利用除了权重/激活值的分布之外,我们还进行了一个关键观察,即在量化期间还应考虑每个权重/激活值对最终结果的影响。由于量化方法的目标是用最少的量化级别使精度降低最小化,因此考虑量化每个值的实际影响允许我们开发更有效地使用每个量化级别的新方案。更具体地说,我们的见解可以总结如下:1. 在权重和激活分布中,近零值占主导地位;然而,它们对输出的影响很小(例如,非常小的权重中的误差可能不会对卷积的结果产生太大影响)。因此,与典型的线性或基于卷积的量化相比,期望将更少的量化级别(简而言之,贯穿本文的级别)分配给近零值。5458相对标度[log(计数)]原始权重分布线性量化−0.4 −0.3 −0.2 − 0.1 0.1 0.2 0.30.4权值对数量化−0.4 −0.3 −0.2 − 0.1 0.1 0.2 0.3 0.4权值加权量化−0.4−0.3−0.2−0.10.10.20.30.4− 0.4−0.3−0.2−0.10.10.20.30.4图1. 各种量化方案的比较。权重从第二个3× 3卷积层中提取,GoogLeNet [21]. 每个量化方案被赋予24个级别。 我们用20。5作为LogQuant的基础,并优化线性量化和LogQuant,以最小化总体激活的L2范数。2. 大的权重和激活对输出质量有显著的影响,但它们并不常见。因此,还期望将少量的等级分配给那些值,以便最大化每个量化等级的效用。3. 不属于上述两个类别的值具有相对较大的人口数量,对输出质量有明显的影响。因此,与传统量化方法相比,为这些值分配更多级别是有意义的。图1说明了现有和建议的方法如何为给定的权重分布 分 配 级 别 而 线 性 量 化 根 本 不 考 虑 权 重 分 布 ,LogQuant将太多的级别分配给近零值。对输出质量的影响更高,我们根据经验定义第n个聚类中第m个权重的重要性i(n,m)w(n,m)与重量,即,i(n,m)=w(n,m)2.基于每个权重的重要性值,我们得到用于评估聚类结果的质量的度量量化结果)基于加权熵[8,9]。加权熵的概念源于熵的概念在物理学中,它的设计考虑到了数据的重要性。对于一组聚类C0,.,CN−1,加权熵S定义为:S= −∑In PnlogPn(1)n哪里|C n|因此,我们的方法显示了更集中的分布在不太小也不太大的值上进行测试。Pn=K(相对频率)(2)|C k|通过定量评估,我们稍后将表明,这种风格的量化实现了更高的效率比∑mi(n,m)In=|C n|(representative importance)(3)常规方案。4. 基于加权熵的量化4.1. 权重量化我们的权重量化方法的高级思想是将权重分组到N个聚类中,以便对于重要的权重范围具有更多的聚类,为每个聚类分配一个代表值,并将每个聚类中的所有权重为此,我们必须能够评估聚类质量,并找到一组优化这种质量度量的聚类作为第一步,我们定义了一个定量指标,用于评估单个权重的重要性(或权重对输出质量的影响)。由于较大的权重具有在这个等式中,Pn表示有多少权重在聚类Cn的值范围内,而In是聚类Cn中所有权重的平均重要性。粗略地说,大权重的聚类通常具有高In但低Pn(即,高重要性但低频率),而小权重的簇将具有高Pn但低In(即,高频率但低重要性)。 根据我们的实验,找到最大化S的聚类结果会产生量化,其水平被稀疏地分配给太小或太大的值,正如我们在图1中所示。因此,我们将权重量化问题定义如下:问题1(权重量化)。给定训练数据(即,小批量输入)和期望的对数N位精度(即,聚类数N),我们的方法旨在发现相对标度[log(计数)]相对标度[log(计数)]相对标度[log(计数)]∑权值权值5459KKK我i=ck我我算法1权重量化1:函数OPTSEQUIPMENT(N,w)2:对于k= 0到Nw−1,3:ik←fi(wk)4:s←sort([i0,···,iNw−1])5:c0,···,cN←初始簇边界6:当S增加时,7:对于k= 1到N-1,8:对于c′∈ [ck−1,ck+1],9:S′←S,其中c0,···,c′,···,cN10:如果S′>S,则11:ck←c′12:对于k= 0到N−1,(1)每个聚类具有相同数量的权重,(2)Ci+1中的权重比Ci中的权重具有更高的重要性。这是通过将排序数组s划分为N个片段并将每个片段分配给每个集群来实现的。为例如,如果s=[1, 2, 3, 4]并且N=2,则我们设置c0=0,c1=2,且c2=4,因此C0={1, 2}且C1={3, 4}。从初始集群边界开始,我们迭代地在新的集群边界上执行增量搜索(第6-11行)。在每次迭代中,对于每个聚类Ci及其边界ci和ci+1,我们使用二分法将ci从ci−1扫描到ci+1。对于每个聚类边界候选日期c′,我们重新计算聚类Ci-1和Ci,它们是唯一受新界限影响的-ary,并且仅当新的总体13:Ik<$∑ck+1−1s[i]/(ck+1−ck)加权熵S′我比目前的高。14:rk←f−1(Ik)15:bk←f−1(s[ck])16:bN←∞17:return[r0:rN−1],[b0:bN]十八:functionQUANTIZE(wn,[r0:rN−1],[b0:bN])19:返回r k,用于k s. t。bk≤wnbk+1<• N:层数• Nw:权重• wn:第n个权重的值• in:第n个权重• fi:重要性映射函数• ci:聚类边界指数• S:总加权熵最大化加权熵的N个权重聚类。聚类的代表值对应于权重量化中的级别。我们对这个问题的解决方案如算法1所示。注意,该算法仅示出了非负权重的加权量化。这是因为,由于加权熵理论的局限性,我们不能得到一个聚类结果,既有负的和非负的代表值。因此,我们将权重分为两个负和非负组,并应用我们的算法-rithm,每组N/2个水平在算法的开始,我们计算IM-每种重量的重要性(第2行和第3行)。这通过重要性映射函数fi来完成,其根据权重wk计算重要性ik。在这项工作中,我们根据经验选择一个平方函数fi(w)=w2来计算每个权重的在获得重要性值之后,在所有权重中,它们按其大小的递增顺序排序(第4行)。基于排序的重要性值,该算法in-i-在获得新的聚类边界之后,我们计算每个聚类Ck的代表重要性Ik(第13行)。我们获得了聚类Ck的代表性权重值rk(第14行)。为了识别哪些权重属于哪个聚类,聚类边界处的权重值bk,也被识别用于权重量化(第15行),即,聚类Ci包含满足bk≤wbk+1的权重w。<函数QUANTIZE实现这种量化方法。也就是说,给定权重wn,它产生相关联的聚类ck的代表性权重值rk。基于加权熵的聚类可以提供满足我们在第3节中对量化的要求的水平。在考虑数据重要性的同时,最大化加权熵优化量化结果朝向最大化熵因此,我们的方法通过考虑其较低的重要性将许多接近零的值分组到一个大的集群中。大但不常见的值也被分组到一个集群中,该集群覆盖了广泛的权重值。4.2. 激活量化激活量化需要与权重量化不同的方法。虽然权重在训练后是固定的这使得激活不太适合通过基于聚类的方法进行量化,这需要稳定的值分布。根 据 我 们 的 研 究 , 基 于 LogQuant 的 量 化(LogQuant)可以有效地用于激活量化。LogQuant还有利于最小化实施成本(例如,专用硬件加速器),因为它可以将乘法转换成廉价的逐位移位操作(即,w×2x=w<$x)。然而,原始的LogQuant方法不提供有效的搜索策略,例 如 , 用 于 探 索 最 佳LogQuant 参 数 ( 即 , 基 和 偏移)。将群集边界索引c0到cN1(第5行)进行量化,集群 确切地说,集群Ci被定义为包含第c个权重,1簇边界索引确定哪些权重属于数组s中的第(ci+1−1)个权重(从零开始的索引)。54601算法2激活量化函数BINARY。TOLOGQUANT(an)激活量化作为整流线性单元(ReLU)激活函数的一部分,其被描述为函数回球16×log2an−fsr步骤算法2中的WEIGHTEDLOGQUANTRELU。其次,提出了一种新的参数搜索方法函数LOG QUANT TO BINARY(索引)如果index=0,则返回0其他return216×(fsr+ step·( inde x− 1))函数WEIGHTED LOG QUANT RE LU(an)如果n为0,则返回0<水平 idx ←BINARYTOOLOGQUANT(a n)如果level idx≤0,则返回 0否则,如果level idx≥N- 1,则returnLOG QUANTTO BINARY(N−1)其他returnLOGQUANTTOBINARY(level idx)函数REPR IMPORTANCE(index)returnLOG QUANTTO BINARY(index)功能 RELATIVE FREQUENCY(index,a)对于k= 0到Na−1,level idxk← BINARYTOOLOGQUANT(an)如果index= 0,回,回,回|{an|l ev elidxn≤0}|如果index=N- 1,回,回,回|{an|l ev elidxn≥N−1}|其他回,回,回|{an|l ev elidxn=ind e x}|• N:层数• Na:激活• an:第n次激活• fsr:最佳fsr值(整数)• step:最佳步长值(2的倍数)我们的激活量化方法包括两部分:LogQuant的修改版本和LogQuant参数的快速搜索策略。算法2显示了我们修改后的LogQuant方法中使用的关键函数。首先,我们修改了原来的LogQuant方法,以提高整体的准确性和稳定性。与传统LogQuant不同,我们采用更小的对数基(1/8及其(1/16及其倍数),在算法2中分别spond到 我们将所述第一量化级别分配给零激活,并且将其它级别分配给对应的对数标度。例如,当我们执行激活的3位量化时,第一财政司司长第一个级别被分配为值0,第二个级别被分配为值216,第三个级别被分配为值2fsr+ step一比二16等等。为简单起见,我们将对于我们的LogQuant变体,它以最小化输出质量损失的方式确定基数和偏移量。我们的想法是利用加权熵最大化的概念在我们的权重量化。算法2示出了计算代表 重 要 性 I ( REPR IMPORTANCE ) 和 相 对 频 率 P(RELATIVE FREQUENCY)的函数,这是用于计算加权熵的两个成分。在训练期间,为了在LogQuant下最大化给定的每层激活的加权熵,我们对“fsr”和“step”应用穷举搜索,因为可能的在我们的实验中,16个碱基和大约500个偏移量)。4.3. 将权重/激活量化集成到训练算法我们将建议的权重/激活量化到传统的神经网络的训练算法。由于权重在每个小批量期间不改变,因此可以简单地通过在权重更新之后在每个小批量结束时量化权重来应用权重量化。请注意,我们在权重更新过程中使用全精度权重,与其他以前的工作一样[19,25]。另一方面,激活量化必须应用于每个前向/后向通道,因为每个通道具有其自己的激活集合。对于每一层,我们首先执行前向传递,并应用普通的ReLU(没有LogQuant)。由此产生的激活被送入我们的算法进行LogQuant参数搜索。然后使用来自算法的最佳基/偏移组合通过使用WEIGHTEDLOGQUANTRELU来对激活进行建模量化的激活被传递到下一层,以对网络中的其余层执行相同的过程。在我们的训练框架下,任何网络都可以自动受益于我们的量化方案,而无需修改网络。这使得对整个神经网络应用积极量化变得更加容易,这有助于大大降低网络的推理成本。考虑到现有方法在设计时需要网络修改和/或大量手动工作,因此在这方面不太实用。5. 实验我们在神经网络应用的三个代表性领域评估我们的方法:图像分类、对象检测和语言建模。我们修改Caffe[13],以在所有网络之上实现我们的技术+15461前五名80.2%前1名57.1%Top-5Top-1AlexNet前五名88.9%Top-5Top-1GoogLeNetTop-5Top-1前五名92.2%前1名75.3%前五名92.9%前1名76.4%ResNet50ResNet101%8.7前16名除 了 语 言 建 模 , 我 们 使 用 TensorFlow[3] 来 实 现LSTM。我们约束的精度损失为1%,目的是找到量化配置,使最小的位宽,同时满足精度约束。为了简洁起见,我们引入符号(x,y)来表示量化配置中的权重x的位宽和激活y的位宽在这个符号中,“f”表示完全精度。例如,(1,f)表示1位权重和全精度激活。5.1. 图像分类:AlexNet、GoogLeNet和ResNet50/101对于图像分类任务,我们通过量化两个广泛使用的CNN来评估所提出的方法:AlexNet [15] GoogLeNet[21](均来自Caffe框架[13])和ResNet 3[11]。为了将我们的量化方案应用到这些网络中,我们在批量大小为256(对于AlexNet)、64(对于GoogLeNet)或16(对于ResNet-50/101)的情况下结合我们的权重/激活量化方案进行微调。在GoogLeNet和ResNet的情况下,由于GPU内存容量不足,批量大小受到限制;这可能增加总体精度损失。我们使用ILSVRC 2012数据集,其中包含1.28 M图像用于训练和50K图像用于测试。在六个时期的微调中,我们首先将初始学习率设置为0.001,并每两个时期将其降低10倍在下面的小节中,我们将介绍两种类型的评估结果。首先,我们通过量化整个网络(全网络量化)来证明我们方法的有效性,这在以前的工作中是不可能的。其次,我们将我们的方案应用于除第一层和最后一层之外的所有层(部分网络比较),并将我们的方案与之前在网络的第一层/最后一层使用全精度的量化方法进行5.1.1全网量化图2比较了通过我们的技术量化的CNN的测试精度。如图所示,量化的CNN在限制较少的位宽约束下实现更高的准确性。对于AlexNet,使用最少比特同时满足1%前5个精度损失约束的最佳量化配置是(3,6),(4,4),(4,5)和(4,6)。例如,(4,4)减少了权重和激活的位宽,87.5%(=1- 4/ 32)的精度,前5名的精度损失小于1% 此外,我们的方法提供了低得多的等精度位宽相比,以前的工作。例如,LogQuant[17]实现了75.1%的前5名准确度,2修改后的caffe代码可在https://github.com/EunhyeokPark/script_for_WQ上获得3基本模型可在https://github.com/KaimingHe/dee上获得p-剩余网络80 6075 5570 5065 4560 4090 8080 7070 6060 5050 40100 9090 8080 7070 6060 5050 40图2.微调后量化CNN的前1和前5精度虚线表示使用全精度算法的基线网络的精度。4位权重和5位激活; Qiu et al.[18]使用8位权重和激活,并显示出76.6%(53.0%)的前5名(前1名)准确率。我们的方法达到了类似的前5名/前1名准确度水平75.49%/51.37%),只有2位权重和3位激活。对于GoogLeNet,在1%的精度损失约束下,我们的方法可以将权重和激活分别降低到4 -5位和6位,如图2所示。我们还观察到,GoogLeNet遭受更多的准确性损失比AlexNet在相同水平的位宽约束。我们认为这是因为GoogLeNet的模型大小换句话说,GoogLeNet在计算过程中比AlexNet更频繁地重用每个权重,这使得GoogLeNet中权重精度降低的影响更加明显。即便如此,与全精度实现相比,我们的方法仍然在模型大小和计算量(以位为单位)方面实现了显着(超过5倍)减少对于ResNet,据我们所知,本文是第一个报告量化整个网络的结果,其深度高达50和101层。即使在权重的渐进量化之后,两个网络也保持相似的准确度水平,例如,3比特。然而,我们观察到更深的网络需要更多的比特用于激活,例如,6比特,可能是因为激活的量化误差在更深层上累积。前5名准确度[%]前5名准确度[%]前5名准确度[%](2,f)(3,f)(4,f)(5,f)(f,2)(f,3)(f,4)(f,5)(f,6)(二、二)(二、三)(2,4)(二、五)(f,2)(f,3)(f,4)(f,5)(f,6)(2,f)(3,f)(4,f)(5,f)(三,三)(三、四)(三、五)(三、六)(1,f)(2,f)(3,f)(4,f)(5,f)(f,2)(f,3)(f,4)(f,5)(f,6)(1、2)(1,3)(1、4)(二、二)(二前1位准确度[%]前1位准确度[%]前1位准确度[%]5462Top-5Top-1加权量化XD前5名准确度[%]85 65前五名80.2%806075前1名57.1%557050654560 40图3. 应用于AlexNet的量化方法的准确性比较。“加权量化”表 示 我 们 的 方 法 , 而 “X” 和 “D” 分 别 用 于 XNOR-Net 和DoReFa-Net。虚线表示基线全精度网络的精度。5.1.2部分网络量化在本小节中,我们将我们的量化方法的性能与两种最先进的方法进行比较:[19]第25话,为了公平比较,我们将我们的量化方案应用于除第一层和最后一层之外的所有请注意,比较仍然不是苹果对苹果,因为(1)以前工作的(最佳可用)结果仅限于1位权重和k位激活,而我们的包括k位权重和激活,以及(2)XNOR-Net和DoReFa-Net都修改了网络,而我们的不排除ReLU层(在激活量化中)。图3显示了我们的方法与XNOR-Net和DoReFa-Net的比较。而具有二元权重的XNOR-Net,即,(1,f),示出了具有1比特权重的非常小的精度下降,其限于二进制量化和全精度激活,这在严格的精度损失约束下不够灵活以具有二进制权重和激活量化的XNOR网络,即,(1,1),使精度降低太多,而我们的方法提供了满足精度约束的多比特量化。DoReFa-Net通过允许激活的多位量化来缓解一些这样的限制。然而,在类似的配置下,我们的方案与2位权重和3位激活优于DoReFa-Net与1位权重和4位激活0.69%的前1精度。总之,我们的方法便于更灵活地选择具有比先前工作更小的等精度位宽的量化配置,这对于在严格精度约束下需要有效推理的系统非常有用。5.1.3压缩分析表1比较了现有的方法和我们在压缩的上下文中。由此,我们观察到以下情况。首先,XNOR-Net[19]和DoReFa-Net[25]都显示了比我们的方法(WQ)更大的权重,因为它们不包含第一层和最后一层。此外,霍夫曼恩-表1.与AlexNet的内存需求比较(P:运行比,Q:量化,H:Huffman编码)。编码是没有帮助的,因为它们分别使用二进制和全精度权重第二,当WQ应用于修剪之上时[10], 它实现了5.4倍更小的激活和稍微更小的权重(8. 9 MB与 8. 3MB),额外的精度损失为0.9%。我们的实现了更大的位宽减少的活动,vations比权重,因为[10]使用全精度激活,而我们使用6位激活。5.1.4逐层量化:可行性研究在前面的小节中,我们对网络中的所有层然而,根据我们的观察,不同的层对量化位宽的敏感度不同。因此,我们执行逐层量化的潜力的可行性研究,其中不同的层可能具有不同的位宽。在这项研究中,我们评估了以下四种基于AlexNet的每层位宽分配方式:单调 递 减 ( D EC ) 、 单 调 递 增 ( I NC ) 、 凹 ( CONCAVE)和凸(C ONVEX)。所有四种方案都被设计为具有相同数量的位宽。例如,DEC为第一个卷积层中的每个权重/激活分配6位,而它只为最后一个全连接层中的权重/激活使用2位DECINCCONCAVECONVEX前1名[%]53.7950.3554.4554.33前五名[%]77.5974.8976.4378.20表2. 我们的方法在不同风格的逐层量化的精度比较。如表2所示,我们观察到,使用较少的位 在中间层(即,CONVEX)实现了最高的精度,同时向近输入层分配较少的比特(即, INC)显示最低。 Zhou等人也观察到了类似的现象。[25]第20段。我们相信,通过在量化过程中考虑这种逐层对比特宽度的敏感性,甚至可以进行更积极的比特宽度优化。对所有可能的位宽组合的穷尽搜索是不切实际的,因为即使对于小网络也存在太多的位宽组合(例如,AlexNet拥有(1,f)(2,f)(3,f)(4,f)(1、2)(1,3)(1、4)(1、5)(二、二)(二、三)(2,4)(二、五)前1位准确度[%]权重激活Top-1P[%]Q[MB]+HQ[MB][%]WQ(4,4)-30.518.10.4755.8WQ(2,3)-15.312.50.3553.7XNOR-Net[19]-23.7-0.7244.2[25]第二十五话-23.6-0.4753.0[10]第十话118.96.93.7557.2[10]+ WQ(4,6)118.36.50.7056.3546380757065图4. R-FCN的mAP结果。虚线表示基线全精度网络的精度。515× 3× 1010种可能的配置,每层使用2到6位)。分层量化的快速设计空间探索算法留待以后研究。5.2. 目标检测:带有ResNet 50的R FCN为了评估我们的量化方法在更复杂的视觉任务上的有效性,我们使用了最先进的50层R-FCN模型进行对象检测[5]。R-FCN模型结合了残差网络(ResNet)[11](用于表示)和Faster R-CNN [20](用于区域预测,对象分类和框定位)。在现有的全精度模型之上,我们使用我们的量化方法进行尽管由于量化误差在深层积累,因此深度模型很难量化,但我们的方法成功地量化了50层模型,以非常小的精度损失进行对象检测。图4显示,5位权重和6位激活的配置仅损失了0.51%的mAP,同时将模型大小和计算量减少了5倍以上。我们还观察到,在我们的量化方法中,激活通常需要比权重更多的比特(例如,需要6位激活或4-/5位权重才能获得稳定和满意的结果,如图4所示)。 我们认为这是因为R-FCN的边界框回归机制很简单(直接从区域建议网络中获取框),因此对激活精度很敏感。我们将在今后的工作中对此进行进一步的调查在我们未来的工作中,我们还将研究我们的方法与更深层次的模型的可行性。根据我们对基于ResNet-101的R-FCN的初步研究,当使用PASCALVOC数据集微调模型时,我们未能获得合理精度的量化。我们认为,这个问题是由于迁移学习和量化在非常深的网络上的混合效应造成的,这需要进一步研究非常深的网络上的量化。深层网络5.3. 语言建模:一个LSTM为了评估我们在递归神经网络上的方案,我们通过将我们的方法应用于LSTM网络进行语言建模来进行初步分析[24],与Tensorflow框架一起提供[3]。我们评估了三种大小的RNN,小型(200个隐藏单元和20个时间步),中型(650个隐藏单元和35个时间步)和大型(1500个隐藏单元和35个时间步),所有这些都有两层。我们使用Penn Tree Bank数据集测量了这三个RNN在量化之前/之后的单词级困惑度[16]。我们只将权重量化应用于LSTM网络,因为我们的激活量化目前与RNN中的有界门和线性输出大中小有效测试浮子82.7778.6387.6983.54119.19114.461位92.2088.48104.0100.7147.19141.072比特86.7382.9092.4989.24137.34131.153比特85.5981.5786.7383.50121.21117.004位81.8378.0988.0183.84121.84114.95表3. 量化对LSTM语言建模的单词级困惑的影响。表3比较了LSTM网络在全精度(浮点)和量化情况下的字级困惑结果表明,4位权重实现了与全精度实现相当的结果此外,我们的方案提供了通过以较低的输出质量为代价使用更少的比特来进一步减小模型大小和计算量更高的困惑)。6. 结论本文提出了一种基于加权熵概念的加权/激活量化方法。我们的方法的主要优势有两个方面:(1) 灵活的多比特量化,其允许我们在严格的精度损失约束下优化神经网络设计,以及(2)自动量化,其不需要修改输入网络。根据我们基于实际神经网络(包括AlexNet ,GoogLeNet,ResNet- 50/101, R-FCN和LSTM)的广泛评估结果,我们的方法在4位权重/激活(AlexNet),4/5位权重和6位激活(GoogLeNet,ResNet和R-FCN)的情况下实现了1%的准确率损失(前5或mAP)。我们未来的工作包括研究我们的方法在非常深的神经网络模型上的有效性ResNet-152)和设计RNN模型的激活量化。确认这项工作得到了韩国国家研究基金会(NRF-2016R1 A2 B3009361)和三星电子(SAIT和三星研究基金中心SRFC-TC 1603 -04)的支持。全精度-77.61%mAP [%](2,f)(3,f)(4,f)(5,f)(f,3)(f,4)(f,5)(f,6)(二、三)(2,4)(二、五)(2、6)(三12.705464引用[1] FacebookCaffe2Go。https://code.facebook.com/posts/196146247499076/. 查阅时间:2016-11-15。[2] NvidiaP40和P4https://devblogs.nvidia.com/parallelforall/mixed-precision-programming-cuda-8/. 查 阅 时 间 : 2016-11-15。[3]M. 阿巴迪山口Barham,J.Chen,Z.Chen,中国山核桃A.Davis,J.迪恩M. Devin,S.盖马瓦特湾Irving,M. Isard,M. 库德鲁,J. 莱文贝格河Monga、S.穆尔,D.G. 默里湾斯坦纳P. Tucker,V.Vasudevan,P.Warden,M.Wicke,Y.Yu和X.郑TensorFlow:异构分布式系统上的大规模机器学习。在USENIX操作系统设计和实现研讨会论文集,第265-283页[4] M. Courbariaux,Y.Bengio和J.P. 大卫BinaryConnect:在传播过程中使用二进制权重训练深度神经网络。神经信息处理系统进展,第3123-3131页,2015年[5] J. 戴,Y.Li,K.He和J.太阳R-FCN:通过基于区域的全卷 积 网 络 进 行 对 象 检 测 arXiv 预 印 本 arXiv :1605.06409,2016.[6] J. Deng,W.东河,巴西-地索赫尔湖J. Li,K. Li和L.飞飞。ImageNet:一个大规模的分层图像数据库。在Proceedings of the IEEE Conference on Computer Visionand Pattern Recognition,第248-255页[7] M.戈特默Microsoft HoloLens将现实与虚拟融合,2015年。[8] S.圭亚那加权熵。Reports on Mathematical Physics,2(3):165[9] S.瓜苏利用加权熵对数据进行分类。《统计规划与推理杂志》,15:63[10] S.汉,H. Mao和W. J·达利深度压缩:使用修剪、训练量化 和 Huffman 编 码 压 缩 深 度 神 经 网 络 。 CoRR ,abs/1510.00149,2,2015。[11] K.他,X。Zhang,S. Ren和J. Sun.用于图像识别的深度残差学习arXiv预印本arXiv:1512.03385,2015。[12] K. Hwang和W.宋使用权重+1,0和-1的定点前馈深度神经网络设计。IEEE信号处理系统研讨会论文集,第1-6页,2014年[13] Y. Jia、E.Shelhamer,J.多纳休S.Karayev,J.隆河,西-地Gir- shick,S. Guadarrama和T.达雷尔。Caffe:用于快速特征嵌入的卷积架构。国际多媒体会议论文集,第675-678页,2014年[14] P. Judd,J. Albericio和A.莫绍沃斯Stripes:比特串行深度神经网络计算。IEEE Computer Architecture Letters,2016年。[15] A.克里热夫斯基岛Sutskever和G. E.辛顿基于深度卷积神经网络的ImageNet分类。在神经信息处理系统的进展,第1097[16] M. P. Marcus,M.A. Marcinkiewicz和B.圣托里尼建立一个大型的英语注释语料库:宾州树库.计算语言学,19(2):313[17] D. Miyashita、E. H. Lee和B.摩曼使用对数数据表示的卷积神经网络arXiv预印本arXiv:1603.01025,2016。[18] J. Qiu,J. Wang,S. Yao,K.郭湾,澳-地Li,E.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功