您的位置:首页 > 理论基础 > 计算机网络

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

2017-08-31 15:18 309 查看
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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: