IGCV三部曲:Interleaved Structured Sparse Convolutional Neural Networks

原文链接: https://blog.csdn.net/weixin_42040743/article/details/81674499

继Mobilenet,shufflenet之后,对于通道分组以及通道混洗分析得比较细致的三篇文章,IGCV三部曲(Interleaved Structured Sparse Convolutional Neural Networks)。其实关于深度学习模型设计中的很多技巧,比如这个group conv,channel shuffle,以及residual结构等等,都是尝试或积累起来的一些经验,对于其深层次的可解释性确实比较少,然而确一直是一个话题,类似的,在脉冲神经网络中,生物学合理性也是必要的。

本篇博客主要介绍,基于交错组卷积的高效深度神经网络(IGCV2)
论文地址:https://arxiv.org/pdf/1804.06202.pdf

IGCV1以及IGCV3请参见:https://blog.csdn.net/edward_zcl/article/details/100859534


目的

利用消除卷积核冗余的方法构建有效的卷积神经网络


介绍

卷积神经网络的改进主要包含两个部分:

  • 网络压缩:压缩预训练模型等;
  • 结构设计:更小的卷积核,稀疏核等

用多个冗余更少的核形成一个核又分为两条主线:

  • 乘以低秩矩阵以形成高秩矩阵
  • 乘以稀疏矩阵

(加粗部分为本文作者的改进方向)

本文提出的改进:IGC块中的 1*1 卷积可进一步分解


本文的结构

一个常规卷积可以表示为

y = Wx

其中
x为SC i的矢量,S为卷积核尺寸(例:3*3卷积 S=9);
y为C o大小的矢量,C o为输出通道数;

Xception,deep roots和 IGC 构成 W 的方式

W=P2W2P1W1xW=P2W2P1W1x

P1 , P2为置换矩阵

  • IGC:W2,W1都是稀疏阵。
  • Xception:1*1 conv(对应W2) + channel-wise conv(对应W1
    W2为C*C的密矩阵;W1为C*SC的稀疏阵,分为C个块,每个块1*S。
  • Deep roots: W1为稀疏矩阵;W2为密矩阵。

IGC V2构成W的方法

y=(l=L1PlWl)xy=(∏l=L1PlWl)x
对应两个组卷积。这两个组卷积是互补的,当一个组卷积处于相同分区的通道来自于另一个组卷积的不同分区,且在另一个组卷积中,这些通道来自它所有的分区。

当满足互补条件时,一个IGC V2块构建的核是dense的。

总通道数C与L个分区的每分区通道数{K1,K2,……KL}的关系:

C=i=1LKiC=∏i=1LKi

什么条件下参数最少:
1*1 conv:CKl个,spatial conv:SCl个。所以若要参数最少,应当有一个空间组卷积核若干个1*1组卷积组成。

Q=Cl=2LKl+CSK1CL(SK1l=2LKl)1L=CL(SC)1LQ=C∑l=2LKl+CSK1≥CL(SK1∏l=2LKl)1L=CL(SC)1L
时取等号。

IGCV三部曲:Interleaved Structured Sparse Convolutional Neural Networks_第1张图片

实际构建IGC V2块时,取L=3(由实验得出的性能最好的取值),采用3*3空间卷积和2个1*1卷积,当通道数尽可能满足上述取等条件时为较优或最优。


讨论

  • 非结构稀疏:性能可能更好,但有两个缺点:矩阵不便于储存和优化困难。
  • 互补条件:充分非必要条件。
  • 稀疏矩阵乘法和低秩矩阵乘法:低秩矩阵分解和乘法已经广泛研究,而稀疏矩阵却没有。未来研究的可能:稀疏矩阵的分解以压缩网络,低秩稀疏矩阵等。

实验

CIFAR

预处理:首先对图像做对每测4个像素的zero-padding,然后随机裁剪生成32*32图像,水平镜像一半图像,用通道平均和标准差归一化图像。
训练设定:带Nesterov动量的SGD,学习率从0.1开始,在200,300,350 epochs分别衰减10倍。weight decay:0.0001,动量:0.9,batch size:64,400 epochs。

Tiny Imagenet

预处理:首先对图像随机拓展到【64,80】的大小,然后随机裁剪生成64*64图像,随机水平镜像,用通道平均和标准差归一化图像。
训练设定:带Nesterov动量的SGD,学习率从0.1开始,在100,150,175 epochs分别衰减10倍。weight decay:0.0001,动量:0.9,batch size:64,200 epochs。


性能

IGCV三部曲:Interleaved Structured Sparse Convolutional Neural Networks_第2张图片

参考:

https://blog.csdn.net/h__ang/article/details/88938364

你可能感兴趣的:(人工智能-神经网络)