视觉Transformer综述(下)

简介: 在本文中,我们通过将这些Visual Transformer模型按不同的任务分类,并分析了这些方法的优缺点,提供了文献综述。主要类别包括基本图像分类,high-level vision,low-level vision和视频处理。由于self-attention是Transformer的基本组成部分,因此也简要回顾了计算机视觉中的自注意力。包括将Transformer推向实际应用的有效Transformer方法。最后,我们讨论了Visual Transformer的进一步研究方向。

3.3 Low-level Vision


除了High-level Vision任务外,很少有研究将transformer应用于low-level vision领域,例如图像超分辨率,图像生成等。与以标签或框为输出的分类,分割和检测相比,low-level vision任务 通常将图像作为输出(例如,高分辨率图像或去噪图像),这更具有挑战性。


Parmar等迈出第一步,推广transformer模型来制定图像转换和生成任务,并提出Image transformer。 Image transformer由两部分组成:用于提取图像表示的编码器和用于生成像素的解码器。对于值为0 - 255的每个像素,将学习256×d维embeddings,以将每个值编码为d维向量,将其作为编码器的输入。编码器和解码器的架构与《Advances in neural information processing systems》中的相同。解码器中每一层的详细结构如图7所示。


42aa60159901dd47b1be0ae29ba6af28.png

每个输出像素q0是通过计算输入像素q与先前生成的像素m1,m2,...之间的自注意力而生成的,并带有position embedding p1,p2,...。 ..对于图像条件生成,例如超分辨率和修复,使用了编码器-解码器体系结构,其中编码器的输入是低分辨率图像或损坏的图像。对于无条件和分类条件图像生成(即图像噪声),纯解码器用于输入噪声向量。由于用于解码器的输入是先前生成的像素,当生成高分辨率图像时,它将产生大量的计算成本,因此提出了一种局部自注意方案,该方案仅使用最近生成的像素作为解码器的输入。结果,Image transformer可以在图像生成和翻译任务上使用基于CNN的模型来获得竞争性能,这表明基于transformer的模型在low-level vision任务上的有效性。


与将每个像素用作transformer模型的输入相比,最近的工作使用patch(像素集)作为输入。杨等提出了用于图像超分辨率的Texture transformer网络(TTSR)。他们在基于参考的图像超分辨率问题中使用了转换器体系结构,该问题旨在将相关纹理从参考图像转移到低分辨率图像。以低分辨率图像和参考图像作为查询Q和关键字K,计算Q中每个patch qi和K中ki之间的相关性ri,j,


3efc295754f672689ce9bd3cecdb9a50.png

然后提出了一种硬性注意力(hard-attention)模块,以利用参考图像根据参考图像选择高分辨率特征V以匹配低分辨率图像。hard-attention map是通过下式计算

9f150002edec7ee2f980e2e3f947ac4d.png

那么来自的最相关的参考patch是ti = ,其中T中的ti是转移的特征。之后,使用软注意力模块将V转移到低分辨率特征F。可以通过以下方式计算软注意力:53cd27efa53cf7254526510be821f101.png

因此,将高分辨率纹理图像转换为低分辨率图像的公式可以表示为:

b70143eea9043b2a4f92bdcb545ee257.png其中Fout和F表示低分辨率图像的输出和输入特征,S是柔和注意力,T是从高分辨率纹理图像传递的特征。通过引入基于transformer的体系结构,TTSR可以成功地将纹理信息从高分辨率参考图像传输到低分辨率图像,以进行超分辨率任务。


上述方法在单个任务上使用变压器模型,而Chen等人提出了图像处理transformer(Image Processing Transformer--IPT),通过使用大规模的预训练来充分利用transformer的优势,并在包括超分辨率,降噪和去除降水在内的多个图像处理任务中实现SOTA性能 。


2788dfd46496ab67286fc6b3845c6520.png

