GiT: Towards Generalist Vision Transformer through Universal Language Interface

GiT: Towards Generalist Vision Transformer through Universal Language Interface

相关链接:arxiv github
关键字:Generalist Vision Transformer (GiT)Universal Language InterfaceMulti-task LearningZero-shot TransferTransformer

摘要

本文提出了一个简单而有效的框架,称为GiT,仅使用普通的ViT即可应用于各种视觉任务。受大型语言模型(LLMs)中广泛使用的多层Transformer架构(例如GPT)的普适性启发,我们寻求将其扩展应用作为强大的视觉基础模型(VFM)。然而,与语言建模不同,视觉任务通常需要特定的模块,如检测中的边界框头和分割中的像素解码器,这极大地阻碍了强大的多层Transformer在视觉领域中的应用。为了解决这个问题,我们设计了一个通用语言接口,使得成功的自回归解码能够熟练地统一各种视觉任务,从图像级别理解(例如标题生成)到稀疏感知(例如检测),再到密集预测(例如分割)。基于上述设计,整个模型仅由一种ViT组成,无需任何特定的添加,提供了显著的架构简化。GiT是一个多任务视觉模型,跨五个代表性基准联合训练而无需任务特定的微调。有趣的是,我们的GiT在通用表现方面树立了新的基准,并促进了任务之间的相互提升,与孤立训练相比有了显著的改善。这反映了LLMs中观察到的类似影响。通过进一步丰富27个数据集的训练,GiT在多种任务上实现了强大的零样本结果。由于它的设计简单,这种范式有望缩小视觉和语言之间的架构差距。代码和模型将在 https://github.com/Haiyang-W/GiT 上提供。

核心方法

image.png

GiT 的核心方法包括:

  1. 通用语言接口:设计了能够将图像和语言统一表示为标准词汇的token序列,简化了对于各种视觉任务的处理。
  2. 多任务模板和并行解码:提出了一种框架将图像划分为多个子区域,并通过并行解码来同时处理这些子任务,提高了处理效率。
  3. 模型架构:采用多层Transformer架构,并且在不依赖于视觉特定组件的情况下处理各种视觉任务,与大型语言模型架构一致。

实验说明

Object Detection (目标检测)

ModelSpecific ModulesNum#ParamsAPAP50AP75
Faster R-CNN-FPNResNet,RPN542M40.3--
GiT-Bsingle-taskNone1131M45.162.749.1
GiT-Bmulti-taskNone1131M46.764.250.7
GiT-Hmulti-taskNone1756M52.971.057.8

GiT 在目标检测任务中表现出色,即使在没有特定任务模块的情况下,其多任务训练的模型(GiT-Hmulti-task)也能达到最优表现。

Instance Segmentation (实例分割)

ModelSpecific ModulesNum#ParamsAPAP50AP75
Mask R-CNNResNet,RPN646M41.061.744.9
GiT-Bsingle-taskNone1131M31.454.831.2
GiT-Bmulti-taskNone1131M31.956.431.4
GiT-Hmulti-taskNone1756M35.862.635.6

即使在实例分割任务中,GiT 的多任务训练模型仍然展示了突出的改善和潜力。

Semantic Segmentation (语义分割)

ModelSpecific ModulesNum#ParamsmIoU(SS)
DeepLabV3+ResNet,Decoder363M80.9
GiT-Bsingle-taskNone1131M47.7
GiT-Bmulti-taskNone1131M47.8
GiT-Hmulti-taskNone1756M52.4

语义分割任务中,GiT 模型也能够在没有专门模块的情况下取得与专家系统相媲美的成绩。

Captioning (图像标题生成)

ModelSpecific ModulesNum#ParamsBLEU-4CIDEr
VL-T5Faster R-CNN3440M-116.5
GiT-Bsingle-taskNone1131M33.7107.9
GiT-Bmulti-taskNone1131M35.4112.6
GiT-Hmulti-taskNone1756M36.2118.2

图像标题生成任务显示,GiT 在多任务的训练下,取得了一致的优良表现。

结论

本论文介绍了一个基于简单的多层Transformer的通用视觉建模范式,该模型能够集成各种视觉中心任务,尤其是经常被忽视的对象级和像素级任务。类似于语言模型,所有视觉任务都通过通用语言接口结构化为自回归框架。GiT模型展现了与LLM类似的多任务能力,实现了多个基准上最好和相互增强的全面性能。也展现了强大的泛化能力,在27个公开可用数据集上的训练中实现了令人信服的零样本和少样本性能。

