没有合适的资源?快使用搜索试试~ 我知道了~
64250LAB:用于二值神经网络的可学习激活二值化器0Sieger Falkena 1 , 2 , Hadi Jamali-Rad 1 , 2 , Jan van Gemert 101 荷兰代尔夫特理工大学,代尔夫特,荷兰 2荷兰阿姆斯特丹壳牌全球解决方案国际有限公司0sieger.falkena@shell.com, h.jamalirad@tudelft.nl, j.c.vangemert@tudelft.nl0摘要二值神经网络(BNNs)因将耗电量大的深度学习引入边缘设备而受到越来越多的关注。在这个领域,传统的智慧是使用sign(.)对特征图进行二值化。我们认为并且说明,sign(.)是一个唯一性瓶颈,限制了信息在网络中的传播。为了缓解这个问题,我们提出了一种可学习的激活二值化器(LAB),允许网络学习每一层的细粒度二值化核 -而不是全局阈值化。LAB是一种新颖的通用模块,可以无缝地集成到现有的架构中。为了证实这一点,我们将其插入到四个开创性的BNN中,并显示在可接受的延迟和复杂性增加的代价下显著提高了准确性。最后,我们构建了一个以LAB为核心的端到端BNN(称为LAB-BNN),并证明它在ImageNet上达到了与最先进技术相媲美的竞争性能。我们的代码可以在我们的存储库中找到:https://github.com/sfalkena/LAB。01. 引言0卷积神经网络(CNN)主导着当前最先进的计算机视觉任务。随着研究的不断发展,模型的准确性越来越高,但与此同时,模型的大小和复杂性也在增加。这给在资源受限的边缘设备上部署深度学习模型带来了重大负担。最近的研究探索了模型压缩技术,以减小模型的大小和延迟,例如修剪[25]、量化[36]、知识蒸馏[13]、神经架构搜索[10]和低秩近似[38]。量化的最极端形式是通过二值化实现的,从而得到二值权重和激活函数{−1,+1}。利用这种方法的网络被称为二值神经网络(BNNs),并为能源高效的深度学习带来了光明的未来。通过对权重和激活函数进行积极量化,理论上可以在典型的CPU上实现32倍的内存减少和58倍的计算加速[31]。0目前文献中的共识是使用sign(.)将全精度映射为二值值。然而,这带来了三个广为人知的问题:(i)相对于浮点数对应项,sign(.)的表示能力从2^32降低到仅有2个信息级别[26];(ii)sign(.)的导数是一个德拉克函数,几乎在任何地方都返回零梯度[7];(iii)sign(.)在空间上使用相同的阈值,我们进一步称之为全局阈值。在这项工作中,我们确定并讨论了第四个问题(iv),我们将其称为唯一性瓶颈。通过定性和定量的方法,我们证明使用sign(.)进一步限制了网络的表示能力。有趣的是,多个研究表明sign(.)是一种次优的二值化操作,并且找到一个新的二值化函数并不简单[6,34]。这正是我们在本文中挑战的原因。已经提出了多种方法来解决sign(.)的上述问题,包括引入缩放因子[31]、梯度近似[29]和预二值化分布调整[18]。在这些方向中,我们认为预二值化重塑显示了减轻BNNs信息瓶颈的最大潜力。然而,与现有研究不同,我们认为塑造预二值化分布只是手段而不是目的。为了解决上述问题,我们设计了一个可学习的激活二值化函数(LAB),以自动将全精度特征图映射到二值化对应项,以使网络的表示能力(与全精度相比)受到的影响最小。这在图1中以示意图的形式显示(并在第3节中详细说明),在离散特征图的多样性谱上应用全局sign(.)阈值会导致类似的输出(起到多样性瓶颈的作用),而LAB则可以避免这种信息损失,并揭示后续层的重要特征。xb = sign (xr) =�+1, if xr > 0−1, if xr ≤ 0 ,(1)64260图1:模型训练后第一个二值卷积步骤之前和之后的所有通道。与sign(.)相比,使用LAB进行二值化不会将一些离散输出特征图映射为相似的二值特征图,而是在二值化过程中学会区分重要特征,提高了BNN的信息传播能力。0我们的贡献可以总结如下:0•据我们所知,我们首次确定了sign(.)所施加的唯一性瓶颈。我们证明了sign(.)限制了二值特征图的表示能力。0•为了解决这个瓶颈,我们引入了一种新颖的可学习激活二值化方法:LAB。我们展示了LAB是一个通用模块,可以轻松地插入到任何现有的BNN架构中,并提高其性能。我们对四个重要的BNN基线进行的实验验证了这一观点。0•我们围绕LAB构建了一个端到端的网络(称为LAB-BNN),并证明它在ImageNet上具有与该领域最先进的竞争性准确性(64.2%的Top-1验证准确性)。02. 相关工作0当前的BNNs通过对全精度权重和激活应用sign(.)来进行二值化:0其中 x b 和 x r分别表示二值和实数(全精度)值。简单地将这些量化应用于CNN会导致低准确性,并且为了缩小BNN实现与其实值对应物之间的差距,出现了几个研究方向:量化误差的最小化[7, 31],损失函数的改进[9, 16, 24],梯度近似[21, 24,29],不同的网络架构设计[5, 8, 17, 24, 26,41],训练策略[1, 23, 27, 33]和二值推理引擎[3, 12, 37,39]。除了这些主要方向外,还有一些研究探讨了用于二值化权重和激活的新方法,下面将对其进行阐述。0权重二值化。[14]中提出了一种新颖的权重二值化方法,其中同时使用全精度和二值权重作为噪声监督器,用于学习向最终二值权重的映射。由于这种映射是可学习的,它可以利用权重之间的关系。SiMaN [20]和RBNN[21]都提出了一种基于所谓的全精度和二值权重之间角度对齐的新的二值化方法。0二值化激活。一种处理二值化激活的方法是使用经典的计算机视觉技术,例如抖动。这种技术可以以一种将量化误差转移到更高频率的方式对图像进行二值化。由于人类视觉系统对较低频率更敏感,因此二值化图像被认为具有较低的量化误差,并且因此携带更多信息。这个想法的一个实现被称为DitherNN,但它只报告了轻微的改进[2]。大多数二值化激活方法侧重于塑造二值化前的分布,从而在二值化后可以实现更高的熵[29]。例如,[9]中提出了一个额外的正则化项,以明确地塑造二值化前的分布,以抵消退化、饱和和梯度不匹配问题。[18]中认为BNNs受益于不平衡的二值化前分布。ReActNet[24]认为BNNs受益于学习与其全精度对应物相似的激活分布。在相关的研究中,Si-BNN[34]从稍微不同的角度来处理激活二值化问题,并在激活二值化过程中引入了稀疏性。尽管这些研究对BNNs显示了有希望的性能结果,但我们认为改变二值化前的分布仍然是一种自适应全局阈值化的方法,因此是一种次优的方法。因此,输出特征图不能完全反映和适应输入特征图的局部信息。Soft-ArgMax(x) =1�i=0eβxij eβxj i =eβx1j eβxj .(2)642703. 问题阐述在本节中,我们反思了sign(.)二值化函数对BNN的限制。我们检查网络处理sign(.)的单一阈值能力,我们称之为全局阈值,因为其值对于所有空间维度都是相同的。实际上,由于输入特征图到sign(.)的输入是前一个(卷积)层的输出,该卷积的核将学习将输出特征图的部分推到或拉到全局阈值之上或之下,结果是输出特征图将紧密地围绕阈值值。批量归一化层可以通过有效地移动阈值值进一步引导这个过程。尽管这种组合对于当前BNN的学习过程至关重要,但我们认为它仍然存在局限性。图2解释了我们认为是BNN信息传播瓶颈的问题。这里,A表示二值卷积的离散输入特征图。假设W表示所有想象得到的唯一权重核的集合。给定核大小k、输入通道数C和每个核的单个输出通道,所有唯一Wi的总数,对于所有i∈[n],将为n=2k2×C。输出特征图D1到Dn是离散的有限字母张量。注意,在这种情况下,n小于给定特定输入A的理论最大唯一激活数N=(k2×C)H×W。受到前几层激活设计的影响,适当设计A可能最小化n和N之间的差距。将sign(.)应用于D1到Dn将它们映射到它们的二进制对应物B1到Bn。理论上,可能有n个唯一的二进制特征图Bi,对于所有i∈[n],尽管在实践中,我们展示了这样一个事实,即如果我们给W以任意值,输出特征图的可能令牌集对于sign(.)是有限的。低多样性意味着W的多个不同值将导致相同的二进制输出,这将阻碍模型的优化。我们将上述问题称为唯一性瓶颈。我们认为由于这个瓶颈,网络没有充分利用其潜力,网络的表示能力将受到影响。为了证明这个假设是有效的,我们设计了一个玩具实验,使用从训练好的Bi-RealNet-18[26]中的二值化特征图(使用sign(.))提取的单层二值输入特征图A(在这种情况下,C=1)。核大小k设置为3,总共有2k2=512个唯一核。按照图2中的步骤,我们以A为起点,将其与每个可能的核Wi进行卷积,并使用sign(.)函数对输出激活Di进行二值化。然后,我们计算唯一二进制特征图Bi的数量,并对20个不同输入图像的所有通道(每个不同层)进行平均。我们将计数的唯一特征图数(nc)和理论总唯一特征图数(nt)的比率称为唯一性比例η=nc/nt。结果如表1所示。我们可以看到,随着卷积越深,导致9到16层的特征图变小,唯一性比例减小,瓶颈变得更加明显。在下一节中,我们提出了可学习的激活二值化器(LAB)作为解决这个瓶颈的方法。0表1:在Bi-RealNet中应用sign(.)函数后,512个唯一W的η值。后面的层显示出较低的比例,表明唯一性瓶颈更加明显。0第1、2、3、4、5、6、7、8层的η值分别为0.964、0.994、0.996、0.998、0.998、0.986、0.991、0.9940第9、10、11、12、13、14、15、16层的η值分别为0.994、0.927、0.943、0.951、0.959、0.747、0.781、0.8030唯一特征图数(nc)和理论总唯一特征图数(nt)的唯一性比例η=n c /n t的结果如表1所示。我们可以看到,随着卷积越深,导致9到16层的特征图变小,唯一性比例减小,瓶颈变得更加明显。在下一节中,我们提出了可学习的激活二值化器(LAB)作为解决这个瓶颈的方法。04.提出的方法:LAB解决瓶颈问题的一种可能方法是找到一种从全精度激活值到相应二进制值的映射,以保留输入特征图中嵌入的空间信息。为此,我们提出了一种与当前激活分布塑造的智慧相反的新颖可学习激活二值化器(LAB),如图3所示。该图演示了LAB作为标准BNN的构建块。放大到LAB单元,由于我们需要像sign(.)一样进行逐通道二值化,首先对输入进行了重塑以进行逐通道操作。为了捕获每个通道的局部空间信息,应用了通道乘法器为2的3×3逐层卷积。这种通道加倍的核心思想是在LAB单元内构建一个微型分割层,将输入分类为-1或+1。这通过在两个通道上进行ArgMax(.)来完成,将特征图减少到一个单输出通道,最后重新调整为原始大小。由于ArgMax(.)是不可微分的,我们在反向传播中应用Soft-ArgMax(.)[11]。鉴于我们只处理两个类别,公式(2)中的Soft-ArgMax(.)简化为带有额外温度控制参数β的SoftMax(.)的单个条目,该参数控制ArgMax(.)近似的“硬度”:0新的二值化方法仅用于特征图的二值化,而不用于二进制卷积核,因为卷积核不包含足够的空间信息供LAB捕获。64280图2:独特性瓶颈。激活A与所有唯一的卷积核Wi进行卷积。有限字母表特征图D通过sign(.)进行二值化,这就创建了多个D映射到同一个二进制特征图B的瓶颈。方程(底部)表示张量的唯一组合的理论最大数量。0图3:LAB的概述以及它如何类似于sign(.)的使用。元组[{1,2},H,W,C]表示张量的形状。逐层卷积和ArgMax(.)构成了LAB的核心。为了在反向传播中保持可微分性,使用了Soft-Argmax(.)。0LAB确保了在第1节中介绍的问题(ii),(iii)和(iv)得到解决。可学习的逐层卷积核确保像素的二进制值取决于其相邻像素。由于这个特性,将构建更多样化的二进制特征图,从而解决了独特性瓶颈问题。我们意识到引入全精度逐层卷积会增加网络的复杂性。然而,我们认为带有LAB的网络仍然是一个BNN,因为主要的卷积仍然是二进制的;逐层卷积是一个中间操作,在现有文献中更常保持全精度[20,21,25,27]。05. 实验评估0在本节中,我们首先反思实验设置。接下来,我们分析了独特性瓶颈以及如何使用LAB来帮助缓解问题。然后,我们展示了LAB不仅仅是一次性的解决方案,而是一个可以直接插入现有基线的通用模块。最后,我们提出了一个围绕LAB的端到端模型架构(LAB-BNN),在性能上与最先进的技术相媲美。05.1. 实验设置0为了能够与各种现有的最先进基线进行比较 -也为了让社区更广泛地采用 -我们在PyTorch和TensorFlow中都实现了LAB。为了与最先进的基线进行比较,我们使用了基于TensorFlow的Larq框架[3]。网络结构。为了展示LAB的多功能性,我们将其插入了四种不同的架构中。首先,选择了XNOR-Net[31],以检查基于AlexNet的架构[19]上的改进信息流,该架构没有跳过连接。然后,使用Bi-RealNet[26]和ReActNet [24]作为它们的ResNet [15]和MobileNet[17]骨干。最后,使用改进版本的Bi-RealNet - QuickNet[3],以评估LAB是否能对性能最佳的最先进网络产生影响。提出的端到端网络:LAB-BNN。除了提出的模块LAB之外,我们还设计了一种基于Bi-RealNet-181架构的端到端网络,通过将[7, 24, 27,33]中的PRelu和初始层(进一步称为STEM)与QuickNet[3]提出的方法相结合,进一步增强了性能。0尝试了ReActNet-A,但无法在Larq中复现。2+2,̸(3)64290超参数。所有实验都使用4个NVIDIA GeForce GTX 1080Ti GPU进行,并遵循Larq[3]中的标准设置,除非另有说明。为了复现名义上的报告性能,我们使用了批量大小为128和学习率为1e-4来重新训练XNORNet。对于Bi-RealNet,使用了批量大小为256和学习率为2.5e-3。对于Quicknet,我们使用了批量大小为512和学习率为2.5e-3。最后,我们从头开始重新训练了ReActNet-A,批量大小为128,学习率为2.5e-3。LAB-BNN使用批量大小为256和学习率为2.5e-3,并在300个时期内从头开始训练。我们选择从头开始训练,因为最近的研究[4]表明高精度模型不需要多阶段训练,并且它极大地简化了训练过程。温度控制参数β的Soft-ArgMax(.)是一个可学习的参数,初始值为1.0。边缘上的实时推理。BNN的研究集中在将深度学习带到资源受限的边缘设备上。最近的研究报告了他们的模型的计算复杂性,使用理论指标,如浮点运算(FLOPs)[24,27]、乘累加(MACs)[4]或算术计算工作量(ACE)[40]。与[3,30]一致,我们认为延迟是比较模型性能的最佳指标。为了对模型的延迟进行基准测试,我们使用了一台资源受限的边缘计算设备,Nvidia Jetson Xavier NX2开发套件,这是一块用于嵌入式AI系统开发的基于ARM的板子。尽管这个设备有一个内置的GPU,但在基准测试中我们只使用CPU。因此,这些基准测试可以在通用的ARM64设备上复现。为了将模型从TensorFlow转换为Jetson兼容的模型,我们使用Larq Compute Engine Converter[3],它输出一个TensorFlow Lite(TFLite[22])模型。现在可以使用Larq基准测试工具[3]对该模型进行评估,该工具是从TFLite基准测试3进行了调整。对于所有的基准测试实验,Jetson的功耗模式设置为15W,我们使用单线程模式,并报告50次运行的平均值。05.2. 唯一性瓶颈:定性和定量分析0在第3节中,我们已经展示了sign(.)可以在达到理论最大唯一二进制状态的过程中引入瓶颈,我们认为这将限制BNN的容量。在这里,我们采用了一个小规模的实验(在下一小节中进行大规模的端到端实验)来定性和定量地证明LAB减少了这个瓶颈。02 https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-xavier-nx/,于2022年8月28日访问 3https://www.tensorflow.org/lite/performance/measurement,于2022年8月28日访问0表2:从训练的BiRealNet-18网络中提取的特征图应用于SSIM和ENDSIM(3)的预处理和后处理二值化sign(.)与LAB之间的不相似性比较。箭头的方向表示较高的不相似性。SSIM值乘以×10^3。0层 1 2 3 4 5 6 7 80SSIM ↓ ( × 10 − 3 ) 标志 94.8 21.3 14.5 13.1 11.9 21.6 16.6 13.50实验室 1.5 9.0 4.2 5.4 8.9 5.1 6.6 6.40ENDSIM ↑ 标志 1.1 0.93 0.85 0.83 0.8 0.86 0.84 0.80实验室 0.92 0.96 1.1 1.3 1.4 1.4 1.5 1.50层 9 10 11 12 13 14 15 160SSIM ↓ ( × 10 − 3 ) 标志 12.2 25.8 19.7 17.6 14.6 29.3 22.4 18.00实验室 8.5 4.2 2.9 2.4 8.8 5.6 8.2 7.10ENDSIM ↑ 标志 0.76 0.92 0.88 0.85 0.81 0.98 0.93 0.890LAB 1.6 1.4 1.4 1.4 1.7 1.4 1.4 1.40为了实现这个目标,我们将经过训练的Bi-RealNet-18的二进制特征图与经过训练的Bi-RealNet-18+LAB(其中将sign(.)替换为LAB)进行比较。结果如图4和表2所示。图中显示了来自第1层和第6层(共18层)的选定特征图。可以看到,与sign(.)相比,LAB在第1层中保留了更多的结构信息,即使随着深层次的第6层,特征变得过于抽象而无法被人类理解。从图4中最重要的信息是要理解LAB与sign(.)的区别在于LAB可以区分相似的像素值(例如柠檬中的阴影和手表中的不同蓝色色调)。除了定性演示,LAB对两个网络学习的唯一特征图数量的影响还通过两个(不)相似性度量进行了量化:结构相似性损失(SSIM)[35]和我们称之为欧几里德范数不相似性(ENDSIM)的自定义度量,给出如下:0ENDSIM ( A i , A j ) =0� � �0�0� 10HW0w,h | A i − Aj |0�0�0�0� 10HW0w,h | A i + Aj |0�0�0h ∈ [H],w ∈ [W],i ≠ j ∈ [C]0其中W和H表示输入图像的宽度和高度(以像素为单位),A i 和A j是不同的单通道特征图进行比较。该度量有两个项,第一个项衡量差异,第二个项确保完全反转的特征图不会受到惩罚。后者是因为通道上的反转特征图层可能会发生,但不表示结构差异。这两个度量值是通过对通过两个网络传递的ImageNet的10个随机选择图像的所有可能的特征图层对组合进行计算和平均得出的。结果总结在表2中,可以看到,除了第一层外,LAB显示出更高的不相似性值(较低的SSIM和较高的ENDSIM),表明在通道上具有更多的独特性。ResNet-18Bi-RealNet [26]1/156.479.51.681.391.63BNN-UAD [18]1/157.280.2---IR-Net [29]1/158.180.0--1.63SI-BNN [34]1/159.781.8---SiMaN [20]1/160.182.3---QuickNet [3]1/163.384.6---LAB-BNN1/164.285.01.680.660.92ReActNet [24]1/165.9----ArgMax+0.84STEM [3]Conv2D-109.8364300图4:在Bi-RealNet-18的两个层次上,sign(.)和LAB的定性比较。LAB在第1层中显示出更多的纹理(尤其是在第1层),这表明允许更多的信息通过。0表3:在ImageNet上应用LAB对应基线的结果。0网络骨干 训练时期 方法 Top-1 Top-5 模型大小 延迟 [%] [%] [MB] [ms]0XNOR-Net [31] AlexNet [19] 60 Sign 44.0 68.1 23.9 50.80LAB 46.5 70.3 24.4 55.10BiRealNet [26] ResNet-18 [15] 150 Sign 54.4 77.6 4.18 72.50LAB 59.1 81.2 4.65 100.60QuickNet [3] ResNet-18 [15] 120 Sign 58.7 81.2 4.35 58.10LAB 62.5 84.0 4.85 82.40ReActNet [24] MobileNetV1 [17] 75 Sign 62.4 83.4 7.74 108.10LAB 64.1 84.8 8.69 210.905.3. LAB:一个通用模块0提出的方法LAB可以直接应用于任何BNN,无需进行架构调整。在本小节中,我们通过将符号(.)替换为LAB来替换四个重要的BNN架构,并评估对ImageNet下游分类任务的影响。结果如表3所示。可以看到,以可忽略的模型大小增加和可接受的延迟增加(最大为[ms]的2倍)为代价,增强的架构XNORNet、Bi-RealNet、QuickNet和ReActNet分别提供了3.3%、7.9%、3.8%和1.7%的Top-1准确率改进。对于Top-5准确率,性能提升略微不那么明显。请注意,达到名义性能所需的训练时期数量取决于架构本身。这个实验的关键信息是,无论是背骨还是架构设计,LAB对所有架构都有相当大的影响。0表4:与ImageNet上报告的最先进技术的比较。破折号表示原始作者没有报告任何值。0网络 方法 W/A Top-1 Top-5 BOPs FLOPs OPs [%] [%] ( × 10 9 ) ( × 10 8 ) ( × 108 )0全精度 32/32 69.6 89.2 0 18.1 18.10表5:FLOP比较:LAB-BNN与Bi-RealNet。0组件 操作 FLOP � × 10 6 �0深度可分组 Conv2D +30.30BiasAdd +1.68 实验室(我们的) Multiply+1.680相等 +0.840PRelu [33] Mul +0.570负 +0.760总计 -73.1605.4. 与最先进技术的比较0现在,实验室的普适性已经得到证明,我们评估了以实验室为核心的提出的端到端网络(LAB-BNN)的有效性。我们将LAB-BNN的性能与专注于激活二值化的最先进基线进行比较。为了公平比较,我们关注在具有ResNet-18骨干的ImageNet上报告的Top-1和Top-5验证准确性。结果总结在表4中。无论是Top-1还是Top-5的结果都与最先进的结果相竞争,并且与完全精度等效网络相比仅差约5%。值得注意的是,ReActNet报告了更高的准确性(我们无法在TensorFlow中复现),部分原因是采用了多阶段训练策略,而LAB-BNN是从头开始训练的。除了准确性之外,BNN的时间和计算复杂性同样重要,尽管大多数现有的基线忽视了这些指标的重要性,有时甚至不报告它们。根据[24],在表4中,我们报告了总的二进制和浮点运算(OP = BOP / 64 +FLOP)。在这里,与包括原始Bi-RealNet在内的其他基线相比,我们实现了更低的总计算复杂度(以FLOP为单位)。为了进一步分解这个问题,在表5中,我们将Bi-RealNet作为我们的参考,并在第二列中列出了每个操作的额外(+)复杂度。尽管实验室的机制增加了一些复杂性,但我们通过更高效的实现STEM层[3]来补偿这一点,从而使总体FLOP减少了73.16×106。64310表6:LAB-BNN(Imagenette,100个时期)对于实验室的多种精度以及与其他自适应二值化技术的比较。0实验室 深度可分组 Top 1 Top 5 模型大小 卷积[%] [%] [MB]0无实验室 76.4 97.2 2.040实验室 FP32 88.5 99.2 2.300实验室 INT8 89.1 99.2 2.130实验室 INT4 85.3 98.7 2.100二值化后的分布。为了说明二值化后的分布对网络性能的影响不大(与[9,18,24]的结论相反),图5显示了原始Bi-RealNet-18和Bi-RealNet-18+实验室的+1和-1的二值化后分布,这些分布是在1000个输入图像的所有通道上平均的。可以看出,虽然两个网络的二进制值的分布几乎相同,但两者的性能(在第5.3节中报告)相差7.9%,支持我们的观点,即二进制分布并不重要,而像素的空间排列是重要的。深入还是实验室?将实验室插入标准的Bi-RealNet(我们构建LAB-BNN的基础)会给网络增加额外的复杂性,人们可以认为在每个层中添加实验室的核心可以帮助使网络更深。然而,作为一个反驳的论点,我们将LAB-BNN与具有更深骨干的Bi-RealNet进行比较。更具体地说,在当前的结构中,我们的方法在Bi-RealNet-18的每个二值化层中添加了一个深度可分组卷积。这大致相当于添加了16个卷积层,总共有18+ 16 =34个层。根据[26],Bi-RealNet-34和Bi-RealNet-50分别在ImageNet上实现了62.2%和62.6%的验证准确性,这两个准确性仍然低于LAB-BNN的准确性。此外,BiRealNet-18+实验室的模型大小为4.24MB(深度可分组核心的FP32权重),而BiRealNet-34占用5.23MB。因此,我们提供了更小的模型大小和更高的准确性。为了评估实验室对准确性提升的精度影响,我们评估了实验室的深度可分组卷积核心的不同位宽。表6总结的结果表明,从FP32降至INT8,实验室的影响不会降低,即使INT4仍然比无实验室基线提供了显著的增益。与局部阈值比较我们将实验室与经典的局部二值化技术进行比较,以表明实验室遵循了可学习方法优于统计方法的共同智慧。我们实现了Niblack [28]和Sauvola[32],并使用了窗口大小为3和常见的k值。表7显示,实验室与Niblack相差11.5%,并且与Sauvola的最佳配置相比提高了2.7%。0表7:LAB-BNN(Imagenette,150个epochs,批大小32)与自适应二值化技术的比较。0二值化 Top 1 Top 5 模型大小 方法 [%] [%] [MB]0STE-sign 87.0 98.7 2.060Niblack, k = -0.2 77.8 97.0 2.060Sauvola, k = 0.2 82.5 98.3 2.060Sauvola, k = 0.5 86.6 98.8 2.060LAB 89.3 99.1 2.0906. 消融研究在本节中,进一步检查了LAB-BNN不同组件的影响。接下来,我们使用第5.1节中列出的相同设置,除了缩短到30个epochs的数量。我们从原始的Bi-RealNet-18(模型A)开始,逐步更新组件,直到LAB-BNN(模型D)。首先,我们通过引入PRelu激活[33]来升级模型A,得到模型B。然后,我们将sign(.)替换为提出的LAB模块,得到模型C。最后,我们将Bi-RealNet的初始卷积替换为QuickNet[3]的STEM层,形成LAB-BNN(模型D)。结果如表8所示。将LAB插入模型B中,Top-1验证准确率提高约6%(Top-5大约提高5%),模型大小增加0.46 MB,延迟增加28.5ms。为了弥补增加的延迟,我们应用QuickNet[3]提出的STEM层,将延迟相对于模型A降低到9.7 ms。0图5:1000个输入图像的原始Bi-RealNet-18与LAB-BNN的二值化后分布的平均值。行表示ResNet结构中的块,列表示每个块中的层编号。0为了进一步了解每个操作符延迟的分布情况,我们在图6中对模型A到D的网络延迟进行了剖析。换句话说,这是对表8中报告的总延迟的细粒度可视化分解。深度卷积以及LAB中的ArgMax(.)操作是增加延迟的主要原因。此外,从表8中可以明显看出,STEM层确实有助于减轻整体延迟。□✓ □✓ □✓ □✓59.181.34.6883.7□□✓ □✓ □✓58.781.04.6668.0□✓ □□✓ □✓58.480.64.6475.3□✓ □✓ □✓ □58.480.54.3379.1□✓ □✓ □□✓58.180.44.6177.1□□✓ □✓ □58.080.24.3163.9□□✓ □□✓57.980.14.5864.9□□□✓ □✓57.880.04.6260.6□✓ □□✓ □57.879.94.2972.9□□□✓ □56.778.94.2758.8□✓ □□□✓56.779.34.5771.1□✓ □✓ □□56.479.14.2675.0□□□□✓55.978.64.5441.4□□✓ □□55.778.14.2347.6□✓ □□□54.977.34.2259.9□□□□53.276.14.2054.664320图6:LAB-BNN剖析每个操作符延迟的消耗。对于延迟的最小贡献操作符被标记为“其他”。0表8:LAB-BNN的消融研究,在ImageNet数据集上训练30个epochs。延迟列的每个操作符的分解详见图6。0方法 Top-1 Top-5 模型大小 延迟 [%] [%] [MB] [ms]0A: BiRealNet [Base] 45.0 69.7 4.18 70.3 B: Base+PRelu 52.476.1 4.19 70.8 C: Base+PRelu+LAB 58.1 80.9 4.65 99.3 D:C+STEM [LAB-BNN] 58.2 80.8 4.62 80.006.1. 申请LAB的位置。0到目前为止,在应用LAB时,网络中每个二值化层的所有sign(.)实例都被替换为LAB。对于Bi-RealNet-18架构,这意味着在所有四个残差块中,每个块中的四个卷积都是如此。正如我们在表1中看到的,独特性瓶颈主要在后期层中可见。因此,在表9中,我们评估了在哪些块的组合(16种可能的组合中)中应用LAB作为二值化函数最具影响力。在这样做时,我们将LAB应用于每个选定块中的所有层。网络训练了30个epochs,我们报告Top-1和Top-5验证准确率、模型大小和延迟。我们从表中得出结论,省略LAB(在所有地方使用原始的sign(.))会导致最差的结果,并且可以看到随着逐渐应用LAB到更多块中,准确率增加,并且将LAB应用于每个块可以获得最高的准确率。有趣的是,将LAB应用于最后3个块的模型(第二行)具有出色的准确率-延迟权衡。表9表明,通过在网络中的不同块中应用LAB,可以设计出具有一定准确率-延迟权衡的网络,这为BNN的实际应用案例提供了有用的设计自由度。0表9:将LAB应用于LAB-BNN的不同块的研究。勾号表示在该块的所有层中使用了LAB。0块 Top-1 Top-5 模型大小 延迟 1 2 3 4 [%] [%] [MB][ms]07. 结论我们表明,常用的二值化操作sign(.)对BNNs施加了唯一性瓶颈,使其成为二值化的次优选择。为此,我们引入了可学习的激活二值化器(LAB),一种新颖的二值化函数,允许BNNs学习每层的灵活二值化核。我们已经证明,LAB可以轻松地插入现有的基线BNNs中,提升它们的性能,而不受其架构设计的影响。此外,我们还基于LAB构建了一个新的端到端网络(LAB-BNN),其性能与最先进的技术相当。对于未来的工作,我们将研究将可学习的二值化应用于权重,而不仅仅是激活函数。我们还计划进一步扩展我们的实验,特别是围绕LAB-BNN,以推动性能边界并推进最新技术的发展。64330参考文献0[1] Milad Alizadeh,Javier Fern´andez-Marqu´es,Nicholas DLane和YarinGal。二进制神经网络优化的实证研究。在国际学习表示会议上,2018年。0[2] Kota Ando, Kodai Ueyoshi, Yuka Oba, Kazutoshi Hirose,Ryota Uematsu, Takumi Kudo, Masayuki Ikebe, Tetsuya Asai,Shinya Takamaeda-Yamazaki, and Masato Motomura. Dithernn:一种用于低位精度硬件的准确神经网络的抖动。在2018年国际可编程技术会议上,第6-13页。IEEE,2018年。0[3] Tom Bannink,Adam Hillier,Lukas Geiger,Tim deBruin,Leon Overweel,Jelmer Neeven和KoenHelwegen。Larq计算引擎:设计,基准测试和部署最先进的二值化神经网络。机器学习和系统会议论文集,第3卷:680-695,2021年。0[4] Joseph Bethge, Haojin Yang, Marvin Bornstein, andChristoph Meinel.回归简单性:如何从头开始训练准确的BNNs?arXiv预印本arXiv:1906.08637,2019年。0[5] Adrian Bulat, Brais Martinez, and Georgios Tzimiropoulos. Bats:二进制架构搜索。在欧洲计算机视觉会议上,第309-325页。Springer,2020年。0[6] Adrian Bulat, Brais Martinez, and GeorgiosTzimiropoulos.高容量专家二进制网络。在国际学习表示会议上,2020年。0[7] Adrian Bulat, Georgios Tzimiropoulos, Jean Kossaifi, andMaja Pantic.改进的二进制网络训练方法用于人体姿态估计和图像识别。arXiv预印本arXiv:1904.05868,2019年。0[8] Tianlong Chen, Zhenyu Zhang, Xu Ouyang, Zechun Liu,Zhiqiang Shen, and Zhangyang Wang.”bnn-bn=?”:无需批归一化训练二进制神经网络。在IEEE/CVF计算机视觉与模式识别会议论文集上,第4619-4629页,2021年。0[9] Ruizhou Ding, Ting-Wu Chin, Zeye Liu, and Diana Mar-culescu.用于训练二值化深度网络的激活分布正则化。在IEEE/CVF计算机视觉和模式识别会议论文集上,页码11408-11417,2019年。0[10] Thomas Elsken, Jan Hendrik Metzen, and Frank Hutter.神经架构搜索:一项调查。机器学习研究杂志,20(1):1997-2017,2019年。0[11] Chelsea Finn, Xin Yu Tan, Yan Duan, Trevor Darrell,Sergey Levine, and P
下载后可阅读完整内容,剩余1页未读,立即下载
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)