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://xiahunao.cn/news/2869354.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Java项目:57 ssm011线上旅行信息管理系统ssm+vue

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本线上旅行信息管理系统,主要实现了用户功能模块和管理员功能模块两大部分 用户可查看旅行相关信息,注册登录后还可实…

简易版 RPC 框架实现 2.0 -netty实现

这一篇理解如果有难度,可能对netty不是很理解, 可以关注我netty专栏,还有另外一篇: 用 Netty 自己实现简单的RPC, 这一篇是学习netty的时候写的,更倾向于分析netty相关的知识, 今天我是学习dubb…

java:Druid工具类解析sql获取表名

java&#xff1a;Druid工具类解析sql获取表名 1 前言 alibaba的druid连接池除了sql执行的功能外&#xff0c;还有sql语法解析的工具提供&#xff0c;参考依赖如下&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>druid</ar…

使用paho.mqtt.client实现MQTT Client连接物联网平台(ThingsCloud)

目录 概述 1 ThingsCloud平台上创建项目 1.1 创建项目 1.2 配置App UI 2 认识paho.mqtt.client 3 实现MQTT Client 3.1 实现的接口介绍 3.2 paho.mqtt.client库函数介绍 3.3 MQTT Client类实现 3.3.1 创建项目 3.3.2 编写MQTT Client类代码 3.3.3 Log工具源码 4 实…

客户端:Vue3,服务端:Node,基于Socket.IO实现单聊的功能

目录 1.介绍 2.环境搭建 3.本功能实现的主要逻辑 4.客户端和服务端的主要代码 5.效果展示 6.socket.io的运作原理 1.介绍 本篇主要讲讲基于Socket.IO实现单聊功能的主要实现&#xff0c;包括了客户端和服务端Node。 在这个即时通讯无处不在的时代&#xff0c;实时聊天功能…

Java面试题总结18之springcloud四种分布式事务解决方案

XA规范&#xff1a;分布式事务规范&#xff0c;规定了分布式事务模型 四个角色&#xff1a;事务管理器&#xff08;协调者TM&#xff09;&#xff0c;资源管理器&#xff08;参与者RM&#xff09;&#xff0c;应用程序AP&#xff0c;通信资源管理器CRM 全局事务&#xff1a;一…

【Hadoop大数据技术】——MapReduce分布式计算框架(学习笔记)

&#x1f4d6; 前言&#xff1a;MapReduce是Hadoop系统核心组件之一&#xff0c;它是一种可用于大数据并行处理的计算模型、框架和平台&#xff0c;主要解决海量数据的计算问题&#xff0c;是目前分布式计算模型中应用较为广泛的一种。 目录 &#x1f552; 1. MapReduce概述&am…

JVM学习-JMM

目录 1.什么是JMM 2.JMM怎样保障数据的可见性、有序性、原子性 2.1保证原子性 2.2.保证可见性 2.3保证有序性 3.CAS 3.1乐观锁和悲观锁 3.2 CAS介绍 4.重量级锁的自旋优化 1.什么是JMM JMM即Java内存模型 &#xff0c;定义了一套在多线程读写共享数据&#xff08;如数组、成…

贪心算法(算法竞赛、蓝桥杯)--糖果传递

1、B站视频链接&#xff1a;A31 贪心算法 P2512 [HAOI2008] 糖果传递_哔哩哔哩_bilibili 题目链接&#xff1a;[HAOI2008] 糖果传递 - 洛谷 #include <bits/stdc.h> using namespace std; const int N1000005; int n,a[N],c[N]; long long b,ans;int main(){scanf(&quo…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:UIExtensionComponent (系统接口))

UIExtensionComponent用于支持在本页面内嵌入其他应用提供的UI。展示的内容在另外一个进程中运行&#xff0c;本应用并不参与其中的布局和渲染。 通常用于有进程隔离诉求的模块化开发场景。 说明&#xff1a; 该组件从API Version 10开始支持。后续版本如有新增内容&#xff0…

