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
这里写图片描述
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值