【大模型系列】Language-Vision Transformer(LaVIT, ICLR2024)

news2024/11/17 12:59:20

在这里插入图片描述

  • Title:Unified Language-Vision Pretraining in LLM with Dynamic Discrete Visual Tokenization
  • Paper:https://arxiv.org/abs/2309.04669
  • Github:https://github.com/jy0205/LaVIT
  • Author:Yang Jin, 北大,快手科技

文章目录

  • 1 LaVIT总结(省流版)
    • 1.1 LaVIT是什么
    • 1.2 LaVIT能干什么?
      • 1.2.1 文生图
      • 1.2.2 多模图像合成(图+文->图,图+图->图)
      • 1.2.3 Image Caption(图像描述)
      • 1.2.4 Visual QA(图文问答)
  • 2 Motivation
    • 2.1 Adapter-architecture
      • 2.1.1 Resampler(2022, DeepMind)
      • 2.1.2 Linear projection(2023, LLaVA(Large Language and Vision Assistant))
      • 2.1.3 Q-Former(2023, BLIPv2)
    • 2.2 Emu(2023, 北京人工智能研究院)
    • 2.3 LaVIT的方式
  • 3 LaVIT的结构
    • 3.1 Dynamic Visual Tokenizer
    • 3.2 基于visual token恢复图片
    • 3.3 Unified Generative Modeling
  • 4 训练细节
  • 参考资料

1 LaVIT总结(省流版)

1.1 LaVIT是什么

LaVIT是Language-Vision Transformer的简称,作者来自于北大和快手科技。文章提出了一种将图片tokenization的方式,使图片可以与language一样,可以用一组token来表示,这样图片就可以跟language的token合并在一起作为LLM的输入,通过自回归的方式来训练网络,相当于统一了视觉和文本两种模态的输入,其中图片的token前后通过两个特殊的token[IMG]和[/IMG]来与文本的token区分。

所以文章的重点就在于如何将图片tokenization。

1.2 LaVIT能干什么?

1.2.1 文生图

通过给定文本,生成对应的图片,效果类似于SD:
在这里插入图片描述

1.2.2 多模图像合成(图+文->图,图+图->图)

给定一张图片,通过文本提示或者图片的提示,合成对应的图片:
在这里插入图片描述

1.2.3 Image Caption(图像描述)

给定一张图片,给出对于这张图的描述:
在这里插入图片描述

1.2.4 Visual QA(图文问答)

给定图片和文本描述的问题,给出问题的答案:
在这里插入图片描述

2 Motivation

在这里插入图片描述

当前多模态的几种架构都存在一些问题:

  • Adapter-architecture:视觉特征仅被作为prompt,没有起到监督作用
  • Emu:优化图像和文本目标不一致不利于统一建模

2.1 Adapter-architecture

2.1.1 Resampler(2022, DeepMind)

  • Paper: https://arxiv.org/abs/2204.14198
    在这里插入图片描述
    将vision-encoder输出的可变大小的时空视觉特征映射到固定数量的output-tokens(文中设定为5个)。中间使用cross-attention与learned latent queries进行交互,最后输出固定个数的token表示图片的编码。

2.1.2 Linear projection(2023, LLaVA(Large Language and Vision Assistant))

  • Paper:https://arxiv.org/abs/2304.08485
    在这里插入图片描述
    复用pre-trained CLIP的vision encoder,在vision-encoder之后添加一个线性映射层,将其映射到embedding空间使其维度与language model输出的维度一致。在训练时,始终冻结Vision encoder的参数,只更新映射层和LLM的权重。

2.1.3 Q-Former(2023, BLIPv2)

  • Paper:https://arxiv.org/abs/2301.12597
    在这里插入图片描述
    在这里插入图片描述
    通过联合优化三个目标(image-text matching, image-text contrastive learning, image-grounded text generation),使Learned queries可以提取视觉特征中与文本最相关的视觉表示。在VQA应用如下图所示,将Question也作为条件输入到Q-former中,使得提取的图像特征与问题更加相关:
    在这里插入图片描述

2.2 Emu(2023, 北京人工智能研究院)

  • Paper:https://arxiv.org/abs/2307.05222
    在这里插入图片描述
    Emu以自回归的方式统一不同模态,图片被编码后,与文本tokens拼接在一起作为LLM的输入。训练目标是对下一个文本标记进行分类(cross entropy)和对下一个视觉特征进行回归(L2 loss, 独立的regression head)。在推理时,回归得到的视觉特征送入到微调后的SD模型中得到真实的图像。