如图8所示,IPT由multi-head、encoder、decoder和multi-tails组成。 介绍了用于不同图像处理任务的多头多尾结构和任务嵌入。 将特征分为patch以放入编码器-解码器体系结构,然后将输出reshape为具有相同大小的功能。 由于transformer模型在大规模预训练中显示出优势,因此IPT使用ImageNet数据集进行预训练。具体来说,通过手动添加噪声,雨滴或下采样将ImageNet数据集中的图像降级为生成的损坏图像。然后将降级的图像用作IPT的输入,并将干净的图像作为输出的优化目标。还引入了一种自我监督的方法来增强IPT模型的泛化能力。然后,使用相应的头,尾和任务嵌入对每个任务微调训练后的模型。 IPT极大地提高了图像处理任务的性能(例如,图像降噪任务中的2dB),这证明了基于transformer的模型在low-level vision领域中的巨大潜力。

 

3.4 Video Processing

transformer在基于序列的任务(特别是在NLP任务)上表现出奇的出色。 在计算机视觉中,视频任务中青睐时空维度信息。 因此,transformer适用于许多视频任务,例如帧合成,动作识别和视频检索。

 

3.4.1 High-level Video Processing

01 Human Action Recognition

视频人类行为任务是指识别和定位视频中的人类行为。 上下文的内容在识别人类行为中起着至关重要的作用。  Rohit等提出了一种行为transformer来对感兴趣的人和周围事物之间的潜在关系进行建模。 具体来说,I3D用作提取高级特征图的主干。通过ROI Pooling从中间feature maps中提取的features被视为查询(Q)。 关键字(K),值(V)由中间特征计算得出。 自我注意机制在三个组成部分上进行,并输出分类和回归预测。Lohit等提出了一个可解释的微分模块,称为时间transformer网络,以减少类内方差并增加类间方差。Fayyaz和Gall提出了一个时间transformer,以在弱监督的环境下执行动作识别任务。

 

02 Face Alignment

 基于视频的面部对齐任务旨在定位面部标志。 时间依赖性和空间信息对于最终性能很重要。 但是,前一种方法无法同时捕获连续帧上的时间信息和静止帧上的互补空间信息。 刘等人使用双流transformer网络分别学习时间和空间特征,以端到端的方式共同优化两个流,并对特征进行加权以获得最终预测。

 

03 Video Retrieval

基于内容的视频检索的关键是找到视频之间的相似性。 为了克服缺点,仅利用视频级功能的图像级,Shao等人建议使用transformer来建模长范围语义依赖性。此外,引入了有监督的对比学习策略用于hard negative mining。 基准数据集上的结果证明了性能和速度优势。  Gabeur等提出了一种多模式transformer,以学习不同的跨模式提示,以表示视频。

 

04 Acitivity Recognition

活动识别是指识别一组人的活动。 解决此问题的前一种方法是基于各个参与者的位置。  Gavrilyuk等提出了一个actor-transformer架构来学习表示。actor-transformer将2D和3D网络生成的静态和动态表示作为输入。transformer的输出是预测活动。

 

05 Video Object Detection

要从视频中检测对象,需要全局和局部信息。 Chen等引入了内存增强的全局局部聚集(memory enhanced global-local aggregation--MEGA)以捕获更多内容。 表示性特征可增强整体性能并解决无效和不足的问题。  Yin等提出了一种时空transformer来聚合时空信息。 与另一个空间特征编码组件一起,这两个组件在3D视频对象检测任务中表现良好。

 

06 Multi-task Learning

未修剪的视频通常包含许多与目标任务无关的帧。 因此,挖掘相关信息并删除冗余信息至关重要。 为了应对在未修剪的视频上进行多任务学习,Seong等人采用视频多任务transformer网络提取信息。 对于CoVieW数据集,任务是场景识别,动作识别和重要性得分预测。 ImageNet和Places365上的两个经过预先训练的网络提取了场景特征和对象特征。 堆叠多任务transformer以借助类转换矩阵(class conversion matrix --CCM)融合功能。

 

3.4.2 Low-level Video Processing


