Ternary weight networks 论文笔记

前言

    就目前而言,深度神经网络的层数和训练时间变得越来越多。一方面,人们想要在处理器上面下功夫,但是处理器的处理速度也十分有限。造成目前一个比较深的神经网络的训练时间有时候往往需要一到两周,基于目前的困难,就有人提出了解决方式。
    首先,在神经网络训练的整个训练过程中,最占用时间的无疑是乘法操作。是浮点型数据的乘法尤其消耗计算量,往往需要很多个Clock。那么,如果把所有全连接的权值全部变成1,或者-1的话,乘法运算就变成了简单的加减法,这无疑是非常节约计算时间的。目前的权值简化策略大概分为两种,Binary和Ternary。Binary是把权值简化为1和-1,而Ternary是把权值简化为1,-1,0两者的区别是什么呢?Binary在比较简单的库表现比较好比如说MNIST, CIFAR-10,但是在比较复杂的库比如说ImageNet上表现相对于Ternary有差距。

0 摘要

    我们引入三元权重网络(TWN),这个神经网络的权重被限制为+1,0和-1。 通过最小化全精度(浮点或者双精度)的权重与三元权重之间的欧几里得距离。这种基于阈值的三元函数可以很容易并且快速地被优化,获得近似解。TWN和最近提出的二元权重网络相比有更强的表达能力,而且比后者更有效。相比于全精度权重网络,三元权重网络实现了16×或32×的模型压缩率,而且需要的乘法运算也更少。在MNIST,CIFAR-10和大规模ImageNet数据集的测试表明,TWN的性能仅略差于全精度权重网络,但优于二元权重网络。

1 介绍

     深度神经网络在计算机视觉任务中取得了显著的效果。这激发了将这种最先进的DNN模型部署到智能手机或嵌入式设备等实际应用的兴趣。然而,这些模型通常需要相当大的内存和计算能力,很容易使得小型嵌入式设备的内存,电池电量和计算能力负担过重。 因此,部署它仍然是一项挑战。

1.1 二元权重网络和模型压缩

    为了解决内存和计算能力的问题,一些方法试图在DNN模型中对权重或激活值进行二值化。BinaryConnect 使用符号函数对权重进行二进制化。 XNOR-NET采用相同的二值化函数,但增加了一个额外的比例因子。基于这种二值化方法的扩展BinaryNet和XNOR-NET,它们的权重和激活值都是二元值。这些模型消除了前向传播和后向传播中大部分乘法。因此,用于深度学习的专用硬件可以从中受益。另外,二元权重网络实现高达32×或64×模型压缩率。
     除了采用二值技术,另一些压缩方法的重点在于用更少的参数。通过以有损压缩的方式来保持准确性。 SqueezeNet是一个比AlexNet 参数少50倍的模型,但在ImageNet上保持同AlexNet级别的精度。 深度压缩是另一种最近提出的使用修剪,量化和霍夫曼编码来压缩神经网络的方法。 它将AlexNet和VGG-16的存储需求分别减少了35倍和49倍,而不会降低准确性。

2 三元权值网络(TWN)

     我们通过引入三元权重网络(TWN)来解决有限的内存和有限的计算资源问题。它将权重限制为三值:+1,0和-1。 TWNs试图在全精度权重网络和二元权值网络之间取得平衡。详细的叙述如下:
表达能力:在VGG,GoogLeNet 和残留网络等最新的网络体系结构中,最常用的卷积滤波器大小为3×3。 使用二值权重,有 23×3=512 2 3 × 3 = 512 个模板。 然而,具有相同尺寸的三值权重拥有 33×3=19683 3 3 × 3 = 19683 个模板,其表现能力比二值权重增强了38倍。
模型压缩:在TWN中,每一个权重单元需要2字节的存储空间。 因此,与浮点(32位)或双精度(64位)精度相比,TWN实现了高达16倍或32倍的模型压缩率。 以VGG-19为例,该模型的全浮点权重版本需要约500M的存储需求,三元权值可降至约32M。 因此,虽然三元权值网络的压缩率比二元权值网络的压缩率低2倍,但仍然可以压缩大多数现有的最先进的DNN模型。
计算要求:与二元权值网络相比,TWN拥有额外的0值。 但是,0值不增加任何的乘法运算。 因此,TWN中的乘法累加操作次数与二元权值网络相比保持不变。 而且,它对于专用DL硬件来训练大规模网络也具有友好性。
在下面的部分中,我们将详细描述三元权重网络的问题和一个近似但有效的解决方案。 之后,介绍了一种简单的误差反向传播的训练算法,最后描述了运行时间的使用情况。

2.1 公式

    为了提高三元权值网络的性能,我们最小化全精度权值 W W 和三元权值 W t 之间的欧氏距离。公式如下:

{ α,Wt=argminα,WtJ(α,Wt)=||
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值