我报名参与金石计划1期挑战——瓜分10万奖池,这是我的第25篇文章,点击查看活动概况

导读

将Transformer应用到CV使命中现在越来越多了,这里整理了一些相关的发展给我们。

计算机视觉中的Transformer

Transformer结构已经在许多自然语言处理使命中取得了最先进的效果。Transformer 模型的一个主要的打破可能是本年年中发布的GPT-3,被授予NeurIPS2020“最佳论文“。

计算机视觉中的Transformer

在核算机视觉范畴,CNN自2012年以来已经成为视觉使命的主导模型。跟着呈现了越来越高效的结构,核算机视觉和自然语言处理越来越收敛到一起,运用Transformer来完结视觉使命成为了一个新的研讨方向,以下降结构的复杂性,探究可扩展性和练习功率。

以下是几个在相关工作中比较闻名的项目:

  • DETR(End-to-End Object Detection with Transformers),运用Transformers进行物体检测和切割。
  • Vision Transformer(AN IMAGE IS WORTH 16X16 WORDS: Transformer FOR IMAGE RECOGNITION AT SCALE),运用Transformer 进行图画分类。
  • Image GPT(Generative Pretraining from Pixels),运用Transformer进行像素级图画补全,就像其他GPT文本补全相同。
  • End-to-end Lane Shape Prediction with Transformers,在自动驾驶中运用Transformer进行车道符号检测

结构

总的来说,在CV中采用Transformer的相关工作中主要有两种模型架构。一种是纯Transformer结构,另一种是将CNNs/主干网与Transformer相结合的混合结构。

  • 纯Transformer
  • 混合型:(CNNs+ Transformer)

Vision Transformer是基于完整的自注意力的Transformer结构没有运用CNN,而DETR是运用混合模型结构的一个比如,它结合了卷积神经网络(CNNs)和Transformer。

一些问题

  • 为什么要在CV中运用Transformer?怎么运用
  • benchmark上的成果是什么样的?
  • What are the constraints and challenges of using Transformer in CV?
  • 哪种结构更高效和灵敏?为什么?

你会在ViT、DETR和Image GPT的下面的深入研讨中找到答案。

Vision Transformer

Vision Transformer(ViT)将纯Transformer架构直接应用到一系列图画块上进行分类使命,能够取得优异的成果。它在许多图画分类使命上也优于最先进的卷积网络,一起所需的预练习核算资源大大削减(至少削减了4倍)。

计算机视觉中的Transformer

Vision Transformer模型结构

图画序列patches

它们是怎么将图画切割成固定巨细的小块,然后将这些小块的线性投影连同它们的图画方位一起输入变压器的。然后剩余的过程就是一个干净的和标准的Transformer编码器和解码器。

在图画patch的嵌入中参加方位嵌入,经过不同的战略在大局范围内保留空间/方位信息。在本文中,他们尝试了不同的空间信息编码办法,包括无方位信息编码、1D/2D方位嵌入编码和相对方位嵌入编码。

计算机视觉中的Transformer

不同方位编码战略的比照

一个有趣的发现是,与一维方位嵌入比较,二维方位嵌入并没有带来明显的功能提高。

数据集

该模型是从多个大型数据集上删除了重复数据预练习得到的,以支撑微调(较小数据集)下游使命。

  • ILSVRC-2012 ImageNet数据集有1k类和130万图画
  • ImageNet-21k具有21k类和1400万图画
  • JFT具有18k类和3.03亿高分辨率图画

模型的变体

计算机视觉中的Transformer

像其他盛行的Transformer 模型(GPT、BERT、RoBERTa)相同,ViT(vision transformer)也有不同的模型尺度(根底型、大型和巨大型)和不同数量的transformer层和heads。例如,ViT-L/16能够被解释为一个大的(24层)ViT模型,具有1616的输入图画patch巨细。

注意,输入的patch尺度越小,核算模型就越大,这是因为输入的patch数目N = HW/P*P,其中(H,W)为原始图画的分辨率,P为patch图画的分辨率。这意味着14 x 14的patch比16 x 16的图画patch在核算上更贵重。

Benchmark成果

计算机视觉中的Transformer

图画分类的Benchmark

以上成果标明,该模型在多个盛行的基准数据集上优于已有的SOTA模型。

在JFT-300M数据集上预练习的vision transformer(ViT-H/14, ViT-L/16)优于一切测试数据集上的ResNet模型(ResNet152x4,在相同的JFT-300M数据集上预练习),一起在预练习期间占用的核算资源(TPUv3 core days)大大削减。即使是在ImageNet-21K上预练习的ViT也比基线体现更好。

模型功能 vs 数据集巨细

预练习数据集巨细VS模型功能

上图显现了数据集巨细对模型功能的影响。当预练习数据集的巨细较小时,ViT的体现并不好,当练习数据充足时,它的体现优于以前的SOTA。

