Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >小白系列(2)| 图像识别中的Vision Transformers

小白系列(2)| 图像识别中的Vision Transformers

作者头像
一点人工一点智能
发布于 2022-12-27 05:05:25
发布于 2022-12-27 05:05:25
1.4K0
举报

2022 年,Vision Transformers(ViT) 已经成为了卷积神经网络 (CNN) 的最具有竞争力替代品。虽然卷积神经网络目前在计算机视觉中处于领先地位,被广泛用于不同的图像识别任务。但是ViT 模型在计算效率和准确性方面比当前的 SOTA算法(CNN) 高出了近 4 倍。

目前Transformers模型在自然语言处理(NLP)中被广泛应用。最近人们对ViT和多层感知器(MLP)也越来越关注。

本文将涵盖以下内容:

  • 什么是Vision Transformers (ViT)?
  • 图像识别中的ViT模型
  • Vision Transformers是如何工作的?
  • Vision Transformers的应用

01 图像识别中的ViT

虽然Transformer架构已经成为在自然语言处理(NLP)任务中的SOTA算法,但它与计算机视觉(CV)相关的应用仍然很少。在计算机视觉中,注意力机制要么与卷积神经网络(CNN)结合使用,要么用于替换卷积神经网络的某些方面,同时保持其完整构成。主流的图像识别算法包括ResNet、VGG、YOLOv3和YOLOv7。

广受欢迎的卷积神经网络(CNN)结构

然而,这种对CNN的依赖性不是强制性的,直接应用于图像序列的纯Transformer可以在图像分类任务中很好地工作。

最近,Vision Transformers(ViT)在几种计算机视觉应用(如图像分类、目标检测和语义分割)的基准测试中取得了极具竞争力的性能。

1.1 什么是ViT?

Vision Transformers (ViT)模型是在ICLR2021上作为会议论文发表的一篇题为“An Image is Worth 16*16 Words: Transformers for Image Recognition at Scale”研究论文中介绍的。它由Neil Houlsby、Alexey Dosovitskiy和Google研究大脑团队的另外10位作者开发的。