01 Frame/Video Synthesis


 帧合成任务是指在两个连续帧之间或帧序列之后合成帧。 视频合成任务旨在合成视频。 刘等提出了ConvTrans模型,该模型包括五个部分:特征嵌入,位置编码,编码器,查询解码器和综合前馈网络。 与基于LSTM的研究相比,ConvTransformer通过更可并行化的架构实现了更高的结果。  Schatz等使用循环Transformer网络从新颖的观点合成人类的行为。

 

02 Video Inpainting


 视频修补任务旨在完成帧中的缺失区域。 这项艰巨的任务需要沿空间和时间维度合并信息。  Zeng等为此任务提出了一个时空transformer网络。 所有输入帧均作为输入,并被并行填充。 时空对抗损失用于优化transformer网络。

 

3.4.3 Multimodality


01 Video Captioning/Summarization


    视频字幕任务的目标是为未修剪的视频生成文本。事件检测和描述模块是两个主要部分。 zhou等提出了一种端到端的优化transformer来解决密集的视频字幕任务。 编码器将视频转换为表示形式。 提议解码器根据编码生成事件提议。 字幕解码器使用提案掩盖编码并输出描述。 Bilkhu等使用C3D和I3D网络提取特征并使用transformer生成预测。 该算法在单个摘要任务和密集摘要任务上均表现良好。 Li等利用基于注意力纠缠(ETA)模块的transformer来解决图像字幕任务。Sun等提出了一种视觉语言框架来学习表示而无需监督。 该模型可以应用于许多任务,包括视频字幕,动作分类等。

 

3.5 Self-attention for Computer Vision


在以上各节中,我们回顾了将transformer体系结构用于视觉任务的方法。 自我注意是transformer的关键部分。 在本节中,我们深入研究了基于自我注意的方法来应对计算机视觉中的挑战性任务,例如语义分割,姿势分割,对象检测,关键点检测和深度估计。

该部分内容请详见《transformer解读》的前几页ppt,里面有关于attention与self-attention的详细介绍。

 

3.6 Efficient Transformer


尽管Transformer模型在各种任务中都取得了成功,但仍需要高内存和计算资源,这阻碍了在资源受限的设备(例如,手机端)上的实现。 在本节中,我们回顾有关压缩和加速变压器模型以有效实施的研究,包括网络修剪,低秩分解,知识分配,网络量化,压缩体系结构设计。


 表4列出了一些用于压缩基于Transformer的模型的代表性作品。

bb03ffc9cf58913f5fc3ad82bcfd75a6.png

3.6.1 Pruning & Decomposition


在基于Transformer的预训练模型(例如BERT)中,并行进行多个注意操作以独立地建模不同标记(tokens)之间的关系,而对于特定任务则不需要所有的heads。Michel等从经验上观察到,可以在测试时去除很大比例的注意力头,而不会显着影响性能。 所需的attention heads在不同的层上有所不同,甚至对于某些层来说,一个 head就足够了。 考虑到attention heads上的冗余,在[85]中定义了重要性分数以估计每个head对最终输出的影响,并且可以删除不重要的head以进行有效部署。 Dalvi等进一步从两个角度分析了预训练Transformer模型中的冗余,即一般冗余和特定于任务的冗余。 遵循彩票假设( lottery ticket hypothesis)等,Prasanna等分析了BERT中的彩票,并表明在基于Transformer的模型中也存在良好的子网。 在[96]中减少了FFN层和attention heads,以实现高压缩率。


除了Transformer模型的宽度外,还可以减小深度(即层数)以加快推理过程。 与可以按同等方式计算Transformer模型中不同attention heads的情况不同,由于下一层的输入取决于前一层的输出,因此必须顺序计算不同的层。 Fan等提出了一种逐层丢弃的策略来规范模型的训练,然后在测试阶段将整个层次一起删除。考虑到不同设备中的可用资源可能会有所不同,Hou等人提出自适应地减小预定义Transformer模型的宽度和深度,并同时获得具有不同尺寸的多个模型。重要的attention heads和神经元通过重新布线机制在不同的子网络之间共享。

 除了直接在Transformer模型中丢弃零件模块的修剪方法之外,矩阵分解还旨在根据低秩假设,对具有多个小矩阵的大矩阵进行近似。 例如,Wang等分解Transformer模型中的标准矩阵乘法并获得更有效的推论。

 

