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 条评论
登录 后参与评论

相关文章

来自专栏自然语言处理

一起走进条件随机场1(NLP重点理论)

线性链的条件随机场跟线性链的隐马尔科夫模型一样,一般推断用的都是维特比算法。这个算法是一个最简单的动态规划。

531
来自专栏机器学习算法原理与实践

谱聚类(spectral clustering)原理总结

    谱聚类(spectral clustering)是广泛使用的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时...

493
来自专栏机器学习算法与Python学习

机器学习(21)之scikit-learn Adaboost类库的实战分析

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 前言 在(机器学习(20)之Adab...

3994
来自专栏和蔼的张星的图像处理专栏

FHOG传统hog特征提取。FHOG

关于HOG特征(梯度统计直方图)简单介绍一下,首先是对原图进行灰度化(hog统计的是梯度信息,色彩几乎没有贡献),再进行gamma压缩和归一化(减轻光照影响)。...

992
来自专栏机器之心

ICLR 2018 | 阿姆斯特丹大学论文提出球面CNN:可用于3D模型识别和雾化能量回归

3298
来自专栏ATYUN订阅号

深入了解Hinton的Capsule神经网络,第二部分:如何运作

在这个系列的第一部分,我谈到了架构的直观介绍和动机。在这部分,我将描述Capsule是如何在内部运作的。 第一部分:http://www.atyun.com/1...

3494
来自专栏数据科学与人工智能

【算法】xgboost算法

小编邀请您,先思考: 1 XGBoost和GDBT算法有什么差异? XGBoost的全称是 eXtremeGradient Boosting,2014年2月诞生...

3239
来自专栏文武兼修ing——机器学习与IC设计

基于sklearn的k均值类聚模型理论代码实现——手写数字识别

理论 无监督学习 无监督学习是相对于有监督学习的概念,无监督学习的样本只有数据没有标签(label),由模型自主发现样本之间的关系。可用于数据的类聚(类聚算法)...

32410
来自专栏机器学习算法与Python学习

干货 | 条件随机场详解之模型篇

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 条件随机场部分分为两篇讲解,今天这一...

1883
来自专栏机器学习算法原理与实践

scikit-learn Adaboost类库使用小结

    在集成学习之Adaboost算法原理小结中,我们对Adaboost的算法原理做了一个总结。这里我们就从实用的角度对scikit-learn中Adaboo...

582

扫码关注云+社区