作者|魔王、小舟、杜伟

来源|机器之心

将自然语言处理领域主流模型 Transformer 应用在视觉领域似乎正在成为趋势。最近,Facebook 研究人员提出一项新技术——数据高效图像 Transformer (DeiT),该方法所需的数据量和计算资源更少,且能产生高性能的图像分类模型。

Transformer 是自然语言处理领域的主流方法,在多项任务中实现了 SOTA 结果。近期越来越多的研究开始把 Transformer 引入计算机视觉领域,例如 OpenAI 的 iGPT、Facebook 提出的 DETR 等。

最近,Facebook 提出了一项新技术 Data-efficient image Transformers(DeiT),需要更少的数据和更少的计算资源就能生成高性能的图像分类模型。研究人员仅用一台 8-GPU 的服务器对 DeiT 模型进行 3 天训练,该方法就在 ImageNet 基准测试中达到了 84.2% 的 top-1 准确率,并且训练阶段未使用任何外部数据,该结果可以与顶尖的卷积神经网络(CNN)媲美。

该研究提出的方法(DeiT 和带蒸馏的 DeiT)与以前的视觉 Transformer 模型以及 SOTA CNN 的性能曲线对比,这些模型均在 ImageNet 上训练而成。

该研究表明仅使用常规的学术数据集就能训练 Transformer,使之高效处理图像分类任务。研究者希望借此推动计算机视觉领域发展,将 Transformer 扩展到新的用例上,并让无法使用大规模系统来训练大型 AI 模型的研究者和工程师能够利用该研究。DeiT 方法由 Facebook AI 与索邦大学的 Matthieu Cord 教授合作开发,目前代码已开源。

论文标题:

Training data-efficient image transformers & distillation through attention

论文链接:

https://arxiv.org/pdf/2012.12877.pdf

代码链接:

https://github.com/facebookresearch/deit

方法

图像分类是理解一张图像主要内容的任务,对于人类而言很简单,但对机器来说却很困难。图像分类对 DeiT 这类无卷积 Transformer 模型来说尤其具有挑战性,因为这些系统没有很多关于图像的统计先验。所以,它们通常必须「观察」大量的示例图像之后才能学习对不同对象进行分类。然而,Facebook AI 研究者提出的 DeiT 仅使用 120 万张图像就可实现高效训练,而不需要数亿张图像。

DeiT 首个重要的组件是其训练策略。研究者在最初用于卷积神经网络的现有研究基础上进行了调整与改进,并提出了一种基于蒸馏 token 的新型蒸馏流程,它的作用与 class token 相同,不过其目的在于复制教师网络估计的标签。实验结果表明,这种特定 transformer 策略大幅度优于 vanilla 蒸馏方法。

蒸馏流程如下图所示。研究者仅添加了一个新的蒸馏 token,它通过自注意力层与 class token 和 patch token 交互作用。蒸馏 token 的作用与 class token 类似,不过前者的目的是复制教师网络预测的(硬)标签,而不是正确标签。Transformer 的 class token 和蒸馏 token 输入均通过反向传播学得。

有趣的是,研究者观察到,学得的 class token 和蒸馏 token 收敛到不同的向量:token 之间的余弦相似度等于 0.06。由于类和蒸馏嵌入是在每一层上进行计算的,因此它们在网络中变得越来越相似,一直到最后一层时相似度达到非常高(cos=0.93),但仍低于 1。这种情况在预期之中,因为它们的目的是生成相似但不同的目标。

在测试时,Transformer 生成的类或蒸馏嵌入与线性分类器相联系,并能够推断出图像标签。

实验

研究者实施了多项分析实验,首先探讨了蒸馏策略,然后对比分析了卷积神经网络和视觉 transformer 模型的效率与准确率权衡。

下表 1 展示了该研究考虑的多种模型变体,如无特殊说明,则 DeiT 指代的是 DeiT-B 模型。

表 1:DeiT 架构变体。DeiT-B 是其中较大的模型,架构与 ViT-B 相同,但是训练策略和蒸馏 token 不同;DeiT-S 和 DeiT-Ti 是两个较小的模型。

蒸馏

1. 不同教师网络之间的对比

首先来看使用不同模型做教师网络的情形。

实验发现,使用 Convnet 做教师网络的性能要优于使用 transformer。下表 2 对比了使用不同教师架构的蒸馏结果:

2. 不同蒸馏方法的对比

接下来,我们来看蒸馏方法的对比,不同蒸馏策略的性能对比结果参见下表 3。

从中可以看出,对于 transformer 而言,硬蒸馏显著优于软蒸馏,即使在只使用一个 class token 的情况下也是如此:硬蒸馏达到了 83.0% 的准确率,软蒸馏为 81.8%。

该研究提出的蒸馏策略进一步提升了性能,表明 class token 和蒸馏 token 能够提供对分类任务有用的补充信息:基于这两个 token 的分类器性能显著优于单独的 class 分类器和蒸馏分类器,不过单独的分类器依然超过了蒸馏基线方法。

3. 教师网络和归纳偏置存在一致性吗?

教师架构对性能有很大影响,那么它会继承已有的归纳偏置吗?Facebook AI 研究者分析了 convnet 教师网络、仅基于标签学得的 DeiT 和 transformer ,结果参见下表 4:

从中可以看出,该研究提出的蒸馏模型与 convnet 的相关性强于从头开始学习的 transformer。使用蒸馏嵌入的分类器与 convnet 的差距比使用类别嵌入的分类器更小,使用类别嵌入的分类器更类似未经蒸馏的 DeiT。class+distil 分类器处于中间地带。

