没有合适的资源?快使用搜索试试~ 我知道了~
tation, object detection and generation tasks [31, 26, 47].Given their wide utility, there has been significant effort todesign efficient architectures that are capable of being runon mobile and other low power devices while still achiev-ing high classification accuracy on benchmarks such as Im-ageNet [34]. For example, MobileNets [15, 35] employ thedepthwise separable convolutions introduced in [36] to sig-nificantly reduce resource requirements over previous archi-tectures. Inference time and computational complexity inthese architectures are dominated by the 1×1 convolutions,which directly map to matrix-matrix multiplications.1146290快速稀疏卷积神经网络0Erich Elsen �0DeepMind伦敦,英国0eriche@google.com0Marat Dukhan �0Google MountainView,加利福尼亚州0maratek@google.com0Trevor Gale �0Google MountainView,加利福尼亚州0tgale@google.com0Karen SimonyanDeepMind伦敦,英国0simonyan@google.com0摘要0从历史上看,追求高效的推理一直是研究新的深度学习架构和构建模块的推动力之一。最近的一些例子包括:挤压激励模块[16],Xception中的深度可分离卷积[4]和MobileNetv2中的倒置瓶颈[35]。值得注意的是,在所有这些情况下,所得到的构建模块不仅提高了效率,还提高了准确性,并在该领域得到了广泛应用。在这项工作中,我们进一步扩展了神经网络架构的高效构建模块的工具库;但我们不是将标准的基本模块(如卷积)组合起来,而是主张用它们的稀疏对应物来替换这些密集的基本模块。虽然使用稀疏性来减少参数数量的想法并不新鲜[42],但传统的智慧是,这种理论上的FLOPs减少并不能转化为实际的效率提升。我们的目标是通过引入一系列针对多种硬件平台的高效稀疏内核来纠正这种误解,我们将这些内核作为XNNPACK库的一部分开源,以造福社区。凭借我们高效的稀疏基本模块实现,我们展示了MobileNet v1、MobileNetv2和Ef�cientNet架构的稀疏版本在效率-准确性曲线上明显优于强大的密集基线。在Snapdragon835上,我们的稀疏网络比它们的密集等效网络性能提高了1.3-2.4倍,相当于大约整整一代的改进。我们希望我们的发现能促进更广泛地采用稀疏性作为创建高效和准确的深度学习架构的工具。01. 引言0� 这些作者对本工作做出了相等的贡献0权重稀疏性通常被认为会导致理论上更小且计算效率更高(以浮点运算次数为衡量)的模型,但由于误解稀疏操作无法达到实际加速推理的速度,它通常被忽视作为加速模型的实际手段。为了解决这个误解并将稀疏性牢固地确立为深度学习从业者工具中的一种,我们引入了用于加速稀疏神经网络的稀疏矩阵-稠密矩阵乘法(SpMM)的快速内核。我们的SpMM内核与之前的研究[30,45]的主要区别在于我们在设计空间中关注不同的点。之前的工作侧重于极度稀疏的问题(通常>99%,在科学和图形问题中发现),而我们的目标是神经网络中引入权重稀疏性时更常见的70-95%的稀疏范围。因此,我们的内核明显优于TACO编译器[22]生成的内核。0使用这些卷积核,我们展示了在MobileNet [15, 35,40]三代架构中稀疏性的有效性。稀疏性使得每个架构的性能提升了一个整代,其中稀疏的Ef�cientNet比所有先前的模型更加高效。这些模型代表了一代新的高效CNN,相对于先前的几代,推理时间减少了1.3-2.4倍,参数数量减少了2倍以上,浮点运算(FLOPs)减少了最多3倍。1021036570758065707580146300MFlops0Top10MBv1 vs MBv2 vs EN0密集v1 90%v1 密集v280% v2密集EN80% EN0(a) Top-1准确率 vs. FLOPs01 2 3 4 5 10 20 MParams0Top10MBv1 vs MBv2 vs EN0密集v1 90%v1 密集v280% v2密集EN80% EN0(b) Top-1准确率 vs. 参数数量0图1:MobileNetv1、v2和Ef�cientNet模型。稀疏模型:蓝色,密集模型:红色。稀疏模型包括存储稀疏张量非零位置的成本,以位掩码的形式转换回参数计数。即每32个位掩码值贡献一个“参数”。02. 相关工作0卷积网络架构的改进[23, 37, 12,17],通过在基准任务(如ImageNet[34])上的分类准确率增加来衡量,通常伴随着模型参数数量、FLOPs和内存需求的增加。最近,通过神经架构搜索找到的网络可以实现超过82%的top-1准确率,但每次推理需要近25GFLOPs。鉴于这些推理成本过高,已经有很多工作致力于提高CNN的效率,通常定义为以下三个指标之一:01. 在真实硬件上的推理加速02. 通过减少FLOPs来实现的理论加速03. 模型尺寸减小0这些轴既不平行也不正交。特别是(3)和(2)对(1)的影响可能非常复杂,且因硬件而异。MobileNet系列架构[15,35]专注于通过利用[36]中引入的深度可分离卷积来提高效率,这可以被视为具有预定义稀疏拓扑结构的全卷积的手工稀疏化,也是这些架构参数效率的原因。MobileNet v1(MBv1)使用1×1卷积层后跟深度卷积。MobileNet v2(MBv2)引入了倒置残差块,其中包括一个1×1卷积来扩展通道数,0在扩展通道数上进行深度卷积,然后通过1×1卷积来减少参数数量。在MobileNet架构中,深度卷积仅占总FLOPs、参数和推理时间的一小部分。在MBv1中,它们占总FLOPs的不到2%,在MBv2中不到3%。另一种方法是通过直接修剪完全卷积滤波器的权重,并伴随必要的推理核来制作更加高效的CNN [32,24]。[32]无法加速1×1卷积,[24]没有尝试。后者还需要为每个模型实例生成一组新的核,这在实际部署中通常是不切实际的。由于加速稀疏计算的困难,通道修剪方法更受青睐[10, 5, 28, 27, 41,13]。这些方法修剪掉整个滤波器,使最终模型密集,并且更像是对通道数量进行架构搜索。全面的神经架构搜索也直接应用于类似MBv2的架构,得到了MobileNet v3[39]、FBNet [44]和Ef�cientNet [40]。另外,Shuf�eNet[46]和Learnable Butterfly Factorizations[6]中考虑了1×1卷积的分解。Shuf�eNet将权重矩阵分解为排列矩阵和块对角矩阵的乘积。ButterflyFactorizations将权重矩阵分解为一系列排列矩阵和具有特殊结构的权重矩阵,可以表示许多常见的O(NlogN)变换,如快速傅里叶变换。====1324146310输入通道数0输入通道数0输出通道数0高度 x 宽度0输入通道数0输入通道数0输出通道数0高度 x 宽度0图2:稀疏的1x1卷积作为SpMM。左:非结构化稀疏(或块大小为1)。右:输出通道块大小为40在文本转语音(TTS)[21]中,研究表明,增加稀疏性和RNN模型中状态大小的增加会导致在给定非零参数计数的情况下提高模型质量。他们还展示了RNN推理所需的快速块稀疏矩阵-向量(SpMV)乘法例程。03. 方法0为了了解如何设计最高效的卷积模型,我们研究了如何构建和训练稀疏的MBv1、MBv2和Ef�cientNet模型,以及我们的SpMM内核的性能。03.1. 网络稀疏化0我们使用标准的数据增强技术在ImageNet[34]数据集上进行训练,并在提供的50k个示例验证集上报告top-1准确率。为了使网络稀疏,我们使用了[48]的逐渐幅度剪枝技术。我们不会在三个网络的开始处修剪第一个完整的卷积。它对参数计数、FLOP计数和运行时间的总体贡献很小,不需要引入新的稀疏操作。相反,我们实现了一个密集的卷积内核,它以标准的HWC布局输入图像,并输出由其余稀疏操作使用的CHW布局0在HWC布局中,对应于一个空间位置的不同通道的值在内存中是相邻的。在CHW布局中,一个通道的所有空间位置的值在内存中是相邻的。我们还没有修剪Ef�cientNet中的squeeze-excitation[16]块,因为它们对于密集模型的总FLOP贡献 <1%。所有模型中的最后一个全连接层对总FLOP计数的贡献也不显著( <1%),但对总参数的贡献很大(20-50%),特别是在模型的其余部分被修剪后。由于我们关注在给定运行时间内最大化top-1准确性,所以我们不修剪MobileNetv1和v2中的最后一层,因为这样做会导致top-1准确性略微降低。标准的Ef�cientNets不会根据模型的宽度来缩放最后一层卷积中的滤波器数量,然而我们发现在引入稀疏性时这样做是有益的;在所有稀疏的Ef�cientNet模型中,我们将单元数从1280增加到2560。我们还发现,在Ef�cientNet中可以使全连接层稀疏而不会损失准确性,所以我们这样做。03.2. 内核实现0图2展示了1×1卷积作为SpMM的示意图。我们的方案要求激活张量以CHW格式存储,与密集的移动推理相反。0图3:我们算法的内存读取和写入的可视化。在第1步中,我们同时加载第一行权重矩阵中每个非零权重的8个空间位置。我们还预取将用于下一组列的值(显示为浅黄色)。我们将每个标量权重乘以其对应的行,累积结果,并最终将其写出。第2步对下一个输出通道执行相同的计算。在第1步和第2步之后,这些空间位置的所有值都在缓存中,因此尽管是随机访问,但步骤3和4中的未来加载将会很快。112/8956/17628/36014/7207/143202040608010016x116x4ruytaco16x1 eff16x4 efftaco eff(a) MB v1 ARM NEON112/2256/3228/4814/8814/1367/22401020304050146320空间范围 / 通道数0GFLOP/秒0空间范围/通道数0GFLOP/秒016x116x20ruytaco016x1 eff16x2 eff0taco eff0(b)MB v2 ARM NEON0图4:随着层深度的增加的FLOPs。所有测量都在Snapdragon(SD)835上进行。Effective假设90%稀疏的MBv1和85%稀疏的MBv2模型。0braries [19, 7,20]更偏向HWC。我们的内核具有高性能的关键见解:01.虽然权重矩阵是稀疏的,但激活矩阵是密集的。这意味着我们可以从激活矩阵中进行向量加载,并同时处理多个空间位置。02.通过以正确的顺序处理矩阵,我们可以将将要进行随机访问的值保留在L1缓存中,从而实现快速和恒定时间的随机访问。03.当输入通道的数量足够小时,从激活中进行预取可以进一步减少缓存未命中。0图3显示了内核的几个步骤的内存读取和写入模式。图中显示了8个元素一起进行可视化,但实际实现中更自然的是16个元素,因为它对应于一个缓存行。外循环是列,内循环是行;这样可以使激活中的16个空间位置的每个条带保持在L1缓存中,直到不再需要为止。在图3中,步骤1和2是为了预热缓存,而后续的步骤3和4则从L1缓存中加载所有右侧的值。除了在HW维度上进行向量化外,利用权重矩阵中的少量结构可以通过在值加载到寄存器后增加数据重用来提供显著的性能提升。通过约束稀疏模式,使得多个输出或输入通道共享相同的零/非零模式。0权重矩阵中的“块”(参见图3右侧)。在输出通道维度上的块比在输入通道维度上的块具有更多的数据重用。实验(参见图5)表明,无论选择哪种方式,对准确性的影响都是相同的,因此我们使用大小为2和4的输出通道块来实现输出通道块。我们对内核的命名规则是给出它们的空间向量化宽度,然后是输出通道块大小-16x2表示内部循环中处理16个像素和2个输出通道。我们使用C语言和NEON指令集实现ARM内核,而当前的生产库[19, 7,20]则依赖于经过专家优化的汇编代码。03.3. XNNPACK集成0我们的内核作为XNNPACK的一部分提供[29]。我们计划发布一个TF-lite代理,可以运行使用TensorFlow模型修剪库训练的稀疏模型[1]。这包括从密集表示转换为适用于推理的块压缩稀疏行(BCSR)类似表示。除了高性能的1×1卷积外,我们还提供了所有支持的CHW内核-深度卷积、全局平均池化和一个3×3步幅2的稠密卷积-用于运行所有三代模型。虽然我们提供了这些内核的高性能版本,但我们在这里不详细介绍它们。它们包含在端到端的测量中。03.4. WebAssembly0在某些情况下,直接在Web浏览器中运行深度神经网络的推理(甚至训练)是有用的。现在多个框架都支持这一功能。146330模型宽度 Top-1 Mega Mega Time Time Time0FLOPs 参数 SD835 SD670 Wasm0MBv1 稠密 1.0 70.9 1120 4.30 135/116 111/108 2710稀疏 1.4 72.0 268 2.28 58 64 970MBv1 稠密 .75 68.4 636 2.59 74/69 63/65 1700稀疏 1.0 68.4 146 1.48 31 34 560MBv1 密集 .5 63.3 290 1.34 34/35 28/33 960稀疏 .75 64.4 90 1.30 21 21 360MBv20密集 1.4 75.0 1110 6.06 146/142 121/128 3190稀疏 2.0 74.5 406 4.24 93 91 1550稀疏* 1.8 74.9 411 4.13 102 108 1550MBv2 密集 1.0 71.8 580 3.47 78/80 64/76 1970稀疏 1.4 72.0 220 2.68 54 53 950MBv20密集 .75 69.8 375 2.61 55/64 47/58 1540稀疏 1.15 70.2 165 2.11 40 39 740CA稀疏 ‡ 1.0 69.7 119 1.73 33 35 -0MBv2 密集 .5 65.4 182 2.05 27/33 22/30 920稀疏 .80 65.2 90 1.66 26 24 410EN 密集 EN-b0 76.8 730 5.28 142/153 140/154 -0稀疏EN-b1 76.7 220 3.07 110 118 -0表1:密集和稀疏模型的大小、FLOPs和推理速度的比较。所有输入图像大小为224x224。稀疏MBv1模型在每一层都是90%稀疏的,稀疏MBv2模型是85%稀疏的。在稀疏MBv1模型中,第12层使用4的块大小。这几乎与4.3中的模型一样高效,并且与密集模型的top-1分数更接近。在稀疏MBv2模型中,从第11层开始,使用2的块大小。所有模型中的最后一个全连接层都是密集的。所有时间以毫秒为单位。在ARM上测量密集时间时使用了具有内部函数的XNNPACK和TensorFlow Lite。在IntelW-2135上测量Web Assembly结果时,密集时间使用了Intel的webml-polyfill[18]库†。稀疏参数计数包括每个稀疏层的稀疏存储开销,作为位掩码。EN-b1是85%稀疏和非结构化的,最后的FC层是稀疏的。*这个模型在所有层(除了最后的全连接层)中是80%稀疏的,并且在所有地方都使用块大小为1。‡这是在第4.4节中描述的具有缓存感知的MBv2架构。它在整个过程中使用块大小为1。†我们还尝试了WebDNN[14],但它不支持运行MobileNet和Ef�cientNet模型所需的一些操作。0包括WebDNN [14],Tensorflow.js [38]和Webml-polyfill[18]。框架通常支持使用WebAssembly(Wasm)[11]在CPU上运行或使用WebGL在GPU上运行。在这项工作中,我们针对WebAssembly后端,并展示了在这种设置下,稀疏视觉网络在性能上明显优于密集对应物。在这种设置下,我们的内核分解策略是相似的,但由于当前Wasm中缺乏矢量化支持,它们被转换为标量指令。由于寄存器文件较小,我们发现将展开次数从16减少到8是最优的。这些内核作为XNNPACK的一部分在github上可用。04. 结果0在正文中,由于篇幅限制,我们主要包含了MBv1和MBv2的结果。Ef�cientNets通常遵循与MBv2模型相同的趋势,Ef�cientNet的绘图可以在补充材料中找到。首先,我们展示了我们的SpMM内核的性能结果,然后展示了网络对稀疏性的响应,最后将这些信息结合起来,找出推理时间最短的模型。The hyper-parameters used to train MBv1 and MBv2 arelisted in table 2, they were found with a grid search ondense models with a width multiplier of 1.0 to reproducethe original results, which used RMSProp [43], with SGDwith momentum. The same hyper-parameters are used totrain sparse models. This change allows us to match or ex-ceed the reported accuracies with only 38,000 iterations oftraining.1463404.1. ARM内核性能0我们同时使用了Ruy[20]和密集的XNNPACK作为密集基准。对于稀疏基准,我们使用了TACO编译器[22]生成的内核。我们通过在模型中的每一层绘制FLOPs的结果来展示结果,图中从左到右的深度逐渐增加。对于MBv1,我们使用了1.4的宽度乘数和90%的稀疏度,对于MBv2,我们使用了1.4的宽度乘数和85%的稀疏度,因为这些配置大致与宽度为1的密集模型的top-1准确率相匹配。每次处理16个空间位置的内核变体(例如16x1等)性能最好,所有报告的数字都来自这些内核变体。TACO的结果应与16x1的内核进行比较。稀疏内核的原始性能在40-90%的范围内,而且由于它们需要做的工作要少得多,考虑到层的稀疏度,有效的FLOPs在2-7×的范围内。在MBv1中,当通道数(1024)导致一个“条带”的空间位置的大小超过L1缓存的大小时,性能在模型的最后两层显著下降。在MBv2中,锯齿状的模式是由交替的扩展和收缩操作引起的。由于扩展内核具有更大的数据重用性,因此性能更高,每个进入L1缓存的“条带”。04.2. 模型性能0MBv1 MBv20用于训练MBv1和MBv2的超参数列在表2中,它们是通过对宽度乘数为1.0的稠密模型进行网格搜索得到的,以重现使用RMSProp[43]和带有动量的SGD的原始结果。相同的超参数用于训练稀疏模型。这个改变使我们能够在只进行38000次训练迭代的情况下达到或超过报告的准确率。0表2:MBv1和MBv2训练的超参数。学习率在缩减空间中指定,然后乘以16,因为批量大小为4096。学习率调度是一个线性斜坡,前8个epoch达到最大值,然后在第40、75和95个epoch时按十的倍数进行阶梯衰减。0扩展训练迭代次数从350增加到650,并将学习率衰减指数从0.97增加到0.985,以使学习率衰减更慢。这些变化并没有改善稠密基准。我们通过将训练扩展四倍(同时调整学习率锚点)来引入MBv1和MBv2中的稀疏性,我们发现这提高了稀疏模型的性能,但没有改变基准。我们从第28000次迭代开始稀疏化过程,到第112000次迭代结束,每2000次进行一次修剪。对于Ef�cientNet,我们从第23000次迭代开始,到第105000次迭代结束,同样每2000次进行一次修剪。关于这些超参数的含义,请参阅[48]。我们使用标准数据增强在ImageNet[34]数据集上进行训练。在验证集上使用中心单裁剪报告Top-1准确率。为了了解块大小的影响,我们在图5中绘制了曲线。0对于不同的块大小,我们绘制了准确率对FLOPs的曲线。在这些图中,网络中的每个稀疏张量都使用相同的输出通道块大小。块稀疏性的权衡似乎只涉及每个块中有多少元素,而不涉及它们的配置。例如,在MBv1中,1×4、4×1和2×2的曲线都重叠在一起。由于块的损失,对于更宽的模型,准确率的损失似乎略微减少。为了了解稀疏水平如何影响模型的效率,我们在70%、80%和90%的非结构化稀疏性下训练模型,这在整个模型中保持不变。结果在图6中绘制出来。MBv1和MBv2在变得更稀疏时更加高效,这证实了[21]的结果不仅适用于RNN,也适用于卷积模型。在图1中,我们绘制了所有三代稀疏和稠密模型的Top-1准确率与FLOPs的关系。MobileNetv1的稀疏度为90%,其他模型的稀疏度为80%。稀疏的MBv1在FLOP和参数效率方面超过了MBv2;稀疏的MBv2在FLOP和参数效率方面与Ef�cientNet相匹配;稀疏的Ef�cientNet在这两个方面都超过了其他模型。04.3. 块大小的模型设计0为了设计具有最佳top-1准确率与推理时间的模型,我们做出以下假设以减少搜索空间:01. 我们保持模型本身不变。02. 我们在所有1×1卷积中引入相同级别的稀疏性。0然后,在模型中有N个残差块时,在宽度乘数为1.4的情况下进行N个模型的搜索。n的x轴位置对应于一个模型,其中前n个残差块是非结构化的,而最后N-n个残差块的输出通道块大小为4。我们训练102103MFlops60.062.565.067.570.072.510210365.067.570.072.575.077.510210365.067.570.072.575.077.510210365.067.570.072.575.077.5146350Top10基准 90%1x1 90%1x2 90%2x1 90%2x2 1x44x1 4x40(a) MBv1 90%稀疏0MFlops0Top10基准 80%1x1 80%1x2 80%2x1 80%1x4 80%4x10(b) MBv2 80%稀疏0图5:块大小对Top-1准确率的影响。只有块中有多少元素才重要,配置是无关紧要的。0MFlops0Top10基准 70%1x1 80%1x1 90%1x10(a) MBv10MFlops0Top10基准 70%1x1 80%1x1 90%1x10(b) MBv20图6:稀疏性对Top-1准确率的影响。模型越稀疏,实现给定Top-1准确率所需的浮点运算次数就越少。0对于每个模型,我们记录其Top-1准确率,然后测量其推理时间。通过这个过程,我们可以计算相对于完全非结构化模型的推理时间减少比例和Top-1损失,这些结果在图7中绘制出来。我们选择具有最高比例的模型,并使用此选择在所有宽度上训练模型。这意味着在MBv1模型中,将第6层及更深的层进行阻塞,在MBv2中,将第11层及更深的层进行阻塞。04.4. 缓存感知的模型设计0图4中的锯齿形图案是由于收缩阶段中通道数量较多,导致条纹的大小超过L1缓存的大小。一种可能的解决方案,与密集核心常见的解决方案相同,是将矩阵分成N个部分,使得每个部分只访问适合于缓存的通道数量。然而,稀疏性的非结构化性质使得这变得复杂 -可能存在负载平衡问题,并且需要重新打包矩阵。为了避免引入更复杂的软件,我们研究了对MBv2架构进行简单修改以使其能够意识到缓存的方法。0将矩阵分成N个部分,使得每个部分只访问适合于缓存的通道数量,可以解决图4中锯齿形图案的问题。然而,稀疏性的非结构化性质使得这变得复杂 -可能存在负载平衡问题,并且需要重新打包矩阵。为了避免引入更复杂的软件,我们研究了对MBv2架构进行简单修改以使其能够意识到缓存的方法。0MBv2引入的反向残差块在深度卷积之前扩展通道数量,然后在之后减少通道数量。扩展因子对于所有层都固定为6。一旦通道数量超过512个,32Kb的L1缓存的大小就会超过。此外,一旦通道数量超过256个,数据就会超过缓存的一半,从而无法有效利用。5.05.56.06.5789102242 × 3conv2d-16121122 × 16Bottleneck116111122 × 16Bottleneck82422562 × 24Bottleneck83242282 × 32Bottleneck46462142 × 64Bottleneck3966172 × 96Bottleneck21606272 × 160Bottleneck23201172 × 320conv2d 1x1-12801172 × 1280gavgpool--1-12 × 1280conv2d 1x1-k1-1463600 4 8 12 层0时间减少(毫秒)/Top1损失0(a) MBv100 5 10 15 层0时间减少(毫秒)/Top1损失0(b) MBv20图7:将第N层及其后的层转换为块大小4的模型的效率。x轴对应于将该层及其后的所有层转换为块大小4,前面的层是非结构化的。y轴是相对于非结构化模型的效率,以比例表示,其中分子是将块从非结构化转换为块大小4的加速比,分母是由于进行此更改而导致的Top-1准确率的降低。0为了设计一个能够意识到这些限制的架构,我们采用了MBv2,并增加了早期层的扩展因子,同时减小了通道数量增加时的扩展因子,以使扩展通道的数量仍然大致符合缓存大小的一半左右。为了弥补这种情况下容量的减少,我们还通过添加一个具有32个通道的额外层,两个具有64个通道的额外层,以及三个分别具有96个和160个通道的额外层来增加模型的深度。最终的架构如表3所示。0输入操作 e c n s0表3:为我们的稀疏核心优化的缓存感知MBv2的架构。每个块重复n次,包含c个通道,通道数扩展因子为e。每个块中的初始卷积步长为s,其他卷积步长为1.0表1中包含了在两个不同处理器(Snapdragon835和Snapdragon670)的单个大核上运行我们的稀疏模型的时间。我们将它们与官方仓库[8, 9]中的MBv1和MBv2模型在密集推理TFLite框架上以及具有内部函数的密集XNNPACK上进行比较。表1中所有模型的模型文件都可以在此处获得。令人惊讶的是,在稀疏性存在的情况下,MBv1的效率与MBV2相当,这表明完整的神经架构搜索[49,25]可能会导致更高效的模型,我们将这留给未来的工作.05. 结论0我们证明,对于固定的计算预算,稀疏卷积网络比密集卷积网络更准确;这证实了[21]的发现,即对于一定数量的浮点运算,稀疏RNN比密集RNN更准确。我们通过为ARM处理器提供快速的SpMM核心以及所有必要的支持核心,实现了使用权重稀疏性加速最先进的卷积网络。结合量化和稀疏性是一个有趣的未来方向,量化所带来的较小的缓存占用与稀疏核心相得益彰。在Snapdragon835上,我们在本文中提出的稀疏网络的性能优于其密集等效网络,提升了1.3-2.4倍,相当于大约一整代的改进。通过推翻“稀疏是慢”的误解,我们希望开辟新的研究方向,这些方向以前可能不会被考虑到.[7] Marat Dukhan, Yiming Wu, and Hao Lu. Qnnpack: Opensource library for optimized mobile deep learning, 2019. 4[12] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun.Deep Residual Learning for Image Recognition.In 2016146370参考文献0[1] Mart´ın Abadi, Ashish Agarwal, Paul Barham, EugeneBrevdo, Zhifeng Chen, Craig Citro, Greg S. Corrado, AndyDavis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, IanGoodfellow, Andrew Harp, Geoffrey Irving, Michael Is- ard,Yangqing Jia, Rafal Jozefowicz, Lukasz Kaiser, Man- junathKudlur, Josh Levenberg, Dan Man´e, Rajat Monga, SherryMoore, Derek Murray, Chris Olah, Mike Schuster, JonathonShlens, Benoit Steiner, Ilya Sutskever, Kunal Tal- war, PaulTucker, Vincent Vanhoucke, Vijay Vasudevan, Fer- nandaVi´egas, Oriol Vinyals, Pete Warden, Martin Watten- berg,Martin Wicke, Yuan Yu, and Xiaoqiang Zheng. TensorFlow:在异构系统上进行大规模机器学习,2015年.可从tensor�ow.org获取软件. 40[2] Ashwin Bhandare, Maithili Bhide, Pranav Gokhale, andRo- han Chandavarkar. 卷积神经网络的应用.《计算机科学与信息技术国际期刊》,第7卷第5期,第2206-2215页,2016年. 10[3] Yu Cheng, Duo Wang, Pan Zhou, and Tao Zhang.深度神经网络的模型压缩和加速综述.《arXiv预印本arXiv:1710.09282》,2017年. 10[4] F. Chollet. Xception: 使用深度可分离卷积进行深度学习.在《2017年IEEE计算机视觉与模式识别会议(CVPR)》中,第1800-1807页,2017年7月. 10[5] Bin Dai, Chen Zhu, Baining Guo, and David Wipf.使用变分信息瓶颈压缩神经网络. 在Jennifer Dy和AndreasKrause编辑的《第35届国际机器学习大会论文集》中,第80卷《机器学习研究论文集》的第1135-1144页,瑞典斯德哥尔摩斯曼展览中心,2018年7月10-15日. PMLR. 20[6] Tri Dao, Albert Gu, Matthew Eichhorn, Atri Rudra, andChristopher R´e. 使用蝶形分解学习线性变换的快速算法.在《第36届国际机器学习大会论文集,ICML2019,2019年6月9-15日,美国加利福尼亚州长滩》中,第1517-1527页,2019年. 20[8] Google, 2018. 8 [9] Google, 2018. 8 [10] A. Gordon, E.Eban, O. Nachum, B. Chen, H. Wu, T. Yang, and E. Choi.Morphnet: Fast simple resource-constrained structurelearning of deep networks. In 2018 IEEE/CVF Conference onComputer Vision and Pattern Recognition, pages 1586–1595,June 2018. 20[11] Andreas Haas, Andreas Rossberg, Derek L. Schuff, Ben L.Titzer, Michael Holman, Dan Gohman, Luke Wagner, AlonZakai, and JF Bastien. Bringing the web up to speed withwebassembly. In Proceedings of the 38th ACM SIGPLANConference on Programming Language Design andImplementation, PLDI 2017, pages 185–200, New York, NY,USA, 2017. ACM. 50IEEE Conference on Computer Vision and PatternRecognition, CVPR 2016, Las Vegas, NV, USA, June27-30, 2016, pages 770–778, 2016. 20[13] Yihui He, Ji Lin, Zhijian Liu, Hanrui Wang, Li-Jia Li, and SongHan. AMC: automl for model compression and acceleration onmobile devices. In Computer Vision - ECCV 2018 - 15th EuropeanConference, Munich, Germany, September 8-14, 2018,Proceedings, Part VII, pages 815–832, 2018. 20[14] Masatoshi Hidaka, Yuichiro Kikura, Yoshitaka Ushiku, andTatsuya Harada. Webdnn: Fastest dnn execution frameworkon web browser. In Proceedings of the 25th ACMinternational conference on Multimedia, pages 1213–1216.ACM, 2017. 50[15] Andrew G. Howard, Menglong Zhu, Bo Chen, DmitryKalenichenko, Weijun Wang, Tobias Weyand, MarcoAndreetto, and Hartwig Adam. Mobilenets: Efficientconvolutional neural networks for mobile vision applications.CoRR, abs/1704.04861, 2017. 1 , 20[16] J. Hu, L. Shen, and G. Sun. Squeeze-and-excitationnetworks. In 2018 IEEE/CVF Conference on Computer Visionan
下载后可阅读完整内容,剩余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直接复制
信息提交成功