ViTamin——视觉-语言时代的可扩展视觉模型设计

人工智能咨询培训老师叶梓 转载标明出处

尽管视觉-语言模型(VLMs)已经取得了显著的成就,但在图像编码器的选择上,传统的视觉Transformer(ViT)依然是主流。尽管Transformer在文本编码领域已经证明了其有效性,其在图像编码上的表现尚未得到充分验证。特别是在ImageNet这类基准测试中,已经涌现出多种不同类型的网络架构,这表明对于图像编码器而言,是否采用Transformer作为通用解决方案仍需进一步研究和探讨。

由字节的研究者撰写的论文《ViTamin: Designing Scalable Vision Models in the Vision-Language Era》提出了一种新的评价协议,用于在对比语言-图像预训练(CLIP)框架下评估视觉模型。这项工作旨在解决现有VLMs在模型设计和数据规模方面的局限性,并提出了一种新的针对VLMs量身定制的视觉模型——ViTamin。

ViTamin通过结合两个阶段的MBConv块和一个Transformer块的最终阶段,提供了一种混合架构。这种设计利用其Transformer阶段来增强数据和模型的可扩展性,同时保持高特征分辨率。实验结果表明,ViTamin-L在相同的公开可用DataComp-1B数据集和OpenCLIP训练方案下,比ViT-L/14模型在ImageNet零样本准确率上提高了2.0%。

方法

作者们重新审视了CLIP问题的定义,并针对DataComp-1B数据集提出了两种训练协议(短期和长期计划)。通过短期计划,作者们在CLIP设置下重新评估了在ImageNet上发现的现代视觉模型。基于重新评估的结果,并提出了ViTamin架构的设计。

CLIP和训练协议

CLIP的目标是学习将图像嵌入xi和文本嵌入yi对齐。如图 FIGURE 2 所示,作者们分析了在不同数据规模和模型规模下,包括数据可扩展性、模型可扩展性、特征分辨率和混合架构在内的四个方面的基准测试结果。

  • 数据可扩展性:当训练样本从128M增加到1.28B时,所有模型大小和所有视觉模型的性能都显示出一致的提高趋势。特别是,ViT-S/16@512M(22M参数)在ImageNet上的零样本准确率达到53.8%,比ViT-B/16@128M(86M参数)的45.8%要好,表明大规模训练数据的有效性,增加训练样本比增加模型参数数量更有影响力。
  • 模型可扩展性:当模型大小增加时,所有视觉模型的性能也得到了提升。ViT在模型参数方面表现出最佳的可扩展性。
  • 特征分辨率:提取特征的最终分辨率影响预测精度。使用较小patch大小的模型表现更好。
  • 混合架构:CoAtNet通常比ViT和ConvNeXt表现更好,但很难将CoAtNet-4扩展到十亿级别的数据。

ViTamin架构设计

ViTamin的宏观网络设计受到ViT和CoAtNet的启发。在简单的卷积茎(两个3×3卷积)之上,采用了三阶段网络架构,其中前两个阶段使用MBConv块,第三阶段使用Transformer块(TFB)。这种设计利用Transformer块来增强数据和模型的可扩展性,同时保持高特征分辨率。

ViTamin依赖于两种类型的块:MBConv块和TFB块。MBConv-LN对原始MBConv进行了简化,去除了所有BN层和SE,仅使用单个LN作为第一层。TFB-GeGLU用GeGLU替代了FFN中的第一个线性层,减少了参数数量,允许构建更深层次的架构。

ViTamin的元架构是一个包含三个阶段的混合架构。第一和第二阶段由MBConv-LN块组成,第三阶段由NB TFB-GeGLU块组成。通过简单的缩放规则,可以生成不同模型大小的ViTamin系列。

表1列出了ViTamin模型的不同变体,包括ViTamin-S、ViTamin-B、ViTamin-L和ViTamin-XL的配置,如块的数量和通道数。 

锁定文本调整

除了模型设计之外,作者们还提出了一种新的训练方案,利用预训练的冻结文本编码器来指导较小VLMs的图像编码器的训练。这可以看作是一种从预训练的冻结文本编码器向随机初始化的图像编码器传递知识的方法。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