GiT在多个视觉任务中表现出色,不仅构建了一种新的通用视觉Transformer和语言接口的范式,而且还展示了跨任务增强和强大的零样本学习能力,为未来的研究提供了新的视角。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/544842.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器如何进行静态资源缓存?—— 强缓存 协商缓存

在平时使用浏览器排查问题的过程中,我们有时会看到浏览器网络请求中出现304状态码,那么是什么情况下出现304呢?下面是关于这一现象的解释: 浏览器如何进行静态资源缓存?—— 强缓存 & 协商缓存 状态码 304浏览器如…

GET和POST方法的区别

GET和POST的区别 在我们开发项目的时候常常会在Controller层使用到POST方法或者GET方法,犹豫到底将接口定义为GET方法还是POST方法?那这两者之间有什么区别呢? 看一下官方定义: GET 和 POST 是 HTTP 协议中最常用的两种请求方法…

(56)删除每行中的最大值

文章目录 1. 每日一言2. 题目3. 解题思路4. 代码5. 结语 1. 每日一言 抱怨过去发生的一切,就等于丧失了力量,白白浪费了往事要带给我们的成长。 2. 题目 题目链接:删除每行中的最大值 给你一个 m x n 大小的矩阵 grid ,由若干正…

STM32中MicroLIB的关闭为什么会导致卡死----解析

STM32MicroLIB 大家好我是 MHZ 。最近又开始往回捡单片机的知识了~ 之前大学的时候都没用过 STM 的 CubeMX,这会拿来用着感觉很方便啊~ 果然科技在进步! 在开发使用 Keil 对 STM32 进行开发的时候在会有一个叫做 MicroLIB 的选项。 这个的具体原因我搜…

数据结构/C++:红黑树

数据结构/C:红黑树 概念实现基本结构插入uncle为红色节点uncle为黑色节点 总代码展示 概念 红黑树是一种二叉搜索树,一般的二叉搜索会发送不平衡现象,导致搜索效率下降,于是学者们开始探索如何让二叉搜索树保持平衡,这…

java算法第25天 | ● 216.组合总和III ● 17.电话号码的字母组合

这两道题都是基于回溯的基本问题。 216.组合总和III 这道题是77.组合问题的变体&#xff0c;只不过终止条件多了一个和等于n。 class Solution {List<List<Integer>> resnew ArrayList<>();List<Integer> pathnew ArrayList<>();public List&l…

向量相似性度量的常用方法

向量相似性度量的常用方法 0. 引言1. 欧氏距离(Euclidean distance)2. 余弦相似度(Cosine similarity)3. 汉明距离(Hamming distance)4. 点积相似度 (Dot Product Similarity)5. 曼哈顿距离 (Manhattan Distance) 0. 引言 今天花时间学习学习向量相似性度量的常用方法&#xf…

zookeeper快速入门二:zookeeper基本概念

本文是zookeeper系列之快速入门中的第二篇&#xff0c;欢迎大家观看与指出不足。 目录 一、zookeeper的存储结构 二、什么是znode 三、znode节点的四种类型 四、权限控制ACL&#xff08;Access Control List&#xff09; 五、事件监听watcher 一、zookeeper的存储结构 z…

linux上MySQL的安装

(1)解压安装包 tar -xzvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.33-linux-glibc2.12-x86_64 /usr/local/mysql(2)创建数据目录 [roothecs-161929 3306]# mkdir -p /data/mysql/3306/data [roothecs-161929 3306]# mkdir -p /data/mysql/3306/binlog [roo…

C语言-strerror(打印错误信息)和perror(获得错误信息)

strerror&#xff08;打印错误信息&#xff09;和perror&#xff08;获得错误信息&#xff09; strerror 语法格式 返回类型是char* 都需要头文件 errno.h 这里是错误码 每一个错误码代表一个错误信息 错误码 对照的错误信息 每一种编译器在写的时候已经规定好了 错误码对…

开环端到端自动驾驶: 到底行不行

开环端到端自动驾驶&#xff1a; 到底行不行 附赠全面专业的自动驾驶学习资料&#xff1a;直达链接 TLDR: 别在nuScenes上做开环端到端自动驾驶刷点了。 论文&#xff1a; https://arxiv.org/pdf/2312.03031.pdf github: https://github.com/NVlabs/BEV-Planner 前言 Uni…

HCIP—OSPF课后练习一

本实验模拟了一个企业网络场景&#xff0c;R1、R2、R3为公司总部网络的路由器&#xff0c;R4、R5分别为企业分支机构1和分支机构2的路由器&#xff0c;并且都采用双上行方式与企业总部相连。整个网络都运行OSPF协议&#xff0c;R1、R2、R3之间的链路位于区域0&#xff0c;R4与R…