论文笔记:InternImage—基于可变形卷积的视觉大模型,超越ViT视觉大模型,COCO 新纪录 64.5 mAP!

文章信息

写在前面

拿到文章之后先看了一眼在ImageNet1k上的结果,确实很高,超越了同等大小下的VAN、RepLKNet、ConvNext等先进的大核注意力CNN模型,同时也超过了Swin、DeiT3、CoAtNet等ViT模型。回顾自从Vision Transformer被提出之后,通过大量数据训练出的ViT大模型刷新了许多视觉任务的记录,这得益于ViT的MHSA机制能够建模长距离依赖,具有相当低的归纳偏置,从而能够在海量数据中学习到强大鲁棒的特征表达。相反的,我们以前经常使用的卷积神经网络具有较高的归纳偏置,在大模型和大数据的条件下的表现却不如ViT大模型。该论文就指出,通过合适的算子、先进的架构设计、大量模型参数和海量数据的训练之下,CNN大模型也可以具有媲美ViT大模型的性能。InternImage设计了全新的可变性卷积模块,并且借鉴了ViT的先进架构和相关组件,从而设计出一个新的CNN大模型。并且,InternImage在相关的下游任务上的性能也很高,InternImage-H在目标检测COCO数据集上达到了65.4%的性能,超越了SwinV2-G大模型的性能。

COCO box AP

Background & Motivation

随着基于Transformer的语言大模型在NLP相关下游任务中取得优异性能,Vision Transformer也席卷了CV领域,成为基础视觉大模型研究和实践的首选。Swin V2、BeiT、CoAtNet等工作已经将ViT扩展到超过十亿参数规模,显著提升了CV分类、检测和分割等下游任务的性能,超越了CNN模型。但是,该论文提出如果CNN具备类似于ViT的算子和架构,并且在大量参数和海量数据情况下,其性能是可以与ViT相同甚至更好的。
作者认为CNN和ViT大模型性能存在差距的主要有两个原因:

  • ViTs的MHSA具有长程依赖和自适应空间聚合能力,从而可以在海量数据中学习到比CNN更强大鲁棒的特征表达。
  • 除MHSA外,ViT还包含不同于CNN的高级组件,如层归一化、前馈网络、GELU等。

基于此,该论文设计了一个新颖的基于可变性卷积CNN网络——InternImage,可以在大量参数和海量数据的情况下表现很好。如下图所示,动态稀疏可变性卷积既不像MHSA那样具有较高复杂度,也不像Local attention那样缺乏长程依赖,同时具有自适应的空间聚合能力。

不同算子的特性对比

该论文的主要贡献如下:

  • 提出一种新的CNN大模型——InternImage,首个参数达1B、训练数据达400M、取得与ViT相当甚至更优性能的CNN模型。证明对于大尺度模型研究,CNN同样是一个值得探索的方向。
  • 将长程依赖、自适应空域聚合引入到DCNv3,将CNN模型的大小和尺度进行扩展;并对模块定制化、堆叠规则以及缩放策略进行了探索。
  • 在图像分类、目标检测、语义分割以及实例分割等下游任务上验证了所提方案的有效性。其中,InternImage-B仅在ImageNet-1K训练即可取得84.9%的精度(比其他CNN至少高出1.1%);当在大量参数(1B)、海量数据(427M)条件下,InternImage-H取得了89.2%的性能;在COCO上,InternImage-H以2.18B的参数量取得了65.4%mAP,比SwinV2-G高出2.3%,参数量少27% 。

Method

该论文首先从DCNv2算子开始实验,然后借鉴了MHSA的相关思想对DCN V2做出了三个关键改进,设计出了全新的DCNv3算子;基于此算子,作者又提出了与ViT相似的Basic Block组成了InternImage网络,并且给出了InternImage的堆叠规则和大小缩放规则。

DCN V2

在提出DCN V3算子前,作者先回顾了一下传统卷积和多头自注意力机制这两种算子的区别,主要包括如下两点:

  • 长距离建模能力。普通的卷积聚合邻域内的信息,显然不具备全局建模的能力,尽管传统的CNN能够通过堆叠多个3 \times 3的卷积增加模型的感受野,但是仍然不能像ViT那样进行全局的交互。
  • 自适应空间聚合能力。多头自注意力机制在聚合不同的tokens的时候,权重都是根据输入query的不同而动态变化的;而传统的CNN不管输入是什么,卷积核的参数都是静态不变的。

