查看原文
其他

InternImage:探索基于可变性卷积的大规模基础模型 | CVPR 2023

Shanghai AI Lab 上海人工智能实验室 2023-09-21

在刚刚落幕的CVPR 2023上,上海人工智能实验室(上海AI实验室)以一篇最佳论文、一篇最佳论文候选、12篇入选“Highlight”名单的成绩,在国际上充分展示了中国原创AI的实力!


实验室将陆续与读者分享获CVPR 2023接收的科研成果,本期带来《InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions》论文解读。


通用人工智能模型“书生”的InternImage-H在COCO数据集上达到了65.4mAP,为目前最高纪录,相关论文被CVPR 2023接收。InternImage是一种新的基于卷积的基础模型,以可变形卷积作为核心算子,使模型不仅具有检测和分割等下游任务所需的大尺度有效感受野,且能进行以输入信息和任务为条件的自适应空间聚合。InternImage系列模型、代码、TensorRT部署、推理服务API均已开源以下为该项技术的详细解读。



亮点速览

研究人员提出了一种新的基于卷积的基础础模型,称为InternImage,与最近关注的大核卷积的CNN网络不同,InternImage以可变形卷积作为核心算子,使模型不仅具有检测和分割等下游任务所需的大尺度有效感受野,而且能够进行以输入信息和任务为条件的自适应空间聚合。InternImage-H在COCO数据集上达到了最高的65.4 mAP。

论文链接:

arxiv.org/abs/2211.05778

开源代码:

https://github.com/OpenGVLab/InternImage


传统卷积神经网络的局限

扩大模型的规模是提高特征表示质量的重要策略,在计算机视觉领域,模型参数量的扩大不仅能够有效加强深度模型的表征学习能力,而且能够实现从海量数据中进行学习和知识获取。ViT和Swin Transformer首次将深度模型扩大到20亿和30亿参数级别,其单模型在ImageNet数据集的分类准确率也都突破了90%,远超传统CNN网络和小规模模型,突破了技术瓶颈。但是,传统的CNN模型由于缺乏长距离依赖和空间关系建模能力,无法实现同Transformer结构相似的模型规模扩展能力。研究者总结了传统卷积神经网络与视觉Transformer的不同之处:

1. 从算子层面来看,视觉Transformer的多头注意力机制具有长距离依赖自适应空间聚合能力,受益于此,视觉Transformer可以从海量数据中学到比CNN网络更加强大和鲁棒的表征。

2. 从模型架构角度,除了多头注意力机制,视觉Transformer拥有CNN网络不具有的更加先进的模块,例如Layer Normalization (LN)、前馈神经网络FFN、GELU等。

尽管最近有一些工作尝试使用大核卷积来获取长距离依赖,但是在模型尺度和精度方面都与最先进的视觉Transformer有着一定距离。


可变性卷积网络的进一步拓展

InternImage通过重新设计算子和模型结构提升了卷积模型的可扩展性并且缓解了归纳偏置,包括:

1. DCNv3算子,基于DCNv2算子引入共享投射权重、多组机制和采样点调制;

2. 基础模块,融合先进模块作为模型构建的基本模块单元;

3. 模块堆叠规则,扩展模型时规范化模型的宽度、深度、组数等超参数。该工作致力于构建一个能够有效扩展到大规模参数的CNN模型。首先,重新设计的可变形卷积算子DCNv2以适应长距离依赖和弱化归纳偏置;然后,将调整后的卷积算子与先进组件相结合,建立了基础单元模块;最后,探索并实现模块的堆叠和缩放规则,以建立一个具有大规模参数的基础模型,并且可以从海量数据中学习到强大的表征。

算子层面,首先总结一下卷积算子与其他主流算子的主要区别。当前主流的Transformer系列模型主要依靠多头自注意力机制实现大模型构建,其算子具有长距离依赖性,足以构建远距离特征间的连接关系,还具有空间的自适应聚合能力以实现构建像素级别的关系。但这种全局的注意力机制其计算和存储需求量巨大,很难实现高效训练和快速收敛。同样的,局部注意力机制缺乏远距离特征的依赖。大核密集卷积由于没有空间聚合能力,而难以克服卷积天然的归纳偏置,不利于扩大模型。因此,InternImage通过设计动态稀疏卷积算子,达到实现全局注意力效果的同时不过多浪费计算和存储资源,实现高效训练。

研究者基于DCNv2算子,重新设计调整并提出了DCNv3算子,具体改进包括以下几个部分。

1. 共享投射权重。与常规卷积类似,DCNv2中的不同采样点具有独立的投射权重,因此其参数大小与采样点总数呈线性关系。为了降低参数和内存复杂度,借鉴可分离卷积的思路,采用与位置无关的权重代替分组权重,在不同采样点之间共享投影权重,所有的采样位置依赖性都得以保留。

