论文阅读——InternImage(cvpr2023)

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

相关推荐
神秘的土鸡2 分钟前
神经网络图像隐写术:用AI隐藏信息的艺术
人工智能·深度学习·神经网络
数据分析能量站3 分钟前
神经网络-LeNet
人工智能·深度学习·神经网络·机器学习
Jaly_W12 分钟前
用于航空发动机故障诊断的深度分层排序网络
人工智能·深度学习·故障诊断·航空发动机
小嗷犬14 分钟前
【论文笔记】Cross-lingual few-shot sign language recognition
论文阅读·人工智能·多模态·少样本·手语翻译
夜幕龙21 分钟前
iDP3复现代码数据预处理全流程(二)——vis_dataset.py
人工智能·python·机器人
吃个糖糖38 分钟前
36 Opencv SURF 关键点检测
人工智能·opencv·计算机视觉
AI慧聚堂1 小时前
自动化 + 人工智能:投标行业的未来是什么样的?
运维·人工智能·自动化
盛世隐者1 小时前
【pytorch】循环神经网络
人工智能·pytorch
cdut_suye1 小时前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
开发者每周简报1 小时前
微软的AI转型故事
人工智能·microsoft