Local Binary Convolutional Neural Networks ---卷积深度网络移植到嵌入式设备上?
前言:今天他给大家带来一篇发表在CVPR 2017上的文章。
原文:LBCNN
原文代码:https://github.com/juefeix/lbcnn.torch
本文主要内容:把局部二值与卷积神经网路结合,以削减参数,从而实现深度卷积神经网络端到端的训练,也就是未来嵌入式设备上跑卷积效果将会越来越好。
主要贡献:
提出一种局部二值卷积(LBC)可以用来替代传统的卷积神经网络的卷积层,这样设计的灵感来自于局部二值模式(LBP).LBC主要由一个预先定义好的稀疏二值卷积滤波器,这个滤波器在整个训练过程中是不可学习的,还有一个非线性激活函数,以及一部分可以学习的权重。线性的权重参数结合被激活的滤波器可以近似的与激活的标准卷积层的滤波器响应相一致。但是却可以节省9倍到169倍的可学习参数。我们叫这种卷积神经网路为Local Binary Convolutional Neural Networks(LBCNN).并且在MNIST,SVHN,CIFAR-10和imageNet等数据集上取得了非常好的效果。
CNN背景简单的介绍:
卷积神经网络与深度学习取得了非常大的成功,尤其在大规模数据集上,但是所耗费的硬件资源也是巨大的,但是有一些应用场景,由于系统和应用平台的限制,标准的深度学习模型很难应用起来。比如自动驾驶汽车,机器人,手机,智能摄像机,还有一些智能的可穿戴设备,为了解决标准卷积深度网络参数训练庞大以及所需要的硬件配置较高的缺点,去满足上述应用场景,所以提出了LBCNN去加快网络训练,减少硬件资源的使用。
LBP介绍:
我以前介绍过,我就不介绍了,大家可以参考下:http://www.cnblogs.com/xiaohuahua108/p/6278275.html
广义的LBP:
原版的LBP特征总是以2作为基底,因此这样就会导致编码LBP位串的时候就会被限制成2的幂,如果放松这个限制,然后让权重采用现实的值,可以潜在地概括LBP描述。
轴心点的选取:传统的LBP一般选取某一块区域的中心,然后和周围的邻居进行比较,但是一块区域选取不同的轴心点,可以得到不同的纹理特征,另外比较函数s() 可以是一个有多个轴心点参加比较的函数,这样就可以描述更加细致的纹理特征。
比较顺序,传统的LBP一般都是按照顺时针方向依次比较,但是改变不同的比较顺序就可以得到不同的纹理特征。
哎,你告诉我LBP这些问题,为啥子不告诉我具体怎么选轴心点,基底,以及编码比较顺序哦,玩蛇啊。。。。作者在文中是这么说的------All the aforementioned variations i.e., the choice of pivot,the base, and the order of the encoding neighbors, are usually determined empirically and depend on the application. 靠,这是在搞事情啊。
接着文章提出了用借用传统的LBP思想,提出了用一个8个2-稀疏滤波器去扫描整个图像,然后把这八个结果相加,具体公式为:

其中
(Heaviside step function最后介绍)是一个非线性的二值化操作,
是稀疏滤波器,
是原始图像,
是可学习的线性权重参数。具体流程图如下:

:使用卷积滤波器重新设计LBP编码
局部二值卷积模块:
受上述广义的LBP的启发,现在提出一种局部二值卷积模块。整个卷积流程图如下:

传统的卷积一般为:

本文为:

整个LBCNN包含了m个预先定义好的卷积核,这部分是固定的,不可学习的,本文叫它锚权重。
是输入图片,这个被m个卷积映射到m个maps。为了让反向传播通过LBC层,文章把LBP 中的Heaviside step function 函数换成了sigmoid 或者Relu函数。最后这个m个maps 被一个可学习的
集中在一起得到
作为下一层的输入。。
关于参数约减:
假设输入的图片数为p个,输出为q,传统的卷积核大小为k*w。那么一个传统的卷积层大概要学习:
个参数。而LBC却只要学习
个参数。那么:
如果p=m.那么比值就是kw倍。
参数训练:

粉色为1,黑色为-1绿色为0
理论证明:
一大堆公式,由于还要去看tensorflow。。所有等过两天我再证明推导给大家吧。
Heaviside step function:

Local Binary Convolutional Neural Networks ---卷积深度网络移植到嵌入式设备上?的更多相关文章
- [转]XNOR-Net ImageNet Classification Using Binary Convolutional Neural Networks
感谢: XNOR-Net ImageNet Classification Using Binary Convolutional Neural Networks XNOR-Net ImageNet Cl ...
- (转载)Convolutional Neural Networks卷积神经网络
Convolutional Neural Networks卷积神经网络 Contents 一:前导 Back Propagation反向传播算法 网络结构 学习算法 二:Convolutional N ...
- Convolutional Neural Networks卷积神经网络
转自:http://blog.csdn.net/zouxy09/article/details/8781543 9.5.Convolutional Neural Networks卷积神经网络 卷积神经 ...
- Convolutional Neural Networks卷积神经网络(二)
转自http://blog.csdn.net/zouxy09/article/details/8781543 CNNs是第一个真正成功训练多层网络结构的学习算法.它利用空间关系减少需要学习的参数数目以 ...
- XNOR-Net ImageNet Classification Using Binary Convolutional Neural Networks
转载请注明出处: http://www.cnblogs.com/sysuzyq/p/6245186.html by 少侠阿朱
- 深度学习论文翻译解析(十七):MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
论文标题:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 论文作者:Andrew ...
- Understanding the Effective Receptive Field in Deep Convolutional Neural Networks
Understanding the Effective Receptive Field in Deep Convolutional Neural Networks 理解深度卷积神经网络中的有效感受野 ...
- 深度学习笔记 (一) 卷积神经网络基础 (Foundation of Convolutional Neural Networks)
一.卷积 卷积神经网络(Convolutional Neural Networks)是一种在空间上共享参数的神经网络.使用数层卷积,而不是数层的矩阵相乘.在图像的处理过程中,每一张图片都可以看成一张“ ...
- 【原创】梵高油画用深度卷积神经网络迭代十万次是什么效果? A neural style of convolutional neural networks
作为一个脱离了低级趣味的码农,春节假期闲来无事,决定做一些有意思的事情打发时间,碰巧看到这篇论文: A neural style of convolutional neural networks,译作 ...
随机推荐
- -webkit-overflow-scrolling 与滚动回弹效果.
参考来源:https://developer.mozilla.org/zh-CN/docs/Web/CSS/-webkit-overflow-scrolling https://www.w3cways ...
- 横排列表(li)的左右对齐
效果如下: HTML代码如下: <div class="overdiv"> <ul> <li>1</li> <li>2& ...
- 【RN6752】模拟高清AHD芯片或成为车机新标配
由于目前车机方案倒车后视目前大多为480P标配,画面噪点多有锯齿成像效果差,成为行业的难言之痛.2012年底,浙江大华宣布发布一项具备完全自主知识产权的安防行业高清视频传输规范--HDCVI--Hig ...
- C# checked和unchecked详解
1.对基元类型执行的许多算术运算都可能造成溢出,有如下代码: Byte b=100; b=(Byte)(b+200); 简单的解读上面的代码: 第一步,将所有的操作数都扩大至32位或者64位(根据操作 ...
- ios 初体验<页面切换>
本章类容:介绍如何新建一个页面,打开另一个页面 1.在前面中,在工程Appdelegate.m 里面程序第一个走的方法,新建一个窗口,视图,控制器,可视化等, 2.然后在ViewController. ...
- CSS3四个自适应关键字——fill-available、max-content、min-content、fit-content
前面的话 一般地,有两种自适应:撑满空闲空间与收缩到内容尺寸.CSS3将这两种情况分别定义为'fill-availabel'和'fit-content'.除此之外 ,还新增了更细粒度的'min-con ...
- jmeter3.2 创建webservice 测试
1.创建测试计划 templates→select Template→Building a SOAP WebService Test Plan 2.修改HTTP Request Defaults中的参 ...
- Linux-tar命令(2)
tar 用于可以为文件和目录创建档案.可以为某一特定文件打包(备份文件), 也可以在档案中改变文件,或者向档案中加入新的文件. 主选参数: 主选参数仅能存在一个!不可同时存在!因为不可能同时压缩与解压 ...
- VB与C#语言部分不用的地方Part1
1. 数据类型: ① 日期型(Date) 表示日期和时间用两个“#”符号把日期和时间的值括起来,如:#08/20/2001#.#2001-08-20#. ② 变体型(Variant) ...
- VIN码识别对汽车行业的应用
汽车VIN码识别: 识别系统到底是什么呢?来~大家往下看,这是易泊时代科技有限公司通过多年的ocr识别技术,与汽车Vin码识别/车架号识别系统相结合,针对机动车配置参数等信息的查询及采集而推出的一款V ...