0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

视觉新范式Transformer之ViT的成功

深度学习实战 来源:深度学习实战 作者:深度学习实战 2021-02-24 09:31 次阅读

这是一篇来自谷歌大脑的paper。这篇paper的主要成果是用Transformer[1]取代CNN,并证明了CNN不是必需的,甚至在大规模数据集预训练的基础上在一些benchmarks做到了SOTA,并且训练时使用的资源更少。

图像分块

要将图片分块是因为Transformer是用于NLP领域的,在NLP里面,Transformer的输入是一个序列,每个元素是一个word embedding。因此将Transformer用于图像时也要找出word的概念,于是就有了这篇paper的title:AN IMAGE IS WORTH 16X16 WORDS,将一张图片看成是16*16个“单词”。

inductive biases

机器学习中,人们对算法做了各种的假设,这些假设就是inductive biases(归纳偏置),例如卷积神经网络就有很强的inductive biases。文中做了一个实验,在中等大小数据集训练时,精度会略逊色于ResNets。但是这个结果也是应该预料到的,因为Transformer缺少了CNN固有的一些inductive biases,比如平移不变性和局部性。所以当没有足够的数据用于训练时,你懂的。但是恰恰Transformer就强在这一点,由于Transformer运算效率更高,而且模型性能并没有因为数据量的增大而饱和,至少目前是这样的,就是说模型性能的上限很高,所以Transformer很适合训练大型的数据集。

ViT

20d8869e-74f8-11eb-8b86-12bb97331649.png

在ViT中,模型只有Encoder的,没有Decoder,因为只是用于识别任务,不需要Decoder。

首先按照惯例,先把图像的patch映射成一个embedding,即图中的linear projection层。然后加上position embedding,这里的position是1D的,因为按照作者的说法是在2D上并没有性能上的提升。最后还要加上一个learnable classification token放在序列的前面,classification由MLP完成。

Hybrid Architecture。模型也可以是CNN和Transformer的混合,即Transformer的输入不是原图像的patch,而是经过CNN得到的feature map的patch。

实验结果

211198d0-74f8-11eb-8b86-12bb97331649.png

不同大小的ViT的参数量。

2159b7b4-74f8-11eb-8b86-12bb97331649.png

可以看到在预训练数据集很小的情况下ViT的效果并不好,但是好在随着预训练数据集越大时ViT的效果越好,最终超过ResNet。

21979b1a-74f8-11eb-8b86-12bb97331649.png

BiT[2]是谷歌用JFT-300M(谷歌内部非公开数据集)训练的ResNet模型。Noisy Student[3]是谷歌提出借助半监督大大提升了imagenet性能的算法。可以看到,在JFT-300M预训练的情况下,ViT比ResNet好上不少,并且开销更小。

总结

ViT的成功我认为是以下几点:

1、self-attention比CNN更容易捕捉long-range的信息

2、大量的数据,在视觉中CNN是人类实践中很成功的inductive biases,显然大量的数据是能战胜inductive biases的;

3、计算效率高,因为self-attention可以看作是矩阵运算,所以效率很高,容易训练大型的模型。

原文标题:视觉新范式Transformer之ViT

文章出处:【微信公众号:深度学习实战】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器视觉
    +关注

    关注

    160

    文章

    4032

    浏览量

    118252
  • 机器学习
    +关注

    关注

    66

    文章

    8096

    浏览量

    130520
  • Transforme
    +关注

    关注

    0

    文章

    12

    浏览量

    8759

原文标题:视觉新范式Transformer之ViT

