二值化神经网络(BNN)2016-2020发展综述
极市平台
共 11224字,需浏览 23分钟
· 2020-11-11
极市导读
本文对二值化神经网络进行了综述,详细介绍了BNN的概念、主要发展方向、技术总结以及硬件实现等内容。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
下载链接:
https://www.mdpi.com/2079-9292/8/6/661/pdf
论文:Binary Neural Networks: A Survey(2020)
链接:https://arxiv.org/pdf/2004.03333.pdf
闲扯淡
开始正文
二值化神经网络的基本介绍; 二值化神经网络的主要发展; 提升二值化神经网络精度和推理速度的技巧; 二值化神经网络在不同数据集上的精度表现; 二值化神经网络的硬件实现;
基本介绍
并且针对sign函数在0处不可导,其他地方导数为0无法有效进行梯度传递的问题,设计了直通估计器STE (straight through estimator),即当梯度传递遇到sign函数时,直接跳过这个函数,或者说默认sign函数输出对输入的梯度为1,即:
前向和反向计算的流程如下图所示:
主要发展
XNOR-Net
ABC-Net
MeliusNet
IR-Net
ReActNet
另外基于之前的观测结果,作者将最后一层输出经过softmax的结果与label的cross entropy 换成了与全精度模型的最后一层输出经过softmax的cross entropy,以此来学习全精度模型最后一层输出的数据分布,称之为distributional loss,有知识蒸馏那味了,并且作者强调相比于之前一些论文将二值化模型每一层输出都与全精度模型对应层输出进行匹配的做法,这个distributional loss更加简洁,且效果非也很好。
以上就是个人结合本篇英文综述和自己看过的一些论文总结的二值化神经网络发展史上一些重要进展的论文。因为本人水平有限,势必不够完整,如有遗漏请多多见谅!
提升性能的技术总结
Gain term 增益项
第一层
但这个做法不太妥当的是,输入数据虽然没有丢失信息,但是没有做数据的归一化。在主流的模型训练中我们可以知道,数据的normalize对结果影响还蛮大的,所以目前主流的BNNs基本上第一层都是使用全精度的卷积层,输入数据正常归一化处理后输入网络,因为通常认为这块计算量不大。但是MeliusNet在实验中发现目前很多BNNs计算中,浮点计算占了60%以上,第一层很多人使用的7×7的卷积核,计算量还是蛮大的,所以MeliusNet用三个3×3的卷积进行了代替,节省了一半的计算。
下图中(a,b,c)以2Bit的数据为例再次展示了上述分解过程。输入数据假设为CIFAR10,分辨率是(32,32,3),那么经过分解之后就会变成(32,32,256,3),这个时候我们会发现输入数据巨大无比,第一层计算量指数级增加,于是作者将原图像8bit数据的高位截掉,在分解向量中的体现就是直接去掉右侧的正负1的数,如下图所示,我们可以发现pruning之后的图像其实仍然保留了大多数的信息,且可以大大降低计算量,整个过程如下图(d)所示。
下采样层
输出层
使用全精度模型在数据集上训练好的参数作为对应BNN的初始化参数; Batch Normlization 和输入数据的normalize是必要操作; 损失函数增加正则项,如下图中的L-1 norm和L-2 norm,将α设为1,可以使得weights在训练过程中绝对值更加趋近于1,有利于减少量化误差;
使用较小的学习率,然后累计梯度,间隔更新的方式;
用INT4/INT8/FP16的卷积代替全精度卷积计算的部分; 将Batch Normalization和sign函数合并起来,将浮点计算变成符号判断和数值大小比较;
不同数据集上的精度表现
硬件实现
ARM CPU,可以部署在手机端
BMXNet框架,来自于德国的Hasso Plattner Institute,MeliusNet的作者,支持ios和Android的部署;
daBNN框架,来自京东AI研究院,目前仅支持Android手机上的部署;
最后的总结
推荐阅读
评论
事关卫星物联网!LoRaWAN 2027 发展路线图重磅公布
作者:Sophia物联网智库 原创4月16日,LoRa 联盟(LoRa Alliance)发布了 LoRaWAN 开发路线图,以引导该标准未来演进的方向。LoRaWAN 开发路线图LoRa 作为低功耗广域网通信领域的“明星”之一,是 Semtech 公司专有的一种基于扩频技术的超远距离无线传输技术。
物联网智库
0
【倒计时】下周三!CCBN2024 IPTV创新发展论坛即将召开!
在电视产业的历史长河中,每一次政策调整和技术革新都标志着行业的一次重大转折。自去年开始展开的电视整改行动,不仅是对行业现状的一次全面审视,更是对未来发展的一次重新布局。IPTV、OTT、有线电视等各个领域都受到了广泛的影响,从套娃收费的整顿到操作优化的推进,整改行动触及了电视大屏行业的每一个角落。这
流媒体网
0
2025年有望破万亿,AIoT助力下,物流行业正在迎来快速发展
作者:王飞鹏物联网智库 原创3月底,正在赶赴港股上市的菜鸟网络被阿里总部召回,上市进程按下了暂停键。在阿里去年定下“大拆分”战略后,菜鸟本是最有希望率先独立IPO的企业,但是在临门一脚之际,阿里却做出了不上市的决策。这一举动引发了外界热议。分析人士普遍认为,阿里之所以做出这一决策,很重要的一个原因是
物联网智库
0
一张图看工业互联网标识六年发展
采写:王改静编辑:改静指导:新文延伸阅读:工业互联网标识建设六年系列做大做深,工业互联网标识解析还需突破几个难题?激活工业互联网标识数据要素价值,还要几步走?释放数据要素X效应,工业互联网标识体系能做什么?释放工业数据最大潜能:如何跨越标识规模化应用三重障碍?专家谈 I 标识“爬坡”:提档加力与未来
工业互联网世界
0
泰国第一神仙颜值加盟浪姐,她被称为泰国迪丽热巴、成熟版Lisa
点击蓝字关注我们随着《乘风破浪》系列的不断火爆,芒果TV又带来了新一轮的姐姐风暴——《乘风2024》。最新一季的舞台已经搭建在了风景如画的长沙,让人不禁对这一季的姐姐们充满了期待。不过,开播没多久,就有消息说好几位参赛姐姐打包回家了,这个八卦瞬间在网上炸开了锅,让无数吃瓜群众激动不已。说到吃瓜,这次
逆锋起笔
10
深入理解Camera 二 (相机架构概览)
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:相机架构概览Android系统利用分层思想,将各层的接口定义与实现分离开来,以接口作为各层的脉络连接整体框架,将具体实现的主导权交由各自有具体实现需求的平台厂商或者Android 开发者,这样既做到把控全局,
程序员Android
10
原子化状态管理库 Jotai,它和 Zustand 有啥区别?
Jotai 是一个 react 的状态管理库,主打原子化。提到原子化,你可能会想到原子化 CSS 框架 tailwind。比如这样的 css:<div class="aaa"></div>.aaa { font
前端桃园
0
阿里二面凉了,难蹦。。。
图解学习网站:https://xiaolincoding.com大家好, 我是小林。分享一位同学阿里巴巴的后端面经,共有 2 面,第一面很顺利过了,可惜挂在第二面。这两面的知识点范围,我帮大家罗列一下:网络:TCP、HTTPmysql:索引应用、索引结构、隔离级别、最左匹配redis:zset、缓存
小林coding
10