评论留言“参加”或扫描微信备注“参加”,即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费录播讲解。

实验

ViTamin模型使用OpenCLIP在公开数据集DataComp-1B上进行训练。表 Table 2 总结了训练计划和模型变体的设置。作者们采用了短期计划来基准测试不同的视觉模型,并进行消融研究,而长期计划则用于训练表现最佳的ViTamin-L模型。

遵循DataComp的评估策略,使用包含38个任务的测试平台对VLMs进行零样本评估,包括ImageNet、6个分布转移任务、VTAB任务、WILDS任务和3个检索任务。

作者们还在其他下游任务中评估了训练好的VLM,包括使用F-ViT框架进行开放词汇检测,使用FC-CLIP框架进行开放词汇分割,并在多个分割数据集上进行零样本评估。最后,在LLaVA-1.5中评估了VLMs在大模型(LMMs)中的表现。

表 Table 3 总结了ViTamin-L与其他使用ViT作为视觉模型但采用不同训练方案和数据集的最先进技术模型的比较。为了公平比较,作者们专注于使用相同训练数据DataComp-1B的方法。ViTamin-L@224在ImageNet零样本准确率上比ViT-L/14@224 OpenCLIP高出1.6%。在调整图像大小以匹配相同数量的图像token后,ViTamin-L@256超过了ViT-L/14@224 OpenCLIP和CLIPA-v2。当模型参数进一步增加时(例如,ViTamin-L2),零样本ImageNet准确率显著提高到82.1%,平均38个数据集的性能提高到68.1%。进一步增加模型参数(即,ViTamin-XL)和400亿个训练样本,可以达到82.9%的零样本ImageNet准确率。

图 Figure 4 展示了LTT如何显著提高ViTamin-S/-B模型的性能,尤其是在数据规模较小的情况下。LTT将ViTamin-B提升到下一个模型性能规模,在128M样本中比ViT-L/16高出14%,在512M个训练样本中高出1.1%。有趣的是,LTT可以将ViTamin-B的训练预算节省10%,因为文本部分完全冻结。

DataComp挑战强调了数据筛选在VLM中的作用,但使用的是固定的ViT模型。表 Table 4 显示,ICCV 2023 DataComp挑战中的领先解决方案采用了复杂的24条筛选规则来提高数据集质量,从而获得了+2.3%的增益。相比之下,ViTamin-B通过改进模型本身,将性能提高了+12.8%的准确率,而锁定文本调整可以将增益提高到+23.3%。这一结果强调了视觉-语言数据集和模型共同设计的重要性。

到目前为止的评估主要集中在分类/检索任务上,突显了与ImageNet时代所采用的任务不同的下游任务的缺乏。然而,与基于ImageNet的视觉模型不同,VLMs在零样本能力方面表现出色,并提供了与文本很好地对齐的特征嵌入,从而为大模型(LLMs)弥补了视觉理解上的差距。鉴于此,作者们引入了一套新的下游任务,旨在全面评估VLMs,包括开放词汇检测和分割以及多模态大模型(LMMs)。

为了检验训练好的VLMs如何适应下游任务,作者们考虑了两个简单但有效的框架F-ViT和FC-CLIP,它们分别利用冻结的CLIP骨干进行开放词汇检测和分割。

作者们考虑了不同的VLMs作为这些框架的插件冻结骨干,而对于可能无法轻易泛化到高分辨率输入的ViT和ViTamin,作者们以滑动窗口的方式提取特征,窗口大小等于预训练图像大小,从而产生了滑动F-ViT和滑动FC-CLIP。表 Table 5 说明了ViTamin-L作为开放词汇检测的更强大图像编码器,比ViT-L/14在OV-COCO和OV-LVIS上分别提高了1.4%和3.1%。表 Table 6 显示,ViTamin-L在平均3个全景数据集上比ViT-L/14高出2.6%,在平均5个语义数据集上也高出2.6%。值得注意的是,ViTamin-L在开放词汇全景分割和语义分割的七个基准测试中超过了先前的艺术,树立了新的最高标准。

