多模态论文笔记——LLaVA

589 阅读1分钟

大家好,这里是好评笔记,本文为试读,查看全文请移步公主号:Goodnote。本文详细介绍多模态模型:LLaVA。处理包含图像和文本的多模态数据,并生成合理准确的回答。

7.png

@[toc]

论文

Visual Instruction Tuning

LLaVA(Large Language and Vision Assistant)是一种多模态模型,将视觉和语言能力结合在一起,用于图像-文本理解和生成任务。以下是对LLaVA的详细介绍:

模型架构

在这里插入图片描述 LLaVA(Large Language and Vision Assistant)是一个简单高效的多模态模型,它通过映射矩阵连接一个预训练的 视觉编码器(CLIP ViT-L/14) 和一个 大语言模型(Vicuna) 实现跨模态理解,再使用Vicuna的解码能力生成自然语言输出。

  • 输入图像XvX_v,经过视觉编码器得到图像特征ZvZ_v,之后ZvZ_v通过多模态融合的线性投影处理,得到H_v(与文本特征对齐,达到同维度)。
  • 输入文本XqX_q,经过文本编码器得到图像特征HqH_q
  • 图像特征ZvZ_v和图像特征HqH_q,经过文本解码器,得到XaX_a

视觉编码器

LLaVA 的视觉编码器采用了 CLIP 的 Vision Transformer (ViT-L/14),这是一个强大的预训练视觉模型。 详细内容参考:多模态论文笔记——CLIP、BLIP

架构与功能

  • CLIP ViT-L/14:由 OpenAI 提出的多模态模型,使用图像编码器和文本编码器对图像-文本对进行联合训练。
  • 输入图像经过编码器后,被转化为一个二维网格的嵌入表示(feature map),其形状为:
[1,gridH×gridW,hidden_dim] [1, \text{grid}_H \times \text{grid}_W, \text{hidden\_dim}]
 - $\text{grid}_H$ $\text{grid}_W$:表示图像在空间维度上的分辨率。
 - $\text{hidden\_dim}$:每个 token 的特征向量维度。
  • 这种结构化表示捕获了图像的全局和局部信息。

语言模型

LLaVA 的语言部分采用了 Vicuna,这是基于 Meta 的 LLaMA 微调优化而成的开源语言模型。Vicuna 在多模态任务中发挥着重要作用,它通过结合视觉特征和文本特征来执行生成任务。

  1. 从文本中提取特征
    • Vicuna 作为一个语言模型,首先负责从输入的文本中提取语言特征。Vicuna 能够有效地理解文本内容,将输入的自然语言句子转化为高维的特征表示(例如,token embedding)。这些特征是进行多模态生成和推理的基础。
  2. 多模态融合后,进行文本的生成
    • 在 LLaVA 中,图像特征通过 CLIP 提取,并经过投影层转换为与文本特征相同的维度。这时,文本和图像的特征被拼接成一个统一的 token 序列。Vicuna 接收这些融合后的特征(图像 token 和文本 token)作为输入,进行生成任务。
    • 通过其强大的生成能力,Vicuna 能够基于输入的视觉信息和文本提示,生成符合语义的自然语言文本。生成的文本可以是图像描述、回答视觉问答、推理结论或其他复杂的生成任务。

多模态融合

LLaVA 的多模态融合部分通过简单而高效的机制,将视觉和语言特征结合在一起。

  1. 对齐机制

    • 图像特征的维度 hidden_dim\text{hidden\_dim} 和语言模型的嵌入维度 emb_dim\text{emb\_dim} 可能不一致。
    • 为此,使用了一个线性投影WW 对图像特征进行变换:
    Projected Features=Vision FeaturesW \text{Projected Features} = \text{Vision Features} \cdot W
    • 线性投影的输出形状为 [1,gridH×gridW,emb_dim][1, \text{grid}_H \times \text{grid}_W, \text{emb\_dim}]
  2. 特征拼接

    • 投影后的图像 token 与文本 token 按序列形式拼接在一起,形成一个长 token 序列:
    Input Sequence=[Image Tokens,Text Tokens] \text{Input Sequence} = [\text{Image Tokens}, \text{Text Tokens}]
    • 这种设计允许语言模型通过注意力机制统一处理视觉和语言信息。

在多模态融合阶段,LLaVA团队使用了轻量级的投影层将图像特征映射到语言模型的嵌入空间,论文中提到了,这是为了便于快速进行实验和优化。其实可以使用更复杂、更有效的图像-语言融合机制,如: Flamingo 中的 gated cross-attention 和 BLIP-2 中的 Q-former 等方法。 BLIP2 的详细内容参考: cross-attention是早期扩散模型的融合技术,感兴趣的可以参考: 在DiT论文中使用了三种多模态融合技术,cross-attention是其中一种,感兴趣可以参考:


详细全文请移步公主号:Goodnote。

参考:欢迎来到好评笔记(Goodnote)!