【论文笔记】You Only Look at One Sequence: RethinkingTransformer in Vision through Object Detection

论文

论文题目:You Only Look at One Sequence: RethinkingTransformer in Vision through Object Detection

发表于:NeurIPS2021

论文地址:https://arxiv.org/abs/2106.00666

论文代码:GitHub - hustvl/YOLOS: You Only Look at One Sequence (NeurIPS 2021)

本文是华科&地平线关于Transformer的迁移学习、泛化性能方面的深度思考。依托于目标检测任务,从最基本的ViT出发,参考DETR架构设计,从ViT的预训练、迁移学习、模型缩放等几个维度展开了讨论,重点揭示了Transformer的迁移学习能力与泛化性能,同时引出了Transformer在模型缩放与ConvNet缩放不一致的问题(文章并未加以解决)。

Abstract

Transformer能否以最少的2D空间结构从纯粹的序列到序列的角度进行2D目标识别呢?

为回答该问题,我们提出了YOLOS(You Only Look at One Sequence),一系列基于朴素ViT(具有尽可能少的修改和inductive biases)的目标检测模型。我们发现:在中等大小数据集ImageNet上预训练的YOLOS已经足以在COCO上取得极具竞争力的目标检测性能,比如:YOLOS-Base可以取得42.0boxAP指标。与此同时,我们还通过目标检测。讨论了当前预训练机制、模型缩放策略对于Transformer在视觉任务中的局限性。

1 Introduction

Transformer为迁移而生。在自然语言处理 (NLP) 中,主要方法是首先在大型通用语料库上预训练Transformer以进行通用语言表示学习,然后针对特定目标任务对模型进行微调。最近,Vision Transformer(ViT)表明,直接从NLP继承的典型Transformer编码器架构可以使用现代视觉迁移学习配方在大规模图像识别上表现出奇的好。将图像补丁嵌入序列作为输入,ViT可以从纯序列到序列的角度成功地将预训练的通用视觉表示从足够的规模转移到更具体的图像分类任务,数据点更少

ViT-FRCNN是第一个使用预训练的ViT作为R-CNN目标检测器的主干。然而,这种设计无法摆脱对卷积神经网络(CNN)和强2D归纳偏差的依赖,因为ViT-FRCNN将ViT的输出序列重新解释为2D空间特征图,并依赖于区域池化操作(即RoIPool或RoIAlign)以及基于区域的CNN架构来解码ViT特征以实现目标级感知。受现代CNN设计的启发,最近的一些工作将金字塔特征层次结构和局部性引入Vision Transformer设计,这在很大程度上提高了包括目标检测在内的密集预测任务的性能。然而,这些架构是面向性能的。另一系列工作,DEtection TRansformer(DETR)系列,使用随机初始化的Transformer对CNN特征进行编码和解码,这并未揭示预训练Transformer在目标检测中的可迁移性。

 ViT-FRCNN

本质上,ViT设计的目的是模拟长期依赖关系和全局上下文信息,而不是局部和局部region级别的关系。此外,ViT还缺少一些CNN那样的分层结构来处理视觉实体范围的巨大变化。根据已有证据,纯ViT是否能将经过训练的一般视觉表示从图像级识别转移到更复杂的2D目标检测任务还不清楚。

为了解决上面涉及的问题,有研究者展示了You Only Look at One Sequence (YOLOS),这是一系列基于规范ViT架构的目标检测模型,具有尽可能少的修改以及注入的归纳偏置。从ViT到YOLOS检测器的变化很简单:

  • YOLOS在ViT中删除[CLS]标记,并将一百个可学习的[DET]标记附加到输入序列以进行目标检测;

  • YOLOS将ViT中的图像分类损失替换为bipartite matching loss,以遵循Carion等人【End-to-end object detection with transformers】的一套预测方式进行目标检测。这可以避免将ViT的输出序列重新解释为2D特征图,并防止在标签分配期间手动注入启发式和对象2D空间结构的先验知识。

YOLOS直接继承于ViT,并不是为了成为一款高性能的目标检测器而设计的,而是为了展示Transformer从图像识别到目标检测的多功能性和可迁移性。全文主要贡献如下:

  • 使用mid-sized ImageNet-1k作为唯一预训练数据集,表明朴素ViT可以成功执行具有挑战性的目标检测任务,并以最少的修改产生具有竞争力的COCO结果。
  • 首次证明,以固定大小的非重叠图像块序列作为输入,可以以纯序列到序列的方式完成2D目标检测。现有目标检测器中,YOLOS利用最小的2D感应偏差。
  • 对于ViT,我们发现目标检测结果对预训练方案相当敏感,检测性能远未饱和。因此提出YOLOS可作为一个具有挑战性的基准任务来评估不同的ViT预训练策略。
  • 还讨论了流行的预训练方案和模型缩放策略通过迁移到目标检测对视觉中的Transformer的影响。