VLMs的另一个关键应用在于它们作为LMMs中的视觉编码器的角色,因为VLMs中的图像特征与文本很好地对齐,从而为LLMs弥补了视觉理解上的差距。具体而言,作者们考虑了LLaVA1.5作为评估框架。遵循LLaVA-1.5中的所有实验设置,其中图像通过冻结的CLIP模型和一个MLP投影器处理,保留图像作为视觉token,这些token被添加到文本序列中,并输入到冻结的Vicuna-v1.5-7B中。作者们在LLaVA-1.5中对12个LMM基准进行了评估,结果如 Table 7 。尽管OpenAI训练的ViT-L/14在ImageNet准确率上比CLIPAv2训练的对应模型低3.7%,但它在LLaVA中的表现却显著提高(在VQAv2上提高了4.4%,在VizWiz上提高了4.3%)。这一发现强调了需要结合多种下游任务以确保全面评估的必要性。令人惊讶的是,简单地将LLaVA的图像编码器替换为ViTamin-L就可以在各个基准上实现新的最高标准。

更多关于ViTamin的信息和资源可以在以下链接中找到:ViTamin项目页面

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

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

相关文章

【C++笔记】初始模版和STL简介

【C笔记】初始模版和STL简介 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】初始模版和STL简介前言一.初始模版1.1泛型编程1.2函数模版1.3类模板 二.STL简介2.1什么是STL2.2STL的版本2.3STL的六大组件2.4STL的重要…

TypeScript概念讲解

简单来说,TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准; TypeScript 由微软开发的自由和开源的编程语言; TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 Jav…

这款免费工具让你的电脑焕然一新,专业人士都在用

HiBit Uninstaller 采用单一可执行文件的形式,无需复杂的安装过程,用户可以即刻开始使用。这种便捷性使其成为临时使用或紧急情况下的理想选择。尽管体积小巧,但其功能却异常强大,几乎不会对系统性能造成任何负面影响。 这款工具的一大亮点是其多样化的功能。它不仅能够常规卸…

QT:常用类与组件

1.设计QQ的界面 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> #include <QLineEdit> #include <QLabel>//自定义类Widget,采用public方式继承QWidget&#xff0c;该类封装了图形化界面的相关操作&#xff…

第十三周:机器学习

目录 摘要 Abstract 一、生成式对抗网络&#xff08;上&#xff09; 1、引入——generator 2、discriminator 3、GAN算法 4、GAN的理论 5、GAN的训练技巧 二、word2vec——gensim实践 1、引入 2、 word2vec模型 3、fasttext模型 总结 摘要 本周学习了对GAN进行了…

栏目一:使用echarts绘制简单图形

栏目一&#xff1a;使用echarts绘制简单图形 前言1. 在线编辑图形1.1 折线图1.2 柱状图1.3 扇形图 2. 本地绘制图表2.1 下载echarts.min.js2.2 创建一个简单的图形 前言 Echarts是一款基于JavaScript的可视化图表库。它提供了丰富的图表类型和交互功能&#xff0c;可以用于在网…

qt6 使用QPSQL

qt6 自带pg数据库驱动&#xff1a; pro文件加个说明&#xff1a; 引用位置添加&#xff08;按需添加&#xff0c;这里我就大致加一下&#xff09;&#xff1a; test code: 理想情况当然是要用pool,这里只是演示调用而已 QSqlError DbTool::testConnection(const QString &…

JSON的C实现(上)

JSON的C实现&#xff08;上&#xff09; JSON的C实现&#xff08;上&#xff09;前言JSON简介JSON的C实现思路小结 JSON的C实现&#xff08;上&#xff09; 前言 JSON是众多项目中较为常见的数据交换格式&#xff0c;为不同项目、系统间的信息交换提供了一个规范化标准。JSON…

测试用例的进阶二

1. 按开发阶段划分 1.1 测试金字塔 从上到下&#xff0c;对于测试人员代码就是要求越来越低&#xff1b; 从下到上&#xff0c;越来越靠近用户&#xff1b; 从下到上&#xff0c;定位问题的成本越来越高&#xff1b; 1.2 单元测试(Unit Testing) 单元测试是对软件组成单元进…

