ResT An Efficient Transformer for Visual

©作者 | 小欣

Abstract.

这篇文章提出了一个有效的多尺度视觉Transformer,称为ResT,可以作为图像分类的主干网络,大多Transformer模型使用标准的Transformer block,只能处理固定尺寸的图像。

相比之下,ResT主要有三个优点:

第一,构建了一个减小内存消耗的多头自注意力模块,通过深度卷积来减小内存开销。

第二,改变了ViT中的位置编码,提出了一种简单但是有效的空间注意力模块称之为PA(pixel-attention),使用深度卷积得到像素之间的注意力权重,更加灵活,能够处理任意大小的输入图片。

第三,没有像ViT那样直接将原图划分成固定大小的patch再通过线性映射得到token embedding,而是通过有重叠的卷积获得token embedding。

ResT是一个十分有效的主干网络,在图像分类等下游任务中表现很好。

02 Introduction

计算机视觉领域的网络大多数都是通过堆叠block获得图像特征信息,CNN block通常是一个bottleneck结构,包含1×1,3×3,1×1卷积层,1×1卷积用于减小和增加通道数,使得经过3×3的通道数减小,从而减小计算量。

CNN速度快一部分原因是其参数共享特性,然而由于CNN的感受野通常较小,无法捕获全局信息。

为了解决CNN的缺点,Transformer结构因为其全局感受野应用到计算机视觉中,Transformer首先将图片划分成许多patch,经过映射得到token embedding,再通过和位置信息加和去表示空间信息,网络通过堆叠Transformer block捕获图像特征。

尽管Transformer在感受野方面比CNN要好,但也有一些缺点:

第一,Transformer很难捕获低级特征,因为其将图片划分成了许多patch。

第二,MSA(Multihead self attention)的内存和计算量随着图片大小或者通道数的增加而增加,通常是成二次方比例。

第三,多头自注意力层的每个头只负责计算embedding维度的一个子层,可能会损害网络的表现。

第四,输入的token和位置编码在现在的Transformer主干网络中是固定尺度的。

这篇文章中提出了一种有效的主干网络称为ResT,可以解决上面提到的问题,和ResNet相似,使用一个stem模块提取低级特征,之后有四个阶段构造分层特征图,每个stage包括patch embedding 和 positional embedding模块和多层Transformer block。

不像传统的方法只能够处理固定大小的图片,ResT可以处理任意大小的图片。

为了提高多头自注意力的效率,构建了一个有效的多头自注意力层,即EMSA(efficient multi-head self-attention),通过深度卷积有效减小计算量。

02 ResT

ResT通过一个stem 模块提取低级特征,四个stage阶段捕获多尺度特征图,每个stage又包含三个部分,分别是patch embedding模块用于减小特征图的尺寸和增加通道数,PE(positional embedding)模块用于引入位置信息,和L个Efficient Transformer Block。

2.1 Rethinking of Transformer Block

标准的Transformer block包含两个子模块,分别是MSA(多头自注意力层)和FFN(全连接层),每个子层之间有残差连接,在MSA和FFN之前,有Layer normalization,输入token为x,则每个Transformer模块的输出是:

MSA. MSA首先获得query Q,key K,和value V,通过三个矩阵映射得到,如果head数量为1,MSA变为单头的SA,其公式可以表示为:

FFN. 全连接层用于特征变换和非线性变换,包括两个线性层和一个非线性激活函数,第一层扩大embedding的维度,第二层减小维度:

2.2 Efficient Transformer Block

根据上述分析,MSA有两个缺点,第一,计算量随着token的数量或者维度成二次方比例,第二,多头自注意力的每个头只负责embedding维度的一个子层,这可能会损害网络的性能,特别是token embedding维度小的时候。

为了解决MSA的缺点,提出了Efficient Multi-head self-attention module,接下来对这个模块进行解释:

(1) 和MSA相似,EMSA首先通过映射获得query Q