3.6.2 Knowledge Distillation


知识蒸馏的目的是通过从巨大的教师网络中转移知识来训练学生网络。 与教师网络相比,学生网络通常具有较薄和较浅的体系结构,更易于在资源受限的资源上部署。 神经网络的输出和中间特征也可以用于将有效信息从教师传递给学生。Mukherjee等人基于Transformer模型,使用经过预训练的BERT 作为老师,借助大量未标记的数据来指导小型模型的训练。Wang等训练学生网络,以模仿预训练教师模型中的自我注意层的输出。 values的点积被引入作为指导学生的一种新的知识形式。 在[127]中也引入了一个助教[86],它可以减小大型预训练的Transformer模型与紧凑的学生网络之间的差距,从而使模仿变得更加容易。 考虑到Transformer模型中的各种类型的层(即,自我注意层,嵌入层,预测层),Jiao等人设计不同的目标功能,以将知识从教师传授给学生。 例如,学生模型的嵌入层的输出将通过MSE损失模仿教师的输出。 还施加了可学习的线性变换,以将不同的特征映射到同一空间。 对于预测层的输出,采用KL散度来度量不同模型之间的差异。

 

3.6.3 Quantization


量化的目的是减少表示网络权重或中间特征的位数。 通用神经网络的量化方法已得到充分讨论,其性能可与原始网络媲美。 最近,如何对Transformer模型进行特殊量化已经引起了人们的广泛关注。  Shridhar等建议将输入嵌入到二进制高维向量中,然后使用二进制输入表示来训练二进制神经网络。  Cheong等通过低位(例如4位)表示来表示Transformer模型中的权重。 zhao等对各种量化方法进行了实证研究,结果表明k均值量化具有巨大的发展潜力。 针对机器翻译任务,Prato等人提出了一种完全量化的Transformer,这是第一个8位质量模型,而论文中声称没有翻译质量损失。

 

3.6.4 Compact Architecture Design


除了将预定义的Transformer模型压缩为小型Transformer模型外,一些工作还尝试直接设计紧凑模型。 Jiang等通过提出一个新的模块,称为基于跨度的动态卷积(span-based dynamic convolution),简化了自注意力的计算,该模块结合了完整的连接层和卷积层,如图9所示。

4056d6fdd60528bf399897e0c4fa7550.png

卷积运算可计算出不同的标记(tokens),这比标准Transformer中密集的全连接层有效得多。 深度卷积还用于进一步降低计算成本。  Interesting hamburger layers在[1]中提出,它使用矩阵分解来代替原始的自我注意层。 矩阵分解可以比标准的自我注意操作更有效地计算,同时很好地反映了不同标记之间的依赖性。


Transformer模型中的自注意操作计算给定序列中不同输入标记的表示之间的点积(图像识别任务中的patch),其复杂度为O(N),其中N为序列的长度。 近来,大量方法致力于将复杂度降低到O(N),以使Transformer模型可扩展到长序列。 例如,Katharopoulos等将自我注意近似为内核特征图的线性点积,并通过递归神经网络揭示标记之间的关系。Zaheer等将每个标记(tokens)视为图形中的一个顶点,两个标记之间的内积计算称为边。 启发式图论和各种稀疏图被组合在一起以近似Transformer模型中的稠密图,这也实现了O(N)的复杂度。 从理论上讲,Yun等证明具有O(N)复杂度的稀疏Transformer足以反映标记之间的任何类型的关系并且可以进行通用逼近,这为进一步研究具有O(N)复杂度的Transformer提供了理论保证。


4. Conclusions and Future Prospects


