HetConv: Heterogeneous Kernel-Based Convolutions for Deep CNNs 论文解析——异构卷积训练:提升效率而不损准确度
文章目录
前言
HetConv: Heterogeneous Kernel-Based Convolutions for Deep CNNs CVPR2019的论文作者来自印度坎普尔理工学院,QS150左右,跟国内的哈尔滨工业大学差不多,这篇论是用一个卷积方法,在不损失准确度的前提下,提高效率。新颖程度不高,可解释性不是很强,至于性能提高的理由作者并没有给出很充分了证明。但是,其方法简单,可以广泛用于自己的模型上,对产业可能有些许作用,但是对于科研作用不大。
废话不多说,开始正文:
Motivation
现有的Existing convolutional filters大致可以分为三类:
- Depthwise Convolutional Filter (DWC)
- Pointwise Convolutional Filter(PWC)
- Groupwise Convolutional Filter(GWC)
现在大多数网络都是使用上述三种的组合来提高网络的效率
但是人为的设计一个组合方案是 require a lot of work 的。而且,现有的提高model efficiency的方法大多是通过牺牲accuracy来提高FLOPs,所以作者希望找到一个通用的方法来解决在不牺牲accuracy前提下设计卷积方式的问题,,而且实验表明在不减少accuracy的前提下,运算效率可以提高3倍到8倍。
Related Works
1 Efficient Convolutional Filter
新型卷积划分如下:标准卷积、Depthwise 卷积、Pointwise 卷积。
(DWC PWC的解释:链接)
后三种卷积可以取代标准卷积,使用方式一般是 Depthwise + Pointwise 或者是 Group + Pointwise 这样的两层取代已有网络架构中的标准卷积的一层,成功的在不损失精度的前提下实现了 FLOPs 提升,但是带来副作用是提高了网络延迟(latency)关于什么叫latency可以这样理解:将GPU中的并行计算想象成两条赛道上的100米赛跑,两位选手都完成才能算作都任务完成,而总的完成时间是跑得慢的那个。
关于latency论文中的解释:
举几个例子:
GoogleNet [36] use the inception module and irregular stacking architecture. Inception module uses GWC and PWC to reduce FLOPs.
ResNet [8, 9] uses a bottleneck structure to design an efficient architecture with residual connection. They use PWC and the standard convolution that help to go deeper without increasing the model parameter and reduces the FLOPs explosion
以GoogleNet中的Inception为例:
在这一步运算中:1、2、3、4 的运算很明显是4部分要快一些,然而这一步的运算时间是以1、2、3、4中最慢的作为最终的运算时间。
下面这两图在Filter的层面说明了为什么HetConv没有latency:
2 Model Compression
作者关于这部分的介绍很清楚,我不再赘述,简单总结一下:模型压缩的缺点是需要在训练一个完整模型的技术上进行压缩,过程繁琐。
HetConv
原理介绍
很简单,只需要了解如下几点内容:
- 核心思想是通过的kernel和的kernel的组合来达到目的
- 使用超参数P来控制组合的方式
- 基本方法是在现有的模型下,将一定数量的的kernel用的kernel替换,P表示替换的程度,是一个权衡因子,P越表示越接近Standard Convolutional Filter
M 表示Standard Convolutional Filter的数量, 设置超参数P后,kernerl的数量为,如下图。
性能分析
作者花了很大的篇幅来进行性能的分析,首先分析了,为了HetConv能在不损失Accuracy的前提下提高efficiency(回答的很草率,而且计算方式也非常简单明了):
对P对效率提升的作用看下图:
个人评价:相信这个Simple 的方法能够在不降低准确度的范围内提高速度,说白了就是Resnet Googlenet方法的变种(虽然还是一篇CVPR2019)
实验结果
VGG-16 on CIFAR-10
论文中有Notaion,不好复制粘贴,所以我就没贴上来。P就是HetConv中的超参数P
与模型压缩相比