我报名参加金石计划1期挑战——分割10万奖池,这是我的第 4 篇文章,点击查看活动概况
欢迎关注我的大众号 [极智视界],获取我的更多笔记共享
大家好,我是极智视界,本文解读一下 YOLOS 经过方针检测从头考虑Vision Transformer。
Transformer 是否能够从纯序列到序列的视点,在仅有的关于二维空间结构常识的情况下,履行二维方针和区域等级的辨认?为了答复这个问题,作者提出了 You Only Look at One Sequence (YOLOS),这是一系列根据一般视觉 transformer,做尽可能少的修正、区域先验以及方针使命概括偏置的方针检测模型。作者发现,只在中等巨细的 ImageNet-1k 数据集上预练习的 YOLOS 就能在具有挑战性的 COCO 方针检测基准上取得适当有竞争力的功能,如直接选用 BERT-Base 架构的 YOLOS-Base 能够在 COCO 验证集上取得 42.0 box AP。作者还讨论了经过 YOLOS 来看现有的预练习计划和模型缩放战略对 Transformer 在视觉运用中的影响。
论文地址:arxiv.org/abs/2106.00…
代码地址:github.com/hustvl/YOLO…
1. 简介
Transformer 是为搬迁而生的。在天然语言处理 (NLP) 中,首要的办法是首先在大型通用语料库上对Transformer 进行预练习,学习通用语言表明,然后在特定的方针使命上对模型进行 fine-tune 微调。最近的 Vision Transformer (ViT) 证明,直接从 NLP 集成的标准的 Transformer 编码器架构运用视觉搬迁学习办法,在大规模图画辨认方面的表现惊人的好。以图画 patch 嵌入序列为输入,从纯序列到序列的视点,ViT 能够用更少的数据成功地将预练习的通用视觉表明从适当规模转移到愈加具体的图画分类使命上。
由于预练习的 Transformer 能够成功地对 NLP 中的 句子级 和 token级 使命进行微调,这些使命中,在token 级发生愈加细粒度的输出。一个很天然的问题是:ViT 是否能够搬迁到愈加具有挑战性的方针和区域等级的方针使命,如图画等级以外的方针检测?
ViT-FRCNN 是第一个将预练习的 ViT 作为 Faster R-CNN 方针检测器 backbone 的网络。但是,这种规划无法摆脱对卷积神经网络 (CNNs) 和 强二维概括偏置的依靠,由于 ViT-FRCNN 将 ViT 的输出序列从头解释为二维空间特征映射,并依靠于区域池化算子 (如 RoIPool 或 RoIAlign) 以及根据区域的 CNN 架构 来解码 ViT 特征以进行方针和区域等级的感知。受现代 CNN 规划的启示,最近的一些作业在一般视觉 Transformer 规划中引入了金字塔特征层次、空间局域、等变和不变表明等技术,极大地提高了包括方针检测在内的密集猜测使命的功能。但是,这些架构都是面向功能规划的,不能反映直接承继自 Vaswani 等人的标准视觉 Transformer 的属性。别的一些列作业,如 DETR (DEtection TRansformer) 家族,运用一个随机初始化的 Transformer 来编码和解码 CNN 的特征以用于方针检测,但这并不能揭示预练习 Transformer 的搬迁才能。
直观地说,ViT 首要规划用于建模长期依靠关系和大局上下文信息,而不是部分和区域等级的关系。此外,ViT 缺乏现代 CNN 那样的层次结构来处理视觉方针标准上的巨大变化。根据现有的依据,目前还不清楚纯 ViT 是否能够将预练习的通用视觉表明从图画级辨认转移到愈加杂乱的二维方针检测使命上。
为了答复这个问题,作者提出了 YOLOS (You Only Look at One Sequence),这是一些列根据一般 ViT 架构的基础上,进行尽可能少的修正、区域先验以及注入方针使命概括偏置的方针检测模型。从本质上来讲,从预练习的ViT 到 YOLOS 检测器的转化是十分简略的:(1) YOLOS 将 ViT 中用于图画分类的一个 [CLS] token 替换为用于方针检测的 100 个 [DET] tokens;(2) YOLOS 用二部匹配丢失代替了 ViT 中的图画分类丢失,以 Carion 等人提出的调集猜测办法进行方针检测,能够避免将 ViT 的输出序列从头解释为二维特征图,也能够避免在标签分配过程中手动注入启示式和方针二维空间结构的先验常识。此外,YOLOS 的猜测头能够像分类层一样紧凑、摆脱杂乱多样的规划。
YOLOS 的规划目的不是成为另一个高功能的方针检测器,而是直接承继 ViT 用以揭示预练习的一般Transformer 的通用性和可搬迁性。具体而言,作者的首要贡献总结如下:
(1) 作者运用中等巨细的 ImageNet-1k 作为仅有的预练习数据集,并表明一个一般的 ViT 经过尽可能少的修正(YOLOS) 就能够履行杂乱的方针检测使命,并能够在 COCO 基准上发生具有竞争力的成果;
(2) 作者首次证明,以一组固定巨细的不重叠图画块作为输入,能够以纯序列到序列的办法完结二维方针检测;
(3) 关于一般 ViT,作者发现方针检测成果对预练习办法适当灵敏,检测功能远未到达饱满。因而,提出的YOLOS 也能够作为一个具有挑战性的基准使命,以评价不同 (标签监督和自监督) 预练习战略的 ViT 功能。
2. YOLOS
在模型规划上,YOLOS 紧跟原始 ViT 架构,与 Carion 等人的思路共同,对方针检测进行了优化。YOLOS 能够很容易地习惯 NLP 和计算机视觉中各种标准的 Transformer 架构。
2.1 架构
YOLOS 模型的 overview 如图1所示。
Stem 标准的 ViT 接纳一个一维序列的 embedded tokens 作为输入。为了处理二维图画输入,作者将图画展平重构为一组二维图画 patches 序列。如公式(1),得到的序列 z0 作为 YOLOS Transformer 编码器的输入。
Body YOLOS 的 body 与 ViT 基本相同,只由一堆 Transformer 编码器组成。[PATCH] tokens 和 [DET] tokens 被相等对待,它们在 Transformer 编码器层内部履行大局交互。
每个 Transformer 编码器层由一个多头自注意模块 (MSA) 和 一个 MLP 块组成,在每个块前面增加LayerNorm(LN),在每个块后边增加残差连接。MLP 包括一个隐含层,中心有 GELU 非线性激活函数,能够用公式(2) 来表明第 l-th 个 YOLOS Transformer 编码器层。
Detector Heads YOLOS 的检测头摆脱了杂乱沉重的规划,变得像 ViT 的图画分类层那样简练。分类头和bounding box 回归头都是由一个 MLP 完结的,该 MLP 具有两个单独的参数,包括两个隐含层,这两个隐含层中心有 ReLU 非线性激活函数。
Detection Token 有目的地挑选随机初始化的 [DET] tokens 作为方针表明的署理,避免在标签分配中的强二维结构概括偏置和使命先验常识。这个过程中,YOLOS 的标签分配不需要将 ViT 的输出序列从头解释为二维特征映射。理论上,只要每次输入都以相同的办法展平到一个序列,即使在不知道确切的空间结构和几许形状的情况下,YOLOS 履行任何维度的方针检测都是可行的。
Fine-tuning at Higher Resolution 在 COCO 微调时,除了用于分类和 bounding box 回归的 MLP 头和 100 个随机初始化的 [DET] tokens 之外,一切参数都由 ImageNet-1k 预练习进行权值初始化。坚持 patch size P 不变,即 PxP=16×16,这将导致更大的有效序列长度。尽管 ViT 能够处理任意长度的输入序列,但方位嵌入需要习惯不同长度中较长的输入序列,所以作者对预练习好的方位嵌入进行二维插值。
Inductive Bias 将概括偏置作为最小附加注入精心规划的 YOLOS 架构。ViT 所固有的概括偏置来自于网络骨干部分的 patch 提取 以及 方位嵌入的分辨率调整。此外,YOLOS 在 ViT 上没有增加任何非退化的卷积 (如 3×3 或其他非 1×1 卷积)。从表明学习的视点来看,作者挑选运用 [DET] tokens 来绑定方针进行终究猜测,以避免额定的二维概括偏置和特定于使命的启示式办法。而没有选用根据现代 CNN 结构的规划,如金字塔特征层次、二维部分空间注意力以及区域池化操作。一切这些努力都是为了以朴实的序列到序列的办法从图画辨认搬迁到方针检测,在输入空间和几许常识最少的情况下,准确揭示预练习 Transformer 的通用性和可搬迁性。
Comparisons with DETR YOLOS 的规划深受 DETR 的启示:YOLOS 运用在 DETR 后边的 [DET]tokens 作为方针表明的署理,以避免额定的二维概括偏置和特定于使命的启示式办法。
与此同时,两种模型之间也存在一些关键的差异:(1) DETR 选用了 Transformer 编码器-解码器架构,而YOLOS 挑选了只有编码器的 Transformer 架构;(2) DETR 只在其 CNN backbone 上进行预练习,然后让Transformer 编码器和解码器从随机初始化开端练习,而 YOLOS 承继了标准的 ViT 的预练习办法;(3) DETR 在编码后的图画特征和方针查询之间运用穿插注意力机制,并在每个解码器层深度监督辅佐解码丢失,而 YOLOS 则是在每个编码器层仅仅 Look 一个序列,在算子方面不区分 [PATCH] 符号和 [DET] 符号。
3. 试验
3.1 试验构建
Pre-training 作者选用 Touvron 等人建议的高效数据练习战略,在 ImageNet-1k 数据集上预练习一切YOLOS/ViT 模型。参数运用切断的正态分布初始化,并运用 AdamW 进行优化,学习速率为 1×10^-3,batch size为 1024。学习速率衰减战略为 cosine,权重衰减为 0.05。数据增强运用的是由 timm 库完结的 Rand-Augment 和随机擦除。正则化运用随机深度、Mixup 和 Cutmix。
Fine-tuning 作者用类似 Carion 等人的办法在 COCO 方针检测基准上 fine-tune 一切 YOLOS 模型。一切参数都由 ImageNet-1k 预练习的权值初始化,除了用于分类和 bounding box 回归的 MLP 头 以及 随机初始化的 100 个 [DET] tokens。运用 8 块 12G 显存的 GPU 节点上练习 YOLOS,学习速率为 2.5×10^-5,batch size 巨细为 8,学习率衰减战略为 cosine,权值衰减为 1×10^-4。
关于数据增强,作者运用多标准增加,调整输入图画的巨细,使最短边至少为 256、最多为 608 像素,而关于tiny 模型,最长边为 864。关于 small 和 base 模型,调整输入图画的巨细,使最短边至少为 480、最多为 800 像素,最长边最多为 1333 像素。
Model Variants 有了可用的计算资源,作者研讨了几种 YOLOS 变体,具体装备如表1所示。
3.2 预练习的影响
作者研讨了不同的预练习战略 (标签监督和自监督),在将 ViT (DeiT-Ti 和 DeiT-S) 从 ImageNet-1k 经过 YOLOS搬迁到 COCO 方针检测基准时的影响。成果如表2、表3所示。
Necessity of Pre-training 在流行的搬迁学习范式下,预练习在计算效率方面是必要的。关于 tiny 和 small 模型,作者发现与随机初始化的 COCO 练习 (从零开端练习) 相比,ImageNet-1k 的预练习节省了总的理论前向推理时间 (预练习总 FLOPs 和微调总 FLOPs)。
Label-supervised Pre-training 关于运用 ImageNet-1k 根据 ground truth 标签的预练习,作者发现不同巨细的模型偏好不同的预练习调度。
Self-supervised Pre-training Transformer 在 NLP 中的成功,很大程度上得益于大规模的自监督预练习。在视觉方面,前沿的研讨是在 NLP 中按照掩膜自编码范式练习自监督的 Transformer。最近的关于 siamese 网络的研讨显现了有趣的特性 以及 对下流使命的杰出可搬迁性。作者运用表3中的 MoCo-v3 和 DINO 自监督预练习的ViT 权重,对 YOLO-S 进行了初步的搬迁学习试验。
YOLOS as a Transfer Learning Benchmark for ViT 由以上的剖析能够知道,ImageNet-1k 的预练习成果不能准确反映在 COCO 方针检测的搬迁学习功能。与广泛运用的图画辨认搬迁学习基准如 CIFAR-10/100、Oxford-IIIT Pets 和 Oxford Flowers-102,YOLOS 在 COCO 上的功能对预练习计划愈加灵敏,功能远未到达饱满。因而,能够将 YOLOS 作为一个具有挑战性的搬迁学习基准来评价不同 (标签监督或自监督) 的 ViT 预练习战略是合理的。
3.3 不同标准模型的预练习和搬迁学习才能
研讨了不同模型缩放战略,如宽度缩放、均匀复合缩放和快速缩放的预练习和搬迁学习才能。在预练习中,模型从 ~1.2G 扩展到了 ~4.5G FLOPs,具体的模型装备和描述见第3.1节和表1。不同标准模型的预练习和搬迁学习功能如表4。
3.4 和根据CNN的方针检测器进行比较
Comparisons with Tiny-sized CNN Detectors 如表5所示,相关于老练的、高度优化的 CNN 方针检测器,tiny 尺度的 YOLOS 模型取得了令人印象深刻的功能。
Comparisons with DETR 如表6所示,YOLOS-Ti 仍然比对应的 DETR 的功能愈加好,而宽度缩放得更大的YOLOS 模型竞争力较低:计算量较大的 YOLOS-S 比巨细附近的 DETR 模型低 0.8 AP,愈加糟糕的是,YOLOS-B 无法打败超过 2x 参数和 FLOPs 的 DETR。
Interpreting the Results 尽管功能看起来有些令人沮丧,但这些数字是有意义的,由于 YOLOS 并不是为了更好的功能而规划的,而是为了精确地揭示 ViT 在方针检测中的可搬迁性。
3.5 检查 Detection Tokens
Qualitative Analysis on Detection Tokens 作为一个方针检测器,YOLOS 运用 [DET] tokens 来表明检测方针。作者发现 [DET] tokens 对方针方位和巨细灵敏,而对方针类别不灵敏,如图2和图3所示。
Detaching Detection Tokens 如表7所示,拆分 [DET] tokens 对 AP 的影响较小,这说明 [DET] tokens 首要是作为 [PATCH] tokens 的信息载体。
4. 总结
在本中,作者探究了在中等巨细的 ImageNet-1k 数据集上预练习的一般 ViT,运用到更具挑战性的 COCO 方针检测基准上的可搬迁性。作者证明,二维方针检测能够运用一个朴实的序列到序列的办法,以最小的附加概括偏置来完结。YOLOS 在 COCO 上功能杰出,这表明 Transformer 对各种下流使命的通用性。
5. 参考
[1] You Only Look at One Sequence: Rethinking Transformer in Vision through Object Detection.
好了,以上解读了 YOLOS 经过方针检测从头考虑Vision Transformer。希望我的共享能对你的学习有一点协助。
【大众号传送】
《极智Paper | YOLOS 经过方针检测从头考虑Vision Transformer》