与卷积神经网络相比,由于其竞争性能和巨大的潜力,Transformer正成为计算机视觉领域的热门话题。 正如综述所概述的那样,为了揭示和利用Transformer的能力,近年来提出了许多解决方案。 这些方法在各种视觉任务(包括基本图像分类,high-level vision,low-level vision和视频处理)上均表现出出色的性能。 然而,用于计算机视觉的Transformer的潜力尚未得到充分的探索,还有一些挑战有待解决。尽管研究人员已经提出了许多基于Transformer的模型来解决计算机视觉任务,但是这些工作是开创性的解决方案,还有很大的改进空间。例如,ViT 中的Transformer架构遵循NLP 的标准Transformer。专门针对CV的改进版本仍有待探索。 此外,还需要将Transformer用于除上述任务之外的更多任务。


此外,大多数现有的Visual transformer模型都设计用于处理单个任务。 许多NLP模型(例如GPT-3)已显示出Transformer可以在一个模型中处理多个任务的能力。  CV领域的IPT 也能够处理多种low-level vision任务,例如超分辨率,图像降噪和排水。 我们相信,一个模型可以涉及更多任务。


Last but not the least,为CV开发有效的Transformer模型也是一个未解决的问题。 Transformer模块通常非常庞大且计算量很大,例如,基本的ViT模型需要18B FLOP来处理图像。 相比之下,轻巧的CNN模型Ghost Net仅用大约600M FLOP就能达到类似的性能。 尽管已经提出了几种压缩Transformer的方法,但是它们的复杂性仍然很大。 这些最初为NLP设计的方法可能不适用于CV。 因此,高效的Transformer模型是在资源受限的设备上部署Visual Transformer的基础。


相关文章
|
3月前
|
机器学习/深度学习 人工智能 计算机视觉
AIGC基础模型——Vision Transformer (ViT)
【1月更文挑战第12天】AIGC基础模型——Vision Transformer (ViT)
110 6
AIGC基础模型——Vision Transformer (ViT)
|
5月前
Vision Transformer 图像分类识别 基于 ViT(Vision Transformer)的图像十分类 实战 完整代码 毕业设计
Vision Transformer 图像分类识别 基于 ViT(Vision Transformer)的图像十分类 实战 完整代码 毕业设计
83 0
Vision Transformer 图像分类识别 基于 ViT(Vision Transformer)的图像十分类 实战 完整代码 毕业设计
|
2月前
|
机器学习/深度学习 自然语言处理 算法
一文综述,未来已来 | 视觉和大语言模型的未来是什么?必然结连理实现多模态大模型
一文综述,未来已来 | 视觉和大语言模型的未来是什么?必然结连理实现多模态大模型
44 1
|
2月前
|
存储 自然语言处理 文字识别
MLLM首篇综述 | 一文全览多模态大模型的前世、今生和未来
MLLM首篇综述 | 一文全览多模态大模型的前世、今生和未来
422 0
|
2月前
|
机器学习/深度学习 自然语言处理 测试技术
「视觉语言Transformers」最新2023研究综述
「视觉语言Transformers」最新2023研究综述
46 0
|
2月前
|
机器学习/深度学习 编解码 算法
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
36 0
|
9月前
|
自然语言处理 算法 计算机视觉
【计算机视觉】DETR 系列的最新综述!
DEtection TRansformer (DETR)将检测视为集合预测问题,而不需要生成候选区和后处理步骤,从而将TRansformer引入到目标检测任务中
|
10月前
|
机器学习/深度学习 传感器 人工智能
多模态技术综述
多模态技术综述
645 0
|
10月前
|
机器学习/深度学习 编解码 人工智能
深度学习应用篇-计算机视觉-语义分割综述[6]:DeepLab系列简介、DeepLabV3深入解读创新点、训练策略、主要贡献
深度学习应用篇-计算机视觉-语义分割综述[6]:DeepLab系列简介、DeepLabV3深入解读创新点、训练策略、主要贡献
深度学习应用篇-计算机视觉-语义分割综述[6]:DeepLab系列简介、DeepLabV3深入解读创新点、训练策略、主要贡献
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
中国人民大学卢志武:ChatGPT对多模态通用生成模型的重要启发(1)
中国人民大学卢志武:ChatGPT对多模态通用生成模型的重要启发
262 0