2. 引入多组机制。多组设计最早是在分组卷积中引入,并在Transformer的多头自注意力中广泛使用,它可以与自适应空间聚合配合,有效地提高特征的多样性。受此启发,研究者将空间聚合过程分成若干组,每个组都有独立的采样偏移量。自此,单个DCNv3层的不同组拥有不同的空间聚合模式,从而产生丰富的特征多样性。

3. 采样点调制标量归一化。为了缓解模型容量扩大时的不稳定问题,研究者将归一化模式设定为逐采样点的Softmax归一化,这不仅使大规模模型的训练过程更加稳定,而且还构建了所有采样点的连接关系。

构建DCNv3算子之后,接下来首先需要规范化模型的基础模块和其他层的整体细节,然后通过探索这些基础模块的堆叠策略,构建了InternImage。最后,根据所提出模型的扩展规则,构建不同参数量的模型。


基础模块

与传统CNN中广泛使用的瓶颈结构不同,采用了更接近ViTs的基础模块,配备了更先进的组件,包括GELU、层归一化(LN)和前馈网络(FFN),这些都被证明在各种视觉任务中更有效率。基础模块的细节如上图所示,其中核心算子是DCNv3,通过将输入特征通过一个轻量级的可分离卷积来预测采样偏置和调制尺度。对于其他组件,遵循与普通Transformer相同的设计。


叠加规则

为了明确区块堆叠过程,提出两条模块堆叠规则,其中第一条规则是后三个阶段的通道数  由第一阶段的通道数  决定,即;第二条规则是各模块组号与各阶段的通道数对应,即;第三,堆叠模式固定为“AABA”,即第1、2和4阶段的模块堆叠数是相同的,并且不大于第3阶段  。由此选择将参数量为30M级别的模型作为基础,其具体参数为:Steam输出通道数  为64;分组数为每个阶段输入通道数的1/16,第1、2、4阶段的模块堆叠数  为4,第3阶段的模块堆叠数  为18,模型参数为30M。


模型缩放规则

基于上述约束条件下的最优模型,规范化了网络模型的两个缩放维度:即深度D(模块堆叠数)和宽度C(通道数),利用限制因子和沿着复合系数对深度和宽度进行缩放,即,其中,根据实验其最佳设置为α=1.09和β=1.36。

按照此规则,构建了不同模型尺度的模型,即InternImage-T、S、B、L、XL、H。具体参数为:


实验结果


InternImage系列模型已经在19个感知任务中获得世界最优性能,其中涵盖图像分类、目标检测、语义分割等任务,同时涵盖了类似场景、长尾类别、通用物体、自动驾驶、密集物体、街景、深度等各类场景和任务。由此可见,InternImage模型的可扩展性和各类任务中的泛化性。接下来将根据不同标杆任务类型来介绍实验结果。

图像分类实验:通过使用427M的公共数据集合:Laion-400M,YFCC15M,CC12M,InternImage-H在ImageNet-1K的精度达到了89.6%。并在近期研发中InternImage分类模型在ImageNet-1K上的精度已经达到90.1%。

目标检测:以最大规模的InternImage-H为骨干网络,以DINO作为基础检测框架,在Objects365数据集上进行预训练,然后在COCO数据集上进行微调。该模型在目标检测任务中达到了65.4%的最优结果,突破了COCO目标检测的性能边界。

语义分割:在语义分割上,InternImage-H同样取得了很好的性能,结合Mask2Former在ADE20K上取得了当前最高62.9%。

实例分割:近期,InternImage-H刷新了COCO实例分割任务的最优性能,其主要方法是以InternImage为主干网络,DINO为检测框架,MaskDINO为实例分割头。其分别在COCO实例分割的minival和test-dev集上取得了55.4 mAP和56.1 mAP。


结论

研究人员提出了 InternImage,这是一种新的基于 CNN的大规模基础模型,可以为图像分类、对象检测和语义分割等多功能视觉任务提供强大的表示。研究者调整灵活的DCNv2算子以满足基础模型的需求,并以核心算子为核心开发了一系列的block、stacking和scaling规则。目标检测和语义分割基准的大量实验验证了InternImage可以获得与经过大量数据训练的精心设计的大规模视觉转换器相当或更好的性能,这表明CNN也是大规模视觉基础模型研究的一个相当大的选择。尽管如此,大规模的CNN仍处于早期发展阶段,研究人员希望InternImage可以作为一个很好的起点。
“书生”图像模型将基于InternImage构建通用视觉生态,相关模型、代码、TensorRT部署已开源。此外,现已经开源的多模态交互系统InternGPT未来也将接入InternImage感知模型。



github.com/OpenGVLab/InternImage 


github.com/OpenGVLab/InternGPT 



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存