点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

作者丨happy

审稿丨邓富城

编辑丨极市平台

导读

本文是华科&地平线关于Transformer的迁移学习、泛化性能方面的深度思考。重点揭示了Transformer的迁移学习能力与泛化性能,同时引出了Transformer在模型缩放与ConvNet缩放不一致的问题。

paper: https://arxiv.org/abs/2106.00666

code: https://github.com/hustvl/YOLOS

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

Abstract

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

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

YOLOS

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

Architecture

上图给出了本文所提YOLOS架构示意图,而从ViT到YOLOS的过渡非常简单:

  • YOLOS丢弃了用于图像分类的CLS而添加了100个随机初始化的DET;

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

Detection Token

我们针对性的选择随机初始的DET作为目标表达的代理以避免2D结构与标签赋值时注入的先验知识存在的归纳偏置。当在COCO上进行微调时,每次前向传播时,在DET与真实目标之间构建一个最优偶匹配。该步骤起着与标签赋值相同的作用,但它与2D结构无关,也即是说:YOLOS不需要将ViT的输出重解释为2D结构以进行标签赋值。理论上来讲,YOLOS可以进行任意维目标检测,且无需知道精确的空间结构或者几何结构,只要将输入按照相同方式平展为序列即可。

Fine-tuning at Higher Resolution

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

Inductive Bias

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

Comparisons with DETR

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

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

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

Experiments

Setup

Pre-training

我们在ImageNet上采用DeiT训练策略对YOLOS/ViT进行预训练。

Fine-tuning

我们采用类似DETR方式在COCO数据上对YOLOS进行微调。

Model Variants

下表给出了我们关于YOLOS的不同模型配置信息。

The Effects of Pre-training

我们通过YOLOS研究了不同预训练策略对于ViT的影响,结果见上表。从上表可以看到:

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

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

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

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需要一种新的模型缩放策略

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的灵活性与泛化性能

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

本文亮点总结

1. YOLOS是一系列基于朴素ViT的目标检测模型,在中等大小数据集ImageNet上预训练的YOLOS已经足以在COCO上取得极具竞争力的目标检测性能。

2. YOLOS可以轻易的适配不同的Transformer结构,这种简单的设置初衷不是为了更好的检测性能,而是为了尽可能无偏的揭示Transformer在目标检测方面的特性。

如果觉得有用,就请分享到朋友圈吧!

点个在看 paper不断!

YOLOS:重新思考Transformer的泛化性能相关推荐

  1. 速度、准确率与泛化性能媲美SOTA CNN,Facebook开源高效图像Transformer

    机器之心报道 参与:魔王.小舟.杜伟 将自然语言处理领域主流模型 Transformer 应用在视觉领域似乎正在成为趋势.最近,Facebook 研究人员提出一项新技术--数据高效图像 Transfo ...

  2. Facebook开源高效图像Transformer,速度、准确率与泛化性能媲美SOTA CNN

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | 机器之心 将自然语言处理领域主流模型 Transform ...

  3. 深度丨如何理解和评价机器学习中的表达能力、训练难度和泛化性能

    来源: Eric Jang 的个人博客 非常感谢王家兴 (Jiaxing Wang) 把这个博客文章翻译成中文. 当我在阅读机器学习相关文献的时候, 我经常思考这项工作是否: 提高了模型的表达能力: ...

  4. 如何理解和评价机器学习中的表达能力、训练难度和泛化性能

    来源: Eric Jang 的个人博客 非常感谢王家兴 (Jiaxing Wang) 把这个博客文章翻译成中文. 当我在阅读机器学习相关文献的时候, 我经常思考这项工作是否: 提高了模型的表达能力: ...

  5. 谷歌实现2种新的强化学习算法,“比肩”DQN,泛化性能更佳!|ICLR 2021

    丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 强化学习(RL)算法持续"进化"中-- 来自Google Research的研究人员,证明可以使用图表示 (graph ...

  6. My findings:CoordConv坐标嵌入技术及其泛化性能

    title: CoordConv - My Surprising Findings author: yangsenius original url: https://senyang-ml.github ...

  7. 学习笔记 | 2023 AAAI 对抗性权值扰动改善图神经网络的泛化性能

    一.前言 对抗性权值扰动改善图神经网络的泛化性能.2022 ICLR Reject,2023 AAAI Accept. 论文地址:Adversarial Weight Perturbation Imp ...

  8. 简单谈谈模型的泛化性能

    泛化性能的首要因素是样本:训练的数据量越小越容易过拟合,模型泛化性不好首先应该考虑的是训练样本的数量和质量 提高泛化的本质是引入更多随机性:正则化,dropout,数据增强这些其实都相当于增加噪声,为 ...

  9. ICLR 2020 Spotlight!从梯度信噪比来理解深度学习泛化性能 | AI TIME PhD

    AI TIME欢迎每一位AI爱好者的加入! 深度学习在诸多应用领域取得了巨大的成功,但是其背后的基础理论确相对有些滞后.与传统浅层学习模型不同,深度学习所得到的深度神经网络(DNNs)层次更为复杂,然 ...

最新文章

  1. Java基础:JDK1.5新特性
  2. git push时出现错误refusing to update checked out branch: refs/heads/master
  3. 导演李大为婚礼全过程(一)
  4. 前端开发神器 vscode 常用快捷键
  5. 服务器批量修改代码,利用Redis实现多服务器批量操作
  6. HAproxy + keepalived 实现双机热备
  7. clover使用教程
  8. 向量与直线,梯度与法向量,切向量
  9. b站用户年龄段占比_用户和电商变现上,微博、小红书、B站差别在哪里?
  10. autoCAD恐吓式销售_恐吓式软文的例子 恐吓式软文营销案例分享
  11. 黑马程序员Java零基础视频教程(2022最新Java)B站视频学习笔记-Day13-面向对象进阶01
  12. Android进阶(九)APP编程感想
  13. 11岁的Tumblr:开启艰难禁黄之路
  14. ug电子产品计算机建模,UG10网格曲面咖啡壶
  15. 判断图片是否为现场照片(Live Photo亦即内含Exif信息)
  16. 安装wordcloud库的方法
  17. 计算机网络 华南理工大学期末重点 第二章 物理层 谢希仁
  18. 【SDOI2009】学校食堂
  19. 驻场开发让我学到了哪些?
  20. 知乎问答:为什么现在又流行服务器端渲染html?

热门文章

  1. 青少年电子信息智能创新大赛 赛项说明(Scratch编程创新挑战赛)
  2. 我用 YOLOv5 做情感识别!
  3. 一口气看完45个寄存器,CPU核心技术大揭秘
  4. 百度重磅发布云手机:低配置也可玩大型游戏 21
  5. GitHub接连封杀开源项目惹众怒,CEO亲自道歉
  6. 解密Elasticsearch技术,腾讯开源的万亿级分布式搜索分析引擎
  7. CornerNet: 成对关键点物体检测 | CSDN博文精选
  8. 分析Booking的150种机器学习模型,我总结了六条成功经验
  9. ICLR 2020论文投稿2600篇,GNN、BERT、Transformer领跑热门研究方向
  10. 百度大脑金秋九月CV盛典,人脸识别新产品及伙伴计划发布会压轴开启