专栏首页机器学习、深度学习二值网络--Bi-Real Net: Enhancing the Performance of 1-bit CNNs

二值网络--Bi-Real Net: Enhancing the Performance of 1-bit CNNs

Bi-Real Net: Enhancing the Performance of 1-bit CNNs With Improved Representational Capability and Advanced Training Algorithm ECCV2018 https://github.com/liuzechun/Bi-Real-net

本文在 借鉴残差网络的 shortcut思想,将其应用到 XNOR-Net 的网络结构中

3 Methodology 3.1 Standard 1-bit CNNs and Its Representational Capability 1-bit CNN 网络主要指 在 CNN网络中间的卷积层中 权重参数和响应值都是二值的。二值化是通过 sign 函数完成的。

ar and wr indicate the real activation and the real weight real activation 实数值响应存在于 1-bit CNN 中的训练和推理阶段,因为 卷积和 batch normalization(如果使用的话)。图2显示给定一个 二值 响应图和 一个二值的卷积权重核,则输出的响应是位于正负9的一个奇数。如果batch normalization 使用了,那么整数响应将被映射为实数。在训练阶段实数权重被用于更新二值权重。

和32位的权重参数表示的实数CNN模型相比较,1-bit CNN网络模型大小减少了 32倍多。更重要的是,因为响应也是二值的,所以卷积操作可以通过位运算 XNOR操作和一个 bit-count operation。实数CNN模型中的卷积操作是通过实数乘法完成的。所以 1-bit CNN模型计算量减少了 近 64倍。

但是二值网络的精度下降的比较多,尤其在大型数据库上如 ImageNet。我们认为这主要是因为 二值网络的表征能力较差 low representational capacity。实数可以表示更多的 possible configurations,而二值网络相比于实数网络能够表示的 configurations 要少很多。

3.2 Bi-Real Net Model and Its Representational Capability 这里我们 在使用二值化符号函数之前 使用一个简单的 shortcut 来保留 实数响应 real activations,这样可以增加 1-bit CNN的 表征能力 representational capability

We denote R(x) as the representational capability of x

因为实数响应和二值响应都被保留,所以我们称这个模型为 Bi-Real net As both real and binary activations are kept, we call the proposed model as Bi-Real net

因为这个简单的 identity shortcut,1-bit CNN 的表征能力得到显著提升, The representational capability of each block in the 1-bit CNN is significantly enhanced due to the simple identity shortcut

额外增加的计算量很少。

3.3 Training Bi-Real Net

因为 activations 和 weight parameters 都是二值的,连续函数优化方法如 stochastic gradient descent(SGD) 不能被直接用于训练 1-bit CNN。主要存在两个问题:1)在 activations 上如何计算符号函数的梯度,因为其 non-differentiable;2)二值权重的损失函数梯度因为太小导致难以改变 权重的符号。对于问题1,文献【7】提出使用 piecewise linear function 的梯度来近似 gradient of the sign function on activations。对于问题2,文献【7】使用 real-valued weights 来进行权重更新计算。这里我们提出一个新的训练算法和一个新的初始化方法

Approximation to the derivative of the sign function with respect to activations 关于响应的符号函数导数的近似

这里我们使用一个 piecewise polynomial function 来代替文献【7】中的 clip function 近似估计 derivative of the sign function

Magnitude-aware gradient with respect to weights 这里我们介绍如何更新二值权重参数。 标准的梯度下降算法不能被直接应用,因为梯度值太小,不能改变二值权重。为了解决这个问题,文献【7】在训练阶段引入一个实数权重矩阵和一个符号函数,那么对这个实数权重矩阵进行二值化就可以得到二值权重参数矩阵。在 backward pass 时,实数参数矩阵就可以通过 梯度下降方法进行更新。 在文献【7】的梯度更新计算中,梯度只和实数参数矩阵的符号相关,和实数参数矩阵的幅值无关。 基于这个观察,我们提出一个 magnitude-aware function 来代替 上面的 符号函数 sign function。这样梯度和实数参数矩阵的符号和幅值都相关。

Initialization 初始化方法 文献【14】中 1-bit CNNs 的初始值 由 在 ImageNet 预训练的实数网络参数得到。但是 ReLU 的影响是非负的,但是符号函数取值 正负1。因为这个差异,使用 ReLU 的实数CNN 可能不适合用于 1-bit CNNs 的初始化,所以我们我们使用一个 clip(−1,x,1) 代替 ReLU 来预训练实数 CNN 网络模型,因为 clip function 的响应比 ReLU 更接近 符号函数的响应。这个有效性在实验中也得到验证。

最后如果将 Ensemble 和 Bi-Real Net 结合起来,不知道最后的精度是多少?

11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 量化网络训练--Towards Effective Low-bitwidth Convolutional Neural Networks

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1148525
  • 犯罪分子检测--Eye in the Sky: Real-time DDS for Violent Individuals

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangjunhit/article/de...

    用户1148525
  • 视频物体分割--One-Shot Video Object Segmentation

    One-Shot Video Object Segmentation CVPR2017 http://www.vision.ee.ethz.ch/~cvl...

    用户1148525
  • C语言 二维数组和指针的一些笔记

    &arr是指整个数组的首地址,而arr是指数组首元素的首地址,虽然所表示的意义不同,但二者之间的值却是相同的。

    小锋学长
  • Python手写机器学习最简单的KNN算法

    今天开始,我打算写写机器学习教程。说实话,相比爬虫,掌握机器学习更实用竞争力也更强些。

    AI科技大本营
  • Python 手写机器学习最简单的 kNN 算法

    今天开始,我打算写写机器学习教程。说实话,相比爬虫,掌握机器学习更实用竞争力也更强些。

    Python进阶者
  • ORA-00942: table or view does not exist

          在过程,包,函数,触发器中调用Oracle相关动态性能视图时,需要授予适当的权限,否则会收到表和视图不存在的错误提示。即使你可以单独查询这些视图。因...

    Leshami
  • Android动态调试(一)动态调试Smali

    adb shell am start -D -n com.ggndktest1/com.ggndktest1.MainActivity

    Jumbo
  • 微软发布官方学习平台,PowerBI可免费学习了

    近日,微软发布了 Microsoft Learn 平台,其中介绍一种新的学习方法推动事业发展并赢得领先地位需要多种技能,要学会它们并不容易。 现在,可通过一种更...

    BI佐罗
  • 50-STM32+ESP8266+AIR202基本控制篇-重点详解-MQTT协议

    注:需要打开两个,默认连接提供的服务器测试. 第一个配置如下: 发布的主题:aaaaa 订阅的主题:Topic 点击连接,然后点击订阅

    杨奉武

扫码关注云+社区

领取腾讯云代金券