哪种结构更高效?

如一开端所提到的,运用transformer进行核算机视觉的架构规划也有不同,有的用Transformer完全替代CNNs (ViT),有的部分替代,有的将CNNs与transformer结合(DETR)。下面的成果显现了在相同的核算预算下各个模型结构的功能。

计算机视觉中的Transformer

不同模型架构的功能与核算成本

以上试验标明:

  • 纯Transformer架构(ViT)在巨细和核算规模上都比传统的CNNs (ResNet BiT)更具功率和可扩展性
  • 混合架构(CNNs + Transformer)在较小的模型尺度下功能优于纯Transformer,当模型尺度较大时功能十分挨近

ViT (vision transformer)的关键

  • 运用Transformer架构(纯或混合)
  • 输入图画由多个patch平铺开来
  • 在多个图画识别基准上击败了SOTA
  • 在大数据集上预练习更便宜
  • 更具可扩展性和核算功率

DETR

DETR是第一个成功地将Transformer作为pipeline中的主要构建块的方针检测结构。它与以前的SOTA办法(高度优化的Faster R-CNN)的功能匹配,具有更简略和更灵敏的pipeline。

计算机视觉中的Transformer

DETR结合CNN和Transformer的pipeline的方针检测

上图为DETR,一种以CNN和Transformer为主要构建块的混合pipeline。以下是流程:

  1. CNN被用来学习图画的二维表明并提取特征
  2. CNN的输出是扁平化的,并辅以方位编码,以馈入标准Transformer的编码器
  3. Transformer的解码器经过输出嵌入到前馈网络(FNN)来猜测类别和围住框

更简略的Pipeline

计算机视觉中的Transformer

传统方针检测pipeline和DETR的比照

传统的方针检测办法,如Faster R-CNN,有多个过程进行锚的生成NMS。DETR放弃了这些手工规划的组件,明显地简化了物体检测pipeline。

当扩展到全景切割时,惊人的成果

在这篇论文中,他们进一步扩展了DETR的pipeline用于全景切割使命,这是一个最近盛行和具有挑战性的像素级识别使命。为了简略解释全景切割的使命,它一致了2个不同的使命,一个是传统的语义切割(为每个像素分配类标签),另一个是实例切割(检测并切割每个方针的实例)。运用一个模型架构来处理两个使命(分类和切割)是十分聪明的想法。

计算机视觉中的Transformer

像素等级的全景切割

上图显现了全景切割的一个比如。经过DETR的一致pipeline,它超越了十分有竞争力的基线。

注意力可视化

下图显现了Transformer解码器对猜测的注意力。不同物体的注意力分数用不同的色彩表明。

经过观察色彩/注意力,你会惊奇于模型的能力,经过自注意在大局范围内了解图画,处理堆叠的围住框的问题。尤其是斑马腿上的橙色,尽管它们与蓝色和绿色局部堆叠,但还是能够很好的分类。

计算机视觉中的Transformer

猜测物体的解码器注意力可视化

DETR的关键

  • 运用Transformer得到更简略和灵敏的pipeline
  • 在方针检测使命上能够匹配SOTA
  • 并行的更有效的直接输出最终的猜测集
  • 一致的方针检测和切割架构
  • 大方针的检测功能明显提高,但小方针检测功能下降

Image GPT

Image GPT是一个在像素序列上用图画补全练习的GPT-2 transformer 模型。就像一般的预练习的语言模型,它被规划用来学习高质量的无监督图画表明。它能够在不知道输入图画二维结构的状况下自回归猜测下一个像素。

来自预练习的图画GPT的特征在一些分类基准上取得了最先进的功能,并在ImageNet上挨近最先进的无监督精度。

下图显现了由人工供给的半张图画作为输入生成的补全模型,随后是来自模型的创造性补全。

计算机视觉中的Transformer

来自Image GPT的图画补全

Image GPT的关键:

  • 运用与NLP中的GPT-2相同的transformer架构
  • 无监督学习,无需人工符号
  • 需要更多的核算来生成有竞争力的表明
  • 学习到的特征在低分辨率数据集的分类基准上实现了SOTA功能

总结

Transformer在自然语言处理中的巨大成功已经在核算机视觉范畴得到了探究,并成为一个新的研讨方向。

  • Transformer被证明是一个简略和可扩展的结构,用于核算机视觉使命,如图画识别、分类和切割,或只是学习大局图画表明。
  • 与传统办法比较,在练习功率上具有明显优势。
  • 在架构上,能够采用纯Transformer的方法运用,也能够与cnn结合运用混合的方法运用。
  • 它也面临着挑战,比如在DETR中检测小方针的功能较低,在Vision Transformer (ViT)中,当预练习数据集较小时,功能也不是很好。
  • Transformer正在成为学习序列数据(包括文本、图画和时刻序列数据)的更通用的结构。

英文原文:towardsdatascience.com/transformer…