BinaryConnect: Training Deep Neural Networks with binary weights during propagations 论文笔记

本文介绍了BinaryConnect方法,该方法在训练过程中使用二值权重(+1或-1)进行前向和反向传播,以简化计算并作为正则化手段。在保持全精度权重计算梯度的同时,二值化权重能降低模型大小,提高运算速度,且在多项任务中表现出接近全精度网络的性能。
摘要由CSDN通过智能技术生成

0 摘要

    深度神经网络在大量任务中取得了最先进的成果。GPU因为其更快的计算速度,帮助深度网络实现了这些突破。未来,在训练和测试时更快的计算速度对于进一步发展,以及能够在低功耗设备上的消费级别的应用可能至关重要。因此,对深度学习专用硬件的研究和开发展开了新的热潮。二值权重,即仅限于两个可能值(例如-1或1)的权重,通过用简单累加代替许多乘法—累加操作,为专用DL硬件带来巨大便利。因为乘法器在神经网络的数字实现上是空间和功率消耗最高的组件。我们提出BinaryConnect的方法,在训练期间,前向传播和反向传播具有二值化权重的DNN,但是在计算梯度时仍然保持全精度的权重。与dropout方法一样,BinaryConnect也是一种正则化手段。我们通过BinaryConnect,在MNIST,CIFAR-10和SVHN获得近乎最佳的结果。

1 引言

    深度神经网络(DNN)极大地推动了各种任务的发展,特别是在语音识别和计算机视觉领域。最近,深度学习在自然语言处理,尤其是机器翻译方面取得了重大进展。有趣的是,实现这一重大进展的关键因素之一是GPU的出现,速度提升了10到30倍,并且分布式训练。事实上,使用大量的数据来训练更大的模型,在过去几年中取得了突破性进展。今天,研究人员和开发人员设计新的深度学习算法和应用程序往往会发现深受计算能力的限制。与此同时,推动深度学习系统在低功耗设备上的应用(与GPU不同)极大地增加了对深度网络专用硬件研发的兴趣。
    当前CNN网络主要的运算集中在 实数权值乘以实数激活量或者 实数权值乘以实数梯度。本文提出 BinaryConnect 将用于前向传播和后向传播计算的实数权值二值化(-1,1),从而将这些乘法运算变为加减运算。这样即压缩了网络模型大小,有加快速度。下面两条使其具有可行性:
1)足够的精度对于累计和平均大量随机梯度是必须的,但是噪声梯度对于 深度学习主流优化算法的随机梯度下降SGD是可兼容的。SGD通过做出小的噪声尝试来探索参数空间,对于每个权值通过累加随机梯度贡献消除了噪声的影响。所以对于这些累加器保持足够的精度是必须的。
2)噪声权值实际上可以看做一种正则形式,使系统泛化能力更好。

本文贡献:
1.尽管模型精度降低了非常多,但是在训练效果却不比全精度的网络差,有的时候二值网络的训练效果甚至会超越全精度网络,因为二值化过程给神经网络带来了noise,像dropout一样,反而是一种regularization,可以部分避免网络的overfitting。
2.二值化网络可以把单精度乘法变成位操作,这大大地减少了训练过程中的运算复杂度。这种位运算可以写成gpu kernel, 或者用fpga实现,会给神经网络训练速度带来提升。
3.存储神经网络模型主要是存储weights. 二值化的weight只要一个bit就可以存下来了,相比之前的32bit,模型减小了32倍,那么把训练好的模型放在移动设备,比如手机上面做测试就比较容易了。

2 BinaryConnect

    在本节中,我们将更详细地介绍BinaryConnect,考虑选择哪两个值,如何离散化,如何训练以及如何进行推理。

2.1 +1 or -1

    DNN主要包括卷积运算和矩阵乘法。 因此,深度学习的关键算法运算是乘法累加操作。人造神经元也是多个累加器,然后计算其输入的加权和。BinaryConnect在传播期间将权重限制为+1或-1。 因此,许多乘法累加操作被简单的加法(和减法)所取代。 这是一个巨大的收益,因为定点加法器在所占的面积和功耗方面比定点乘法累加器少得多。

2.2 确定性与随机二值化

    二值化操作将实值权重转换为两个可能的值。 一个非常简单的二值化操作将基于符号函数:
wb={ +1,1,ifw0otherwise<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值