一文读懂OpenGVLab带来的最新视觉预训练框架

news2024/11/22 22:34:56

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模型领域最新技术跟踪。若对于具身智能感兴趣的请移步具身智能专栏。技术宅麻烦死磕AI架构设计。

在过去的十年中,ImageNet预训练的视觉模型显著提高了计算机视觉水平,在各种视觉任务中不断取得突破。ImageNet的成功激发了人们进一步探索从头开始预训练视觉模型的更好方法。最近,预训练的重点已从手动注释数据转移到大规模的网络爬虫图像文本数据。这一转变的一个关键里程碑是CLIP,它利用的图像-文本对的数据比ImageNet大数百倍,在各种任务中提供卓越的性能,并逐渐成为视觉模型预训练的主流方法。

基于这一趋势,人们对探索图像-文本交错的数据的兴趣越来越大,这在互联网上更为普遍。与CLIP中使用的结构化图像-文本对不同,这种交错数据是自由格式和非配对的,规模更大,文本信息更丰富。充分利用这些图像-文本交错的数据对于进一步大规模改进视觉模型预训练是必要的。

一图读懂

这张图片完整的对比了新模型与CLIP的差异。(a)展示了来自CLIP的对比学习框架,而(b)展示了新颖的LCL预训练框架。整体而言,与CLIP相比,LCL可以在训练视觉编码器的时候使用图像和文本交叉的训练数据。值得注意的是这两个框架在训练完毕的时候,可以将其中的text-encoder或者使用的大模型丢弃。

(c)则是展示了多模态的增量训练过程,将训练好的视觉编码器有选择地冻结或微调,然后按照传统的训练模型进行。当然这个过程也是支持图像-文本的交错训练数据。但是,其主要目标是使预训练的视觉编码器和大语言模型保持一致。

研究人员提出这种训练框架的思路在于自然语言处理最近一项研究表明,现代语言模型的成功源于将训练数据集压缩为模型参数。这种压缩学习也适用于多模态领域,只是要压缩的数据从结构化纯文本扩展到图像-文本交错的数据。因为图像是原始像素和非结构化的,通常包含不必要和不可预测的细节。这些细节与高级语义任务无关,应该在压缩学习中丢弃。所以应该调整这种压缩算法,以便于能够适应图像数据的加入。另外文本-图像交错的学习数据的将会更好的提取语义抽象。

整体而言,Latent Compression Learning是一个新的视觉预训练框架,旨在通过最大化因果注意模型输出和输入之间的互信息来进行有效的潜在压缩学习。

两个随机变量的互信息(mutual Information,MI)度量了两个变量之间相互依赖的程度。具体来说,对于两个随机变量,MI是一个随机变量由于已知另一个随机变量而减少的“信息量”(单位通常为比特)。互信息的概念与随机变量的熵紧密相关,熵是信息论中的基本概念,它量化的是随机变量中所包含的“信息量”。

框架的核心思想是通过因果注意模型来实现潜在的信息压缩学习。

因果注意模型通常用于序列预测或生成任务,确保每个输出仅依赖于前面的输入

LCL 时的模型架构概览如上图所示。在交错的图像文本输入序列中,引入特殊标记 <BoI> 和 <EoI>,分别作为图像中视觉嵌入的开始和结束的特殊标记。原文采用 Vision Transformer (ViT) 作为视觉编码器,它输入一系列图像块并输出一系列潜在表示。这最为关键的是损失函数,也就是训练目标的设定。

目前优化目标可以分解为两部分:第一部分为对比学习,就是上图最上面的那根线,对比视觉“潜变量”和先前上下文的语义一致性(对比的对象是<BOI>标识的输出)。第二部分为自回归预测:就是传统文本生成的对比,大白话就是将生成的字符和预期的字符比较。综合两者的差异,反向的微调和训练模型。

这两个训练目标相互补充,学习到的视觉潜变量既保留了可以从先前上下文中预测的信息,又包含了预测后续上下文所需的信息,从而实现了有效的视觉预训练。

潜在压缩学习

自回归语言建模等同于压缩学习。假设 𝑔𝜙 是一个具有可学习参数 𝜙 的语言模型 (LM)。给定一个输入文本序列 𝑥=(</s>,𝑥1,𝑥2,…,𝑥𝑁) ,其中</s>是一个指示文本开头的特殊标记,模型根据前面的上下文输出 𝑦=𝑔𝜙⁢(𝑥)=(𝑦1,𝑦2,…,𝑦𝑁) 预测下一个标记:

而其中x的概率为:

该模型使用NLL损失进行优化,这等于最小化数据分布 𝑝 和模型分布 𝑞 之间的交叉熵:

然而在训练的过程中,却出现了塌方。研究人员发现将潜在压缩和最大熵约束相结合,完全等同于最大化模型输入和输出之间的互信息。

因此, 将𝐼使用作为优化目标可以实现潜在压缩,同时通过最大的熵约束避免视觉z的坍缩。压缩𝑧使模型提取有用的信息并丢弃图像的不可预测信息。同时,最大化𝐼⁢要求每个𝑦𝑘能从先前的潜伏𝑧中获得足够的信息来预测 𝑧𝑘 。每个 𝑧𝑘 都应该携带可预测的信息。

这保证了图像表示能够将丰富的语义信息编码,当然这些编码和文本对齐。假设通过图像表示学习到的上述属性是视觉语言预训练所需要的,因此使用方程该方程作为我们的预训练目标。参数 𝜙 和 𝜃 在此目标下共同优化。直观地,视觉编码器 𝑓𝜃 学习通过高级抽象来表示图像,而因果注意力模型 𝑔𝜙 学习压缩数据集的高级抽象。

最终的效果

LCL首次探索了使用交错图像文本数据,进行视觉模型预训练。这篇文章从理论上证明了latent compression等价于最大化因果模型的输入和输出之间的相互信息,并将该目标进一步分解为两个基本的训练任务(对比学习+生成任务),最终得到了更鲁棒的视觉表征。

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

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

相关文章

gitlab 获取指定分支下指定路径文件夹的解决方案

第一步&#xff1a; 获取 accessToken 及你的 项目 id &#xff1a; 获取 accessToken ,点击用户头像进入setting 按图示操作&#xff0c;第 3 步 填写你发起请求的域名。 获取项目 id , 简单粗暴方案 进入 你项目仓库页面后 直接 源码搜索 project_id&#xff0c; value 就…

论文精读——KAN

目录 1.研究背景 2.关键技术 2.1 原始公式 2.2 KAN结构 2.3 缩放定律 3.技术扩展 4.模型效果 5.相关讨论 6.总结 文章标题&#xff1a;《KAN: Kolmogorov–Arnold Networks》 文章地址&#xff1a; KAN: Kolmogorov-Arnold Networks (arxiv.org)https://arxiv.org/a…

一文看懂!iThenticate查重报告全解读

在科研界&#xff0c;原创性和知识产权保护的重要性不言而喻。iThenticate作为全球领先的文献比对和不端检测工具&#xff0c;为广大科研工作者提供了一道坚实的防线保障。据统计&#xff0c;全球有超过16000家学术机构、出版社、高校与企业使用iThenticate查重系统&#xff0c…

C++初学者指南第一步---6.枚举和枚举类

