0. 前言
1. 要解决什么问题
- group convolution 在 2D 卷积中能够在不大幅度降低性能的前提下减少计算量。那么:
- 在3D卷积神经网络中,group convolution 还起作用吗?
- 3D group convolution 中什么参数最重要?
- 使用3D group convolution 时,如何在计算量与准确率之间做平衡。
2. 用了什么方法
- 提出了 Channel-Separated Convolution Network
- 简单说,该网络只包含
1*1*1
普通3D卷积以及k*k*k
depthwise 卷积。 - 如何理解:
- 普通3D卷积同时实现了 channel interactions 和 local interactions。
- 前者就是指融合 input 多个通道的信息得到 output。
- 后者值得就是 2D 卷积中的 spatial 信息或3D卷积中的 Spatiotemporal 信息。
- 而 Channel Separation 的目标就是将 channel interactions 与 local interactions 分开来处理,
1*1*1
普通3D卷积用来处理 channel interactions,k*k*k
depthwise 卷积用来处理 local interactions。
- 普通3D卷积同时实现了 channel interactions 和 local interactions。
- 简单说,该网络只包含
- 新设计的 bottleneck 结构,分为两种:
- interaction-preserved channel-separated bottleneck block,即保留了 channel interactions 的结构,如下图b所示。
- interaction-reduced channel-separated bottleneck block,减少了 channel-interactions 的结构,如下图c所示。
- 另外一些卷积结构以及对应的变形结构(即使用了group convolution或depthwise convolution)
- 下面这些设计其实借鉴了 ResNeXt(4b)、shufflenet(4d)、xception(3c)
- 实验用的3d-resnet基本结构
3. 效果如何
- 使用普通resnet以及CSN结构,对比性能
- 与当时的SOTA对比(结论就是,在accuracy比之前的结构好或持平的情况下,计算量减少2-3倍)
- 为什么 CSN 结构有效果?
- 从下图给出的结果看,CSN的训练误差增加,但验证集误差减小,这是正则化的效果。
4. 还存在什么问题
-
实验型论文,不多说话,就是做各种测试,说实话没什么创新性,但很实用,是我喜欢的类型。
-
有复现,但slowfast/mmaction 中暂时没有(mmaction2即将开源CSN)。