时空卷积常用于视频分类任务,然而其有限的视野使其影响网络对视频数据的表征能力
为了解决该问题,我们提出了一种SmallBig网络,它分为small biew和big view两个分支
「其中small view用来捕获核心语义,big view用来捕获上下文语义。同时big view这一分支能给small view更大的感受野」。
「时空卷积只对时间维度上有大感受野,因此会对空间信息提取不充分,甚至会引入噪声」
3x1x1的时空卷积
比如这是1个3x1x1的时空卷积。
在不同帧下,它所得到的信息不一样。前面一帧是手臂,最后一帧则是上半部分身体。这几帧所得到的信息不仅冗余,还引入噪声,很难让网络去推断这是个跳高的动作。为了解决这一问题,我们提出了一个SmallBig单元
SmallBig单元
我们以该模块作为基础,按照Resnet的方式构建了最终的网络架构
一共有这几种模块 c:使用3x1x1的3D最大池化层 d:使用3x3x3的3D最大池化层,「同时也为空间域上提供了更大的感受野」e:在最后一层使用了TX3X3的3D最大池化层。这么做的原因是前面两个3D最大池化层都扩展到空间域上,后面还加了个1x3x3的卷积,就更进一步扩大了空间域的感受野。「为了保持时空两个感受野一致,需要在时间维度上扩张」f:在e的基础上加入了额外的smallbig单元。此时TxHxW大小的池化层,得到了一个「全局特征向量」,这一向量通过sigmoid激活,做了一个「注意力机制」
最终网络整体结构图如下
作者将NonLocal算法的公式进行化简,最后一行也表明两个机制的相似性。进一步分析
作者显示在不同stage插入SmallBig块,可以看到插入到中间层,效果提升更明显
对于Big Branch,并不是一味的增大感受野性能就会有提升。在3x3x3大小效果是最好最稳定的
在作者提出的这四种模块架构中,其性能也是逐步地在提升
作者通过实验来说明了模块设计思想,准确率上证明最大池化效果要比平均池化效果好。而且共享卷积参数在减小模块体积同时,还能提高性能。
在同一架构下(resnet23) 相比于其他模型,SmallBig在性能和模型大小都取得较为不错的平衡。保证较高的准确率下,模型也维持在一个合适的大小
最后的可视化也表明,两个分支都达到了应有的效果。small分支注重细节,big分支则关注更大感受野的信息。两者相结合提升了网络的性能
这是一篇实验十分充分的工作 作者先是分析了现有的时空卷积的缺点 再引申到使用最大池化来代替时空卷积 并通过共用卷积层参数,进一步融合了Small Big这两个分支网络。在不增大模型前提下,进一步提升了性能。而最后的可视化也充分证明了作者思想的可靠性。