C初学者指南第一步—6.枚举和枚举类 文章目录 C初学者指南第一步---6.枚举和枚举类1.作用域的枚举(enum class类型&#xff09;&#xff08;C11&#xff09;2.无作用域的枚举(enum类型)3.枚举类的基础类型4.自定义枚举类映射5.和基础类型的互相转换 1.作用域的枚举(enum class类…

【论文阅读】-- 时间空间化:用于深度分类器训练的可扩展且可靠的时间旅行可视化

Temporality Spatialization: A Scalable and Faithful Time-Travelling Visualization for Deep Classifier Training 摘要1 引言2 动机3 问题定义4 方法论4.1 时空复合体4.2 复数约简 5 实验6 相关工作7 结论参考文献 摘要 时间旅行可视化回答了深度分类器的预测是如何在训练…

头歌资源库(11)分解2019

一、 问题描述 二、算法思想 首先&#xff0c;确定第一个整数的范围&#xff0c;由于不能包含数字2和4&#xff0c;所以第一个整数的取值范围为[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 6, 7, 8, 9]。 然后&#xff0c;在确定第一个整…

DAY 45 企业级虚拟化技术KVM

企业级虚拟化技术KVM 1.kvm是什么 kernel virtualization machine 内核虚拟机 qemu的二次开发 软件全拼 qemu-kvm kvm virtulbox ovm vmware vsphere套件&#xff08;vmawre-esxi&#xff09; microsoft hyper-V 2.什么是虚拟化 资源利用 资源隔离 虚拟化管理&…

立创开源学习篇(一)

1.机壳地 外面包围的一圈是机壳地&#xff0c;和金属外壳相连与电路板的GND不相连&#xff1a;&#xff08;大疆很多产品有此设计&#xff09; 屏蔽和接地&#xff1a;通过在电路板周围打孔&#xff0c;并连接到机壳地&#xff0c;可以形成有效的电磁屏蔽层&#xff08;形成金…

LabVIEW开发为什么沟通需求非常重要

在LabVIEW开发项目中&#xff0c;需求沟通是项目成功的基石。以下是需求沟通的重要性及其原因&#xff1a; 明确项目目标&#xff1a; 定义清晰的目标&#xff1a;通过与用户的沟通&#xff0c;可以明确项目的目标和范围&#xff0c;确保开发团队理解用户的实际需求&#xff0c…

Windows系统部署本地SQL_Server指引

Windows系统部署本地SQL_Server指引 此指引文档环境为Windows10系统&#xff0c;部署SQL_Server 2019为例&#xff0c;同系列系统软件安装步骤类似。 一、部署前准备&#xff1b; 下载好相关镜像文件&#xff1b;设备系统启动后&#xff0c;将不必要的软件停用&#xff0c;避…

4M-21:霸气侧漏高效的20+多模态AI模型

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则…

Python的print,input与注释的使用

1.print的使用 2.input的使用 3.如何注释 1.print的使用 1.1建立俩个变量a&#xff0c;b&#xff0c;直接把变量放在print的括号里面就会打印其的值。 1.2print可以同时打印多个&#xff0c;打印ab的值与字符串‘11’。 1.3先用chr&#xff08;&#xff09;函数去获取对应97…

CIC-DDoS2019-Detection

CIC-DDoS2019 对CIC-DDoS2019数据集进行检测,本文提供了如下内容&#xff1a; 数据清洗与合并机器学习模型深度学习模型PCA,t-SNE分析数据&#xff0c;结果可视化 代码地址&#xff1a;[daetz-coder](https://github.com/daetz-coder/CIC-DDoS2019-Detection) 1、数据集加载…

基于Flask+Mysql+EasyUI的简单用户管理系统

1、系统实现功能 添加用户查看用户修改用户删除用户 完整代码下载地址在最后&#xff0c;若显示链接不存在&#xff0c;可能是资源还没有审核&#xff0c;可私聊我发完整代码。 2、功能实现 2.1 添加用户 构建添加用户的Flask接口add_user() app.route("/add/user&quo…

计算机网络(谢希仁第六版)| 课后习题与答案 | 物理层 | 题目知识点详细分析

计算机网络&#xff08;谢希仁第六版&#xff09;课后习题与答案 物理层 博客只对老师给的重点进行整理&#xff0c;完整的课后习题答案见Gitee下载&#xff1a;《计算机网络教程&#xff08;第6版&#xff09;&#xff08;微课版&#xff09;》习题答案 2-5 请画出数据流1 0 1…

JavaFX 分页

分页控件用于浏览多个页面。 我们典型地使用对网页的分页控制&#xff0c;例如博客。 在博客页面的底部&#xff0c;我们可以看到一个矩形区域&#xff0c;作为一个数字列表来指示页面索引&#xff0c;以及一个下一个/上一个按钮来链接到下一个/上一个页面。 创建分页控件 分…

OpenCV中的圆形标靶检测——findCirclesGrid()(二)

本章我们开始讲解基于层次聚类的标靶检测算法。当我们调用如下API,且flags中包含cv::CALIB_CB_CLUSTERING标志位时,将会执行基于层次聚类的斑点检测算法。算法支持对称标靶和非对称标靶两类,相应的需要将下述flags设为包含CALIB_CB_SYMMETRIC_GRID或CALIB_CB_ASYMMETRIC_GRI…

安卓Context上下文

目录 前言一、Context简介二、Application Context2.1 Application Context的创建过程2.2 Application Context的获取过程 三、Activity的Context创建过程四、Service的Context创建过程 前言 Context也就是上下文对象&#xff0c;是Android较为常用的类&#xff0c;但是对于Co…

MySQL事务、数据库的存储引擎

1. 事务的概念 定义&#xff1a;事务就是一组数据库操作序列&#xff08;包含一个或多个SQL操作命令&#xff09;&#xff0c;事务会把所有操作看作是一个不可分割的整体向数据库系统提交或撤销操作&#xff0c;所有操作要么都执行&#xff0c;要么都不执行。 1.1事务的 ACID …

重学java 74.Lombok的使用

少点心气&#xff0c;多点干劲 —— 24.6.18 一、lombok的安装使用 1.作用: 简化javabean开发 2.使用: a.下插件 ->如果是idea2022不用下载了,自带 b.导lombok的jar包 安装教程&#xff1a; http://t.csdnimg.cn/wq9MM c.修改设置 二、lombok的介绍 Lombok通过增加一…