美团提出基于隐式条件位置编码的Transformer,性能优于ViT和DeiT

点击上方,选择星标置顶,不定期资源大放送

阅读大概需要8分钟

Follow小博主,每天更新前沿干货

转载自:机器之心

Transformer 跨界计算机视觉的热潮之下,有一个问题需要解决:如何像 CNN 一样直接处理不同尺寸的输入?对此,美团提出了一种新型隐式条件位置编码方法,基于该方法的 CPVT 模型性能优于 ViT 和 DeiT。

随着 Facebook 的 DETR (ECCV 2020)[2] 和谷歌的 ViT (ICLR 2021)[3] 的提出,Transformer 在视觉领域的应用开始迅速升温,成为当下视觉研究的第一热点。但视觉 Transformer 受限于固定长度的位置编码,不能像 CNN 一样直接处理不同的输入尺寸,这在很大程度上限制了视觉 Transformer 的应用,因为很多视觉任务,如检测,需要在测试时动态改变输入大小。

一种解决方案是对 ViT 中位置编码进行插值,使其适应不同的图片大小,但这种方案需要重新 fine-tune 模型,否则结果会变差。

最近,美团提出了一种用于视觉 Transformer 的隐式条件位置编码 CPE [1],放宽了显式位置编码给输入尺寸带来的限制,使得 Transformer 便于处理不同尺寸的输入。实验表明,应用了 CPE 的 Transformer 性能优于 ViT 和 DeiT。

论文地址:https://arxiv.org/pdf/2102.10882.pdf

项目地址:https://github.com/Meituan-AutoML/CPVT(即将开源)

背景

谷歌的 ViT 方法通常将一幅 224×224 的图片打散成 196 个 16×16 的图片块(patch),依次对其做线性编码,从而得到一个输入序列(input sequence),使 Transformer 可以像处理字符序列一样处理图片。同时,为了保留各个图片块之间的位置信息,加入了和输入序列编码维度等长的位置编码。DeiT [4] 提高了 ViT 的训练效率,不再需要把大数据集(如 JFT-300M)作为预训练的限制,Transformer 可以直接在 ImageNet 上训练。

对于视觉 Transformer,位置编码不可或缺

在 ViT 和 CPVT 的实验中,我们可以发现没有位置编码的 Transformer 性能会出现明显下降。除此之外,在 Table 1 中,可学习(learnable)的位置编码和正余弦(sin-cos)编码效果接近,2D 的相对编码(2D RPE)性能较差,但仍然优于去掉位置编码的情形。

 

美团、阿德莱德大型提出新型位置编码方法

位置编码的设计要求

显式的位置编码限制了输入尺寸,因此美团这项研究考虑使用隐式的根据输入而变化的变长编码方法。此外,它还需要满足以下要求:

  • 保持很好的性能;

  • 避免排列不变性(permutation equivariance);

  • 易于实现。

基于上述要求,该研究提出了条件编码生成器 PEG(Positional Encoding Generator),来生成隐式的位置编码。

生成隐式的条件位置编码

在 PEG 中,将上一层 Encoder 的 1D 输出变形成 2D,再使用变换模块学习其位置信息,最后重新变形到 1D 空间,与之前的 1D 输出相加之后作为下一个 Encoder 的输入,如 Figure 2 所示。这里的变换单元(Transoformation unit)可以是 Depthwise 卷积、Depthwise Separable 卷积或其他更为复杂的模块。

将 PEG 插入到模型中(如 Figure 1 中添加在第一个 Encoder 后),即可对各个 Encoder 添加位置编码信息。这种编码好处在于不需要显式指定,长度可以依输入变化而变化,因此被称为隐式的条件位置编码。

 

实验

ImageNet 数据集

该研究将添加了 PEG 的 Vision Transformer 模型命名为 CPVT(Conditional Position encodings Visual Transformer)。在 ImageNet 数据集上,相同量级的 CPVT 模型性能优于 ViT 和 DeiT。得益于隐式条件编码可以根据输入动态调整的特性,基于 224×224 输入训练好的模型可以直接处理 384×384 输入(Table 3 最后一列),无需 fine-tune 就能直接获得性能提升。相比之下,其他显式编码没有 fine-tune 则会出现性能损失。

 

与其他编码方式的对比

Table 5 给出了 CPVT-Ti 模型在不同编码策略下的表现。其中在从第 0 个到第 5 个 Encoder 各插入一个 PEG 的性能最优,Top-1 准确率达到 73.4%。CPVT 单独使用 PEG 或与可学习编码相结合也优于 DeiT-tiny 在各种编码策略下的表现。

 

PEG 在不同位置的作用

ViT 主干由 12 个 Encoder 组成,CPVT 对比了 PEG 位于 -1、0、3、6、10 等处的结果。实验表明,PEG 用于第一个 Encoder 之后表现最好 (idx 0)。该研究认为,放在第一个 encoder 之后不仅可以提供全局的接受域,也能够保证模型尽早地利用到位置信息。

 

结论

CPVT 提出的隐式位置编码是一个即插即用的通用方法。它放宽了对输入尺寸的限制,因而有望促进 Vision Transformer 在分割、检测、超分辨率等任务中的进一步应用,提升其性能。这项研究对后续 Vision Transformer 的发展将产生积极的影响。 

参考文献

1.Do We Really Need Explicit Position Encodings for Vision Transformers? https://arxiv.org/pdf/2102.10882.pdf

2.End-to-end object detection with transformers https://arxiv.org/abs/2005.12872

3.An image is worth 16x16 words: Transformers for image recognition at scale  https://openreview.net/pdf?id=YicbFdNTTy

4.Training data-efficient image transformers & distillation through attention https://arxiv.org/abs/2012.12877

重磅!DLer-AI顶会交流群已成立!

大家好,这是DLer-AI顶会交流群!首先非常感谢大家的支持和鼓励,欢迎各位加入DLer-AI顶会交流群!本群旨在学习交流人工智能顶会(CVPR/ICCV/ECCV/NIPS/ICML/ICLR/AAAI等)、顶刊(IJCV/TPAMI/TIP等)写作与投稿事宜。包括第一时间发布论文信息和公开演讲视频,以及各大会议的workshop等等。希望能给大家提供一个更精准的研讨交流平台!!!

添加请备注:AI顶会+学校/公司+昵称(如CVPR+上交+小明)

???? 长按识别添加,即可进群!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值