首发:AIWalker
作者:HappyAIWalker
本文是华为诺亚方舟实验在Transformer方面的又一次探索,针对现有Transformer存在打破图像块的结构信息的问题,提出了一种新颖的同时进行patch与pixel表达建模的TNT模块,它包含用于块嵌入建模的Outer Transformer 模块与像素嵌入建模的Inner Transformer模块,通过这种方式使得TNT可以同时提取全局与局部结构信息。在ImageNet数据集上,TNT-S模型以81.3%的top1精度超过了DeiT-S的的79.8%;TNT-B以82.8%的top1精度超过了DeiT-B的81.8%的top1精度。
Abstract
Transformer是一种自注意力机制神经网络,最早兴起于NLP领域。近来,纯transformer模型已被提出并用于CV的各个领域,比如用于low-level问题的IPT,detection的DETR,classification的ViT,segmentation的SETR等等。然而这些Visual Transformer通过将图像视作块序列而忽视了它们最本质的结构信息。
针对上述问题,我们提出了一种新颖的Transformer iN Transformer(TNT)
模型用于对patch与pixel层面特征建模。在每个TNT模块中,outer transformer block
用于处理块嵌入,而inner transformer block
用于处理像素嵌入的局部特征,像素级特征通过线性变换投影到块嵌入空间并与块嵌入相加。通过堆叠TNT模块,我们构建了TNT模块用于图像识别。
我们在ImageNet与下游任务上验证了所提TNT架构的优越性,比如,在相似计算复杂度下,TNT在ImageNet上取得了81.3%的top1精度,以1.5%优于DeiT。
Method
接下来,我们将重点描述本文所提TNT架构并对其复杂度进行分析。在正式介绍之前,我们先对transformer的一些基本概念进行简单介绍。
Preliminaries
Transformer in Transformer
通过堆叠L次TNT模块,我们即可构建一个Transformer-in-Transformer
网络,最后类别token作为图像特征表达,全连接层用于分类。
除了内容/特征信息外,空间信息也是图像识别非常重要的因素。对于块嵌入与像素嵌入来说,我们同时添加了位置编码信息,见上图。这里采用标准1D可学习位置编码信息,具体来说,每个块被赋予一个位置编码:
Complexity Analysis
Network Architecture
Experiments
我们先来看一下TNT、CNN以及其他Transformer在ImageNet上的性能对比,结果见下表。
从上表可以看到:
- 所提TNT模型优于其他所有Transformer模块,TNT-S取得了81.3%top-1精度并以1.5%指标优于DeiT-S;通过添加SE模块,其性能可以进一步提升到81.6%top-1。
- 相比CNN模型,TNT优于广泛采用的ResNet与RegNet。
最后,我们再来看一下在下游任务的迁移效果,结果见效果。注:所有模型在分辨率进行了微调。
从上表可以看到:
- 在迁移学习方面,TNT取得了比DeiT更优的效果;
- 通过更高分辨率的微调,TNT-B取得了83.9%的top-1精度。
推荐阅读
- 金字塔Transformer,更适合稠密预测任务的Transformer骨干架构
- ICNet|针对CNN的基础单元重新建模,南京大学提出IC Networks
- SANet|融合空域与通道注意力,南京大学提出置换注意力机制
本文章著作权归作者所有,任何形式的转载都请注明出处。更多动态滤波,图像质量,超分辨相关请关注我的专栏深度学习从入门到精通。