2 YOLOS

在模型设计方面,我们尽可能参照原始ViT架构,并参照DETR针对目标检测进行适当调整。YOLOS可以轻易的适配不同的Transformer结构,这种简单的设置初衷不是为了更好的检测性能,而是为了尽可能无偏的揭示Transformer在目标检测方面的特性。

Architecture

上图给出了本文所提YOLOS架构图,从ViT到YOLOS的过渡很简单:

  • YOLOS丢弃了用于图像分类的[CLS]标记,并在输入patch嵌入序列中添加了100个随机初始化的检测标记[DET];

  • 在训练阶段,YOLOS采用偶匹配损失(Bipartite Matching Loss)替换了图像分类损失以进行目标检测。

Detection Token

我们针对性地选择随机初始化的[DET]标记作为目标表达的代理,以避免2D结构的归纳偏差和在标签赋值时注入的任务的先验知识。在对COCO进行微调时,对于每次前向传递,在[DET]tokens生成的预测与真实目标之间建立最佳二分匹配。该过程与标签赋值的作用相同,但与输入的2D结构无关,即YOLOS不需要将ViT的输出序列重新解释为用于标签分配的2D特征图。理论上,YOLOS可以进行任意维目标检测,且无需知道精确的空间结构或者几何结构,只要将输入按照相同方式平展为序列即可。

Fine-tuning at Higher Resolution

当在COCO上进行微调时,除了用于分类和BBOX规范的MLP参数以及DET外,其他参数均由ImageNet预训练而来。在YOLOS中,分类与BBOX头采用两层MLP实现且参数不共享。在微调阶段,图像具有比预训练更大的分辨率,我们保持块尺寸(16*16)不变,因而导致了更大的序列长度。我们采用了类似ViT的方式对预训练位置嵌入进行2D插值。

Inductive Bias

我们精心设计了YOLOS以最小化额外的归纳偏置注入。由ViT产生的归纳偏置源自网络的stem部分的patch块提取以及位置嵌入的分辨率调整。除此之外,YOLOS并未在ViT上添加额外卷积。从表达学习角度,我们选择采用DET作为目标代理并用于最终目标预测以避免额外的2D归纳偏置

没有采用现代CNN结构的金字塔特征层次、二维局部空间关注、区域池化操作等以性能为导向的设计。所有这些努力都是为了以纯序列到序列的方式揭示Transformer的多功能性和可迁移性(从图像识别到目标检测)。

Comparsions with DETR

YOLOS的设计是受DETR启发而来:YOLOS采用DET作为目标表达的代理,以避免2D结构和任务相关的先验知识导致的归纳偏置,YOLOS采用了与DETR相似的优化方式。但同时存在几点不同:

  • DETR采用了随机初始化的编解码形式的Transformer;而YOLOS则仅研究了预训练ViT编码的迁移能力;

  • DETR采用了decoder-encoder注意力并在每个decoder层添加额外辅助监督;而YOLOS总是查看每一层的一个序列,而没有在操作方面对patch块与DET进行区分。

3 Experimets

3.1 Setup

Pre-training:在ImageNet-1k上采用DeiT训练策略对YOLOS/ViT进行预训练。

Fine-tuning:采用类似DETR方式在COCO数据集上对YOLOS进行微调。数据增强。

Model Variants

所有model的输入patch大小都是16*16.

参考DeiT,研究了YOLOS的3种变体及其配置信息,YOLOS-Ti、YOLOS-S、YOLOS-B。

还研究了两种在CNN中有效的模型缩放策略。均匀复合缩放(uniform compound scaling)和 快速缩放(fast scaling)。改变FLOPs。

典型的CNN结构,FLOPs与dw2r2成正比。对ViT,主要有两种操作贡献FLOPs:线性映射或逐点融合(linear projection or point-wise convolution)和空间注意力(spatial attention)。

理论上,提到CNN种有效的的2种模型缩放策略并不直接适用于ViT。

3.2 The Effects of Pre-training

研究通过YOLOS将VIT从Image-Net1k迁移到COCO目标检测基准时,不同预训练策略的效果。结果见上表。从上表可以看到:

  • 预训练的必要性:至少在迁移学习框架下,从计算效率角度来看,预训练是很有必要的。从Tiny与Small模型对比来看,预训练可以节省大量的计算耗时;而且从头开始训练的模型性能要低于预训练模型的性能。这与恺明大神之前关于ConvNet的预训练研究不一致

  • 标签监督预训练:从真实标签监督预训练来看,不同大小模型倾向于不同的预训练机制:200epoch预训练+300epoch微调的YOLOS-Ti仍无法匹配300epoch预训练的性能;而对于small模型200epoch预训练具有与300epoch预训练相当的性能。引入额外的蒸馏,模型的性能可以进一步提升1AP指标。这是因为预训练CNN老师后模型有助于ViT更好的适配COCO。

  • 从上述分析我们可以得出:ImageNet预训练结果无法精确的反应在COCO目标检测上迁移学习性能。相比图像识别中常用的迁移学习基准,YOLOS对于预训练机制更为敏感,且性能仍未达到饱和。因此,将YOLOS作为一个具有挑战性的迁移学习基础评价不同预训练策略对于ViT的影响是很合理的

