多模态:把图像和语言接起来

给模型一张图,再问“左边的人拿着什么”,需要把视觉信息和问题联系起来。看图说话、图文检索、视频理解,都有这样的连接问题。

多模态学习把图像、文字、声音或视频等不同形式的信息联系起来。同一只猫可以出现在照片里,也可以被一句话描述;模型要学会这些信息哪里对应、哪里互补。这页先从图像与文字进入,理解图文检索、看图回答和视觉对话如何实现。

最先要分清的是匹配与生成。CLIP 把图片和文字变成可比较的向量,适合判断哪段描述更匹配;视觉语言模型还要把图像信息接到语言模型,让它输出回答。接上之后,数据怎样教它遵循问题、答案是否真的依赖图片,都是独立的研究问题。

主要任务
  • 跨模态检索:用一句话找图片,或为图片寻找匹配的描述。
  • 视觉问答:围绕照片、图表或文档提问,让模型结合可见信息回答。
  • 多种信息协作:结合画面、声音和文字理解事件,或为后续决策提供信息。

会流畅回答只是一个现象;把图改掉以后答案会不会跟着变,才开始检验模型有没有用上视觉证据。

图像与文字怎样建立联系
  1. 01图像与文字
  2. 02分别编码
  3. 03图文对齐
  4. 04视觉 token 接入
  5. 05生成回答

发展路线与代表工作

  1. 2021

    先让图像和文字能够比较

    CLIP 学习图文配对关系,把两种输入映射到可以比较相似度的表示空间。输出匹配分数即可做检索或候选类别判断。

  2. 2023

    把现成视觉模型接到语言模型

    BLIP-2 冻结两侧的大模型,训练一个中间模块提取并转换视觉信息。重点是怎样跨过两种表示之间的差异。

  3. 2023

    让连接后的模型学会按问题回答

    LLaVA 用视觉指令数据训练图像编码器与语言模型之间的连接及语言回答能力。它与 BLIP-2 的连接设计不同。

关键概念

模态 / modality
信息的形式,例如文字、图像、声音。模态不同,数据的结构与信息密度也不同。
编码器 / encoder
把原始输入转换成数值特征的模型。图像编码器输出的是表示,后面还需要匹配、问答等具体用途。
对比学习 / contrastive learning
在一组例子中提高正确图文对的相似度,相对压低不匹配组合的相似度。学会匹配本身不会自动产生一句回答。
连接模块与指令微调
连接模块把视觉特征变成语言模型能接收的输入;指令微调用问题与回答等示例训练模型怎样响应。两者分别涉及结构和训练数据。

CLIP 与 LLaVA:匹配和问答

CLIP 适合从图文匹配认识两种表示如何靠近。LLaVA 适合观察图像怎样接到语言模型上,并利用指令数据学习回答。

配合 Hugging Face 的 VLM 讲解,沿着图像编码、表示转换、语言输出读。视觉部分不熟,回视觉页;attention 和语言模型不熟,回 LLM与基础。

改变图片,检查模型的回答

挑一张可以清楚判断答案的图,分别问物体、数量、位置和文字。再改图中的一个细节,看看回答是否跟着改变。保存问题、图像和原始回答。

这样容易看见模型是在利用图片,还是更多依靠语言上的猜测。要把这个观察变成研究,需要进一步控制样本、任务和比较条件,接实验页。

多模态论文与应用方向

多模态大模型论文索引用来查具体任务的文章。需要生成图像时看生成模型,需要把视觉和语言接到动作时看具身。

编码器设计与系统开销

Purshow 的 Encoder-Free 分析从负载和并行调度解释设计动机。其他课程、论文和项目见多模态资料目录。

代表论文

先用 CLIP 理解对齐,再对照 BLIP-2 与 LLaVA:中间怎么接、哪些参数训练、用了什么数据。

2021 · ICML 2021

Learning Transferable Visual Models From Natural Language Supervision

Learning Transferable Visual Models From Natural Language Supervision · Radford et al. · Fig. 1
论文原图 · Radford et al. · Fig. 1 · 论文原文

它在解决什么

能否用图片配文学习视觉概念,而不只依赖固定类别标签?

核心想法

同时训练图像与文字编码器,让正确配对比错误配对更相似;预测时可比较图片与不同文字描述。

为什么选这篇

它把图文检索和零样本分类统一到一个容易观察的匹配问题。

第一遍读哪里

先看图文训练与零样本预测的流程,再改官方示例中的候选文字。

读完还要问

CLIP 输出表示或匹配分数,本身不是聊天模型;匹配正确也不等于理解复杂关系。

2023 · ICML 2023

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models · Li et al., BLIP-2, Figure 1
论文原图 · Li et al., BLIP-2, Figure 1 · 论文原文

它在解决什么

能否复用已经训练好的视觉模型和语言模型,减少重新训练的成本?

核心想法

冻结两侧模型,用可训练的 Q-Former 提取少量视觉特征,再学习把这些特征接到语言模型上。

为什么选这篇

它让“给语言模型接上眼睛”落到具体模块和训练阶段。

第一遍读哪里

先看两阶段框架,标出冻结和训练的部分,再追踪视觉信息怎样变成语言输入。

读完还要问

冻结模型仍带有原模型的能力边界;错误视觉信息可能伴随流畅但不准确的回答。

2023 · NeurIPS 2023

Visual Instruction Tuning

Visual Instruction Tuning · Liu et al., Visual Instruction Tuning, Figure 1
论文原图 · Liu et al., Visual Instruction Tuning, Figure 1 · 论文原文

它在解决什么

怎样让接收图像的模型按自然语言要求回答问题?

核心想法

用投影连接图像编码器与语言模型,再用视觉指令数据训练。原作利用图片的文字描述与框信息,请纯文本 GPT-4 生成部分训练对话。

为什么选这篇

它说明架构连接之外,训练数据的组织也能改变模型的交互方式。

第一遍读哪里

先看指令数据如何构造,再看连接结构和分阶段训练。

读完还要问

回答可能出现图片中不存在的细节。

入门练习

卡在某一步?把过程带到 AMA 一起聊 ↗