快速卷积运算_[翻译]面向硬件的卷积神经网络近似

本文介绍了针对硬件优化的卷积神经网络(CNN)近似方法,包括Ristretto框架,该框架用于分析和压缩CNN,减少计算复杂性和功耗。Ristretto通过量化权重和激活,使用动态定点技术,能够在保持1%最大误差容限的情况下,将CaffeNet和SqueezeNet压缩到8位。实验表明,动态定点在大型网络中表现出色,能有效降低位宽,提高硬件效率,而对精度影响较小。
摘要由CSDN通过智能技术生成

HARDWARE-ORIENTED APPROXIMATION OF CONVOLUTIONAL NEURAL NETWORKS

面向硬件的卷积神经网络近似

Philipp Gysel Mohammad Motamedi Soheil Ghiasi

翻译:汪岩

摘要:

高计算复杂度阻碍了卷积神经网络(CNN)的广泛使用,尤其是在移动设备中的使用。可以说,硬件加速器是减少执行时间和功耗的最有前途的方法。加速器开发中最重要的步骤之一,是面向硬件的模型近似。本文介绍了模型近似框架Ristretto,Ristretto针对表示卷积权重、全连接层权重和输出的数值分辨率来分析CNN。 Ristretto使用定点而非浮点来压缩模型。而且,Ristretto还可以对生成的定点网络做调优。在最大误差容限为1%的条件下,Ristretto可以将CaffeNet和SqueezeNet压缩为8位。

1、简介

深度学习网络,如AlexNet包含数百万个参数,需要数十亿次算术运算。因此,各种解决方案都开始用于减少CNN的资源需求。与浮点相比,定点算法的资源占用更少。而且定点计算对于神经网络计算已经足够。各种研究表明,压缩深度神经网络的性能也不错。

深度CNN的复杂性可以分为两部分。首先,卷积层包含超过90%的运算量。通过将这些浮点运算转换为小定点数运算,可以显著减少芯片面积和能耗。第二种资源密集层是全连接层,其中包含90%以上的网络参数。使用位宽减小的另一个好处是,减少了全连接层向片外存储器传输的数据。本文仅专注于卷积层和全连接层近似。Ristretto会自动在位宽缩减和最大容错之间找到理想平衡。 Ristretto可对任何给定的网络执行快速、全自动的剪枝分析。该训练后( post-training )工具可用于神经网络的特定应用剪枝。

2、混合定点精度

接下来的两节将讨论浮点CNN到定点的量化。此外,我们探讨了动态定点,并说明了如何在保持分类精度的同时,进一步减小网络规模。

全连接层和卷积层的数据路径由一系列MAC操作(乘法和累加)组成,如图1所示。激活层数据与网络权重相乘,结果累加后作为输出。这种结构很适合使用混合精度,即CNN的不同部分使用不同的位宽。

在图1中,m和n分别表示输出层和层权重的位数。乘积通过加法器树累加,树越到末端越粗。加法器的第一级输出为m+n+2位宽,位宽每一级增加1位。最后一级的位宽为m + n + logx,其中x是每个输出值的乘法运算数量。在最后阶段,MAC结果和偏置(bias)相加形成层输出。对于每个网络层,都需要在位宽(m和n)与分类精度之间找到平衡。

b8400a6e1ec0f5290830ca61ff20d547.png

3、动态定点

CNN的不同部分具有很大的动态范围。在较大的层中,输出是数千次累加的结果,因此网络参数量远比输出层小。定点覆盖整个大动态范围的能力有限,动态定点(Williamson,1991; Courbariaux等,2014)是解决此问题的一个方法。

在动态定点中,每个数字表示为

1716fc7ba8b09d6cabda583ee48d394a.png

,其中B表示位宽,s为符号位,fl是小数长度,x是尾数。网络中的中间值具有不同的范围。因此,最好将定点数分配给具有常数fl的不同组,如此一来,在组内分配给小数部分的位数就是恒定的。每个网络层都分为两组:一组用于输出,一组用于权重。由于权重通常明显较小,因此可以更好地覆盖层输出和权重的动态范围。硬件上可以使用移位来实现动态定点计算。

前人的工作中已经提出了部署神经网络的不同硬件加速器(Motamedi等,2016; Qiu等,2016; Han等,2016a)。加速器设计的第一个重要步骤是网络的压缩。在下一节中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值