文章出处:【微信号:gh_a204797f977b,微信公众号:深度学习实战】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    视觉Transformer基本原理及目标检测应用

    视觉Transformer的一般结构如图2所示,包括编码器和解码器两部分,其中编码器每一层包括一个多头自注意力模块(self-attention)和一个位置前馈神经网络(FFN)。
    发表于 04-03 10:32 199次阅读
    <b class='flag-5'>视觉</b><b class='flag-5'>Transformer</b>基本原理及目标检测应用

    基于Transformer模型的压缩方法

    基于Transformer架构的大型模型在人工智能领域中发挥着日益重要的作用,特别是在自然语言处理(NLP)和计算机视觉(CV)领域。
    的头像 发表于 02-22 16:27 260次阅读
    基于<b class='flag-5'>Transformer</b>模型的压缩方法

    更深层的理解视觉Transformer, 对视觉Transformer的剖析

    最后是在ADE20K val上的LeaderBoard,通过榜单也可以看出,在榜单的前几名中,Transformer结构依旧占据是当前的主力军。
    的头像 发表于 12-07 09:39 411次阅读
    更深层的理解<b class='flag-5'>视觉</b><b class='flag-5'>Transformer</b>, 对<b class='flag-5'>视觉</b><b class='flag-5'>Transformer</b>的剖析

    LLM的Transformer是否可以直接处理视觉Token?

    多种LLM Transformer都可以提升Visual Encoding。例如用LLaMA和OPT的不同Transformer层都会有提升,而且不同层之间也会体现不同的规律。
    发表于 11-03 14:10 228次阅读
    LLM的<b class='flag-5'>Transformer</b>是否可以直接处理<b class='flag-5'>视觉</b>Token?

    马毅团队新作:白盒ViT成功实现

    最近,马毅教授团队探索了基于Transformer架构的模型中涌现分割能力是否仅仅是复杂的自监督学习机制的结果,或者是否可以通过模型架构的适当设计在更通用的条件下实现相同的涌现。
    的头像 发表于 09-14 15:58 211次阅读
    马毅团队新作:白盒<b class='flag-5'>ViT</b><b class='flag-5'>成功</b>实现

    介绍一种基于卷积和VIT的混合网络

    论文提出了一种基于卷积和VIT的混合网络,利用Transformers捕获远程依赖关系,利用cnn提取局部信息。构建了一系列模型cmt,它在准确性和效率方面有更好的权衡。
    的头像 发表于 09-08 16:42 702次阅读
    介绍一种基于卷积和<b class='flag-5'>VIT</b>的混合网络

    汽车领域拥抱Transformer需要多少AI算力?

    Transformer在汽车领域应用自然是针对视觉的,ChatGPT3这种至少需要八张英伟达A100显卡的大模型是绝对无法出现在汽车上的。
    发表于 08-17 14:57 566次阅读
    汽车领域拥抱<b class='flag-5'>Transformer</b>需要多少AI算力?

    什么是编程范式?常见的编程范式有哪些?各大编程范式详解

    本文给大家介绍了什么是"编程范式",选择合适的编程范式可以提高代码的可读性、可维护性和可扩展性。
    发表于 08-10 10:29 1333次阅读

    使用 Vision Transformer 和 NVIDIA TAO,提高视觉 AI 应用的准确性和鲁棒性

    Vision TransformerViT)正在席卷计算机视觉领域,提供令人难以置信的准确性、复杂现实场景下强大的解决方案,以及显著提升的泛化能力。这些算法对于推动计算机视觉应用的发
    的头像 发表于 08-04 17:40 353次阅读
    使用 Vision <b class='flag-5'>Transformer</b> 和 NVIDIA TAO,提高<b class='flag-5'>视觉</b> AI 应用的准确性和鲁棒性

    超强Trick,一个比Transformer更强的CNN Backbone

    深度学习在计算机视觉中的成功很大程度上是由卷积神经网络(CNNs)推动的。从AlexNet这一里程碑式的工作开始,CNNs不断地向计算机视觉的前沿迈进。有趣的是,最近出现的视觉
    的头像 发表于 07-17 14:25 941次阅读
    超强Trick,一个比<b class='flag-5'>Transformer</b>更强的CNN Backbone

    基于 Transformer 的分割与检测方法

    来源:机器之心 SAM (Segment Anything )作为一个视觉的分割基础模型,在短短的 3 个月时间吸引了很多研究者的关注和跟进。如果你想系统地了解 SAM 背后的技术,并跟上内卷的步伐
    的头像 发表于 07-05 10:18 548次阅读
    基于 <b class='flag-5'>Transformer</b> 的分割与检测方法

    CVPR 2023 | 清华大学提出LiVT,用视觉Transformer学习长尾数据

    Transformer 处理长尾分布数据的能力和特性,还有待进一步挖掘。 目前,已有的长尾识别模型很少直接利用长尾数据对视觉 TransformerViT)进行训练。基于现成的预训
    的头像 发表于 06-18 21:30 339次阅读
    CVPR 2023 | 清华大学提出LiVT,用<b class='flag-5'>视觉</b><b class='flag-5'>Transformer</b>学习长尾数据

    Transformer结构及其应用详解

    本文首先详细介绍Transformer的基本结构,然后再通过GPT、BERT、MT-DNN以及GPT-2等基于Transformer的知名应用工作的介绍并附上GitHub链接,看看Transformer是如何在各个著名的模型中大
    的头像 发表于 06-08 09:56 1433次阅读
    <b class='flag-5'>Transformer</b>结构及其应用详解

    基于Transformer做大模型预训练基本的并行范式

    在之前的内容中,我们已经介绍过流水线并行、数据并行(DP,DDP和ZeRO)。 今天我们将要介绍最重要,也是目前基于Transformer做大模型预训练最基本的并行范式:来自NVIDIA的张量模型
    的头像 发表于 05-31 14:38 1696次阅读
    基于<b class='flag-5'>Transformer</b>做大模型预训练基本的并行<b class='flag-5'>范式</b>

    爱芯元智AX650N成端侧、边缘侧Transformer最佳落地平台

    Transformer是当前各种大模型所采用的主要结构,而ChatGPT的火爆让人们逐渐意识到人工智能有着更高的上限,并可以在计算机视觉领域发挥出巨大潜能。相比于在云端用GPU部署Transformer大模型,在边缘侧、端侧部署
    的头像 发表于 05-30 11:04 636次阅读
    爱芯元智AX650N成端侧、边缘侧<b class='flag-5'>Transformer</b>最佳落地平台