视觉特征回归的gt是什么? 在训练之前,先将数据(image-text pairs、带字幕的视频等)使用Causal transformer(因果变换器)将其转化为1D的causal latent embedding sequences。所以当前图片的regression的目标其实就是下一个图片的embedding

2.3 LaVIT的方式

LaVIT的方法继承了Emu的策略: 即通过自回归的方式预测下一个图像/文本的token。并且提出一个vision tokenizer将图片转化成如文本一样的序列,这样就可以统一图像和文本,使其能在同一个目标下进行优化,无需额外的框架修改。

3 LaVIT的结构

给定图像-文本对,图像被tokenize成离散的tokens,并且与文本tokens混合在一起形成多模态序列,然后LaVIT通过一个统一的生产目标进行优化(即预测下一张图片/文本的token)。
在这里插入图片描述

3.1 Dynamic Visual Tokenizer

在这里插入图片描述
给定图片,处理流程如下:

  1. 先将图片划分为N(HW/ PP, P是补丁大小)个不重叠的patch;
  2. N个patch先输入到一个pre-trained ViT-encoder(Vit-G/14 of EVA=CLIP)中得到N个patch features;
  3. N patch-level features输入到Token selector(MLP,二分类)中,得到预测分布,并通过可微的Gumbel-softmax技巧的得到二元决策掩码M;
  4. 根据决策掩码,可以将N个图像块分为drop组和retain组,并没有直接丢弃drop组,使用token merger(12个transformer blocks),逐步将drop组信息压缩到retain组上;
  5. 矢量量化:K(K=16384=2^14)大小的codebook embeddings,第4步输出的向量与codebook计算L2距离,选择最接近的codebook embeddings代替之;得到量化后的嵌入,这就是所谓的visual token

Dynamic Visual Tokenizer的训练目标: 将量化后的嵌入输入到一个decoder中重构visual semantic features。这种设计的背后的逻辑是图像语义重建的质量取决于信息最丰富的patch,因此通过优化语义重建质量,额可以有效的更新token selector和merger,优化目标变成:

L t o k e n i z e r = 1 N Σ i = 1 N ( 1 − c o s ( x i , x i r e c ) ) + λ ( ρ − 1 N Σ i = 1 N M i ) 2 L_{tokenizer} = \frac{1}{N}\Sigma_{i=1}^{N}(1 - cos(x_i, x_i^{rec}))+\lambda(\rho-\frac{1}{N}\Sigma_{i=1}^{N}M_i)^2 Ltokenizer=N1Σi=1N(1cos(xi,xirec))+λ(ρN1Σi=1NMi)2

重建质量用余弦相似度来衡量, ρ \rho ρ是控制保留视觉标记目标的百分比,为超参数; λ \lambda λ设置为2, ρ \rho ρ后面的部分表示实际视觉标记保留的百分比。

3.2 基于visual token恢复图片

在训练visual tokenizer之后,基于重建的图像视觉特征,训练conditional de-noising U-Net去填充图像细节。在推理阶段,LaVIT生成的visual tokens可以被U-Net恢复为真实图像,就可以实现图片合成的功能。
在这里插入图片描述

3.3 Unified Generative Modeling

给定image-text pairs ,将2D的图像tokenize为有因果依赖的1D序列,并与text token组成多模态序列,通过[IMG][/IMG]来区分。为了使LaVIT能生产图像和文本,采用2种不同的串联形式:[image, text]和[text, image]。

当图像用作生成文本的条件时,直接使用token merger输出的特征,而不采用量化后特征,减少信息丢失。这对于视觉问答等细粒度多模态理解任务至关重要。

采用通用语言建模LM目标,以自回归的方式直接最大化每个多模态的序列的概率:

p ( y ) = Σ y ∈ D Σ i = 1 s l o g P θ ( y i ∣ y < i ) p(y) = \Sigma_{y\in D}\Sigma_{i=1}^{s}logP_{\theta}(y_i|y_{<i}) p(y)=ΣyDΣi=1slogPθ(yiy<i)

4 训练细节

Step1:训练tokenizer

  • image encoder frozen:ViT-G/14 of EVA-CLIP
  • codebook: K=16384=2^14
  • token merger和reconstruct decoder都是12个transformer blocks

