英伟达提出AdaViT:出于DeiT而又快于DeiT

AdaViT是一种新的Transformer模型,旨在解决ViT在处理图像时的高计算成本问题。通过引入自适应的Halt Score,AdaViT能够根据输入图像的复杂度动态调整计算量,提高推理效率。实验表明,AdaViT在保持较高准确性的同时,显著提升了DeiT模型的吞吐量。
摘要由CSDN通过智能技术生成

©作者 |小欣

01 简介

自从Vision Transformer(ViT)被提出以来,Transformer已经成为一种流行的神经网络架构,并广泛的应用到计算机视觉领域之中,如图像分类、目标检测、图像生成和语义分割等任务。

但是,Transformer目前最主流的模式仍然是ViT通过将图像分割成一系列有序的Patches来形成Token,并通过在Token之间建模来解决CV底层问题。

目前使用ViT处理图像的计算成本仍然很高,主要是原因是因为Token之间交互计算带来了二次方的计算复杂度。因此,在大量的计算和内存资源中,在服务端或边缘计算端部署ViT是一个具有挑战性的任务。

AdaViT主要研究如何根据输入图像的复杂度自动调整ViT的计算量。目前几乎所有主流的ViT在推理过程中都有一个独立于输入的固定开销。然而,预测任务的难度随着输入图像的复杂性而变化。

例如,从具有同质背景的图像中对汽车和人进行分类是相对简单的;而在复杂的背景下区分不同品种的狗则更具挑战性。即使是在一张图像中,包含物体详细特征的Patch比那些来自背景的Patch提供的信息要多得多。

针对神经网络的输入依赖问题在以前的工作中已经得到了研究。Graves提出ACT,将神经网络模块的输出作为一个mean-field模型定义的Halt分布。

ACT将离散的暂停问题松弛为一个连续的优化问题,使总计算的上限最小化;最近,随机方法也被应用于解决这个问题,利用几何模型的输出分布,让一些层在训练前期便停止更新。

fignov等人提出了一种ACT的空间扩展,它沿着空间而不是残差层暂停卷积操作。

这种方法并不会带来更快的推理,因为高性能硬件仍然依赖于密集计算;AdaViT作者遵循ACT提出了一种基于输入的ViT自适应推理机制,其中对残差层中的所有Token同时停止计算。作者还观察到,这种方法仅仅减少了计算的一小部分,但造成了不小的精度损失。

为了解决上述精度问题,作者提出了AdaViT,一种空间自适应推理机制,它在不同深度暂停不同Token的计算,以动态的方式保留有价值的Token参与计算。

与卷积特征映射中的逐点ACT不同,AdaViT可以直接由高性能硬件支持,因为停止的Token可以有效地从底层计算中移除。

此外,在不引入额外参数的情况下,可以利用模型中已有的参数来学习整个自适应机制。

02 AdaViT方法

假如让一张图像

图片

作为输入,并通过下式进行预测,得到输出结果y:

图片

其中,编码网络

图片

将x的图像patch标记为token

图片

,K为token的总数,E为每个token的嵌入维数。C是class token的后处理,而L中间Transformer则通过Self-Attention对输入进行转换。

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CV案例精选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值