论文阅读笔记 | Transformer系列——Transformer in Transformer

简介: 论文阅读笔记 | Transformer系列——Transformer in Transformer

paper:Transformer in Transformer

code:https://github.com/huawei-noah/CV-Backbones/tree/master/tnt_pytorch

image.png


摘要:


Vit模型中,会将图像划分为几个patch,然后计算这些patch之间的表示以及关系。而自然图像的复杂性高,细节和颜色信息丰富,patch划分的粒度不够细,无法挖掘不同尺度和位置的物体特征。然而,这些被忽视的局部patch中的注意力对于构建高性能的Vit结构至关重要。


为此,作者提出了一个新结构——Transformer in Transformer(TNT),其将原本Vit结构中送入Encoder的patch(16x16)称为“visual sentences”,然后将其进一步划分为更小的patch(4x4),称为“visual words”。


这些一个sentences中的每一个words的注意力将于sentences中的其他words一起计算,计算成本可以忽略不计。随后会将sentences中的每个words,以及每一个sentences的特征集合起来,提高网络的表征能力。


Transformer in Transformer的性能:achieve an 81.5% top-1 accuracy on the

ImageNet(不过RepVGG也到达了80%以上)


1. Introduction


现有的大多数研究使用的视觉transformers都是遵循着Vit中使用的传统表现方案,也就是将一幅完整的图像切分成多个patch构成成一个序列信息。这样操作可以有些的捕获各个patch之间的序列视觉序列信息(visual sequential information)。然而现在的自然图像的多样性非常高,将给定的图像表示为一个个局部的patch可以找到patch之间的关系和相似性,但是一个patch的内部同样存在着一些相识度很高的sub-patch。为此,可以进一步的探索出一种更加精细的视觉图像分割方法来生成视觉序列并提高其性能。


基于这个更加精细化的想法,作者提出了Transformer in Transformer,结构如图1所示:

image.png

为了增强Vit结构的特征表示能力,首先将图像切分成若干个patch作为“visual sentences”(如上图所示将图像切分为9个patch作为“visual sentences”),然后再将这些patch切分为若干个sub-patch作为“visual words”(如上图中一个pacth再次被切分为了9个sub-patch)。对于传统的transformer块用于提取patch的特征与注意力,作者还在架构汇总嵌入了一个sub-transformer,用来提取sub-patch的特征细节。其中,每个patch中高端sub-patch之间的特征和注意点使用共享网络独立计算,从而可以忽略增加的参数和FLOPs(浮点运算)数量。然后,将“visual words”的特征聚合成相应的“visual sentences”,分类token也通过MLP头用于后续的视觉识别任务。


TNT模型可以提取出粒度较细的视觉信息,并提供更详细的特征。结果表明,在SOTA的transformer网络上,TNT可以实现更好的精度和FLOPs权衡。


2. TNT Approach


2.1 Preliminaries

transformer的三个基本的部分为:MSA (Multi-head Self-Attention)、MLP (Multi-Layer Perceptron) 、LN (Layer Normalization)


  • MSA

在self-attention模块中,输入会被线性转换为三个部分:Q,K,V,计算公式为:

image.png

最后,一个线性层被用来产生输出。Multi-head self-attention将查询、键和值拆分为各部分并并行执行注意功能,然后将每个头的输出值串联并线性投影形成最终输出。


  • MLP

MLP应用于自注意层之间进行特征变换和非线性

image.png


  • LN

层归一化是实现稳定训练和快速收敛的关键部分

image.png


2.2 Transformer in Transformer

image.pngimage.png


在 TNT block 中,inner transformer block 用于捕捉局部区域之间的特征关系,而 outer transformer block 则用于捕捉区域之间的联系。通过把TNT block叠上几次,就建立了Transformer in Transformer网络。


2.3 Position encoding

空间信息是图像识别中的一个重要因素。对于patch和sub-patch的嵌入,作者都添加了相应的位置编码来保留空间信息。这里使用的是标准的可学习的一维位置编码。具体来说,每个patch都有一个位置编码:

image.png

同样的,sub-patch也有位置编码:

image.png

3. Result


  • 考虑sub-patch与patch的效果:

image.png


  • 与其他backbone的对比:

image.png


总结:


在保留了Vit考虑区域之间特征信息时,还考虑了区域内部的特征信息,将特征的细粒化信息抽取了出来,进一步划分了细粒度


目录
相关文章
|
机器学习/深度学习 编解码 并行计算
论文阅读笔记 | Transformer系列——CSWin Transformer
论文阅读笔记 | Transformer系列——CSWin Transformer
763 0
论文阅读笔记 | Transformer系列——CSWin Transformer
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
一文介绍CNN/RNN/GAN/Transformer等架构 !!
一文介绍CNN/RNN/GAN/Transformer等架构 !!
327 5
|
9月前
|
机器学习/深度学习 数据可视化 TensorFlow
[transformer]论文实现:Attention Is All You Need(上)
[transformer]论文实现:Attention Is All You Need(上)
75 2
|
9月前
|
机器学习/深度学习 并行计算 数据可视化
[transformer]论文实现:Attention Is All You Need(下)
[transformer]论文实现:Attention Is All You Need(下)
114 2
|
9月前
|
机器学习/深度学习 自然语言处理
Transformer奠基之作《Attention Is All You Need》
Transformer模型,由Google Brain和Google Research在2017年的论文中提出,颠覆了传统NLP依赖RNN和CNN的局面。该模型基于完全的注意力机制,解决了RNN的并行化难题,通过编码器和解码器中的多头自注意力机制捕捉全局依赖。训练策略结合Adam优化器、标签平滑和dropout,使其在机器翻译任务中表现卓越。尽管面临长序列处理的挑战和可能的上下文忽略问题,Transformer仍展示了注意力机制的巨大潜力,对NLP领域产生了深远影响。
175 3
Transformer奠基之作《Attention Is All You Need》
|
机器学习/深度学习 自然语言处理 并行计算
【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)
【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)
1616 0
【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)
|
机器学习/深度学习 编解码 自然语言处理
论文阅读笔记 | Transformer系列——Swin Transformer
论文阅读笔记 | Transformer系列——Swin Transformer
1382 0
论文阅读笔记 | Transformer系列——Swin Transformer
|
机器学习/深度学习 并行计算 PyTorch
Swin Transformer实战:使用 Swin Transformer实现图像分类
目标检测刷到58.7 AP! 实例分割刷到51.1 Mask AP! 语义分割在ADE20K上刷到53.5 mIoU! 今年,微软亚洲研究院的Swin Transformer又开启了吊打CNN的模式,在速度和精度上都有很大的提高。这篇文章带你实现Swin Transformer图像分类。
10037 1
Swin Transformer实战:使用 Swin Transformer实现图像分类
|
机器学习/深度学习 自然语言处理
|
计算机视觉
阿里提出QuadTree Transformer | 最轻、最强的Vision Transformer Backbone(二)
阿里提出QuadTree Transformer | 最轻、最强的Vision Transformer Backbone(二)
124 0