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

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

3天内不再提示

一种可以编码局部信息的结构T2T module,并证明了T2T的有效性

深度学习实战 来源:深度学习实战 作者:深度学习实战 2021-03-11 16:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

深度学习实战

前面提到过ViT,但是ViT在数据量不够巨大的情况下是打不过ResNet的。于是ViT的升级版T2T-ViT横空出世了,速度更快性能更强。T2T-ViT相比于ViT,参数量和MACs(Multi-Adds)减少了200%,性能在ImageNet上又有2.5%的提升。T2T-ViT在和ResNet50模型大小差不多的情况下,在ImageNet上达到了80.7%的准确率。论文的贡献:

证明了通过精心设计的Transformer-based的网络(T2T module and efficient backbone),是可以打败CNN-based的模型的,而且不需要在巨型的训练集(如JFT-300M)上预训练。

提出了一种可以编码局部信息的结构T2T module,并证明了T2T的有效性。

展示了在设计CNNs backbone时用到的architecture engineering经验同样适用于设计Transformer-based的模型,通过大量的实验证明深且窄(deep-narrow)的网络能够增加feature的丰富性和减少冗余。

Why T2T-ViT?

先来说下ViT[1],ViT在从头开始训练(trained from scratch) ImageNet时,效果甚至比CNN-based的模型还差。这显然是不能让人足够满意的,文中分析了两点原因:
(1)由于ViT是采用对原图像分块,然后做Linear Projection得到embedding。但是通过实验发现,这种基于原图像的简单tokenization并没有很好地学到图像的边缘或者线条这种低级特征,导致ViT算法的学习效率不高,难以训练,因此ViT需要大量的数据进行训练。
(2)在有限的计算资源和有限的数据的情况下,ViT冗余的attention主干网络难以学得丰富的特征。
所以为了克服这些限制,提出了Tokens-To-Token Vision Transformers(T2T-Vit)。为了证明上面的结论,还做了一个实验,可视化了ResNet、ViT和T2T-ViT所学到的特征的差异。

绿色的框中表示了模型学到的一些诸如边缘和线条的low-level structure feature,红色框则表示模型学到了不合理的feature map,这些feature或者接近于0,或者是很大的值。从这个实验可以进一步证实,CNN会从图像的低级特征学起,这个在生物上是说得通的,但是通过可视化来看,ViT的问题确实不小,且不看ViT有没有学到低级的特征,后面的网络层的feature map甚至出现了异常值,这个是有可能导致错误的预测的,同时反映了ViT的学习效率差。 Tokens-to-Token:Progressive Tokenization

为了解决ViT的问题,提出了一种渐进的tokenization去整合相邻的tokens,从tokens到token,这种做法不仅可以对局部信息的建模还能减小token序列的长度。整个T2T的操作分为两个部分:重构(re-structurization)和软划分(soft split)。(1)Re-structurization假设上一个网络层的输出为T,T经过Transformer层得到T',Transformer是包括mutil-head self-attention和MLP的,因此从T到T'可以表示为T' = MLP(MSA(T)),这里MSA表示mutil-head self-attention,MLP表示多层感知机,上述两个操作后面都省略了LN。经过Transformer层后输出也是token的序列,为了重构局部的信息,首先把它还原为原来的空间结构,即从一维reshape为二维,记作I。I = Reshape(T'),reshape操作就完成了从一维的向量到二维的重排列。整个操作可以参见上图的step1。(2)Soft Split与ViT那种hard split不同,T2T-ViT采用了soft split,说直白点就是不同的分割部分会有overlapping。I会被split为多个patch,然后每个patch里面的tokens会拼接成一个token,也就是这篇论文的题目tokens to token,这个步骤也是最关键的一个步骤,因为这个步骤从图像中相邻位置的语义信息聚合到一个向量里面。同时这个步骤会使tokens序列变短,单个token的长度会变长,符合CNN-based模型设计的经验deep-narrow。 T2T module

在T2T模块中,依次通过Re-structurization和Soft Split操作,会逐渐使tokens的序列变短。整个T2T模块的操作可以表示如下:

由于是soft split所以tokens的序列长度会比ViT大很多,MACs和内存占用都很大,因此对于T2T模块来说,只能减小通道数,这里的通道数可以理解为embedding的维度,还使用了Performer[2]来进一步减少内存的占用。 Backbone

