没有合适的资源?快使用搜索试试~ 我知道了~
14923二进制包围神经网络:每个网络更多比特还是每个比特更多网络?朱世林加州大学圣地亚哥分校La Jolla,CA92093shz338@eng.ucsd.edu哈佛大学马萨诸塞州剑桥02138xindong@g.harvard.edu苏豪加州大学圣地亚哥分校La Jolla,CA 92093haosu@eng.ucsd.edu摘要二进制神经网络(BNN)已经被广泛研究,因为它们运行得更快,内存和功耗比浮点网络低,这要归功于位操作的效率。然而,当代BNN的权重和激活都是单比特的,遭受严重的精度下降。为了理解为什么,我们通过大量的实验研究了BNN的表示能力,速度和我们得出结论,BNN的误差主要是由内在的不稳定性(训练时间)和非鲁棒性(训练测试时间)引起的。受此研究的启发,我们提出了二进制Enlightenment神经网络(BENN),它利用集成方法以有限的效率成本提高BNN的性能虽然集成技术被广泛认为对深度神经网络等强分类器只有很小的帮助,但我们的分析和实验表明,它们自然非常适合提升BNN。我们发现,我们的BENN,这是更快,更鲁棒性比国家的最先进的二进制网络,甚至可以超过具有相同架构的全精度浮点数网络的准确性。1. 介绍深度神经网络(DNN)对学术界和工业界的广泛学科产生了巨大影响[57,38]。最近,DNN的部署正在从高端云转移到低端设备,如手机和嵌入式芯片,为公众提供许多实时应用,如无人机,微型机器人和增强现实。不幸的是,这些设备通常具有有限的计算能力和存储空间,因此无法负担DNN来实现重要的任务,如涉及大量矩阵计算和存储器使用的对象二进制神经网络(BNN)是最有前途的技术之一,以满足所需的计算和存储要求。BNN [31]是深度神经网络,图1.传统的浮点数DNN,BNN和我们提出的BENN在图像识别任务上的比较(W:重量,A:激活)。BENN的推理速度可以在FPGA上进一步提高[63]。权重和激活仅具有两个可能的值(例如,-1和+1),并且可以由单个比特表示除了节省存储和内存空间的明显优势之外,二进制架构只允许按位操作,可以使用数字逻辑单元[20]进行非常快速的计算,例如算术逻辑单元(ALU),其功耗比浮点单元(FPU)低得多。尽管在速度和存储方面有了显着的提高,但当前的BNN在应用于ImageNet分类等具有挑战性的任务时,精度会显着下降。为了弥补这一差距,以往的BNN研究一直集中在设计更有效的优化算法,以找到更好的局部极小值的量化权重。然而,这项任务是非常重要的,因为基于梯度的优化曾经是有效的训练DNN现在变得难以实现。在本文中,我们系统地研究BNN的表示能力,速度,偏差,方差,稳定性和鲁棒性。我们发现,BNN遭受严重的内在不稳定性和非鲁棒性,无论网络参数值。这一观察结果表明,BNN的性能下降不太可能通过单独改进优化技术来解决;相反,必须治愈BNN函数,特别是减少预测方差并提高其鲁棒性14924噪音。受分析的启发,在这项工作中,我们提出了二进制Enlightenment神经网络(BENN)。虽然基本思想是简单地聚合多个BNN的提升或装袋,我们表明,集成分类器的统计特性变得更好:不仅偏差和方差减少,更重要的是,BENN的鲁棒性噪声在测试时显着所有的实验表明,BNN和合奏方法是一个完美的自然适合。使用相同的连接性(网络中的紧凑网络[42]),我们发现,在最好的情况下,仅提升4×5个BNN就能够超过具有真实权重的基准DNN。此外,我们通过使用AlexNet [38]和ResNet [27]也显示出很大的增益。这是迄今为止二值化网络实现的最快,最准确,最强大的结果①的人。据我们所知,这是第一个将BNN与集成方法联系起来的工作。与传统的BNN改进不同,4O(K2)通过使用K-bit per weight [65]或总共K个base[43],BENN的复杂度降低到O(K)。与[65,43]相比,BENN还具有更好的位操作并行性.对于平凡的并行化,复杂度可以降低到O(1)。我们相信,BENN可以沿着这个想法进行更多的研究,以实现网络的极快但强大的计算。2. 相关工作量化和二进制神经网络:人们已经发现,不需要使用全精度参数和激活,并且仍然可以使用k位定点数来保持神经网络的准确性,如[19,23,61,8,40,41,48,56,49]所述。 第一种方法是 使用低位数来近似实数,这被称为量化神经网络(QNN)[32]。[66,64]还提出了三元神经网络。虽然最近的进展,如[65]可以实现竞争力的性能相比,全精度模型,他们不能完全加快它,因为我们仍然不能执行并行化的位宽大于一的按位[31]是最近的工作,二进制化所有的权重和激活,这是BNN的诞生。他们已经证明了BNN在速度、内存使用和功耗方面但最近的工作,如[58,11,21,10]也揭示了当BNN应用于ImageNet([12])识别等复杂任务时,训练过程中存在严重的准确性下降和失配问题,特别是当激活被二进制化时。虽然一些工作,如[43,50,13],已经提供了合理的解决方案,以近似全精度神经网络,但与超参数相比,仍然需要更多的计算和技巧来实现。本由于它们要么使用K位宽量化,要么使用K个二进制基,如果1位单BNN需要O(1),则计算复杂度无法摆脱O(K2),而BENN可以实现O(K),如果多个线程自然并行,甚至O(1)。另外,目前的许多文献试图最小化二进制和实值参数之间的距离但是,为了得到每个BNN的先验信息,通常需要高斯参数分布等经验假设,或者只是保持符号与[43]所建议的相同相比之下,BENN可以成为实现这一目标的通用框架,并且具有比全精度网络更好的工作潜力,而不需要比单个BNN涉及更多的超参数。包埋技术:为了避免简单地依赖于单个强大的分类器,集成策略可以提高给定的学习算法结合多个弱分类器的准确性,如[6,9,47]所总结的。最常见的两种策略是bagging by [5]和boosting by [51,17,53,26],它们是多年前提出的,具有很强的统计基础。它们源于[59]的理论框架PAC模型,该模型首次提出了弱学习者是否可以被整合为强学习者的问题Bagging预测器被证明可以减少方差,而Boosting预测器可以减少偏差和方差,并且它们的有效性已经被许多理论分析所证明传统的集成方法主要应用于决策树、决策树、随机森林等领域,由于其良好的统计特性,获得了很大的成功。最近,人们使用集成来提高深度CNN的泛化能力[24],提倡对CNN进行提升并进行架构选择[45],并提出对特征进行提升[30]。但由于神经网络不再是弱分类器,集成技术会不必要地增加模型的复杂度,因此人们对集成技术的研究还不够重视。然而,当应用于弱二元神经网络时,我们发现它产生了新的见解和希望,而BENN就是这种完美结合的自然产物。在这项工作 中 , 我 们 在 变 体 bagging , AdaBoost [15 , 52] ,LogitBoost [17]的基础上构建了我们的BENN我们希望这项工作能够重振这些智能方法,并将它们的生命带回现代神经网络。3. 为什么使BNN工作良好是一个挑战?尽管BNN具有速度和空间优势,但其性能仍远不如真正有价值的同行。至少有两个可能的原因:首先,BNN所代表的函数可能存在一些固有的缺陷;其次,目前的优化算法可能仍然无法找到一个好的最小值。虽然大多数研究人员一直在工作-14925∂x ∂xb在开发更好的优化方法的过程中,我们怀疑BNN有一些基本的缺陷。下面的研究揭示了BNN的基本局限性执行相同的高斯输入扰动,运行前向传递,并计算CIFAR-10上的分类误差L的变化实验性的功能。因为所有的权重和激活都是二进制的,所以一个明显的-埃厄瓜多||第二章||2(2)一个重要的事实是,BNN只能表示离散函数的子集,严格弱于作为通用连续函数逼近器的真实网络[29]。BNN的两个严重局限性并不那么明显:鲁棒性问题w.r.t.输入扰动,以及w.r.t.网络参数经典学习理论告诉我们,鲁棒性和稳定性都与模型的泛化误差密切相关[62,4]。对BNN的问题作了更详细的理论分析,稳健性问题:在实践中,我们观察到BNN比真实网络更严重的过拟合效应。鲁棒性被定义为如果测试群体与训练群体“相似”,则测试误差接近训练误差的属性为了验证这一点,我们在随机网络设置和训练网络设置中进行了实验。随机网络设置。我们计算以下数量来比较32位实值DNN,BNN,QNN和我们的BENN模型(第二节)。4)在网中网(NIN)架构上:EwE||f(x+nx;w)−f(x;w)||其中f是网络,w表示网络权重。我们按照文献中的建议随机采样实值权重w <$N(0,I)以获得具有权重wr的DNNfr,并将其二进制化以获得具有二进制权重wb的BNNfb。我们还独立地对wr进行采样和二值化,以生成具有相同架构的多个BNN来模拟BENN并得到wbenn。通过将DNN量化为k比特权重(W)和激活(A)来获得QNN。我们将CIFAR-10中的每个输入图像归一化到范围[-1,1]。然后,我们通过具有不同方差(0. 001年10月。1),在每个网络上运行前向传递,并测量输出分布上变化的预期l2DNN、BNN、QNN和BENN的上述l2范数平均为1000个采样轮次的老化情况见图。2(左),扰动方差为0.01。结果表明,BNN的输出变化较大,对输入扰动更敏感,且BNN比比特数较多的QNN性能更差我们还观察到,在激活上有更多的比特实际上显著提高了BNN2(左,右))。训练网络设置。为了进一步巩固阐述,我们还使用XNOR-Net [50]而不是直接采样来训练实值DNNfr和BNNfb我们还包括我们设计的BENNfbenn进行比较。然后我们结果见图。2(中间)表明BNN对噪声仍然更敏感,即使它被很好地优化。虽然人们已经证明BNN中的权重仍然具有良好的统计特性,如[1],但如果在输入扰动时将权重和激活都二值化,则结论可能会发生显着变化。稳定性问题:由于梯度失配和激活函数的非光滑性等问题,BNN难以优化。 虽然[40]已经表明,随机舍入收敛到期望最小值的O(λ)精度内,其中λ表示量化分辨率,假设误差曲面是凸的,但社区尚未完全理解BNN的非凸误差曲面以及它如何与不同的优化器(如SGD或ADAM)相互作用[37]。为了比较不同网络的稳定性(优化过程中对网络参数的敏感性),我们测量了大量训练步骤后的精度波动。图2(右)显示了在我们用300个epoch训练BNN和QNN之后,最后20个训练步骤这种不稳定性的一种解释是二进制网络参数。注意,作为前一层中激活函数的输出,BNN的每一层的输入都是二进制数。换句话说,不仅每个函数是非光滑的。输入,但它也是非平滑的w.r.t.学习的参数。作为比较,经验上,具有5个和32个合奏的BENN(在图中表示为BENN-05/32(2)已经取得了惊人的稳定性。4. 二进制包围神经网络在本节中,我们分别使用bagging和boosting策略来说明我们的BENN。在所有实验中,我们采用广泛使用的确定性二进制化作为网络权重和激活的xb=Sign(x),这是利用硬件加速的首选方法然而,反向传播变得具有挑战性,因为除了步进点之外,导数几乎在任何地方都为零。在这项工作中,我们在反向传播期间借用了称为“直通估计器”(STE)[ 28 ]的常见策略,定义为|X| ≤1。4.1. BENN包装bagging的关键思想是对从i.i.d.训练的弱分类器进行平均训练集的样本。培养14926y图2.左:BNN具有较大的输出变化(鲁棒性问题)。中间:BNN的预测精度变化很大(鲁棒性问题)。右图:BNN在训练过程中具有较大的测试精度变化(不稳定性问题)。BENN可以解决这些问题。这里,扰动方差为0.01。(* QNN-W1 A2表示具有1位权重和2位激活的QNN,其他也是如此。对于每个BNN分类器,我们独立地从训练集D中抽取M个样本进行替换。我们这样做K次,得到K个BNN,表示为b1,., bK. 带替换的采样确保每个BNN看到大约63%整个训练集。在测试时,我们汇总来自这K个分类器的意见,并在C个类中进行决策。我们比较了两种聚合输出的方法。一种是选择大多数BNN同意的标签(硬决策),而另一种是在聚合它们的softmax概率后选择最佳标签(软决策)。Bagging的主要优点是减少了单个分类器的方差。众所周知,这对于遭受高变异性的深度决策树非常有效,但对于提高神经网络的性能只有很小的帮助,因为网络通常非常稳定。有趣的是,虽然对实值网络的帮助较小,但Bagging对改善BNN是有效的,因为BNN的不稳定性是严重的,这是由于梯度失配和强离散化噪声,如第2节所述。3 .第三章。4.2. BENN提升Boosting是集成分类器的另一个重要工具Boosting不是仅仅聚合来自多个独立训练的BNN的预测,而是以顺序的方式组合多个弱分类器,可以被视为在函数空间中优化的逐阶段梯度下降方法。Boosting能够减少单个分类器的偏差和方差。有很多不同的boosting算法,我们选择AdaBoost [15]算法是因为它很受欢迎。假设分类器k具有假设bk:X→R、权重αk和输出分布pk,我们可以将聚集的分类器k表示为:fier 为 BK : X→R 和 它 的 总 产 出 分 布 PK 。 然 后AdaBoost最小化以下指数损失:重新加权原则Boosting算法的核心思想是让当前的分类器更加关注先前分类器错误分类的样本根据历史结果重新加权是最常见的预算关注方式。基本上有两种方法可以实现这一目标:• 重新加权采样概率:假设最初每个训练样本i被均匀分配π=ui= 1/M,因此每个样本都有相等的机会被选中。在每轮之后,我们根据分类置信度重新加权抽样概率。• 对损失/梯度重新加权:我们还可以将ui并入梯度中,使得BNN bk在错误分类的示例上以较大的步长更新参数,反之亦然。例如,设为wJ(bk)←λ·(αkpk)(ui)·wJ(bk),其中λ是学习率。然而,我们注意到这种方法不太有效-实验证明,它夸大了梯度失配问题。4.3. 推理时间复杂度与原始全精度32位DNN具有相同连接性的1位BNN可以节省1032x内存。在现实中,BNN可以在当前一代64位CPU上实现1058倍的速度[50],并可能进一步改进用FPGA等专用硬件实现。一些现有的作品只对权重进行二进制化,但让激活保持全精度,这实际上只会导致42倍的速度提升。对于具有K个系综的BNN,每个BNN挂起,因此总的内存节省是1032/Kx。对于Boosting,我们可以进一步压缩BNN以节省更多的计算和内存使用。此外,现有的方法具有K位QNN的复杂度为O(K2)[65]或使用K个二元基[43],因为它们无法避免位收集操作来生成一个数,尽管它们的定点J(BK)=Σe−Y我TP KΣ=e−Y我T(PK−1+αkpK)计算比浮点计算有效得多如果O(1)是布尔运算的时间复杂度O(K)与K合奏,但仍然保持非常满意-其中Y=(y1,...,yC)T和i表示训练实例如前所述的精度和稳定性。 我们甚至14927WWBFBNNBennWB如果支持多线程,则对BENN进行O(1)完整的比较如表1所示。4.4. 稳定性分析给定一个全精度实值DNNfw,以增加新分类器的可辨别性。有趣的是,我们观察到对于CIFAR-10上的小网络和数据集(如Network-In-Network [42]),热重启训练具有更好的准确性。然而,当BENN应用于大型网络和数据集对于参数w<$N(0,σ2),a BNNfwb二进制化例如AlexNet [38]和ResNet [27],参数wb,输入向量x<$N(0,1)(批归一化后)和扰动x<$N(0,σ2),以及具有K个系综的BENNfwbenn网络参数和输入扰动在这里,我们分析了扰动前后输出变化的方差,这反映了方程。1秒3 .第三章。这是因为产出变化具有零均值,其方差反映了产出变化的分布。更具体地说,更大的方差意味着增加的变化的输出w.r.t.输入扰动假设fw,fwb,fwbenn是单层网络中单个神经元的非线性激活函数之前的输出,我们将实值DNN的输出变化表示为fw(x+ nx)−fw(x)=wnnx,其分布为方差σ2= |W|σ2σ2,其中|W|表示输入数量出现了过拟合问题更多的讨论可以找到节中6、第7 .第一次会议。我们在图像分类任务上训练BENN,CNN块结构包含批量归一化层、二进制激活层、二进制卷积层、非二进制激活层(例如,sigmoid,ReLU)和池化层,如许多最近的作品所使用的[50,65]。为了计算阶跃函数sign(x)的梯度,我们使用STE建议的相同方法。当更新参数时,我们使用实值权重作为[50]建议否则微小的更新可能会被确定性二进制化杀死,训练无法继续。在这项工作中,我们使用标准的独立和热重启训练来训练每个BNN。不像以前的作品,始终保持第一层和最后一层的全精度,我们测试7R w表示该神经元的连接,并且n表示内积。ReLU一类现代非线性作用函数g(·)不会改变方差的不等式,因此我们可以省略在分析中保持简单。对于权重和激活都被二进制化的BNN,我们可以将上述公式重写为fb(x+x)−b(x)=sign(w)[ sign(x+x)−sign(x)],因此,不同的BNN架构配置,如表2所示,并将它们用作BENN中集成的成分6. 实验结果我们在CIFAR-10和ImageNet数据集上使用自行设计的紧凑型网络中网络(NIN)[42],标准AlexNet [38]和ResNet-18 [27]分别评估了BENN。方差σ22符号(w)2sign(x+x)− sign(x))的情况。和活泼地 我们在表2中总结了对于BENN-Bagging,我们有σ22BNN/KwithK en-所有的BNN变体。更详细的规格因为装袋有效地减少了方差。 为BENN-Boosting,我们的模型可以同时减少偏差和方差。然而,对于boosting,对偏差和方差的分析变得更加困难,并且在文献中仍然存在一些争论[7,17]。通过这些高斯假设和一些数值实验(详细的分析和定理可以在补充材料中找到),我们可以验证与浮点数DNN相比BNN的大稳定性增益。对于鲁棒性,与稳定性分析中使用的扰动权相比,扰动权可以应用相同的分析原理5. BENN的独立和热重启培训我们用两种不同的方法训练我们的BENN第一种是独立地初始化每个新的分类器并重新训练它,这是一种传统的方式。为了加速BENN中新弱分类器的训练,我们还可以通过克隆最近训练的分类器的权重来初始化新分类器的权重。我们将这种训练方案命名为热重启训练,并且我们推测新分类器的那些看不见的数据的知识已经从继承的权重转移并且是有用的补充材料中载有关于网络的资料。对于每种类型的BNN,我们在训练完成时获得收敛的单个BNN。我们还在每个训练步骤之后存储BNN,并通过选择具有最高测试准确度的BNN来获得最佳BNN(例如,最佳SB)。我们使用BENN-T-R来表示通过聚合R个配置T的BNN ( 例 如 , BENN-SB-32 ) 。 我 们 还 将 Bag/Boost-Indep和Bag/Boost-Seq表示为具有标准独立训练和热重启序列训练的bagging/boosting(第12节)。(五)。在本文中,所有集成的BNN与其实值DNN对应物共享相同的网络架构,尽管研究多模型集成是一项有趣的未来工作。我们所有实验的代码都将在网上公开。6.1. 从CIFAR 10获得的见解在本节中,我们展示了在CIFAR-10上使用BENN的巨大性能增益每个BNN由XNOR-Net[50]然后再训练100个epochs以在集合之前达到每个全精度DNN对应物都经过300个epoch的训练,以获得最佳的参考精度。学习率设置为0.001,ADAM优化器为|W|σ(σ=σ14928表1.单个网络的理论计算复杂性分析(F-全精度,Qk-k位量化,B-二进制)网络权重激活操作内存节省计算节省标准DNN F F+,-,×1 1[10、33、39、66、64].B F+,-32x2x[65,32,61,2],.QkQk+,-,× 32x<58xkk2[43] I'm sorry.k× Bk × B+,-,XNOR,位数32x58xkk2[50]和我们的B B XNOR,位数<$32x <$58x表2.弱BNN神经网络用于Entrim(W-权重,A-激活,Params-网络中参数的最后两个是朴素的压缩网络。弱BNN配置/类型(T)重量激活大小ParamsSB(半BNN)第一层和最后一层:32位第一层和最后一层:32位百分百 百分百AB(全BNN)所有层:1位所有层:1位百分百 百分百WQB(加权量化BNN)所有层:Q-bit所有层:1位百分百 百分百AQB(激活量化BNN)所有层:1位所有层:Q-bit百分百 百分百IB(异常输入BNN)所有层:1位第一层:32位百分百 百分百SB/AB/IB-微型(微型-压缩-BNN)--百分之五十百分之二十五SB/AB/IB-Nano(Nano-Compress-BNN)--百分之十百分之一表3.训练中的振荡(不稳定)网络集成方法#合奏STDSB-12.94最佳SB-11.40BENN-SB袋式测序50.31BENN-SB加强测序50.24BENN-SB袋式测序320.03BENN-SB加强测序320.02采用了在这里,我们为CIFAR-10使用了一个紧凑的网络中网络我们首先提出一些重要的独立比较如下,然后总结我们发现的见解单一BNN与BENN:我们发现,BENN可以实现更好的准确性和稳定性比一个单一的BNN在速度上的牺牲可以忽略 不计。在 所有的BNN配置的实 验表明,BENN的精度增益范围从4。21%到24。在CIFAR上比BNN高出16%10.如果每个BNN是弱的(例如,AB),BENN的增益将增加,如图所示。3(右)。这验证了BNN确实是一个很好的集成弱分类器。令人惊讶的是,BENN-SB在32次合奏(装袋或增压)后的表现优于全精度DNN高达1。52%(图3(左))。请注意,为了与32位DNN具有相同的内存使用,如果不涉及网络压缩,我们将集合限制为32轮。如果有更多的集成,我们观察到进一步的性能提升,但准确度增益最终会变得平坦。我们还比较了BENN-SB-5(即,5个集合)与WQB(Q=5,5位权重和1位激活),它们具有相同数量的参数(按位测量)。WQB我们的集成网络可以达到86%的精度,并且保持稳定。我们还测量了所有BNN配置的最后20个训练步骤表3中的结果表明,如果集合5轮,BENN可以将BNN的方差降低此外,选择最高的最佳BNN在训练完成时测试准确性,而不是使用BNN表4.网络压缩网络集成方法#合奏精度最佳SB-184.91%BENN-SB袋式测序3289.12%BENN-SB加强测序3289.00%最佳SB-微型-177.20%BENN-SB-Tiny袋式测序3284.09%BENN-SB-Tiny加强测序3284.32%最佳SB纳米-140.70%BENN-SB-Nano袋式测序50057.12%BENN-SB-Nano加强测序50063.11%还可以减少振荡。这是因为集合框架的统计特性(Sec.3、第二。4.4)使BENN成为确保高稳定性的优雅方式。Bagging vs. boosting:众所周知,bagging只能减少预测变量的方差,而boosting可以减少偏差和方差。图3( 右 ) 、 图 4 ( 右 ) 4 和 表 4 显 示 , boosting 优 于bagging,特别是在BNN被压缩之后,高达2。当网络大小减少到50%时为51%(微型配置),当网络大小减少到10%(Nano配置)时,增益为38%,增益从5个增加到32个。这验证了如果模型没有过多过拟合,则boosting是更好的标准独立训练与热重启训练:标准集成技术使用独立训练,而热重启训练使新分类器能够更快地学习。图图3(左)显示,热重启训练的表现最好达到3。9%的套袋和2. 在相同数量的训练时期后,95%用于这意味着逐步适应更多的例子可能是CIFAR-10的更好选择。然而,这并不适用于ImageNet任务,因为在热重启时会有轻微的过度拟合(第二节)。6.2)。我们认为,这是一个有趣的现象,但它需要更多的理由,通过研究收敛理论。压缩BNN的影响:BNN模型的复杂性在很大程度上影响了偏差和方差。如果每个弱BNN具有足够的复杂度,具有低偏差但高方差,则由于简单性,装袋比提升更有利14929最佳SBNNBENN-SBNN-5BENN-SBNN-32最佳EBNNBENN-EBNN-32BENN-EBNN-5BENN-EBNN-32BENN-IBNN-32公司简介BENN-SBNN-32SB配置BENN-SB-32BENN-SB-5AB配置BENN-AB-32BENN-AB-5Bag-Indep袋式测序Boost-IndepBoost-Seq袋式测序加强测序最佳AB最佳SB图3. 左:BENN可以通过更多的集成来显著提高测试精度。在Semi-BNN(SB)情况下,它甚至可以达到比全精度更好的精度。右:在所有BNN(AB)的情况下,Boosting的性能远远优于Bagging,其中每个BNN都有较大的偏差。袋式测序加强测序BENN-SB-32BENN-AQB-32BENN-IB-32BENN-AB-32图4.集成后,精度增加更多的激活位(Q=2的AQB)。与全二进制情况(AB)相比,保留第一层和/或最后一层全精度(IB和SB)有所帮助。然而,如果每个BNN为了验证这一点,我们通过简单地减少每层中通道和神经元的数量来压缩表2表4中的结果表明,BENN-SB即使在朴素压缩之后也可以保持合理的性能,并且在严重压缩(Nano配置)中比装袋提高更多的增益我们还发现,BENN是不太敏感的网络规模。 表4显示,压缩使单个BNN的准确度降低了7。71%(微小配置)和44。21%(纳米配置)。经过32次集成后,压缩引起的性能损失减少到4. 8%,26。01%。令人惊讶的是,我们观察到压缩仅将全精度DNN的准确性降低了1。18%(微小配置)和16。03%(纳米配置)。因此,有必要使用不太弱的BNN来构建可以与全精度DNN竞争的BENN。更好的修剪算法可以在未来与BENN相结合,而不是简单的压缩,以允许更小的网络被集成。bit width的作用:更高的位宽同时导致更低的方差和偏差。这可以在图中看到。其中我们在BENN-AQB中使激活为2位(Q=2)。可以看出,BENN-AQB(Q=2)和BENN-IB在32次合奏后具有相当的准确性,但比BENN-AB好得多,比BENN-SB差我们还观察到,激活二值化导致更不稳定的模型比权重二值化。这表明拥有更多比特的好处主要是由于输入图像的更好特征,因为输入二值化对神经网络来说是一个真正的痛苦令人惊讶的是,BENN-AB在这样的疼痛下仍然可以达到80%二值化第一层和最后一层的效果:现有的BNN算法几乎都是在假设全精度的前提下进行的的第一层和最后一层,因为这两个层上的二值化将导致严重的精度下降。但我们发现BENN受到的影响较小,如图中BENN-AB,BENN-SB和BENN-IB4.第一章BNN将这两个特殊层二值化是3。98%的人11岁。9%。对于拥有32个合奏的BENN,损失减少到2。36%的支持率。百分之九十八总之,我们得出了关于BNN和BENN的主要见解:(1)bagging和boosting等增强方法大大缓解了BNN在表示能力、稳定性和鲁棒性方面的问题。(2)在大多数情况下,加强训练比装袋训练更有优势,热重启训练通常是更好的选择。(3)弱BNN大小、位宽、第一层和最后一层)对于构建功能良好的BENN以在实践中匹配全精度DNN是必不可少的6.2. BENN在ImageNet识别中的应用探索我们相信BENN是推理加速的最佳神经网络结构之一为了证明BENN的有效性,我们使用AlexNet [38]和ResNet-18 [27] 将 我 们 的 算 法 与 ImageNet 识 别 任 务(ILSVRC 2012)的最新技术进行了具体而言,我们将我们的BENN-SB独立培训(第5)使用全精度DNN[38,50],DoReFa-Net(k位量化权重和激活)[65],XNOR-Net(二进制权重和激活)[50],BNN(二进制权重和激活)[31]14930表5.在ImageNet上使用AlexNet(W权重,A激活)方法W一Top-1全精度DNN [38,50]323256.6%XNOR-网络[50]1144.0%[65]第六十五话11百分之四十三点六BinaryConnect [10,50]13235.4%BNN [31,50]11百分之二十七点九BENN-SB-3,袋装(我们的)11百分之四十八点八BENN-SB-3,增压(我们的)1150.2%BENN-SB-6,袋装(我们的)1152.0%BENN-SB-6,增压(我们的)11百分之五十四点三表6.使用ResNet-18(W权重,A激活)方法W一Top-1全精度DNN [27,43]3232百分之六十九点三XNOR-网络[50]1148.6%[43]第四十三话11百分之四十二点七BNN [31,50]1142.2%BENN-SB-3,袋装(我们的)11百分之五十三点四BENN-SB-3,增压(我们的)1153.6%BENN-SB-6,袋装(我们的)11百分之五十七点九BENN-SB-6,增压(我们的)1161.0%二进制连接(二进制权重)[10]。请注意,AlexNet上BNN和BinaryConnect的准确性由[50]而不是原作者报告对于DoReFa-Net和ABC-Net,我们使用原作者报告的最佳精度,具有1位权重和1位激活。对于XNOR-Net,我们报告了我们自己重新训练的模型的数量。我们的BENN被重新训练,给出了一个良好的预训练模型,直到XNOR-Net在100个epoch使用后收敛,并且我们在集成之前用80个epoch如表5和表6所示,BENN-SB是所有最先进的BNN架构中最好的,即使只有3个集成在3个线程上。同时,虽然我们确实观察到了更多集成的连续增益,但我们发现在ImageNet任务中具有更多集成的BENN在准确性方面可能不稳定,需要进一步研究过拟合问题,否则快速增益并不总是得到保证。这里我们报告的是性能稳定的数字,尽管我们有时确实观察到更好的性能。我们相信我们沿着这个方向的初步探索已经显示了BENN事实上,如何在大规模和多样化的数据集上优化BENN仍然是一个有趣的开放问题。7. 讨论每个网络更多的比特还是每个比特更多的网络?我们认为这份文件提出了这个重要问题。至于在生物神经网络(如我们的大脑)中,两个神经元之间的信号更像是尖峰,而不是高范围的实值信号。这意味着可能不需要使用实值数字,同时涉及大量冗余并且可能浪费大量计算能力。我们的工作改变了“每个网络多少比特就足够了”的方向每比特有多少个网络'. BENN提供了一个层次视图,即, 我们按组14931的神经元,并建立一个强大的分类器,通过集成弱分类器。我们已经表明,这种层次化的方法是更直观和自然的表示知识。虽然最优集成结构超出了本文的范围,但我们相信可以应用一些结构搜索或元学习技术。此外,对单个BNN的改进,如研究误差曲面和解决激活/梯度二值化的灾难,仍然是BENN成功的关键。BENN是硬件友好型的:使用K个集成的BENN比使用一个K位分类器更好。首先,K比特量化仍然不能摆脱定点乘法,而BENN可以支持按位运算。人们发现BNN可以在FPGA上进一步加速,而不是现代CPU[63,18]。其次,人们证明了乘法器的复杂度与位宽的平方成正比,从而简化了硬件设计。第三,BENN可以在芯片中使用尖峰信号,而不是一直保持信号的实值,这可以节省大量的能量。最后,不像最近的文献需要二次时间来计算,由于其线性时间复杂度,BENN可以更好地在芯片上实现。在事实上,我们已经在Xil- inx Zynq XCZU 7 EVFPGA板上实现了我们的BENN(SB模型),通过计算重用策略,与以GOPS/W测量的CPU相比,实现了高达200倍的改进。当前限制:众所周知,集成方法可能会导致模型的过拟合,当集成数量不断增加时,我们也在CIFAR-10和Ima-geNet上观察到类似的问题。有趣的下一步是分析不同数据集上的BENN决策边界的属性,并跟踪其在高维特征空间中的演化。此外,如果需要许多集成(特别是在像ImageNet这样的大型数据集上),训练将花费更长的时间,从而降低设计迭代的速度,尽管我们的训练可以很容易地用GPU扩展。最后,BENN需要针对AlexNet和ResNet等大型网络进行进一步优化,以显示其全部功能,例如选择最佳集成规则和基本分类器。集成技术的现代先进变体也可以并入BENN。8. 结论在本文中,我们提出了BENN,一种新的神经网络架构,它结合了BNN集成方法。实验表明,在准确性,鲁棒性和稳定性方面有很大的性能增益。我们的实验还揭示了一些关于比特宽度,网络大小,集合数量等权衡的见解。我们相信,通过使用FPGA等专用硬件和更先进的现代集成技术,BENN可以成为将大型深度神经网络部署到移动和嵌入式系统中的新曙光。14932引用[1] A. G. Anderson和C. P. Berg二进制神经网络的高维几何。arXiv预印本arXiv:1705.07199,2017。3[2] S. Anwar,K.Hwang和W.宋用于对象识别的深度卷积神经网络的固定点在声学,语音和信号处理(ICASSP),2015年IEEE国际会议上,第1131-1135页。IEEE,2015年。6[3] Y. Bengio,N.Léonard,和A.考维尔通过条件计算的随机神经元估计或arXiv预印本arXiv:1308.3432,2013。[4] O. Bousquet和A.埃利塞夫稳定性和推广性。Journal ofMachine Learning Research,2(Mar):4993[5] L.布莱曼装袋预测器。Machine learning,24(2):123-140,1996. 2[6] L.布莱曼偏差、方差和弧形分类器。1996. 2[7] P. Bühlmann和T.霍索恩提升算法:正则化、预测和模型拟合。《统计科学》,第477-505页,2007年。5[8] Z. Cai,X. He,J. Sun,and N.瓦斯康塞洛斯通过半波高斯量化进行低精度arXiv预印本arXiv:1702.00953,2017。2[9] J. G. Carney,P. Cunningham,and U. Bhagwan.神经网络集成的置信区间和预测区间。神经网络,1999年。1999年的IJCNN。国际联合会议,第2卷,第1215-1218页。IEEE,1999年。2[10] M. Courbariaux,Y. Bengio和J.大卫。Binaryconnect:在传播过程中使用二进制权重训练深度神经网络。神经信息处理系统的进展,第3123-3131页,2015年。二、六、八[11] M.库尔巴里奥岛Hubara,D.苏德里河El-Yaniv,以及Y.本吉奥。二进制神经网络:训练深度神经网络,权重和激活限制为+1或-1。arXiv预印本arXiv:1602.02830,2016。2[12] J. Deng,W.东河,巴西-地索赫尔湖J. Li,K. Li和L.飞飞。Imagenet:一个大规模的分层图像数据库。在计算机视觉和模式识别,2009年。CVPR 2009。IEEE会议,第248-255页。IEEE,2009年。2[13] L.邓鹏焦,J.裴,Z. Wu和G.李门控xnor网络:在统一离散化框架下具有三元权重和激活的深度神经网络arXiv预印本arXiv:1705.09283,2017。2[14] 多明戈斯统一的偏差-方差分解。第17届国际机器学习会议论文集,第231-238页,2000年[15] Y. Freund和R. E.夏皮尔在线学习的决策理论一般化及其在B
下载后可阅读完整内容,剩余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直接复制
信息提交成功