(2) 为了压缩内存,首先将2D token 变换成3维,然后通过深度卷积操作减小尺寸

(3) 经过尺寸减小的特征图重新变换成2维,然后经过映射得到K和V

(4) 然后计算注意力

这里的Conv是标准的1×1卷积操作,最终,每个头的注意力权重是根据所有的key 和query得到的,弥补了MSA只根据子集计算权重的缺点。

(5)最后,每个头的输出拼接在一起,通过线性映射形成最后的输出,每个Efficient Transformer block的输出是:

2.3 Patch Embedding

标准的Transformer模块将一系列token embedding作为输入,这样不能够捕获低级特征,并且ViT中token的长度在不同的block中是固定不变的的,不能很好应用在物体检测和实例分割这种需要多尺度特征图的任务中。

我们提出的ResT中,经过每个阶段之后,token map的通道数不断增加,分辨率不断减小。

2.4 Positional Encoding

位置编码能提供patch的位置信息,ViT中位置编码是可以学习的参数,然后和embedding直接相加,但是这存在一个缺点,位置编码的长度和token embedding的长度一致,限制了应用场景。

为了解决这个问题,需要使用不同长度的位置编码,位置编码可以通过spatial attention获得,spatial attention 可以有很多种,如果使用的是pixel attention,那么可以称之为PA(pixel-attention)模块,因为PA可以被任意spatial attention 模块替代,使得ResT的位置编码更加灵活。

2.5 Classification Head

分类部分是让最后的特征图经过全局平均池化层,这个模型主要包含四个不同变体,分别是ResT-Lite, ResT-Small and ResT-Base and ResT-Large, 就是通过改变卷积层个数,卷积核的大小,输出通道数和步长得到的不同大小的模型,分别在ResNet-18, ResNet-18, ResNet-50, and ResNet-101的基础上构成。

03 Experiments

主要在ImageNet-1K 上进行分类实验,MS COCO2017上进行物体检测和实例分割实验,首先比较了ResT和之前的一些SOTA方法进行比较,采用消融实验去验证ResT的各个部分。

3.1 Image Classification on Imageet-1k

3.2 在COCO数据集上进行物体检测和实例分割

3.3 Ablation Study

为了验证各个模块的作用,只使用了最简单的数据增强和超参数设置,在ImageNet-1k中进行消融实验。

不同的stem模块. PVT中使用4×4,步长为4的卷积操作,ResNet中使用一个7×7的卷积层,步长为2,padding为3,之后有一个3×3的池化操作,ResT中使用三个3×3的卷积层(padding为1),步长分别为2,1,2.

MHSA模块的消融实验. MHSA模块使用深度卷积减少MSA的计算量,实验中表明平均池化比深度卷积准确率稍微低一点,但是因为不需要参数,所以可以作为MHSA模块的替代。

不同类别的位置编码. 比较了三种不同的位置编码,分别是最初的固定长度的并且可以学习参数的LE(Learnable parameters),GL(Group linear),PA(Pixel-attention)对于准确率的提升都有效果。

可视化.

04 Conclusion

这篇文章提出的ResT是一种比较新的一种多尺度Transformer,产生分层特征表示进行密集的预测,减小标准MSA的内存占用,在保持多头的多样性的同时,建模了多头之间的相互作用,为了处理不同大小的图片,重新设计了位置编码,使用spatial attention的位置编码,使得位置编码的长度更加灵活,以适应不同大小的图片,实验结果表明,ResT是一种强有力的主干网络。

私信我领取目标检测与R-CNN/数据分析的应用/电商数据分析/数据分析在医疗领域的应用/NLP学员项目展示/中文NLP的介绍与实际应用/NLP系列直播课/NLP前沿模型训练营等干货学习资源。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,681评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,710评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,623评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,202评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,232评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,368评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,795评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,461评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,647评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,476评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,525评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,226评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,785评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,857评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,090评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,647评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,215评论 2 341

推荐阅读更多精彩内容