A Empirical Study of Binary Neural Networks’ Optimisation
ICLR2019
https://github.com/mi-lad/studying-binary-neural-networks

本文得到的几个结论如下:

  1. ADAM for optimising the objective, (2) not using early stopping, (3) splitting the training into two stages, (4) removing gradient and weight clipping in the first stage and (5) reducing the averaging rate in Batch Normalisation layers in the second stage

在二值网络训练的时候有的用到了下面两个裁剪:
Gradient clipping 梯度裁剪 梯度超过一定范围就丢弃
Weight clipping 权重裁剪 让权重值保持在一定范围

forward path (and at the end of the training):

STE with gradient clipping provides an estimate for the gradient of this operation:


上图(a)中的二值卷积核实怎么得到的?二值卷积核 是通过 对 full-precision proxy 进行 二值化(sign函数)得到,对应右图前向。那么这个 full-precision proxy 又是怎么来的了? 通过 STE estimator 学习得到的,对应右图反向


3.1 Impact of Optimiser 优化器的影响

A possible hypothesis is that early stages of training binary models require more averaging for the optimiser to proceed in presence of binarisaton operation. On the other hand, in the late stages of the training, we rely on noisier sources to increase exploration power of the optimiser.

总体上来说 ADAM 更有优势

3.2 Impact of gradient and weight clipping
梯度裁剪和权重裁剪对于二值网络的精度影响不是很大,对于训练网络收敛速度有一定影响

the well-known observation that training a binary model is often notably slower than its non-binary counter-part

The slow down is mainly caused by the commonly applied gradient and weight clipping, as they keep parameters within the
{-1,1} range at all times during training

weight and gradient clipping help achieve better accuracy

We tested this hypothesis by training a binary model in two stages: (1) using vanilla STE in the first stage with higher learning rates and (2) turning clippings back on when the accuracy stops improving by reducing learning rate.


11

二值网络训练--A Empirical Study of Binary Neural Networks' Optimisation相关推荐

  1. 二值网络训练--Training Competitive Binary Neural Networks from Scratch

    Training Competitive Binary Neural Networks from Scratch https://github.com/hpi-xnor/BMXNet-v2 MXNet ...

  2. 深度学习【6】二值网络(Binarized Neural Networks)学习与理解

    http://blog.csdn.net/linmingan/article/details/51008830 Binarized Neural Networks: Training Neural N ...

  3. 二值网络--Structured Binary Neural Networks for Accurate Image Classification and Semantic Segmentation

    Structured Binary Neural Networks for Accurate Image Classification and Semantic Segmentation https: ...

  4. 二值网络--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 A ...

  5. 二值网络--Binarized Neural Networks

    Binarized Neural Networks NIPS2016 https://github.com/MatthieuCourbariaux/BinaryNet 本文针对二值网络提出了 训练方法 ...

  6. 二值网络--XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks

    XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks ECCV2016 http://allenai ...

  7. 14.7倍推理加速、18.9倍存储节省!北航、商汤、UCSD提出首个点云二值网络 | ICLR 2021...

    允中 编辑整理 量子位 报道 | 公众号 QbitAI 编者按: 无论是在自动驾驶场景中,还是在手持移动设备上,基于点云的深度学习模型应用越来越广泛. 但这些离线边缘场景自身的限制,给模型的推理.存储 ...

  8. 二值网络——开启小而快神经网络时代

    摘要:这种使用浮点计算的神经网络要求的大存储空间和大计算量,严重阻碍了其在手机.手表和移动机器人等设备上的应用.二值神经网络设法让计算主要在正1或负1间进行,几十倍地降低了网络大小和计算量,但一直以来 ...

  9. 二值网络--Training Binary Weight Networks via Semi-Binary Decomposition

    Training Binary Weight Networks via Semi-Binary Decomposition ECCV2018 CNN模型的压缩或加速总体上分为三类: pruning-b ...

最新文章

  1. 数通手稿留档——ISIS
  2. Bootstrap 模态框上下居中
  3. CSS HACK:IE6、IE7、IE8、Firefox兼容性问题解决方案
  4. 公共资源情报(OSINT)工具Automater
  5. Java之currenHashMap
  6. 语音信号处理MATLAB实现
  7. ssl初一组周六模拟赛【2018.3.24】
  8. qstring去掉特定字符_如何花式、批量且操作简单地处理字符?
  9. 11.8 自动化测试脚本编写规范(1)
  10. sql判断时间大于0点_Java秒杀系统实战系列-数据库级别Sql的优化与代码的调整
  11. python是什么课程-吐血整理!程序员喜爱的13个免费Python课程
  12. 亮度 调整_显示器对比度多少合适 显示器亮度多少合适【详细介绍】
  13. bzoj 2844: albus就是要第一个出场
  14. 刘意 java基础视频_传智播客 2015年 刘意_Java基础视频-深入浅出精华版 笔记(day21~day23)(2016年4月8日13:28:21)...
  15. 数据治理——主数据项目实施
  16. 静静的分析华为Mate X的部分“亮点”,静静的围观它装逼!
  17. python脚本实现GNSS数据自动下载
  18. 网络蠕虫是计算机病毒吗,蠕虫病毒属于文件型病毒吗
  19. 多视图几何的数学基础知识的掌握(2)--李群李代数
  20. C#连接MySQL数据库详细步骤

热门文章

  1. VC++读取txt文件指针的变化
  2. Science | 基于算法设计疫苗的人工蛋白
  3. RDKit | 基于RDKit绘制带原子索引的分子
  4. 第十九课.隐马尔科夫模型
  5. html语言文字闪烁,html+CSS3实现的文字闪烁特效
  6. NAR:antiSMASH数据库2—次级代谢物基因簇预测
  7. Microbiome:高通量测序全面检测生物或环境样本的单细胞真核生物和寄生虫
  8. R语言使用pwr包的pwr.f2.test函数对线性回归模型进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量
  9. R语言ggplot2包和lattice包可视化改变x轴和y轴的显示位置实战
  10. seaborn将图例放置在图像外部并使用move_legend函数将图例(legend)放置在图像的底部(bottom)、且单行展开显示