arxiv:https://arxiv.org/abs/2211.05778
github:https://github.com/OpenGVLab/InternImage
一、介绍
大部分大模型都是基于transformer的,本文是一个基于CNN的视觉基础模型。使用可变性卷积deformable convolution作为核心操作,使得模型有大的有效的感受野和自适应的空间集合。
稍微改动了一下deformable convolution v2 (DCNv2),然后用这个DCNv3结合其他设计和一些前沿方法设计了一个block模块,然后堆叠和扩大这些模块增加参数提高表示能力。
二、InternImage Model
1、Deformable Convolution v3
Convolution vs. MHSA(multi-head self-attention):
从长期依赖的角度,即使有非常深的模型,基于CNN的模型仍然无法获得像ViTs这样的长期依赖性,这限制了它的性能。
从自适应空间聚合的角度,MHSA权重是根据输入动态的,常规的卷积权重是静态的且有非常强的归纳偏差(inductive biases),如位置、周围的结构等,由于这些归纳偏差,卷积模型收敛的比较快并且比vit模型需要更少的数据集,但是也限制了CNN模型学习更一般更鲁棒特征的能力。
2、DCNv2:
DCNv2作为常规卷积扩展,加载预训练模型,然后微调得到更好的性能来使用,这并不适用于从头开始训练的大规模视觉基础模型。于是,从以下三个方面扩展了DCNv2,得到DCNv3:
1)卷积神经元之间的权重共享:将原始的卷积分解为Depthwise卷积与Pointwise卷积
2)引入多组机制:多组机制首先出现在一组卷积中。将空间聚合过程分为G组,每一组有单独的采样偏移∆pgk和模块尺度mgk。这样不同组在同一卷积层可以获得不同空间聚合模式,可以得到更强的特征表示。
3)沿采样点归一化modulation scalars(Normalizing modulation scalars along sampling points):DCNv2是通过sigmoid函数元素级归一化,因此每个modulation scalar范围是[0,1],这样所有采样点的modulation scalar求和不稳定,范围[0,K],这会导致梯度不稳定。沿采样点归一化modulation scalars就可以使得所有采样点的modulation scalar求和在0-1之间,使训练过程稳定。
综上,得到的DCNv3为:
3、Model
4个stage,每个stage有三个超参数,所以模型原本应该有12个超参数,最佳超参数搜索空间很大,于是作者总结了一下以前的模型设置的,总结了四个规律,如上图右下角,然后最后得出只需要4个超参数就可以:s (C1, C' , L1, L3),然后根据实验得出最佳超参数为(64, 16, 4, 18)。
有了模型之后,因为要训练一个很大参数的基础模型,所以考虑怎么使得模型变大,增加参数。参数缩放规则,也就是根据什么使模型变大,作者考虑了两种方式,深度,即L,多叠加几层stage,和宽度,即C,即每层提取的特征增加,或者是两个维度按某种比重α, β,φ结合:
最终实验找到最佳α, β是α=1.09, β=1.36