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

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

    关注

    161

    文章

    4352

    浏览量

    120179
  • 机器学习
    +关注

    关注

    66

    文章

    8386

    浏览量

    132469
  • Transforme
    +关注

    关注

    0

    文章

    12

    浏览量

    8782

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

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

收藏 人收藏

    评论

    相关推荐

    Transformer模型的具体应用

    如果想在 AI 领域引领一轮新浪潮,就需要使用到 Transformer
    的头像 发表于 11-20 09:28 320次阅读
    <b class='flag-5'>Transformer</b>模型的具体应用

    Transformer模型能够做什么

    尽管名为 Transformer,但它们不是电视银幕上的变形金刚,也不是电线杆上垃圾桶大小的变压器。
    的头像 发表于 11-20 09:27 245次阅读
    <b class='flag-5'>Transformer</b>模型能够做什么

    使用ReMEmbR实现机器人推理与行动能力

    视觉语言模型(VLM)通过将文本和图像投射到同一个嵌入空间,将基础大语言模型(LLM)强大的语言理解能力与视觉 transformerViT)的
    的头像 发表于 11-19 15:37 182次阅读
    使用ReMEmbR实现机器人推理与行动能力

    Prophesee:基于EVS打造机器视觉范式

    电子发烧友网报道(文/吴子鹏)机器视觉起源于20世纪50年代。近几年,随着边缘智能需求爆发,机器视觉发展换挡提速。根据前瞻产业研究院的统计数据,2023年全球机器视觉市场规模约为130亿美元,预计
    的头像 发表于 07-24 00:53 2868次阅读
    Prophesee:基于EVS打造机器<b class='flag-5'>视觉</b>新<b class='flag-5'>范式</b>

    Transformer能代替图神经网络吗

    Transformer作为一种在处理序列数据方面表现出色的深度学习模型,自其提出以来,已经在自然语言处理(NLP)、时间序列分析等领域取得了显著的成果。然而,关于Transformer是否能完全代替图神经网络(GNN)的问题,需要从多个维度进行深入探讨。
    的头像 发表于 07-12 14:07 391次阅读

    Transformer语言模型简介与实现过程

    在自然语言处理(NLP)领域,Transformer模型以其卓越的性能和广泛的应用前景,成为了近年来最引人注目的技术之一。Transformer模型由谷歌在2017年提出,并首次应用于神经机器翻译
    的头像 发表于 07-10 11:48 1432次阅读

    使用PyTorch搭建Transformer模型

    Transformer模型自其问世以来,在自然语言处理(NLP)领域取得了巨大的成功,并成为了许多先进模型(如BERT、GPT等)的基础。本文将深入解读如何使用PyTorch框架搭建Transformer模型,包括模型的结构、训
    的头像 发表于 07-02 11:41 1499次阅读

    在STM32H573VIT6的外接UART1-RX (PB7)端口,拉60uA为什么会导致MCU复位失效呢?

    在STM32H573VIT6的外接UART1-RX (PB7)端口,拉60uA为什么会导致MCU复位失效呢?
    发表于 05-23 06:46

    jlink为什么识别不了STM32H743VIT6?

    最近调ST的STM32H743VIT6这个型号的芯片,碰到一个麻烦的问题,jlink识别不了芯片,导致一直无法下载程序,换了几个JLINK也是不行。请问一下STM32H7系列烧写与调试对JLINK有
    发表于 04-15 07:20

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

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

    STM32F427VIT6支持HyperBus或者Octal xSPI接口的PSRAM吗?

    STM32F427VIT6支持HyperBus或者Octal xSPI接口的PSRAM吗
    发表于 03-20 07:32

    STM32H743VIT6可以用NUCLEO-H743ZI板调试吗?

    问题1:最近要选择STM32H743VIT6这款芯片做实验项目,想要选择NUCLEO-H743ZI板子调试,但是板子mcu跟选型的mcu不完全一致,引脚数量也不一样,担心买回来调试不方便 问题2:板子有NUCLEO-H743ZI和NUCLEO-H743ZI2 二种型号,比较推荐哪一种?
    发表于 03-18 07:17

    复盘与分析:Sora是如何成功的?

    从技术路线看,依旧遵从LLM范式“大力出奇迹”,通过patches向量化与transformer架构结合,使得训练数据能够使用大小、尺寸、分辨率不同的视频,能够让模型学习到视频的规律乃至世界的规律;使用GPT生成prompt,在训练和推理过程中解决了模态之间的对齐问题,大
    的头像 发表于 02-25 16:44 552次阅读
    复盘与分析:Sora是如何<b class='flag-5'>成功</b>的?

    基于Transformer模型的压缩方法

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

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

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