关于神经网络的轻量化

一、空洞卷积

1、dilated的好处就是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。

在图像需要全局信息或者语音文本需要较长的sequence信息依赖的问题中,都能很好的应用空洞卷积。

2、Deep CNN对于其他任务的一些致命性缺陷,较为著名的是:up-sampling和pooling layer的设计,在Hinton的演讲中也提到过:

1)上采样和池化层是不可学习的;

2)内部数据接结构丢失;空间层级化信息丢失;

 

二、ShuffleNet

1、The new architecture utilizes two new operations, pointwise group convolution and channel shuffle, to greatly reduce computation cost while maintaining accuracy.

2、在ShuffleNet中也使用了新的操作:点卷积组和通道重组,极大的减少了计算量(reduce computation cost)

3、ShuffleNet的核心是使用了两种操作:pointwise group convolution和channel shuffle,这在保持精度的同时大大降低了模型的计算量。其基本单元是在残差单元的基础上进行修改而来的。

4、channel shuffle

传统的group convolution(分组卷积),分组数恰好等于通道数,意味着每个组只有一个特征图,但是问题是采用了密集的 1*1 pointwise convolution。

这个问题可以解决:对1*1的卷积采用channel sparse connection,即分组操作,通道进行连接。

Group convolution分组的另一个问题是:不同组之间的特征图需要通信,否则就像是单独独立的路径,会降低网络的提取能力,这也可以解释为何要使用密集的1*1的pointwise convolution,因为要保证group convolution之后不同组的特征图之间的信息交流。

使用channel shuffle

为了达到特征通信的目的,我们不采用dense pointwise convolution,考虑channel shuffle,如下图所示:

关于神经网络的轻量化_第1张图片

 

原本的group convolution如a所示,只是将通道进行了分组,但是这些分组之间没有进行相互连接,因此其特征不可以共享,则可能会带来的结果就是分类效果很差。如b所示,将不同组的特征进行分块,然后各个组的块进行拼接,得到的就是将各个块进行分组+联合后的内容。

你可能感兴趣的:(算法,人工智能,网络)