网站首页 > 技术文章 正文
论文提出了多尺度视觉Transformer模型MViT,将多尺度层级特征的基本概念与Transformer模型联系起来,在逐层扩展特征复杂度同时降低特征的分辨率。在视频识别和图像分类的任务中,MViT均优于单尺度的ViT。
来源:晓飞的算法工程笔记 公众号
论文: Multiscale Vision Transformers
- 论文地址:https://arxiv.org/abs/2104.11227
- 论文代码:https://github.com/facebookresearch/SlowFast
Introduction
? 论文提出了用于视频和图像识别的多尺度ViT(MViT),将FPN的多尺度层级特征结构与Transformer联系起来。MViT包含几个不同分辨率和通道数的stage,从小通道的输入分辨率开始,逐层地扩大通道数以及降低分辨率,形成多尺度的特征金字塔。
? 在视频识别任务上,不使用任何外部预训练数据,MViT比视频Transformer模型有显着的性能提升。而在ImageNet图像分类任务上,简单地删除一些时间相关的通道后,MViT比用于图像识别的单尺度ViT的显着增益。
Multiscale Vision Transformer (MViT)
? 通用多尺度Transformer架构的核心在于多stage的设计,每个stage由多个具有特定分辨率和通道数的Transformer block组成。多尺度Transformers逐步扩大通道容量,同时逐步池化从输入到输出的分辨率。
Multi Head Pooling Attention
? 多头池化注意(MHPA)是一种自注意操作,可以在Transformer block中实现分辨率灵活的建模,使得多尺度Transformer可在逐渐变化的分辨率下运行。与通道和分辨率固定的原始多头注意(MHA)操作相比,MHPA池化通过降低张量的分辨率来缩减输入的整体序列长度。
? 对于序列长度为 的 维输入张量 ,,根据MHA的定义先通过线性运算将输入映射为Query张量,Key张量和Value张量。
? 然后通过池化操作将上述张量缩减到特定长度。
- Pooling Operator
? 在进行计算之前,中间张量、、需要经过池化运算的池化,这是的MHPA和MViT的基石。
? 运算符沿每个通道对输入张量执行池化核计算。将分解为,运算符使用维度为、步幅为、填充为的池化核,将维度为的输入张量减少到:
? 通过坐标公式计算,将池化的张量展开得到输出,序列长度减少为。
? 默认情况下,MPHA的重叠内核会选择保持形状的填充值,因此输出张量的序列长度能够降低整体减少倍。
- Pooling Attention.
? 池化运算符在所有、、中间张量中是独立的,使用不同的池化核、不同的步长以及不同的填充。定义产生的池化后pre-attention向量为, 和,随后在这些向量上进行注意力计算:
? 根据矩阵乘积可知,上述公式会引入的约束。总体而言,池化注意力的完整计算如下:
? 用于按行归一化内积矩阵。池化注意力计算的输出序列长度的缩减跟中的向量一样,为步长相关的倍。
- Multiple heads.
? 与常规的注意力操作一样,MHPA可通过个头来并行化计算,将维输入张量的平均分成个非重叠子集,分别执行注意力计算。
- Computational Analysis.
? Q、K、V张量的长度缩减对多尺度Transformer模型的基本计算和内存需求具有显着的好处,序列长度缩减可表示为:
? 考虑到的输入张量具有通道,MHPA的每个头的运行时复杂度为和内存复杂度为。
? 另外,通过对通道数和序列长度项之间的权衡,可指导架构参数的设计选择,例如头数和层宽。
Multiscale Transformer Networks
- Preliminaries: Vision Transformer (ViT)
? ViT将的输入切分成的不重叠小方块,通过point-wise的线性变换映射成维向量。
? 随后将positional embedding 添加到长度为、通道为的投影序列中,对位置信息进行编码以及打破平移不变性。最后,将可学习的class embedding附加到投影序列中。
? 得到的长度为的序列由个Transformer block依次处理,每个Transformer block都包含MHA、MLP和LN操作。定义视为输入,单个Transformer block的输出的计算如下:
? 个连续block处理后的结果序列会被层归一化,随后将class embedding提取并通过线性层预测所需的输出。默认情况下,MLP的隐藏层通道是。另外,需要注意的是,ViT在所有块中保持恒定的通道数和空间分辨率。
- Multiscale Vision Transformers (MViT).
? MViT的关键是逐步提高通道通道以及降低空间分辨率,整体结构如表2所示。
- Scale stages
? 每个scale stage包含个Transformer block,stage内的block输出相同通道数和分辨率的特征。在网络输入处(表2中的cube1),通过三维映射将图像处理为通道数较小(比典型的ViT模型小8倍),但长度很长(比典型的ViT模型高16倍)图像块序列。
? 在scale stage之间转移时,需要上采样处理序列的通道数以及下采样处理序列的长度。这样的做法能够有效地降低视觉数据的空间分辨率,使得网络能够在更复杂的特征中理解被处理的信息。
- Channel expansion
? 在stage转移时,通过增加最后一个MLP层的输出来增加通道数。通道数的增加与空间分辨率的缩减相关,假设空间分倍率下采样4倍,那通道数则增加2倍。这样的设计能够在一定程度上保持stage之间的计算复杂度,跟卷积网络的设计理念类似。
- Query pooling
? 由MPHA公式可知,Q张量可控制输出的序列长度,通过步长为的池化操作将序列长度缩减倍。在每个stage中,仅需在开头中减少分辨率,剩余部分均保持分辨率,所以仅设置stage的首个MHPA操作的步长`,其余的约束为。
- Key-Value pooling
? 与Q张量不同,改变K和V张量的序列长度不会改变输出序列长度,但在降低池化操作的的整体计算复杂度中起着关键作用。
? 因此,对K、V和Q池化的使用进行解耦,Q池化用于每个stage的第一层,K、V池化用于剩余的层。由MPHA公式可知,K和V张量的序列长度需要相同才能计算注意力权重,因此K、V张量池化的步长需要相同。在默认设置中,约束同一stage的池化参数为相同,即,但可自适应地改变stage之间的s缩放参数。
- Skip connections
? 如图3所示,由于通道数和序列长度在residual block内发生变化,需要在skip connection中添加池化来适应其两端之间的通道不匹配。
? 同样地,为了处理stage之间的通道数不匹配,采用一个额外的线性层对MHPA操作的layer-normalized输出进行升维处理。
Network instantiation details
? 表3展示了ViT和MViT的基本模型的具体结构:
- ViT-Base(表 3a):将输入映射成尺寸为且通道为的不重叠图像块,然后使用个Transformer block进行处理。对于的输入,所有层的分辨率固定为,序列长度为。
- MViT-Base(表 3b):由4个scale stage组成,每个stage都有几个输出尺寸一致的Transformer block。MViT-B通过形状为的立方体(类似卷积操作)将输入映射且通道为的重叠图像块序列,序列长度为。该序列每经过一个stage,序列长度都会减少4倍,最终输出的序列长度为。同时,通道数也会被上采样2倍,最终增加到768。需要注意,所有池化操作以及分辨率下采样仅在数据序列上执行,不涉及class token embedding。
? 在scale1 stage将MHPA的头数量设置为,随着通道数增加头数量(保持)。在stage转移时,通过MLP前一stage的输出通道增加2倍,并且在下一stage开头对Q执行MHPA池化,其中。
? 在MHPA block中使用的K、V池化,其中,scale1的步长为。步长随着stage的分辨率缩小而减少,使得K、V在block间保持恒定的缩放比例。
Experiments
Video Recognition
? 在五个视频识别数据集上的主要结果对比,MViT均有不错的性能提升。
Image Recognition
? 在ImageNet上对比图像分类效果。
Conclusion
? 论文提出了多尺度视觉Transformer模型MViT,将多尺度层级特征的基本概念与Transformer模型联系起来,在逐层扩展特征复杂度同时降低特征的分辨率。在视频识别和图像分类的任务中,MViT均优于单尺度的ViT。
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】
work-life balance.
猜你喜欢
- 2024-10-12 「AAAI oral」阿里北大提出新attention建模框架
- 2024-10-12 CVPR 2020 | 港中文、上交大、商汤联合提出两种轨迹预测新方法
- 2024-10-12 东北石油大学研究者提出电能质量扰动识别的新方法
- 2024-10-12 「独家解读」谷歌会议app背景模糊和替换技术解析
- 2024-10-12 如何在深度学习模型内部做特征选择?
- 2024-10-12 深度时空网络、记忆网络与特征表达学习在 CTR 预估中的应用
- 2024-10-12 揭秘 BERT 火爆背后的功臣——Attention
- 2024-10-12 CTR预估系列(5)–阿里Deep Interest Network理论
- 2024-10-12 「论文阅读」 Residual Attention: Multi-Label Recognition
- 2024-10-12 MeMViT:记忆增强的多尺度ViT做长时视频识别
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)