一篇讲网络加速的论文,来自2017CVPR。
文章链接: 《More is Less: A More Complicated Network with Less Inference Complexitv》
Introduction
目前做神经网络加速的主要有这几个方面: 低秩分解,定点运算、矢量量化、稀疏表示、特殊的轻量级网络结构。
再介绍本文方法之前,需要了解一下常见的卷积是怎样实现的。以caffe中的卷积为例,首先通过im2col将输入展开重排成一个大矩阵,然后执行矩阵乘法。具体可参考知乎上的一个高票回答,图示很清楚,
https://www.zhihu.com/question/28385679?sort=created。
下面用公式说明一下:
假设输入 \(X\in R^{H\times W\times C}\), 一共有 \(T\)个 \(k\times k \times C\)大小的卷积核,再假设卷积stride=1且存在padding,即保证输出 \(V\) 的大小与输入一致。
首先,通过im2col将输入展开重排成一个大矩阵 \(\hat X\in R^{HW\times kkC}\), 卷积核也被整理成了一个矩阵 \(W \in R^{kkC\times T}\), 于是输出 \(V\in R^{H\times W\times T}\) 直接通过矩阵乘法计算:\(V = \hat X \times W\).
另一方面

本文介绍了一种名为low-cost collaborative layer (LCCL)的方法来加速卷积网络,通过提前锁定ReLU激活后将为0的值,减少矩阵乘法中的无效运算。在ResNet上实验表明,尽管训练难度增加,但能实现网络加速。
最低0.47元/天 解锁文章
882