数据集:LAION-400M的100M图片,batchsize=2048,p=1/3,训练50K steps。
tokenizer训练完成之后,conditonal UNet使用SDv1.5进行初始化,用相同的数据集finetune 20k steps。

Step2:Unified Vision-Language Pre-training
LLM:LLaMA-7B

  • image-to-text comprehension([image, text]):93M samples(Conceptual Caption & BLIP-Capfilt)
  • text-to-image synthesis([text, image]):额外100M image-text pairs(LAION-Aesthetics)

参考资料

[1] Resampler(2022, DeepMind)
[2] Linear projection(2023, LLaVA(Large Language and Vision Assistant))
[3] Emu(2023, 北京人工智能研究院)
[4] Gumbel-Softmax 完全解析

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

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

相关文章

谈谈创意设计中的AI、AGI、AIGC

在当今的数字化时代&#xff0c;创意设计领域正经历着前所未有的变革。随着人工智能&#xff08;AI&#xff09;、通用人工智能&#xff08;AGI&#xff09;以及人工智能生成内容&#xff08;AIGC&#xff09;的迅猛发展&#xff0c;设计师们的工作方式和创作手段都发生了深刻的…

【CSAPP】-datalab实验

实验原理与内容 本实验每位学生拿到一个datalab-handout.tar文件。学生可以通过U盘、网盘、虚拟机共享文件等方式将其导入到Unbuntu实验环境中&#xff0c;选择合适位置存放。然后在Ubuntu环境下解压。解压后&#xff0c;根据文件中的叙述和要求更改bits.c文件。本次实验的主要…

奇瑞员工控诉强制加班,加班费最多10元;高德数据被不正当抓取,一审判赔1250万元;知乎入局AI搜索;苹果手机出货量激增

一、商业圈 1.奇瑞员工控诉非法加班&#xff1a;加班费最多10元 根据脉脉平台热搜&#xff0c;近期&#xff0c;有多位网友曝奇瑞上海属地员工发起多项投诉&#xff0c;控诉奇瑞非法加班。据悉&#xff0c;奇瑞汽车正在积极准备上市中&#xff0c;若此事未得到妥善解决&#xf…

【React】上传文章封面基础实现

<Form.Item label"封面"><Form.Item name"type"><Radio.Group onChange{onTypeChange}><Radio value{1}>单图</Radio><Radio value{3}>三图</Radio><Radio value{0}>无图</Radio></Radio.Group&…

用好华为小助手,生活总能快人一步

嘿&#xff01;朋友们&#xff01;你们有没有想过&#xff0c;如果身边有一个小助手&#xff0c;他不仅聪明伶俐&#xff0c;还能在生活的方方面面给予你最贴心的关怀和帮助&#xff0c;让我们的日常生活变得更加方便和快捷&#xff0c;那该有多好&#xff01;没错&#xff0c;…

openEuler AArch64 架构 vCPU 热插拔技术内幕

OpenAtom openEuler&#xff08;简称"openEuler"&#xff09;社区引领技术浪潮&#xff0c;早在openEuler 20.09 创新版本就率先使能并对外开放了 AArch64 架构 vCPU 热插特性。时隔四年&#xff0c;openEuler 24.03 LTS 版本补充了 vCPU 热拔能力&#xff0c;vCPU 热…

MySQL学习(6):SQL语句之数据控制语言:DCL

DCL用来管理数据库用户&#xff0c;控制数据库的访问权限 1.管理用户 1.1查询用户 use mysql; select * from user; #用户信息都存放在系统数据库mysql的user表中 在user表中&#xff0c;一个用户是由用户名和主机名共同决定的&#xff0c;上图中的host一栏就是用户的主机名…

Stable Diffusion用AI绘画古诗文视频副业项目,轻松涨粉10W+,项目拆解分享给你【附详细玩法教程】

项目介绍 古诗文自古以来就有着广泛的受众&#xff0c;特别是在短视频平台上&#xff0c;它不仅有很高的流量潜力&#xff0c;还能给观众带来美的享受和教育意义。通过使用AI绘画工具&#xff0c;创作者能够将古诗文中的场景生动地呈现出来&#xff0c;制作出有艺术性、有教育…

