【深度学习——BNN】:二值神经网络BNN——学习与总结

本文介绍了BNN(二值神经网络),它通过对权重和激活值进行二值化,降低内存占用和功耗。二值化分为确定法和统计法,文中主要讨论确定法。BNN在权值更新、前向传播和乘法优化方面进行了特殊处理,如使用直通估计策略处理梯度问题,以及用XNOR操作优化乘法。此外,BNN的优势包括减少内存占用、降低功耗和硬件面积开销,同时提高运行速度。
摘要由CSDN通过智能技术生成

最近一直在做深度学习的FPGA布署,偶然研读到Bengio大神的著作《Binarized Neural Networks: Training Neural Networks with Weights and Activations Constrained to +1 or −1》:

链接:https://arxiv.org/abs/1602.02830

关于BNN,已经有不少前辈做了mark,根据这几天的学习,做了一下整理。

二值神经网络是在CNN的基础上,对权值和激活值(特征值)做二值化处理,即取值是+1或-1。BNN网络结构与CNN相同,主要在梯度下降、权值更新、卷积运算上做了一些优化处理。

1.二值化

所谓二值化,就是权值和激活值只能取+1或-1,作者指明,二值化,有两种方法:①Deterministic(确定法);②Stochastic(统计法)。

Deterministic(确定法):大于等于0,取+1;否则,取-1。

Stochastic(统计法):以一定的概率 ,取+1,或-1。

虽然Stochastic(统计法)更合理,但是,实际操作需要用硬件生成随机数,比较困难,所以在这篇paper中,作者采用的是Deterministic(确定法)。

在前向传播过程中,经Deterministic(确定法)的Sign函数,可以将实数型的权值和激活值量化成+1,-1,当用于预测时,参数值仅为+1或-1,可以减小参数的内存占用和存取量;但是,训练时,仍需要对实数型的权值和激活值计算梯度,并以此更新权值。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值