VIT模型预训练代码可以在Github上找到(地址:https://github.com/google-research/vision_transformer);ViT模型在ImageNet和ImageNet-21k数据集上进行了预训练。

1.2 Transformers是一种深度学习方法吗?

机器学习中的Transformer是一种使用注意力机制、以对输入数据的每个部分的重要性进行差异加权的深度学习模型。机器学习中的Transformer是有多个自监督注意层构成的,他们主要用于自然语言处理(NLP)和计算机视觉(CV)领域。

机器学习中的Transformer算法很有可能成为可应用于各种数据模式的通用学习方法,包括最近在计算机视觉方面取得的突破,Transformer算法已经实现了当前最优的标准精度和更好的参数效率。

1.3 CNN与ViT的不同点

与CNN相比,ViT在使用较少的预训练计算资源的情况下取得了显著的效果。不过,ViT通常具有较弱的感应偏差,在较小数据集上训练时对模型正则化或数据增强(AugReg)的依赖性增加。

ViT是一个基于最初为基于文本的任务设计的Transformer架构的视觉模型。ViT模型将输入图像表示为一系列图像块并直接预测图像的类标签,就像使用Transformer进行文本处理时使用的一系列单词嵌入一样。当对足够的数据进行训练时,ViT表现出很好的性能,以四分之一的计算资源打破了类似的CNN的性能。

当涉及NLP模型时,这些Transformer具有很高的成功率,并且现在也应用于图像识别任务中的图像。CNN使用像素阵列,而ViT将图像分割为visual tokens。视觉Transformer将图像分成固定大小的块,正确地嵌入每个块,并连同位置嵌入信息一起作为Transformer编码器的输入。此外,在计算效率和准确性方面,ViT模型的性能几乎是CNN的四倍。

ViT中的自注意层(the self-attention)使得在整个图像中全局嵌入信息成为可能。该模型还学习训练数据以编码图像块的相对位置,从而重建图像的结构。

Transformer编码器包括:

  • Multi-Head Self Attention Laye(MSP):该层将所有注意力输出线性连接到正确的维度。较多的Attention Head有助于训练图像中的局部和全局依赖性。
  • Multi-Layer Percetrons Layer(MLP):该层包含两层高斯误差线性单元(GELU)。
  • Layer Norm(LN):这是在每个块之前添加的,因为它不包括训练图像之间的任何新相关性。这有助于提高训练时间和整体表现。

此外,在每个块之后还有残差连接(Residual Connection),残差连接允许组件直接流过网络而不经过非线性激活。

在图像分类中,MLP层实现分类Head。它在预训练时使用一个隐藏层,并使用一个线性层进行微调。

原始图像(左)和ViT-S/16模型的注意力图(右)

来源:https://arxiv.org/abs/2106.01548

1.4 ViT中的注意力图(Attention Maps)是什么?

注意力(更准确地说是自注意力)是机器学习Transformer的重要组成部分之一。它是一种计算基元(computational primitive),用于量化成对实体交互,帮助网络学习输入数据中存在的层次结构和对齐。注意力已被证明是视觉网络实现更高鲁棒性的关键因素。

ImageNet-A源图像上ViT注意力图的可视化

来源:https://arxiv.org/abs/2105.07581

02 ViT架构

Vision Transformer的总体架构以逐步的方式给出如下:

  1. 将图像拆分为块(固定大小)
  2. 压平图像块
  3. 从这些扁平图像块创建低维线性嵌入
  4. 包括位置嵌入
  5. 将序列作为输入馈送至最先进的Transformer编码器
  6. 使用图像标签预训练ViT模型,然后在大数据集上对其进行全面监督
  7. 微调下游数据集进行图像分类

ViTa架构

来源:https://github.com/google-research/vision_transformer

尽管ViT full-Transformer架构是视觉处理任务的一个很有前景的选择,但当在中等大小的数据集(如ImageNet)上从头开始训练时,ViT的性能仍然不如类似大小的CNN替代方案(如ResNet)。

2021,在ImageNet上从头开始训练时,ViT与ResNet和MobileNet的性能基准比较,来源:https://arxiv.org/abs/2101.11986

03 ViT是怎么工作的?

ViT模型的性能取决于优化器、网络深度和数据集特定的超参数等。与ViT相比,CNN更容易优化一些。

与一个基础的Transformer不用的是需要将一个Transformer与CNN前端结合起来。通常的ViT主线采用stride=16的16*16卷积。相比之下,stride=2的3*3卷积增加了稳定性并提高了精度。

CNN将基本像素转换为特征图。随后,特征图由tokenizer转换为一系列标记,然后输入到Transformer中。然后,Transformer应用注意力技术创建一系列输出标记。最终,投影仪将输出标记重新连接到特征图。后者允许检查潜在的关键像素级细节。这样就减少了需要研究的token数量,大大降低了成本。

特别是,如果在超过1400万张图像的巨大数据集上训练ViT模型,它可以优于CNN。如果不是很大的数据集,最好的选择是ResNet或EfficientNet。即使在微调过程之前,ViT模型也会在一个巨大的数据集上进行训练。唯一的改变是忽略MLP层并添加一个新的D次KD*K层,其中K是小数据集的类数。

为了以更好的分辨率进行微调,需要完成了预训练位置嵌入的2D表示。这是因为可训练线性层可以对位置嵌入进行建模。

04 Vision Transformers的应用

ViTa在诸如目标检测、分割、图像分类和动作识别等主要的图像识别任务中有广泛的应用。此外,ViT还应用于生成建模和多模型任务,包括视觉定位、视觉问答和视觉推理。

视频预测和行为识别都是视频处理中需要ViT的部分。此外,图像增强、着色和图像超分辨率处理也使用ViT模型。此外,ViT在3D分析中也有许多应用,例如分割和点云分类。

05 总结

Vision Transformer模型在计算机视觉中使用多Head自注意力机制,而不需要图像特定的偏差。该模型将图像分割成一系列位置嵌入块,由Transformer编码器处理。这样做是为了理解图像所具有的局部和全局特征。最后,ViT在训练大数据集时,在减少大量训练时间的同时也具有更高的准确率。

原文链接:https://viso.ai/deep-learning/vision-transformer-vit/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一点人工一点智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
McGill&微软将卷积操作加入到ViT中,捕获更详细的局部信息!准确率达87.7%!代码已开源!
在本文中,作者提出了一种新的结构,称为卷积视觉Transformer(CvT) ,它通过在ViT中引入卷积来提高视觉Transformer(ViT)的性能和效率。这是通过两个主要修改来实现的:包含卷积token嵌入的Transformer层次结构 ,以及利用卷积投影的卷积Transformer 。
CV君
2021/11/19
1.4K0
YoloV10改进策略:BackBone改进|Swin Transformer赋能YoloV10,性能跃升的新篇章
在深度学习领域,目标检测作为计算机视觉的核心任务之一,其性能的提升始终吸引着研究者们的目光。近期,我们创新性地将Swin Transformer这一前沿的Transformer架构引入到YoloV10目标检测模型中,通过替换其原有的主干网络,实现了检测性能的显著提升,为YoloV10系列模型注入了新的活力。
AI浩
2024/10/22
5660
YoloV10改进策略:BackBone改进|Swin Transformer赋能YoloV10,性能跃升的新篇章
从感知机到Transformer,一文概述深度学习简史
选自getrevue.co 作者:Jean de Dieu Nyandwi 机器之心编译 机器之心编辑部 这篇文章从感知机开始,按照时间顺序回顾了深度学习的历史。 1958 年:感知机的兴起 1958 年,弗兰克 · 罗森布拉特发明了感知机,这是一种非常简单的机器模型,后来成为当今智能机器的核心和起源。 感知机是一个非常简单的二元分类器,可以确定给定的输入图像是否属于给定的类。为了实现这一点,它使用了单位阶跃激活函数。使用单位阶跃激活函数,如果输入大于 0,则输出为 1,否则为 0。 下图是感知机的算法
机器之心
2022/05/25
1.1K0
从感知机到Transformer,一文概述深度学习简史
视觉变换器与混合模型的图像识别
​ 计算机视觉,作为人工智能领域的关键分支,其发展历程可划分为两个主要阶段:早期基于规则的方法和现代基于深度学习的技术。在早期阶段,研究者依赖于手工设计的特征提取方法,例如SIFT和SURF算法,这些方法虽然在特定应用上取得了成功,但它们的普适性和可扩展性受限,通常需要专业知识来定制特征提取器。随着深度学习技术的兴起,计算机视觉领域迎来了革命性的变化。卷积神经网络(CNNs)的出现,使得计算机能够自动从图像中学习特征表示,极大地推动了图像分类、目标检测和图像分割等任务的发展。CNNs之所以有效,是因为它们模仿了人类视觉系统的工作方式,通过卷积层捕捉局部特征,并通过池化层减少特征的空间维度,同时增强对图像位移的不变性。
Srlua
2024/12/20
2240
视觉变换器与混合模型的图像识别
人工智能在图像识别中的应用:从CNN到Transformers
图像识别是计算机视觉领域的一个重要任务,涵盖了从物体检测到面部识别等多种应用。随着深度学习技术的发展,特别是卷积神经网络(CNN)和自注意力机制(Transformers)的引入,图像识别任务的准确性和效率得到了显著提升。本篇文章将探讨人工智能在图像识别中的应用,重点分析从传统的CNN到现代Transformer模型的演进,并结合代码实例展示其应用。
一键难忘
2025/03/15
1K0
计算机视觉中的Transformer
将Transformer应用到CV任务中现在越来越多了,这里整理了一些相关的进展给大家。
小白学视觉
2021/01/20
1.3K0
AutoFormer: Searching Transformers for Visual Recognition
最近,基于Transformers的模型在图像分类和检测等视觉任务中显示出了巨大的潜力。 然而,变压器网络的设计是具有挑战性的。 已经观察到,深度、嵌入尺寸和头部的数量在很大程度上影响视觉变形器的性能。 以前的模型基于手工手工配置这些维度。 在这项工作中,我们提出了一个新的一次性架构搜索框架,即AutoFormer,专门用于视觉Transformers搜索。 在超网训练期间,自动前缠绕不同块的重量在同一层。 受益于该战略,训练有素的超级网络允许数千个子网得到非常好的训练。 具体来说,这些继承自超级网络权重的子网的性能与那些从头开始重新训练的子网相当。 此外,搜索模型,我们参考的AutoFormers,超过了最近的先进水平,如ViT和DeiT。 特别是AutoFormer-tiny/small/base在ImageNet上实现了74.7%/81.7%/82.4%的top-1精度,分别为5.7M/22.9M/53.7M参数。 最后,我们通过提供下游基准和蒸馏实验的性能来验证自动成形机的可移植性。
狼啸风云
2022/04/02
1.2K0
AutoFormer: Searching Transformers for Visual Recognition
真香!Vision Transformer 快速实现 Mnist 识别
引言:基于深度学习的方法在计算机视觉领域中最典型的应用就是卷积神经网络CNN。CNN中的数据表示方式是分层的,高层特征表示依赖于底层特征,由浅入深抽象地提取高级特征。CNN的核心是卷积核,具有平移不变性和局部敏感性等特点,可以捕捉局部的空间信息。
AI科技大本营
2022/04/05
1.6K0
真香!Vision Transformer 快速实现 Mnist 识别
南开大学提出 ADFQ-ViT,解决 ViT 在低比特量化时显著准确性损失的问题 !
视觉 Transformer (ViTs)[(7)] 在各种计算机视觉任务中,如图像分类、目标检测和实例分割,都取得了卓越的性能。尽管如此,与之前常见的视觉基础网络如卷积神经网络(CNNs)[(18)] 相比,ViTs 由于其大量的参数,需要显著更多的内存和计算资源。因此,在资源受限的环境下或实时推理的约束下部署ViTs仍然是一个挑战。
未来先知
2024/08/08
4570
南开大学提出 ADFQ-ViT,解决 ViT 在低比特量化时显著准确性损失的问题 !
新坑!谷歌提出MLP-Mixer:一种无卷积、无注意力、纯MLP构成的视觉架构
code:https://github.com/google-research/vision_transformer(暂未开源)
AIWalker
2021/05/24
1.3K0
新坑!谷歌提出MLP-Mixer:一种无卷积、无注意力、纯MLP构成的视觉架构
独家 | 为什么在CV(视觉识别)领域,Transformers正在缓慢逐步替代CNN?
作者:Pranoy Radhakrishnan 翻译:wwl校对:王可汗 本文约3000字,建议阅读10分钟本文讨论了Transformer模型应用在计算机视觉领域中和CNN的比较。 在认识Transformers之前,思考一下,为什么已经有了MLP、CNN、RNN,研究者还会对Transformers产生研究的兴趣。 Transformers起初是用于语言翻译。相比于循环神经网络(比如LSTM),Transformers支持模拟输入序列元素中的长依赖,并且支持并行处理序列。 Transformers利用
数据派THU
2022/03/04
9400
MLP给视觉研究带来潜在惊喜?近期MLP图像分类工作概览分析
图像分类(image classification)一直都是计算机视觉研究中非常基础且重要的一类任务,在深度学习为主导的近十年中已经普遍继承了通用卷积神经网络(CNN)的基本范式,大部分思路多着眼于不同网络模型的设计和模块创新,少有直接对卷积神经网络本身既定框架的颠覆性工作。Transformer 在自然语言处理任务上获得成功之后,注意力机制(attention)在视觉任务方向也获得很多关注和应用,它们中的大多数工作也被认为是十分有效的性能提升部分。
机器之心
2021/06/08
8630
Vision Transformers与卷积神经网络详细训练对比(附代码)
《AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》该论文提出使用一个直接应用于图像块的纯 Transformer 来进行图像分类任务。Vision Transformer (ViT) 在大量数据上进行预训练后,在多个基准测试中均优于最先进的卷积网络,同时训练所需的计算资源更少。
CoovallyAIHub
2025/04/29
2140
Vision Transformers与卷积神经网络详细训练对比(附代码)
MLP回归,无需卷积、自注意力,纯多层感知机视觉架构媲美CNN、ViT
计算机视觉的发展史证明,规模更大的数据集加上更强的计算能力往往能够促成范式转变。虽然卷积神经网络已经成为计算机视觉领域的标准,但最近一段时间,基于自注意力层的替代方法 Vision Transformer(ViT)实现新的 SOTA 性能。从技术上讲,ViT 模型延续了长久以来去除模型中手工构建特征和归纳偏置的趋势,并进一步依赖基于原始数据的学习。
AI算法与图像处理
2021/05/10
7350
MLP回归,无需卷积、自注意力,纯多层感知机视觉架构媲美CNN、ViT
ViT:拉开Trasnformer在图像领域正式挑战CNN的序幕 | ICLR 2021
论文: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
VincentLee
2024/04/12
5300
ViT:拉开Trasnformer在图像领域正式挑战CNN的序幕 | ICLR 2021
YoloV8改进策略:BackBone改进|Swin Transformer赋能YoloV8,性能跃升的新篇章
在深度学习领域,目标检测作为计算机视觉的核心任务之一,其性能的提升始终吸引着研究者们的目光。近期,我们创新性地将Swin Transformer这一前沿的Transformer架构引入到YoloV8目标检测模型中,通过替换其原有的主干网络,实现了检测性能的显著提升,为YoloV8系列模型注入了新的活力。
AI浩
2024/10/22
7650
YoloV8改进策略:BackBone改进|Swin Transformer赋能YoloV8,性能跃升的新篇章
南洋理工提出 Nested-TNT,提升 Transformer 效率,在视觉识别任务中的性能飞跃 !
Transformer的诞生[23]开启了大型模型的时代,并加速了自然语言处理领域的发展。Transformer的提出解决了传统卷积神经网络(CNNs)[1]在捕捉全局特征方面的不足,并提高了模型的泛化能力。与传统的循环神经网络相比,Transformer允许并行计算,提高了计算效率。Transformer网络的核心是自注意力机制,它关注每个元素对全局的依赖关系,即模型可以关注上下文信息,并允许双向推理。
未来先知
2024/08/08
2030
南洋理工提出 Nested-TNT,提升 Transformer 效率,在视觉识别任务中的性能飞跃 !
YOLOS:通过目标检测重新思考Transformer(附源代码)
论文地址:https://arxiv.org/pdf/2106.00666.pdf
计算机视觉研究院
2022/01/28
1.9K0
YOLOS:通过目标检测重新思考Transformer(附源代码)
ViTGAN:用视觉Transformer训练生成性对抗网络 Training GANs with Vision Transformers
ViTGAN是加州大学圣迭戈分校与 Google Research提出的一种用视觉Transformer来训练GAN的模型。该论文已被NIPS(Conference and Workshop on Neural Information Processing Systems,计算机人工智能领域A类会议)录用,文章发表于2021年10月。
中杯可乐多加冰
2025/02/09
1451
最强Vision Trabsformer | 87.7%准确率!CvT:将卷积引入视觉Transformer(文末附论文下载)
在本文中介绍了一种称为卷积视觉Transformer(CvT)的新体系结构,该体系结构通过将卷积引入ViT中来产生两种设计结合的最佳效果,从而提高了视觉Transformer(ViT)的性能和效率。
集智书童公众号
2021/05/28
2K0
推荐阅读
McGill&微软将卷积操作加入到ViT中,捕获更详细的局部信息!准确率达87.7%!代码已开源!
1.4K0
YoloV10改进策略:BackBone改进|Swin Transformer赋能YoloV10,性能跃升的新篇章
5660
从感知机到Transformer,一文概述深度学习简史
1.1K0
视觉变换器与混合模型的图像识别
2240
人工智能在图像识别中的应用:从CNN到Transformers
1K0
计算机视觉中的Transformer
1.3K0
AutoFormer: Searching Transformers for Visual Recognition
1.2K0
真香!Vision Transformer 快速实现 Mnist 识别
1.6K0
南开大学提出 ADFQ-ViT,解决 ViT 在低比特量化时显著准确性损失的问题 !
4570
新坑!谷歌提出MLP-Mixer:一种无卷积、无注意力、纯MLP构成的视觉架构
1.3K0
独家 | 为什么在CV(视觉识别)领域,Transformers正在缓慢逐步替代CNN?
9400
MLP给视觉研究带来潜在惊喜?近期MLP图像分类工作概览分析
8630
Vision Transformers与卷积神经网络详细训练对比(附代码)
2140
MLP回归,无需卷积、自注意力,纯多层感知机视觉架构媲美CNN、ViT
7350
ViT:拉开Trasnformer在图像领域正式挑战CNN的序幕 | ICLR 2021
5300
YoloV8改进策略:BackBone改进|Swin Transformer赋能YoloV8,性能跃升的新篇章
7650
南洋理工提出 Nested-TNT,提升 Transformer 效率,在视觉识别任务中的性能飞跃 !
2030
YOLOS:通过目标检测重新思考Transformer(附源代码)
1.9K0
ViTGAN:用视觉Transformer训练生成性对抗网络 Training GANs with Vision Transformers
1451
最强Vision Trabsformer | 87.7%准确率!CvT:将卷积引入视觉Transformer(文末附论文下载)
2K0
相关推荐
McGill&微软将卷积操作加入到ViT中,捕获更详细的局部信息!准确率达87.7%!代码已开源!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档