CNN网络加速--Performance Guaranteed Network Acceleration via High-Order Residual Quantization

Performance Guaranteed Network Acceleration via High-Order Residual Quantization ICCV2017

本文是对 XNOR-Networks 的改进,将CNN网络层的输入 进行高精度二值量化,从而实现高精度的二值网络计算,XNOR-Networks 也是对每个CNN网络层的权值和输入进行二值化,这样整个CNN计算都是二值化的,这样计算速度快,占内存小。

对CNN网络模型进行加速目前主要有三类方法: 1)Parameter Pruning 网络裁剪,去掉权值接近0的 连接 rounding off near-zero connections,再重新训练精简后的网络 2)Model Compression,网络结构稀疏逼近,这种技术对每个模型都是专家经验的设计, not a general plug-in solution, low-rank approximated 3)Network Quantization,网络参数量化,对模型的参数和网络层的输入进行二值化,如XNOR

本文就是在 XNOR-Networks 的基础上,对网络层的输入二值化进行改进,实现高精度二值量化。

我们首先来看看 XNOR-Networks 文献【21】提出了两个二值化网络:BWN and XNOR BWN uses binary weights to speed up the computation. 网络层权值二值化 XNOR is based on BWN and realizes the binarization of input data in a convolutional layer. 网络层的 输入和 权值都二值化

对于一个网络的卷积层,假定其 输入时 I ,滤波器权值是 W,该卷积层需要进行的卷积运算可以表示为 I∗W BWN 的思路是对 W 进行二值化

用二值权值训练一个L层的网络流程如下:

XNOR 在BWN 基础上,对网络层输入进行二值量化 input tensor X: X ≈ βH, H is binary filter

3.2. High-Order Residual Quantization XNOR 的量化步骤如下所示:

那么这种量化的误差是多少了? 我们定义 first-order residual tensor

我们对 R1再进行二值量化

输入的二阶残差量化表达式为 Order-Two Residual Quantization

我们得到对应的量化结果:

对于 Order-K Residual Quantization

3.3. The HORQ Network Tensor Reshape if we reshape the input tensor and weight tensor into two matrices respectively, the convolution operation can be considered as a matrix multiplication 怎么讲二值化的参数 变为矩阵形式

这个可以参考 opencv 中图像数据是怎么表示的,图像数据是怎么保存在内存中的

Convolution Using Order-Two Residual Quantization 二阶量化怎么卷积

Training HORQ Network

4 Experiments

MNIST

HORQ vs XNR on CIFAR-10

Model size comparison: Binary vs Float

speedup ratio

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习入门与实践

【深度学习系列】用PaddlePaddle和Tensorflow进行图像分类

  上个月发布了四篇文章,主要讲了深度学习中的“hello world”----mnist图像识别,以及卷积神经网络的原理详解,包括基本原理、自己手写CNN和p...

4235
来自专栏AI科技评论

干货 | 如何理解深度学习分布式训练中的large batch size与learning rate的关系?

问题详情: 在深度学习进行分布式训练时,常常采用同步数据并行的方式,也就是采用大的batch size进行训练,但large batch一般较于小的baseli...

4609
来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

图像偏色检测算法,速度快,效果好,共享给大家。      式中 ,M、 N分别为图像的宽和高,以像素为单位。在 a - b色度平面上,等效圆的中心坐标为 ( da , db ) ,半径为 M 。等效

     本文的算法并不是我自己提出的,而是一些论文中提出的,详见 :      1、基于图像分析的偏色检测及颜色校正方法 徐晓昭 , 蔡轶珩 , 刘长江 , ...

2518
来自专栏贾志刚-OpenCV学堂

LDA(Linear Discriminant Analysis)算法介绍

一:LDA概述。 线性判别分析(LDA)是一种用来实现两个或者多个对象特征分类方法,在数据统计、模式识别、机器学习领域均有应用。LDA跟PCA非常相似、唯一不同...

2716
来自专栏机器学习、深度学习

人车密度估计--Towards perspective-free object counting with deep learning

Towards perspective-free object counting with deep learning ECCV2016 https:...

21810
来自专栏码匠的流水账

朴素贝叶斯算法文本分类原理

贝叶斯方法把计算“具有某特征的条件下属于某类”的概率转换成需要计算“属于某类的条件下具有某特征”的概率,属于有监督学习。

1382
来自专栏磐创AI技术团队的专栏

基于word2vec训练词向量(二)

作者 | 荔枝boy 编辑 | 磐石 出品 | 磐创AI技术团队 ---- 【磐创AI导读】:前几篇文章中我们介绍了一些机器学习、深度学习入门资源项目合集,本篇...

3849
来自专栏数值分析与有限元编程

可视化 | 三角形常应变单元应力后处理

有限元计算结果主要包括位移和应力两个方面。在位移方面一般无需进行整理工作。但是由于应力在单元间不连续,一般要做一定的修正。比如,三角形常应变单元也是常应力单元。...

2585
来自专栏我和未来有约会

[Silverlight动画]转向行为 - 到达行为

到达行为在很多场合都可以被当作是寻找行为。实际上,它们之间的算法和处理方式都一样。唯一不同的是,在到达模式中,一辆机车在到达目标的某一距离时,会变成一种精确模式...

1806
来自专栏IT派

Xgboost初见面

在 Kaggle 的很多比赛中,我们可以看到很多 winner 喜欢用 XGBoost,而且获得非常好的表现,今天就来看看 XGBoost到底是什么以及如何应用...

3453

扫码关注云+社区