Trained Ternary Quantization
ICLR 2017
https://github.com/TropComplique/trained-ternary-quantization pytorch
https://github.com/buaabai/Ternary-Weights-Network pytorch

传统的二值网络将权重 W 量化为 +1、-1; 三值网络 TWN (Ternary weight networks) 将权重W 量化为 {−W_l ,0,+W_l }

阈值的计算公式如下所示

本文提出了新的三值网络

positive and negative weights,三个不同的值用于表示三值网络,这个正负权值是通过网络学习得到的
对应的梯度计算如下


本文的阈值选择采用:

set t to 0.05 in experiments on CIFAR-10 and ImageNet dataset

The quantization roughly proceeds as follows.

  1. Train a model of your choice as usual (or take a trained model).

  2. Copy all full precision weights that you want to quantize. Then do the initial quantization:
    in the model replace them by ternary values {-1, 0, +1} using some heuristic.

  3. Repeat until convergence:
    1). Make the forward pass with the quantized model. 使用量化后的网络进行前向计算
    2). Compute gradients for the quantized model. 对量化网络进行梯度计算
    3). Preprocess the gradients and apply them to the copy of full precision weights. 使用梯度更新网络模型的权重
    4). Requantize the model using the changed full precision weights. 对新的权重进行量化

  4. Throw away the copy of full precision weights and use the quantized model.



11

三值网络--Trained Ternary Quantization相关推荐

  1. 权值简化(1):三值神经网络(Ternary Weight Networks)

    三值神经网络: 本文是对中科院两位科研工作者的文章的理解翻译: 就目前而言,深度神经网络的层数和训练时间变得越来越多.一方面,人们想要在处理器上面下功夫,但是处理器的处理速度也十分有限.造成目前一个比 ...

  2. 【知识星球】模型量化从1bit到8bit,二值到三值

    欢迎大家来到<知识星球>专栏,这里是网络结构1000变小专题,模型量化是当前工业界的核心技术,我们最近在知识星球更新相关的内容. 作者&编辑 | 言有三 1 1bit量化-二值网络 ...

  3. 二值网络--Optimize Deep Convolutional Neural Network with Ternarized Weights and High Accuracy

    Optimize Deep Convolutional Neural Network with Ternarized Weights and High Accuracy IEEE Winter Con ...

  4. 模型量化从1bit到8bit,二值到三值

    转自:https://blog.csdn.net/u012101561/article/details/80868352 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请 ...

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

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

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

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

  7. 二值网络--Binarized Neural Networks

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

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

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

  9. 神经网络为什么可以实现分类?---三分类网络0,1,2与弹性振子力学系统

    本文制作了一个三分类的网络来分类mnist数据集的0,1,2.并同时制作了一个力学模型,用来模拟这个三分类的过程,并用这个模型解释分类的原理. 上图可以用下列方程描述 只要ωx0,ωx1,ωx2,ωx ...

最新文章

  1. Python进阶-----类、对象的相关知识
  2. 微信公众平台——被动回复用户消息
  3. Android 广播机制以及用法详解 (转)
  4. python opencv3 检测人
  5. 如何获得物体的主要方向?
  6. 【转】const int *p和int * const p的区别(常量指针与指向常量的指针)
  7. mogileFS分布式文件存储解决方案
  8. background-image属性设置图片尺寸_Matlab | 批量修改图片尺寸及图片灰度化
  9. java编解码技术,netty nio
  10. C语言学习心得 Caiwentao
  11. data 谷歌浏览器更改user 路径_谷歌浏览器修改缓存路径
  12. OpenCV 视频处理框架
  13. Centos7防火墙常用操作打开关闭端口
  14. Tomcat原理 (持续更新
  15. 自定义博客的背景图片
  16. 创基MIFI扩展坞自带4G上网功能扩展坞
  17. 对@Primary理解
  18. github更新网站内容,然后在本地commit,pull,push后,刷新网站没有出现更新的内容
  19. C#修改图片尺寸,不改变原有图片比例
  20. 《小米商城》--查看购物车

热门文章

  1. NeurIPS 2021 | 通过动态图评分匹配预测分子构象
  2. Tensorflow |(1)初识Tensorflow
  3. OpenCV | OpenCV彩色图像直方图算法实现
  4. MPB:中科院城环所杨军组-​​淡水浮游动物的采集及鉴定
  5. mSystems:从铁载体窥根际菌群互作大局,可见一斑!
  6. R语言问题解决:Error: Discrete value supplied to continuous scale
  7. R语言ggplot2包和lattice包可视化改变x轴和y轴的显示位置实战
  8. pandas创建时间序列仿真数据并过滤(filter)时间数据:头尾数据、某年的数据、某年某月的数据、某年某月某日的数据、某个时间范围内的数据、truncate函数查看特定时间之前护着之后的数据
  9. Python将图像分割成小块然后将所有的块重新拼接在一起
  10. 百度PaddleOCR及云平台OCR API详解及示例