首页 > 编程知识 正文

vtoken今天什么情况了,谷歌服务助手2021

时间:2023-05-05 22:38:55 阅读:33735 作者:4041

请单击下面的卡片,并注意“CVer”上的公共号码

AI/CV重磅干货,第一时间送达

转载:新智元|编辑:咸鱼困

33558www.Sina.com/Google改造Vision Transformer的新作收录在NeurIPS 2021中。 在这篇文章中,谷歌提出了TokenLearner方法。 使用Vision Transformer可以减少多达8倍的计算量,但分类性能反而会提高。 目前,Transformer模型在计算机视觉任务(包括目标检测和视频分类等任务)方面取得了领先的结果。

与标准的按像素处理图像的卷积方法不同,视觉变换(vit )会将图像视为一系列弹子,即由多个像素组成的小部分图像。

这意味着在每一层神经网络中,ViT模型都使用“多头自我注意力”(multi-head self-attention ),根据每一对token之间的关系来处理patch token。

这样,ViT模型就可以构建整个图像的全局表示。

在输入端子中,图像被均等地分割为多个部分以形成token,例如,512512像素的图像被分割为1616像素的patch token。 在中间层中,上层的输出成为下层的token。

在这里插入一句话。 处理视频时,视频的“管道”是token,如16x16x2视频剪辑和2帧16x16图像。 视觉token的质量和数量决定了Vision Transformer的整体性能。

许多Vision Transformer结构面临的主要挑战是需要大量的令牌才能获得合理的结果。

例如,即使使用16x16patch token化,单个512x512图像也对应于1024个token。 具有多个帧的视频可能需要每层处理数万个token。

考虑到Transformer的计算量随着token数量的增加而平方增长,Transformer通常很难处理更大的图像和更长的视频。

这引出了一个问题。 真的需要在每一层处理那么多token吗?

谷歌表示:“token learner:what can8learnedtokensdoforimagesandvideos? ”中出现了“适应”的概念。 这篇文章将在欧盟rips 2021上展出。

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

项目地址: https://github.com/Google-research/scenic/tree/main/scenic/projects/token _ learner

实验表明,tokenLearner可以自适应地生成更少数量的token,而不是总是依赖于图像均衡的token,从而使Vision Transformer运行更快并提高性能

TokenLearner是一个可学习的模块,它获取图像的漂亮裙子或输入,并生成token组。 此模块可以位于Vision Transformer模型的不同位置,大大减少了所有后续层处理的token的数量。

实验表明,使用TokenLearner可以节省一半以上的内存和计算量,但分类性能不会降低,而且可以通过适应输入的能力提高精度。

什么是TokenLearner?

TokenLearner其实是一种简单的空间注意方法。

为了让每个TokenLearner学习有用的信息,必须首先使用卷积层或MLP计算突出的关键区域的空间注意力。

并且,这种空间注意的设法用于对每个输入的区域进行加权,以废弃不需要的区域为目的。 然后,结果被空间池化后,最终生成学习到的token。

应用于单个图像的TokenLearner模块的视觉图像

TokenLearner学习了对漂亮的裙子像素子集进行空间处理,以生成一组适应输入的token向量。

通过多次并行重复该操作,能够根据原始输入生成n个(10个左右) token。

换句话说,TokenLearner也可以认为是基于权重值进行像素选择,然后进行全局平均。

有趣的是,计算注意力的函数由不同的可学习参数控制,并进行端到端训练。 这样,在捕捉不同输入的空间信息时可以优化注意力函数。

实际上,模型学习多个空间注意函数,将其应用于输入,并平行生成不同的tok

en向量。

TokenLearner模块学习为每个输出标记生成一个空间注意力图,并使用它来抽象化输入的token

因此,TokenLearner使模型能够处理与特定识别任务相关的少量token,而不是处理固定的、统一的token化输入。

也就是说,TokenLearner启用了自适应token,以便可以根据输入动态选择token,这一做法有效地减少了token的总数,大大减少了Transformer网络的计算。