QT C++ QButtonGroup应用

//QT 中&#xff0c;按钮数量比较少&#xff0c;可以分别用各按钮的信号和槽处理。 //当按钮数量较多时&#xff0c;用QButtonGroup可以实现共用一个槽函数&#xff0c;批量处理&#xff0c;减少垃圾代码&#xff0c; //减少出错。 //开发平台&#xff1a;win10QT6.2.4 MSVC…

Xilinx FPGA模式配置

Xilinx FPGA模式配置 Xilinx UltraScale FPGA有7种配置模式&#xff0c;由模式输入引脚M[2:0]决定。七种模式如图1所示。 图1 7种配置模式 7种模式可分为3大类&#xff0c; 1、JTAG模式&#xff08;可归为从模式&#xff09;&#xff1b; 2、主模式&#xff1b; 3、从模式…

基于SpringBoot SSM vue办公自动化系统

基于SpringBoot SSM vue办公自动化系统 系统功能 登录 个人中心 请假信息管理 考勤信息管理 出差信息管理 行政领导管理 代办事项管理 文档管理 公告信息管理 企业信息管理 会议室信息管理 资产设备管理 员工信息管理 开发环境和技术 开发语言&#xff1a;Java 使用框架: S…

OpenCV4.9.0开源计算机视觉库在 Linux 中安装

返回目录&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV 环境变量参考 下一篇&#xff1a;将OpenCV与gcc和CMake结合使用 引言&#xff1a; OpenCV是一个开源的计算机视觉库&#xff0c;由英特尔公司所赞助。它是一个跨…

【LeetCode热题100】146. LRU 缓存(链表)

一.题目要求 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&#xff0c…

wsl or 虚拟机 安装

1.wsl2安装 WSL全称Windows Subsystem for Linux&#xff0c;是微软开发的适用于Linux的Windows子系统 如今已经有两代了&#xff1a; 所以用的多的还是wsl2。 安装前需要先去设置启用或关闭Windows功能&#xff1a; 打开适用于linux的子系统和虚拟机平台。 Microsoft Store里…

matlab simulink 工业现场漆包机烘炉模糊PID控制算法

1、内容简介 略 70-可以交流、咨询、答疑 2、内容说明 matlab simulink 工业现场漆包机烘炉模糊PID控制算法 第五章 控制算法仿真与分析 在第二章系统分析结合工业现场漆包机烘炉数学模型详细分析模糊PID控制算法以及解耦控制算法的优缺点、实现原理&#xff0c;为本章算法…

Jmeter---分布式

分布式&#xff1a;多台机协作&#xff0c;以集群的方式完成测试任务&#xff0c;可以提高测试效率。 分布式架构&#xff1a;控制机&#xff08;分发任务&#xff09;与多台执行机&#xff08;执行任务&#xff09; 环境搭建&#xff1a; 不同的测试机上安装 Jmeter 配置基…

Acwing-基础算法课笔记之动态规划(线性DP)

Acwing-基础算法课笔记之动态规划&#xff08;线性DP&#xff09; 一、数字三角形1、概述2、闫氏dp分析法代码示例 二、最长上升子序列1、概述2、闫氏dp分析法3、过程模拟4、代码演示 三、最长上升子序列强化版1、概述2、代码示例 四、最长公共子序列&#xff08;LCS&#xff0…

FFmpeg查看所有支持的编码/解码器/封装/解封装/媒体格式/滤镜

查看所有支持的编码器与解码器 ffmpeg -codecs 只查看所有编码器: ffmpeg -encoders 只查看所有解码器: ffmpeg -decoders 只查看H264编码器: ffmpeg -h encoderh264 只查看H264解码器: ffmpeg -h decoderh264 查看所有支持的封装: ffmpeg -muxers 查看所有支持的解封装…