然后回过头看一下DCN V2算子,其恰好是具有上述两个特性的;对于给定输入 \mathbf{x}\in \mathbb{R} ^{C\times H\times W} 和某像素 p_0,DCN V2算子的输出如下
\mathbf{y}\left( p_0 \right) =\sum_{k=1}^K{\mathbf{w}_k\mathbf{m}_k\mathbf{x}\left( p_0+p_k+\bigtriangleup p_k \right)}其中,K表示采样点个数、\mathbf{w}_k为相应采样点投影权重、\mathbf{m}_k代表了相应采样点的调制标量、\bigtriangleup p_k表示相应采样点的偏移量。
由这个表达式可以看出:

  • DCN V2算子可以通过偏移量来与局部或全局的交互,具有长距离建模的能力;
  • 由于调制标量\mathbf{m}_k和偏移量\bigtriangleup p_k都是可学习并且根据输入不同而变化的,所以DCN V2算子也具有类似于MHSA的自适应空间聚合能力。

因此,DCN V2算子==具备MHSA算子的相关特性==,有可能构成大规模的CNN基础模型。

DCN V3

尽管DCN V2算子已经缩小了普通卷积算子和MHSA之间的差距,对于大规模的视觉基础模型来说,DCN V2算子仍然不是最优的选择,于是作者从三个方面对DCN V2进行改进,得到了IntenImage的主要算子——DCN V3。

  1. 共享卷积权重。在DCN V2中,对于每一个采样点处的特征向量,都使用一个独立的投影权重。当采样点增多的时候,模型的参数和复杂度将会线性增加,不利于构建大规模的模型。在这里,作者借鉴了深度可分离卷积的思想来降低DCN算子的复杂度;具体地。对于point-wise,也就是不同的采样点向量,使用一个共享的权重w来进行投影;而对于depth-wise,则直接使用算子中的调制标量\mathbf{m}_k来代替。总体来说就是用同一个同权重对采样点进行投影,然后用一个位置感知的可学习系数对投影后的特征向量进行加权。
  2. 引入多组机制。回顾多头自注意力机制中的“多头”思想,不同的head实际上能够提供在不同子空间的丰富的信息。因此,作者将DCN V3也进行分组,在每组中进行不同的偏移采样、采样向量投影、因子调制。相当于把原来的操作重复多次,增强了DCN V3算子的表达能力(确实应该这样设计,不然只有一个共享的投影权重的话,特征表达的确单一)。
  3. 归一化调制标量。这个是因为在原始的DCN V2中,调制标量是用sigmoid进行处理的,对于K个调制因子来说,其和并不是1。作者指出,这样会导致训练不稳定的问题,因此作者改为了对K个调制因子进行softmax归一化,使得整个训练过程更为稳定。

以上三个点都是根据论文理解而来,因为现在作者还没有公布InternImage模型代码,无法查看具体的实现细节。综上所述,完整的DCN V3算子可以表示如下\mathbf{y}\left( p_0 \right) =\sum_{g=1}^G{\sum_{k=1}^K{\mathbf{w}_g\mathbf{m}_{gk}\mathbf{x}_g\left( p_0+p_k+\bigtriangleup p_{gk} \right)}}
其中,G表示group的数量。\mathbf{w}_g每组内共享投影权重,\mathbf{m}_{gk}表示第g组第k个采样点的归一化后的调制因子。如此一来 ,新设计的DCN V3算子弥补了传统卷积在长程依赖和自适应空间聚合方面的不足,同时使得可变性卷积算子更加适用于视觉大模型;在实现了稀疏全局建模的同时,又适当的保留了CNN的归纳偏置,可以说是在计算量和准确度之间进行了更好的权衡。

模型架构

InternImage整体架构

在设计完DCN v3算子后,作者抛弃了传统CNN的Block设计方式,而是采用了与ViT类似的整体架构设计。如上图所示,基本模块与ViT相同,什么LN、FFN、GELU激活函数都使用上了;downsample模块也是采用了正常的3*3、stride2、pooling1模块。然后按照论文中的堆叠和缩放策略就可以构建出完整的InternImage模型了。

模型配置参数

Experiment

分类

ImageNet1k分类结果

部分模型在ImageNet 1K上的效果如上图所示,可以说是非常SOTA了,超越了同等大小下的VAN、RepLKNet、ConvNext等先进的大核注意力CNN模型,同时也超过了Swin、DeiT3、CoAtNet等ViT模型。

检测

COCO val2017

在COCO val2017 和 test-dev 上的性能在当时也达到了SOTA的水平,确实可以。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容