没有合适的资源?快使用搜索试试~ 我知道了~
视觉Transformer研究的关键问题 现状及展望.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 116 浏览量
2023-02-23
16:48:02
上传
评论
收藏 1.87MB DOCX 举报
温馨提示
试读
34页
视觉Transformer研究的关键问题 现状及展望.docx
资源推荐
资源详情
资源评论
深度神经网络(Deep neural network, DNN)由于其突出的性能表现, 已经成为人工智能
系统的主流模型之一
[1-2]
. 针对不同的任务, DNN 发展出了不同的网络结构和特征学习范式.
其中, 卷积神经网络(Convolutional neural network, CNN)
[3-5]
通过卷积层和池化层等具备平移
不变性的算子处理图像数据; 循环神经网络(Recurrent neural network, RNN)
[6-7]
通过循环单元
处理序列或时序数据. Transformer
[8]
作为一种新的神经网络结构, 目前已被证实可以应用于
自然语言处理(Natural language processing, NLP)、计算机视觉(Computer vision, CV)和多模
态等多个领域, 并在各项任务中展现出了极大的潜力.
Transformer
[8]
兴起于 NLP 领域, 它的提出解决了循环网络模型, 如长短期记忆(Long
short-term memory, LSTM)
[6]
和门控循环单元(Gate recurrent unit, GRU)
[7]
等存在的无法并行训
练, 同时需要大量的存储资源记忆整个序列信息的问题. Transformer
[8]
使用一种非循环的网
络结构, 通过编码器−解码器以及自注意力机制
[9-12]
进行并行计算, 大幅缩短了训练时间, 实
现了当时最优的机器翻译性能. Transformer 模型与循环神经网络以及递归神经网络均具备
对序列数据的特征表示能力, 但 Transformer 打破了序列顺序输入的限制, 以一种并行的方
式建立不同词符间的联系. 基于 Transformer 模型, BERT
[13]
在无标注的文本上进行了预训练,
最终通过精调输出层, 在 11 项 NLP 任务中取得了最优表现. 受 BERT 启发, 文献[14]预训
练了一个名为 GPT-3 的拥有 1 750 亿个参数的超大规模 Transformer 模型, 在不需要进行精
调的情况下, 这一模型在多种下游任务中表现出强大的能力. 这些基于 Transformer 模型的
工作, 极大地推动了 NLP 领域的发展.
Transformer 在 NLP 领域的成功应用, 使得相关学者开始探讨和尝试其在计算机视觉
领域的应用
[15-16]
. 一直以来, 卷积神经网络都被认为是计算机视觉的基础模型. 而
Transformer 的出现, 为视觉特征学习提供了一种新的可能
[17-21]
. 基于 Transformer 的视觉模
型在图像分类
[15, 22-23]
、目标检测
[16, 24]
、图像分割
[25-26]
、视频理解
[27-28]
、图像生成
[29]
以及点云
分析
[30-31]
等领域取得媲美甚至领先卷积神经网络的效果.
将 Transformer 应用于视觉任务并非一个自然的过程, 一方面, Transformer 网络以序列
作为输入形式, 其本身并不直接适用于二维的图像数据
[15-16]
, 将其适配到视觉任务需要经过
特殊设计; 另一方面基于全局信息交互的 Transformer 网络往往具有较大的计算量, 同时对
数据量也有较高要求, 因此需要考虑其效率以及训练和优化等问题
[32-33]
. 此外, Transformer
所定义的基于注意力的全局交互机制是否是一种完备的信息提取方式, 来自 CNN 中的经验
和技巧能否帮助 Transformer 在计算机视觉任务中取得更好的性能也是需要思考的问题
[34-35]
.
同其他 Transformer 相关的综述文献[17-19]相比, 本文的区别和主要贡献在于我们以视
觉 Transformer 在应用过程中存在的关键问题为角度进行切入, 针对每个关键问题组织并综
述了相关文章的解决方案和思路, 而其他文献[17-19]则更多是从技术和方法分类的角度入
手. 本文梳理了 Transformer 在计算机视觉中应用中的若干关键问题, 同时总结了
Transformer 在计算机视觉的分类、检测和分割任务中的应用和改进. 本文剩余部分组织如
下: 第 1 节以 ViT
[15]
为例介绍视觉 Transformer 的原理和基本组成, 并对比了 Transformer
与 CNN 的区别和联系, 同时总结了 Transformer 的优势和劣势; 第 2 节给出了视觉
Transformer 的一般性框架; 第 3 节介绍 Transformer 研究中的关键问题以及对应的研究进
展; 第 4 节介绍 Transformer 在目标检测领域的应用; 第 5 节介绍 Transformer 在图像分割
领域的应用; 第 6 节总结了全文并展望了视觉 Transformer 的发展趋势.
1. ViT 原理介绍与分析
ViT
[15]
将 Transformer 结构完全替代卷积结构完成分类任务, 并在超大规模数据集上取
得了超越 CNN 的效果
[36-39]
. ViT 结构如图 1 所示, 它首先将输入图像裁剪为固定尺寸的图像
块, 并对其进行线性映射后加入位置编码, 输入到标准的 Transformer 编码器. 为了实现分
类任务, 在图像块的嵌入序列中增加一个额外的可学习的类别词符(Class token).
图 1 ViT 模型结构
[15]
Fig. 1 The framework of ViT
[15]
下载: 全尺寸图片 幻灯片
1.1 图像序列化
对于 NLP 任务, Transformer 的输入是一维的词符嵌入向量, 而视觉任务中, 需要处理
的是二维的图像数据. 因此, ViT
[15]
首先将尺寸为 H×W×H×W×CC 的图像 x∈RH×W×Cx∈
RH×W×C 裁剪为 N=HW/P2N=HW/P2 个尺寸为 P×P×CP×P×C 的图像块, 并将每个图像块
展开成一维向量, 最终得到 xp∈RN×(P2×C)xp∈RN×(P2×C). 记 dd 为 Transformer 输入嵌入
向量的维度, ViT
[15]
将 xpxp 进行线性映射, 并与类别词符一起组成为 dd 维 z0z0, 如式(1)所
示, 作为 Transformer 编码器的输入.
z0=[xclass;x1pE;x2pE;⋯;xNpE]+Epos,E∈R(P2×C)×d,Epos∈R(N+1)×dz0=[xclass;xp1E;xp2E;⋯;xpNE]+Epos,E∈R(P2×C)×d,Epos∈R(N+1)×d
(1)
其中, z00=xclassz00=xclass 是为了实现分类任务加入的可学习的类别词符, EE 是实现
线性映射的矩阵, EposEpos 是位置编码. 类别词符以网络参数的形式定义, 其本身是一种网
络权重, 可以通过梯度进行更新. 类别词符 z00z00 本身不具备当前输入的特征和信息, 而
是在与图像块词符串联后通过自注意力机制实现对图像特征的信息交互或信息聚合, 在编
码器最后一层之后, 类别词符 z0LzL0 作为对图像特征的聚合, 被送入分类头进行类别预测.
1.2 编码器
ViT
[15]
的编码器由 LL(ViT
[15]
中, LL= 6)个相同的层堆叠而成, 每个层又由两个子层组成.
其中, 第一个子层是多头自注意力机制(Multi-head self-attention, MSA), 第二个子层是多层
感知机(Multi-layer perceptron, MLP). 在数据进入每个子层前, 都使用层归一化(Layer
normalization, LN)
[40]
进行归一化处理, 数据经过每个子层后, 又使用残差连接与输入进行直
接融合. 值得注意的是, 为了实现残差连接
[5]
, ViT 编码器的每一层的输出维度都设计为 dd
维. 最后, 经过 LL 层网络编码之后, 类别词符 z0LzL0 被送入到由 MLP 构成的分类头中,
从而预测得到图像的类别 yy. 第 ll 层的特征计算过程如下:
z′l=MSA(LN(zl−1))+zl−1,l=1,⋯,Lzl′=MSA(LN(zl−1))+zl−1,l=1,⋯,L
(2)
zl=MLP(LN(z′l))+z′l,l=1,⋯,Lzl=MLP(LN(zl′))+zl′,l=1,⋯,L
(3)
类别预测结果的产生可表示为:
y=LN(z0L)y=LN(zL0)
(4)
1.3 注意力机制
注意力机制(Attention)最早应用于 NLP 任务中
[9, 12, 41]
, 通过引入长距离上下文信息, 解
决长序列的遗忘现象. 在视觉任务中, 注意力机制同样被用来建立空间上的长距离依赖, 以
解决卷积核感受野有限的问题
[42-43]
.
ViT 使用的自注意力机制(Self-attention, SA)是一种缩放点积注意力(Scaled dot-product
attention), 其计算过程如图 2 所示. 自注意力层通过查询(Query)与键(Key)-值(Value)对之间
的交互实现信息的动态聚合. 对输入序列 z∈RN×dz∈RN×d, 通过线性映射矩阵 UQKVUQKV
将其投影得到 QQ、KK 和 VV 三个向量. 在此基础上, 计算 QQ 和 KK 间的相似度 AA, 并
根据 AA 实现对 VV 进行加权. 自注意力的计算过程如下所示:
图 2 自注意力
[15]
与多头自注意力
[15]
Fig. 2 Self-attention
[15]
and multi-head self-attention
[15]
下载: 全尺寸图片 幻灯片
[Q,K,V]=zUQKV,UQKV∈Rd×3dh[Q,K,V]=zUQKV,UQKV∈Rd×3dh
(5)
A=softmax(QKT/dh−−√),A∈Rh⋅dh×dA=softmax(QKT/dh),A∈Rh⋅dh×d
(6)
加权聚合过程可表示为:
SA(z)=AVSA(z)=AV
(7)
1.3.1 多头自注意力
为了提高特征多样性, ViT 使用了多头自注意力机制. 多头自注意力层使用多个自注意
力头来并行计算, 最后通过将所有注意力头的输出进行拼接得到最终结果. 多头注意力计算
过程如下所示:
MSA(z)=[SA1(z);SA2(z);⋯;SAk(z)]UmsaMSA(z)=[SA1(z);SA2(z);⋯;SAk(z)]Umsa
(8)
其中, Umsa∈Rh⋅dh×dUmsa∈Rh⋅dh×d 为映射矩阵, 用于对拼接后的特征进行聚合, hh
表示自注意力头的个数, dhdh 为每个自注意力头的输出维度. 为了保证在改变 hh 时模型参
数量不变, 一般将 dhdh 设置为 d/hd/h. 多头自注意力机制中并行使用多个自注意力模块,
可以丰富注意力的多样性, 从而增加模型的表达能力.
1.4 位置编码
ViT 使用了绝对位置编码来弥补图像序列化丢失的图像块位置信息. 位置编码信息与
特征嵌入相加后被送入编码器进行特征交互. ViT 使用的位置编码由不同频率的正弦和余弦
函数构成, 其计算过程如下:
PE(pos,2i)=sin(pos/100002i/d)PE(pos,2i)=sin(pos/100002i/d)
(9)
PE(pos,2i+1)=cos(pos/100002i/d)PE(pos,2i+1)=cos(pos/100002i/d)
(10)
其中, pospos 是每个图像块在图像中的位置, i∈[0,⋯,i∈[0,⋯,d/2]d/2]用于计算通道维度
的索引. 对于同一个 ii, 通道上第 2i2i 和 2i+12i+1 个位置的编码是具有相同角速度的正弦
和余弦值. 为了使得位置编码可以与输入嵌入相加, 位置编码需要与嵌入保持相同的维度.
1.5 Transformer 同卷积神经网络的区别与联系
本节主要从连接范围
[44]
、权重动态性
[44]
和位置表示能力三个方面来阐述 Transformer
同卷积神经网络的区别与联系.
1.5.1 连接范围
卷积神经网络构建在输入的局部连接之上, 通过不断迭代, 逐渐扩大感受野, 而
Transformer 则具备全局交互机制, 其有效感受野能够迅速扩大. 图 3 展示了语义分割任务
中, DeepLabv3+
[45]
和 SegFormer
[25]
在有效感受野上的对比, 可以看到, 相比于卷积神经网络,
Transformer 网络的有效感受野范围具备明显优势. 虽然卷积核的尺寸可以设置为全图大小,
但这种设置在图像数据处理中并不常见, 因为这将导致参数量的显著增加.
图 3 Transformer 与 CNN 有效感受野对比
[25]
Fig. 3 The comparison
[25]
of effective receptive field between Transformer and CNN
剩余33页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3645
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功