为了增加特征的丰富性和减少冗余,需要探索一个更有效的backbone。从DenseNet、Wide-ResNets、SENet、ResNeXt和GhostNet寻找设计的灵感,最终发现:(1)在原ViT的网络结构上采用deep-narrow的原则,增加网络的深度,减小token的维度,可以在缩小模型参数量的同时提升性能。(2)使用SENet[3]中的channel attention对ViT会有提升,但是在使用deep-narrow的结构下提升很小。 Architecture

T2T-ViT由T2T module和T2T-ViT backbone组成。PE是position embedding。对于T2T-ViT-14来说,由14个transformer layers组成,backbone中的hidden dimensions是384。对比ViT-B/16,ViT-B/16有12个transformer layers,hidden dimensions是768,模型大小和MACs是T2T-ViT-14整整三倍。 Experiments

934c3554-7dfe-11eb-8b86-12bb97331649.png

在不使用预训练时,T2T-ViT和ViT的对比,可以看到T2T-ViT真的是完胜ViT啊,不仅模型比你小,精度还比你高。

93bdebfe-7dfe-11eb-8b86-12bb97331649.png

不仅完胜ViT,ResNet也不在话下,说实话看到这个结果的时候真的可以说Transformer战胜了CNN了。 Conclusion

T2T-ViT通过重构图像的结构性信息,克服了ViT的短板,真正意义上击败了CNN。通过提出tokens-to-token的process,逐渐聚合周围的token,增强局部性信息。这篇论文中不仅探索了Transformer-based的网络结构的设计,证明了在Transformer-based模型中deep-narrow要好于shallow-wide,还取得了很好的性能表现。 Reference

[1]A. Dosovitskiy, L. Beyer, A. Kolesnikov, D. Weissenborn, X. Zhai, T. Unterthiner, M. Dehghani, M. Minderer, G. Heigold, S. Gelly, et al. An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929, 2020. [2]K. Choromanski, V. Likhosherstov, D. Dohan, X. Song, A. Gane, T. Sarlos, P. Hawkins, J. Davis, A. Mohiuddin, L. Kaiser, et al. Rethinking attention with performers. arXiv preprint arXiv:2009.14794, 2020. [3]Hu J, Shen L, Sun G. Squeeze-and-excitation networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 7132-7141.

责任编辑:lq

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

    关注

    1

    文章

    1363

    浏览量

    22897
  • 深度学习
    +关注

    关注

    73

    文章

    5607

    浏览量

    124624
  • cnn
    cnn
    +关注

    关注

    3

    文章

    356

    浏览量

    23537