效率与准确率权衡

下表总结了不同方法在 ImageNet V2 和 ImageNet Real 数据集上的性能结果。相比于具备同等参数量的 EfficientNet,convnet 变体速度更慢,原因在于大型矩阵乘法要比小型卷积提供更多硬件优化机会。在这两个数据集上,EfficientNet-B4 的速度与相同,准确率也处于相同水平。

迁移学习:下游任务的性能

尽管 DeiT 在 ImageNet 数据集上表现良好,但通过迁移学习评估 DeiT 在其他数据集上的性能也很重要,这样可以度量 DeiT 的泛化性能。

研究者通过对下表 7 中的数据集进行微调,在迁移学习任务上对此进行了评估。下表 8 则将 DeiT 迁移学习结果与 ViT 和 SOTA 卷积架构的结果进行了比较。该研究发现 DeiT 的结果和最佳卷积的结果相当,这和此前在 ImageNet 数据集上的结论是一致的。

参考链接:https://ai.facebook.com/blog/data-efficient-image-transformers-a-promising-new-technique-for-image-classification/

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

Facebook开源数据高效图像Transformer,媲美SOTA CNN相关推荐

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

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

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

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

  3. ECCV 2022|通往数据高效的Transformer目标检测器

    作者丨encounter1997@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/545435909 编辑丨极市平台 导读 本文围绕Detection Transfor ...

  4. Faiss(Facebook开源的高效相似搜索库)学习小记

    1. 写在前面 faiss是在设计推荐系统入门竞赛之新闻推荐中学习到的一个非常好用的工具包,这个是Facebook AI团队开源的针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级 ...

  5. ​东京大学商汤悉尼大学等提出融合了动态规划、分治算法的MIM,实现绿色高效层次Transformer!已开源!...

    关注公众号,发现CV技术之美 本文分享论文『Green Hierarchical Vision Transformer for Masked Image Modeling』,由东京大学&商汤& ...

  6. 开源数据计算引擎,实现媲美ElasticSearch的高性能并发查询

    高并发帐户查询的应用场景有很多,例如:手机银行查流水.电商系统查购物订单.手游帐户查充值记录等等.这些场景一般会涉及众多帐户,数据总量非常大,需要外存.每个帐户的数据量通常不大(几条到几千条),而且就 ...

  7. 继Facebook开源PyTorch3D后,谷歌开源TensorFlow 3D场景理解库

    来源:机器之心本文约2000字,建议阅读5分钟谷歌于近日开源了一个基于 TF 框架的高度模块化和高效处理库 TensorFlow 3D. 继 2020 年初 Facebook 开源基于 PyTorch ...

  8. 继 Facebook 开源 PyTorch3D 后,谷歌开源 TensorFlow 3D 场景理解库

    转自:机器之心 [导语]:继 2020 年初 Facebook 开源基于 PyTorch 的 3D 计算机视觉库 PyTorch3D 之后,谷歌也于近日开源了一个基于 TF 框架的高度模块化和高效处理 ...

  9. Bossie Awards 2013:最佳开源数据中心和云软件

    当Facebook 的开源计算项目(OCP)酝酿着设计更好的服务器和网络时,其他开源项目也纷纷重塑数据库,应用平台以及下一代应用程序的虚拟化层.你还不知道吧,下一代的"云"基础设施 ...

最新文章

  1. 卷进大厂系列之LeetCode刷题笔记:长度最小的子数组(中等)
  2. oracle 入参含多个值,oracle几个检查点参数的含义与区别
  3. Transformation HDU - 6726(百度之星复赛2019 dfs)
  4. java 反射 获取方法列表_Java 反射获取类详细信息的常用方法汇总
  5. c语言负数除法运算过程,C语言负数的除法和求余运算
  6. unity 世界坐标间角度_Unity 世界坐标局部坐标下的旋转
  7. Linux过时了- 塔能鲍姆-托瓦兹辩论(Tanenbaum–Torvalds debate)
  8. 网易设计师:交互设计要承担的8大工作职能
  9. 一个机柜多少u?一个机柜可以放多少台服务器?
  10. 【计算机视觉】关于计算机视觉(随谈)
  11. 使用@Vaild或@Validated正则校验以及常用正则
  12. 携职教育:个税APP申报流程
  13. EF 配置Oracle数据库 EF ORA-01918: 用户 'dbo' 不存在
  14. 国内外10大项目外包平台
  15. oracle 删除后恢复,Oracle快速恢复误删数据的方法
  16. 解决3D云渲染不支持FloorGenerator+MultiTexture插件
  17. GWR-GTWR-GTWRK
  18. 架设ftp-http-tftp server服务器
  19. java webclient_java使用WebClient获取不到重定向的网页信息
  20. 华为2017届应届生薪酬策略

热门文章

  1. ajax 最大链接数_leetcode之第三大的数
  2. vue cli 4 多环境_Vue 前端uni-app多环境配置部署服务器的问题
  3. Qt: QTimer和QThread
  4. 算法竞赛入门经典 写题笔记(第五章 图论算法与模型2)
  5. 说说docker run的--detach
  6. 洛谷 P1071 潜伏者
  7. $.each 用break 好像不太灵啊
  8. webstorm 设置jsp支持
  9. SQLServer存储过程/函数加/解密(轉)
  10. java写龟兔赛跑_简单的实现java多线程——龟兔赛跑