基于交错组卷积的高效深度神经网络(IGC V2)
论文地址:https://arxiv.org/pdf/1804.06202.pdf
目的
利用消除卷积核冗余的方法构建有效的卷积神经网络
介绍
卷积神经网络的改进主要包含两个部分:
- 网络压缩:压缩预训练模型等;
- 结构设计:更小的卷积核,稀疏核等;
用多个冗余更少的核形成一个核又分为两条主线:
- 乘以低秩矩阵以形成高秩矩阵
- 乘以稀疏矩阵
(加粗部分为本文作者的改进方向)
本文提出的改进:IGC块中的 1*1 卷积可进一步分解
本文的结构
一个常规卷积可以表示为
其中
x为SCi的矢量,S为卷积核尺寸(例:3*3卷积 S=9);
y为Co大小的矢量,Co为输出通道数;
Xception,deep roots和 IGC 构成 W 的方式
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的方法
互补条件:对于所有的m,
当满足互补条件时,一个IGC V2块构建的核是dense的。
总通道数C与L个分区的每分区通道数{K1,K2,……KL}的关系:
什么条件下参数最少:
1*1 conv:CKl个,spatial conv:SCl个。所以若要参数最少,应当有一个空间组卷积核若干个1*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。