科技小数据|深度学习——卷积神经网络中十大令人拍案叫绝的操作( 三 )


分组卷积能否对通道随机分组
在AlexNet的Group Convolution当中 , 特征的通道被平均分到不同组里面 , 最后再通过两个全连接层来融合特征 , 这样一来 , 就只能在最后时刻才融合不同组之间的特征 , 对模型的泛化性是相当不利的 。 为了解决这个问题 , ShuffleNet在每一次层叠这种Group conv层前 , 都进行一次channel shuffle , shuffle过的通道被分配到不同组当中 。 进行完一次group conv之后 , 再一次channel shuffle , 然后分到下一层组卷积当中 , 以此循环 。

科技小数据|深度学习——卷积神经网络中十大令人拍案叫绝的操作
本文插图

来自ShuffleNet论文
经过channel shuffle之后 , Group conv输出的特征能考虑到更多通道 , 输出的特征自然代表性就更高 。 另外 , AlexNet的分组卷积 , 实际上是标准卷积操作 , 而在ShuffleNet里面的分组卷积操作是depthwise卷积 , 因此结合了通道洗牌和分组depthwise卷积的ShuffleNet , 能得到超少量的参数以及超越mobilenet、媲美AlexNet的准确率!
另外值得一提的是 , 微软亚洲研究院MSRA最近也有类似的工作 , 他们提出了一个IGC单元(Interleaved Group Convolution) , 即通用卷积神经网络交错组卷积 , 形式上类似进行了两次组卷积 , Xception 模块可以看作交错组卷积的一个特例 , 特别推荐看看这篇文章:王井东详解ICCV 2017入选论文:通用卷积神经网络交错组卷积 。
要注意的是 , Group conv是一种channel分组的方式 , Depthwise +Pointwise是卷积的方式 , 只是ShuffleNet里面把两者应用起来了 。 因此Group conv和Depthwise +Pointwise并不能划等号 。
通道间的特征都是平等的吗
无论是在Inception、DenseNet或者ShuffleNet里面 , 我们对所有通道产生的特征都是不分权重直接结合的 , 那为什么要认为所有通道的特征对模型的作用就是相等的呢? 这是一个好问题 , 于是 , ImageNet2017 冠军SEnet就出来了 。

科技小数据|深度学习——卷积神经网络中十大令人拍案叫绝的操作
本文插图

SEnet 结构
一组特征在上一层被输出 , 这时候分两条路线 , 第一条直接通过 , 第二条首先进行Squeeze操作(Global Average Pooling) , 把每个通道2维的特征压缩成一个1维 , 从而得到一个特征通道向量(每个数字代表对应通道的特征) 。 然后进行Excitation操作 , 把这一列特征通道向量输入两个全连接层和sigmoid , 建模出特征通道间的相关性 , 得到的输出其实就是每个通道对应的权重 , 把这些权重通过Scale乘法通道加权到原来的特征上(第一条路) , 这样就完成了特征通道的权重分配 。
让卷积核看到更大范围的区域
标准的3×3卷积核只能看到对应区域3×3的大小 , 但是为了能让卷积核看到更大的范围 , dilated conv使其成为了可能 。 dilated conv原论文中的结构如图所示:

科技小数据|深度学习——卷积神经网络中十大令人拍案叫绝的操作
本文插图

上图b可以理解为卷积核大小依然是3×3 , 但是每个卷积点之间有1个空洞 , 也就是在绿色7×7区域里面 , 只有9个红色点位置作了卷积处理 , 其余点权重为0 。 这样即使卷积核大小不变 , 但它看到的区域变得更大了 。 详细解释可以看这个回答:如何理解空洞卷积(dilated convolution)?
卷积核形状一定是矩形吗?

科技小数据|深度学习——卷积神经网络中十大令人拍案叫绝的操作
本文插图

图来自微软亚洲研究院公众号
传统的卷积核一般都是长方形或正方形 , 但MSRA提出了一个相当反直觉的见解 , 认为卷积核的形状可以是变化的 , 变形的卷积核能让它只看感兴趣的图像区域, 这样识别出来的特征更佳 。


推荐阅读