而这些动态自适应生成的token也可用于标准的Transformer架构,如图像领域的ViT和视频领域的ViViT(Video Vision Transformer)。

TokenLearner放在哪?

构建TokenLearner模块后,下一步就必须要确定将其放置在哪个位置。

首先,研究人员尝试将它放置在标准ViT架构中的不同位置,输入图像使用224x224的大小。

TokenLearner生成的token数量为8个和16个,远远少于标准ViT使用的196个或576个token。

下图显示了在ViT B/16中的不同相对位置插入TokenLearner的模型的ImageNet 5-shot分类精度和FLOPs,其中ViT B/16是一个基础模型,有12个注意力层。其运行时使用16x16大小的patch token。

在JFT 300M的预训练下,ImageNet的5-shot精度与ViT B/16中TokenLearner的相对位置有关

位置0意味着TokenLearner被置于任何Transformer层之前。其中,baseline是标准的ViT B/16的ImageNet 5-shot分类精度和FLOPs。

计算量以数十亿次浮点运算(GFLOPS)衡量

我们发现,在网络的最初四分之一处(1/4处)插入TokenLearner,实现了与基线几乎相同的准确性,同时将计算量减少到基线的三分之一以下。

此外,将TokenLearner放在后面一层(网络的3/4之后),与不使用TokenLearner相比,取得了更好的性能,同时由于其适应性,性能更快。

由于TokenLearner前后的token数量相差很大(例如,前196个,后8个),TokenLearner模块后的相对计算量几乎可以忽略不计。

TokenLearner VS ViT

将带有TokenLearner的ViT模型和普通的ViT模型进行对比,同时在ImageNet的few-shot上采用相同的设置。

TokenLearner会被放置在每个ViT模型中间的不同位置,如网络的1/2和3/4处。其中,模型通过JFT 300M进行预训练。

从图上观察可以得知,TokenLearner模型在准确率和计算量方面的表现都比ViT要好。

不同版本的ViT模型在ImageNet分类上的表现

在更大的ViT模型中插入TokenLearner,如具有24个注意力层,并以10x10(或8x8)个patch作为初始token的L/10和L/8。

之后,将这两个模型与48层的ViT G/14模型进行比较。

可以看到,在表现和G/14模型相当的情况下,TokenLearner只需要非常少的参数和计算量。

左:大规模TokenLearner模型与ViT G/14在ImageNet数据集上的分类精度对比;右:参数量和FLOPS的对比

高性能视频模型

视频理解是计算机视觉的关键挑战之一,TokenLearner在多个视频分类数据集基准上取得了SOTA的性能。

其中,在Kinetics-400和Kinetics-600上的性能超过了以前的Transformer模型,在ssdsn和AViD上也超过了之前的CNN模型。

通过与视频视觉Transformer(Video Vision Transformer,ViViT)结合,TokenLearner会在每个时间段学习8(或16)个token。

左:视频分类任务;右图:不同模型的对比

随着时间的推移,当人物在场景中移动时,TokenLearner会注意到不同的空间位置变化从而进行token化。

TokenLearner的空间注意力图的可视化

结论

虽然Vision Transformer是计算机视觉领域的一个强大模型,但大量的token及庞大的计算量一直是将ViT应用于更大图像和更长视频的瓶颈。

本文中作者表明,保留如此大量的token并在整个层集上完全处理它们是没有必要的。

此外,作者还证明了通过学习一个基于输入图像自适应提取token的模块,可以在节省计算的同时获得更好的性能。

最后,多个公共数据集上的验证也表明了TokenLearner在视频表征学习任务中的表现十分优异。

参考资料:

https://ai.googleblog.com/2021/12/improving-vision-transformer-efficiency.html?m=1

ICCV和CVPR 2021论文和代码下载后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDFCVer-Transformer交流群成立扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲长按加小助手微信,进交流群▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。