3.3 Pre-traing and Transfer Learning Perforrmance of Different Scaled Models

研究了不同模型缩放策略的预训练与迁移学习性能,比如宽度缩放w、均匀复合缩放dwr以及快速速度dwr。模型从1.2G缩放到4.5G并用于预训练。相关模型配置见前面的Table1,结果见下表。 

从上表指标对比可以看到:

  • dwr与dwr缩放均比简单的w缩放取得了更佳的精度;

  • 关于缩放策略的属性与CNN相一致,比如w缩放速度最友好;dwr缩放取得了最佳精度;dwr缩放速度接近w缩放,精度与dwr相当。

  • 由于COCO数据微调时分辨率与预训练分辨率不一致,此时预训练性能与迁移学习性能出现了不一致:dwr缩放具有与w缩放相当的性能,而dwr缩放则具有最佳性能。这种性能不一致说明:ViT需要一种新的模型缩放策略

 3.4 Comparisons with CNN-based Object Detectors

 上表对比了YOLOS与ConvNet作为骨干时的性能,从中可以看到:在Tiny模型方面,YOLOS-Ti取得比高度优化CNN作为骨干时更佳的性能

 上表给出了YOLOS与DETR的性能对比,从中可以看到:

  • YOLOS-Ti具有比DETR更佳的性能;

  • YOLOS-S-dwr缩放取得了比DETR更佳的性能;

  • 而YOLOS-B尽管具有更多的参数量,但仍比同等大小DETR稍弱。

尽管上述结果看起来让人很是沮丧,但是YOLOS的出发点并不是为了更佳的性能,而是为了精确的揭示ViT在目标检测方面的迁移能力。仅需要对ViT进行非常小的修改,这种架构即可成功的迁移到极具挑战性的COCO目标检测基准上并取得42boxAP指标。YOLOS的这种最小调改精确地揭示了Transformer的灵活性与泛化性能

Visualization

 作为一种目标检测器,YOLOS采用DET表示所检测到地目标。我们发现:不同DET对目标位置与尺寸比较敏感,而对目标类别不敏感。见上面Fig2与Fig3.

4 Related work

用于目标检测的Vision Transformer:现在大多ViT结构引进特征金字塔等策略,极大提高了密集预测任务的性能。但这些架构多是面向性能的,不能反映朴素ViT的属性。或者使用随机初始化的的Transformer来编码解码CNN特征的DETR系列,用于目标检测,却没有揭示预训练Transformer的可迁移性。本文则是讨论一个预训练的朴素ViT在目标检测中的特点。

预训练与微调:Transformer应用于大规模图像识别,其模型大多在大数据集上预训练,再根据不同任务进行微调。现有Transformer在图像级识别中的迁移学习,并没有涉及比较复杂的视觉任务,本文旨在弥补这一差距。

5 Concolusion and future work

本文,

  • 探索了,在中型ImageNet-1k数据集上预训练的普通ViT更具挑战性的COCO目标检测基准的可迁移性。
  • 证明了,2D目标检测可以完成一个纯序列到纯序列的方式与最小的额外归纳偏置。
  • 在COCO上性能有前景,表明Transformer对各种下游任务具有通用性和广泛性。

目前,仍有很多挑战。

  • 目标检测等密集任务的输入长序列/高分辨率。
  • 计算量大,自注意力运算随着序列长度的平方而扩展。
  • 需要能有效处理数千个Token的Transformer,或为ViT量身定制模型缩放方法。

参考博客

YOLOS:重新思考Transformer的泛化性能-技术圈

YOLOS:通过目标检测重新思考Transformer(附源代码)-技术圈

版权声明:本文为CSDN博主「m0_61899108」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_61899108/article/details/122690619

m0_61899108

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

小目标检测方法介绍

目标检测发展很快,但对于小目标 的检测还是有一定的瓶颈,特别是大分辨率图像小目标检测 。比如79202160,甚至1600016000的图像,还有一些遥感图像 。 图像的分辨率很大&#xf

论文笔记之CSPNet

本文解决的是减少推理计算的问题。 本文收录于CVPR2019 论文地址:https://arxiv.org/pdf/1911.11929.pdf 1. 摘要 目前最先进的能够在计算机视觉任务上取得非常好的结果的方法往往很大程度上

YOLOX笔记

目录 1. 样本匹配 正负样本划分过程 2. yoloxwarmcos 学习率 3. 无法开启多gpu训练, 或者多gpu训练卡住? 1. 样本匹配 正负样本划分过程 说明: gt_centerbbox是在gt_bbox中心点向四周