【源码+文档+调试讲解】居家养老系统

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了居家养老系统的开发全过程。通过分析高校学生综合素质评价管理方面的不足&#xff0c;创建了一个计算机管理居家养老系统的方案。文章介绍了居家养老系统的系统分…

操作系统真象还原:进一步完善内核

第12章-进一步完善内核 12.1 Linux系统调用浅析 系统调用就是让用户进程申请操作系统的帮助&#xff0c;让操作系统帮其完成某项工作&#xff0c;也就是相当于用户进程调用了操作系统的功能&#xff0c;因此“系统调用”准确地来说应该被称为“操作系统功能调用”。 Linux 系…

用Vue3和Plotly.js打造交互式3D图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于 Plotly.js 的动态图表交互&#xff1a;颜色和可见性控制 应用场景介绍 本代码旨在为数据可视化提供一个交互式图表&#xff0c;允许用户动态控制图表中线条的颜色和可见性。此功能对于探索大型数据集或突…

网络安全 文件上传漏洞-18 第十八关 Pass-18

点击进入第十八关&#xff0c;并选择显示代码&#xff1a; //index.php $is_upload false; $msg null; if (isset($_POST[submit])) {require_once("./myupload.php");$imgFileName time();$u new MyUpload($_FILES[upload_file][name], $_FILES[upload_file][tmp…

网络爬虫(一)

1. 深度优先爬虫&#xff1a;深度优先爬虫是一种以深度为优先的爬虫算法。它从一个起始点开始&#xff0c;先访问一个链接&#xff0c;然后再访问该链接下的链接&#xff0c;一直深入地访问直到无法再继续深入为止。然后回溯到上一个链接&#xff0c;再继续深入访问下一个未被访…

SAP 替代关系完全替代简介

最近用户在对长周期物料进行备料的时候又提出替代料的问题,主料库存不足的时候需要考虑替代料的在途库存,经常会忘了SAP标准的替代料逻辑,这次一次性把这个逻辑写清楚。 关于替代料的逻辑在前面的博文中测试多个替代料的使用场景 1、后继物料 2、组合替代 本文主要测试一下…

时序(流式)图谱数据仓库AbutionGraph功能介绍-Streaming Graph OLAM Database

AbutionGraph是一款端到端的流式数据实时分析的图谱数据库&#xff0c;实时&#xff08;流式写入实时、高QPS决策分析实时、流式预处理实时&#xff09;表现在&#xff1a; 构建实时查询QPS响应时长与历史数据量无关的图模型&#xff1b;接入流式数据并实时更新图计算指标&…

软考《信息系统运行管理员》-2.1信息系统运维的管理

2.1信息系统运维的管理 信息系统运维管理体系框架 信息系统运维管理主要流程的目标 标准化&#xff1a;通过流程框架&#xff0c;构件标准的运维流程流程化&#xff1a;将大部分运维工作流程化&#xff0c;确保工作可重复&#xff0c;并且这些工作都有质量的完成&#xff0c;…

设置Docker中时区不生效的问题

项目中使用docker-compose&#xff0c;并通过以下方式设置了时区 environment:- SET_CONTAINER_TIMEZONEtrue- CONTAINER_TIMEZONEAsia/Shanghai 但是并没有正确生效&#xff0c;网上有很多博客都在推荐这个做法&#xff0c;另外一种是使用标准环境标量 -TZAsia/Shangehai …

ARP 原理详解 二

只要确定了 IP 地址后&#xff0c;就能够向这个 IP 地址所在的主机发送数据报&#xff0c;这是我们所熟知的事情。 但是再往深了想&#xff0c;IP 地址只是标识网络层的地址&#xff0c;那么在网络层下方数据链路层是不是也有一个地址能够告诉对方主机自己的地址呢&#xff1f…

SAP实现特别总账的凭证预制

SAP实现特别总账的凭证预制 仔细理解只有”其他”的特殊总帐标识才可预制凭证这句话. F-29/f-48不可预制。F-29/f-48预制时出现错误消息号 FP 030&#xff0c;提示特殊总帐标志类型“汇票和”预付定金“的特别总帐标志的过帐代码不能预制&#xff0c;这是系统写死的&#xff…

[vue2/vue3] 详细剖析watch、computed、watchEffect的区别,原理解读

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;我是前端菜鸟的自我修养&#xff01;今天给大家分享【深入剖析watch、computed、watchEffect的区别】&#xff0c;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;原创不易&#xff0c;如果能帮助到带大家…