CNN+Transformer=SOTA!CNN丢掉的全局信息,Transformer来补

简介: 微软在arxiv上发布新论文,把CNN带入Transformer后能够同时兼顾全局和局部的信息。

在计算机视觉技术发展中,最重要的模型当属卷积神经网络(CNN),它是其他复杂模型的基础。

 

CNN具备三个重要的特性:一定程度的旋转、缩放不变性;共享权值和局部感受野;层次化的结构,捕捉到的特征从细节到整体。

 60.jpg

这些特性使得CNN非常适合计算机视觉任务,也使CNN成为深度学习时代计算机视觉领域的基石,但CNN的细节捕捉能力使它的全局建模能力较弱。

 

所以如何使CV模型捕获全局特征逐渐成为研究热点。

 

NLP的模型能解决CV问题?


2017年,Transformer横空出世,Attention is all you need!随后BERT类模型在各大NLP排行榜屠杀,不断逼近、超过人类的表现。

 

2020年Google Brain研究员提出的Vision Transformer(ViT)以最小的改动将Transformer应用于用CV领域。

 

Transformer的动态注意力机制、全局建模能力使得ViT在通过超大规模预训练后,表现出了很强的特征学习能力。

 

然而,ViT在设计上是没有充分利用视觉信号的空间信息,ViT仍然需要借助Transformer中的Position Embedding来弥补空间信息的损失。

 

视觉信号具有很强的2D结构信息,并且与局部特征具有很强的相关性,这些先验知识在ViT的设计中都没有被利用上。

 

CNN的设计又可以很好地弥补ViT设计中的这些不足,或者也可以说,ViT的设计弥补了CNN全局建模能力较弱的问题。

 

这篇论文提出一种全新的基础网络Convolutional vision Transformers (CvT),既具备Transforms的动态注意力机制、全局建模能力,又具备CNN的局部捕捉能力,同时结合局部和全局的建模能力。

61.jpg

CvT是一种层级设计结构,在每一层级,2D的图像或Tokens通过Convolutional Embedding生成或更新特征向量。

 

每一层包括N个典型的Convolutional Transformer Block,把线性变换替换成卷积变换输入到多头attention机制,再进行Layer Norm。

 

Convolutional Projecton使得CvT网络可以维持图像信号的空间结构信息,也使得Tokens更好的利用了图像信息的局部信息相关性,同时也利用了注意力机制对全局信息进行建模。

 

而卷积操作的灵活性,使得我们可以通过设置卷积操作的步长来对key,value进行降采样,从而进一步提升Transformer结构的计算效率。

 

Convolutional Embedding和Convolutional Projection充分利用了视觉信号的空间特性,所以在CvT的结构中,空间信息不需要引入position embedding,使得CvT更灵活的应用于计算机视觉中各类下游任务,如物体检测,语义分割等。

 

性能表现


CvT与同时期的其他Transformer-based工作相比,在同等模型大小下在ImageNet1k上取得了明显优于其他模型的准确率。

 

此外,CvT在大规模数据集ImageNet22k的预训练上也取得了不错的性能,CvT-W24以更少的参数量,在ImageNet-1k 基准测试集上获得了87.7%的Top-1准确率,超越在同样规模数据集训练的ViT-H/L模型。

62.jpg


CvT 和SOTA模型模型在Image net, ImageNet Real和ImageNet V2这些数据集上性能的比较。同等规模和计算量情况下, CvT的效率优于ResNet和ViT,甚至同时期的其它Transformer-based的工作。

 

通过网络结构搜索技术,对CvT的模型结构像每层Convolutional Projection中的步长和每层MLP的expansion ratio进行有效的搜索后,最优的模型CvT-13-NAS。以18M的模型参数量, 4.1G的FLOPs在ImageNet1k上取得了82.2的结果。

 63.jpg

CvT 和Google的BiT,ViT在下游任务中的迁移能力,CvT-W24以更少的模型参数量在ImageNet1k上取得了87.7的结果,明显优于Google的BiT-152x4和ViT-H/16,进一步验证了CvT模型优异的性能。

64.jpg

CvT是一种结合了CNN结构和Transformers结构各自优势的全新基础网络,实验结果也验证了CvT在ImageNet以及各种分类任务中的有效性。可以展望,这种融合的网络势必会对视觉其他的任务性能提高进一步影响。


相关文章
|
5月前
|
机器学习/深度学习 自然语言处理 异构计算
Python深度学习面试:CNN、RNN与Transformer详解
【4月更文挑战第16天】本文介绍了深度学习面试中关于CNN、RNN和Transformer的常见问题和易错点,并提供了Python代码示例。理解这三种模型的基本组成、工作原理及其在图像识别、文本处理等任务中的应用是评估技术实力的关键。注意点包括:模型结构的混淆、过拟合的防治、输入序列长度处理、并行化训练以及模型解释性。掌握这些知识和技巧,将有助于在面试中展现优秀的深度学习能力。
162 11
|
5月前
|
机器学习/深度学习 编解码
LeViT-UNet:transformer 编码器和CNN解码器的有效整合
LeViT-UNet:transformer 编码器和CNN解码器的有效整合
137 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
126 9
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
一文介绍CNN/RNN/GAN/Transformer等架构 !!
一文介绍CNN/RNN/GAN/Transformer等架构 !!
154 5
|
5月前
|
机器学习/深度学习 自然语言处理 并行计算
神经网络结构——CNN、RNN、LSTM、Transformer !!
神经网络结构——CNN、RNN、LSTM、Transformer !!
256 0
|
5月前
|
机器学习/深度学习 并行计算 算法
模型压缩部署神技 | CNN与Transformer通用,让ConvNeXt精度几乎无损,速度提升40%
模型压缩部署神技 | CNN与Transformer通用,让ConvNeXt精度几乎无损,速度提升40%
127 0
|
5月前
|
机器学习/深度学习 编解码 算法
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
172 0
|
5月前
|
机器学习/深度学习 编解码 测试技术
超强Trick | 如何设计一个比Transformer更强的CNN Backbone
超强Trick | 如何设计一个比Transformer更强的CNN Backbone
66 0
|
机器学习/深度学习 编解码 计算机视觉
LeViT-UNet:transformer 编码器和CNN解码器的有效整合
levi - unet[2]是一种新的医学图像分割架构,它使用transformer 作为编码器,这使得它能够更有效地学习远程依赖关系。levi - unet[2]比传统的U-Nets更快,同时仍然实现了最先进的分割性能。
178 0
|
编解码 计算机视觉
3D检测新SOTA | PointPillar与Faster RCNN结合会碰撞出怎样的火花(二)
3D检测新SOTA | PointPillar与Faster RCNN结合会碰撞出怎样的火花(二)
221 0

热门文章

最新文章

下一篇
无影云桌面