原文标题:Tokens to-Token ViT:真正意义上击败了CNN

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    通过特定方法验证T2PAK封装散热设计的有效性

    尽管这些方案能有效降低PCB热阻,但因需增加额外的制造工序而成本较高。相比之下,顶面散热的T2PAK封装可直接通过器件顶部高效散热,无需额外的高成本制造工艺。这些研究结果进步验证了T2
    的头像 发表于 02-25 11:09 1648次阅读
    通过特定方法验证<b class='flag-5'>T2</b>PAK封装散热设计的<b class='flag-5'>有效性</b>

    安森美T2PAK封装功率器件换流回路设计建议

    T2PAK应用笔记重点介绍T2PAK封装的贴装及其热性能的高效利用。内容涵盖以下方面:T2PAK封装详解:全面说明封装结构与关键规格参数;焊接注意事项:阐述实现可靠电气连接的关键焊接注
    的头像 发表于 02-10 10:35 1390次阅读
    安森美<b class='flag-5'>T2</b>PAK封装功率器件换流回路设计建议

    安森美T2PAK封装功率器件贴装方法

    T2PAK应用笔记重点介绍T2PAK封装的贴装及其热性能的高效利用。内容涵盖以下方面:T2PAK封装详解:全面说明封装结构与关键规格参数;焊接注意事项:阐述实现可靠电气连接的关键焊接注
    的头像 发表于 02-05 08:56 1.2w次阅读
    安森美<b class='flag-5'>T2</b>PAK封装功率器件贴装方法

    安森美T2PAK封装结构与关键规格参数

    T2PAK应用笔记重点介绍T2PAK封装的贴装及其热性能的高效利用。内容涵盖以下方面:T2PAK封装详解:全面说明封装结构与关键规格参数;焊接注意事项:阐述实现可靠电气连接的关键焊接注
    的头像 发表于 01-29 16:17 1725次阅读
    安森美<b class='flag-5'>T2</b>PAK封装<b class='flag-5'>结构</b>与关键规格参数

    深入剖析CY54FCT157T与CY74FCT157T:四通道2输入多路复用器的卓越性能

    深入剖析CY54FCT157T与CY74FCT157T:四通道2输入多路复用器的卓越性能 在电子设计的领域中,多路复用器是一种至关重要的基础元件,它能够在多个输入信号中进行选择,将所需
    的头像 发表于 01-16 16:30 2428次阅读

    探索CY54FCT157T和CY74FCT157T四路2输入复用器:特性、参数与应用考量

    探索CY54FCT157T和CY74FCT157T四路2输入复用器:特性、参数与应用考量 在电子设计的世界里,复用器是一种关键的逻辑元件,它能在多个输入信号中进行选择,为数据的传输和处
    的头像 发表于 01-16 11:25 586次阅读

    Renesas MCK - RA6T2电机控制评估套件:设计与应用全解析

    Renesas MCK - RA6T2电机控制评估套件:设计与应用全解析 在电机控制领域,款优秀的评估套件能为工程师们的开发工作带来极大便利。Renesas的MCK - RA6T2就是这样
    的头像 发表于 12-30 09:55 442次阅读

    深入剖析RA2T1微控制器:特性、电气参数与设计要点

    MCU.pdf 、RA2T1功能特性概述 RA2T1集成了节能的32位Arm Cortex - M23核心,适用于对成本和功耗敏感的应用场景。
    的头像 发表于 12-26 16:20 408次阅读

    探索 KIT_T2G-B-H_LITE:汽车应用评估套件深度剖析

    探索 KIT_T2G-B-H_LITE:汽车应用评估套件深度剖析 各位电子工程师同仁们!在汽车电子应用领域,选择款合适的评估套件对于项目的开发至关重要。今天,我们就来深入探讨下 Infineon
    的头像 发表于 12-20 09:30 976次阅读

    KIT_T2G-B-H_LITE评估套件:汽车应用开发利器

    T2G评估套件.pdf 、套件概述 KIT_T2G-B-H_LITE评估套件主要用于评估和开发基于TRAVEO™ T2G-B-H MCU的应用。TRAVEO™
    的头像 发表于 12-19 16:55 989次阅读

    探索 KIT_T2G-B-E_LITE 评估套件:开启 TRAVEO™ T2G 开发之旅

    探索 KIT_T2G-B-E_LITE 评估套件:开启 TRAVEO™ T2G 开发之旅 在电子工程师的日常工作中,选择款合适的评估套件对于项目的开展至关重要。今天,我们就来深入了解
    的头像 发表于 12-19 16:40 1025次阅读

    瑞萨RZ/T2H平台多核异构的应用场景分析

    本文以RZ/T2H多轴控制/驱动的实例,介绍RZ/T2H平台的多核异构应用场景。
    的头像 发表于 12-15 11:34 2812次阅读
    瑞萨RZ/<b class='flag-5'>T2</b>H平台多核异构的应用场景分析

    探索 NXH80T120L2Q0S2G/S2TG, NXH80T120L2Q0P2G 功率模块的卓越性能

    在电子工程领域,功率模块的性能直接影响着整个系统的效率和可靠。今天,我们就来深入了解下 onsemi 推出的 NXH80T120L2Q0S2G/S2TG, NXH80
    的头像 发表于 12-04 10:35 1590次阅读
    探索 NXH80<b class='flag-5'>T120L2Q0S2</b>G/S<b class='flag-5'>2</b>TG, NXH80<b class='flag-5'>T120L2Q0P2</b>G 功率模块的卓越性能

    0.1-6.0 GHz SP2T 开关 skyworksinc

    电子发烧友网为你提供()0.1-6.0 GHz SP2T 开关相关产品参数、数据手册,更有0.1-6.0 GHz SP2T 开关的引脚图、接线图、封装手册、中文资料、英文资料,0.1-6.0 GHz SP2T 开关真值表,0.1
    发表于 08-12 18:32
    0.1-6.0 GHz SP<b class='flag-5'>2T</b> 开关 skyworksinc

    0.01 至 6.0 GHz 单控 SP2T 开关 skyworksinc

    ,0.01 至 6.0 GHz 单控 SP2T 开关真值表,0.01 至 6.0 GHz 单控 SP2T 开关管脚等资料,希望可以帮助到广大的电子工程师们。
    发表于 08-12 18:30
    0.01 至 6.0 GHz 单控 SP<b class='flag-5'>2T</b> 开关 skyworksinc