《迁移学习》—— 将 ResNet18 模型迁移到食物分类项目中

文章目录 一、迁移学习的简单介绍1.迁移学习是什么&#xff1f;2.迁移学习的步骤 二、数据集介绍三、代码实现1. 步骤2.所用到方法介绍的文章链接3. 完整代码 一、迁移学习的简单介绍 1.迁移学习是什么&#xff1f; 迁移学习是指利用已经训练好的模型&#xff0c;在新的任务上…

Linux防火墙-常用命令,零基础入门到精通,收藏这一篇就够了

我们经过上小章节讲了Linux的部分进阶命令&#xff0c;我们接下来一章节来讲讲Linux防火墙。由于目前以云服务器为主&#xff0c;而云服务器基本上就不会使用系统自带的防火墙&#xff0c;而是使用安全组来代替了防火墙的功能&#xff0c;可以简单理解安全组就是web版的防火墙&…

Windows环境下训练开源图像超分项目 ECBSR 教程

ECBSR 介绍 ECBSR&#xff08;Edge-oriented Convolution Block for Real-time Super Resolution&#xff09;是一种针对移动设备设计的轻量级超分辨率网络。它的核心是一种可重参数化的构建模块&#xff0c;称为边缘导向卷积块&#xff08;ECB&#xff09;&#xff0c;这种模…

Qt 首次配置 Qt Creator 14.01 for Python

前言&#xff1a; 如何用QT实现Python的配置的交互界面。本文从0开始&#xff0c;进行实践的介绍。 在上一节里面&#xff0c;我们做了社区版本的配置&#xff1a; https://blog.csdn.net/yellow_hill/article/details/142597007?spm1001.2014.3001.5501 这一节&#xff0…

vue+UEditor附件上传问题

&#x1f3c6;本文收录于《全栈Bug调优(实战版)》专栏&#xff0c;主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&am…

快速实现AI搜索!Fivetran 支持 Milvus 作为数据迁移目标

Fivetran 现已支持 Milvus 向量数据库作为数据迁移的目标&#xff0c;能够有效简化 RAG 应用和 AI 搜索中数据源接入的流程。 数据是 AI 应用的支柱&#xff0c;无缝连接数据是充分释放数据潜力的关键。非结构化数据对于企业搜索和检索增强生成&#xff08;RAG&#xff09;聊天…

Java SPI 原理、样例

在 Java 中&#xff0c;SPI&#xff08;Service Provider Interface&#xff09;全称为服务提供者接口&#xff0c;它是一种用于实现框架扩展和插件化的机制。 一、SPI 作用 允许在运行时动态地为接口查找服务实现&#xff0c;而不需要在代码中显式地指定具体的实现类。 这使得…

利用多模态输入的自我中心运动跟踪与理解框架:EgoLM

随着增强现实(AR)和虚拟现实(VR)技术的发展,对自我中心(第一人称视角)运动的精确跟踪和理解变得越来越重要。传统的单一模态方法在处理复杂场景时存在诸多局限性。为了解决这些问题,研究者们提出了一种基于多模态输入的自我中心运动跟踪与理解框架——EgoLM。本文将详细…

MySQL-数据库约束

1.约束类型 类型说明NOT NULL非空约束 指定非空约束的列不能存储NULL值 DEFAULT默认约束当没有给列赋值时使用的默认值UNIQUE唯一约束指定唯一约束的列每行数据必须有唯一的值PRIMARY KEY主键约束NOT NULL和UNIQUE的结合&#xff0c;可以指定一个列霍多个列&#xff0c;有助于…

文章解读与仿真程序复现思路——中国电机工程学报EI\CSCD\北大核心《考虑异步区域调频资源互济的电能、惯性与一次调频联合优化出清模型》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Android页面跳转与返回机制详解

在Android开发中&#xff0c;页面跳转是实现应用功能交互的重要手段之一。本文将从Activity之间的跳转、Activity与Fragment之间的跳转、Fragment之间的跳转以及页面返回的问题四个方面进行详细解析。 一、Activity之间的跳转 Activity是Android应用的基本构建块&#xff0c;…