⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议。
Skip to content

7.4 多模态应用

核心问题: 多模态模型有哪些实际应用?每种应用背后的技术原理是什么?

在线 Notebook

对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明


图像描述(Image Captioning)

任务

给定图像,生成自然语言描述。

为什么需要跨模态生成

图像描述不是"看图说话",而是需要:

图像 → ViT 编码 → 视觉特征向量

              投影层(对齐视觉-文本空间)

              LLM 解码(自回归生成文本)

关键问题: 视觉特征如何"驱动"文本生成?投影层把图像 patch 特征映射到 LLM 的 token 空间,让 LLM 把视觉 patch 当作"看不见的 token"来处理。生成的每个词都基于图像特征 + 已生成文本的联合注意力。

为什么 CIDEr 比 BLEU 更合适

指标原理问题
BLEU-4n-gram 重叠率短句得分高,忽略语义
METEOR词义对齐计算慢,对罕见词不稳定
CIDErTF-IDF 加权 n-gram奖励描述独特细节,惩罚套话

CIDEr 的直觉:如果所有图像都被描述成"a photo of...",这个 n-gram 权重会因为太常见而接近 0,模型无法靠套话刷分。

应用

  • 无障碍访问:为视障用户描述网页图像(WCAG 2.1 alt-text 标准)
  • 内容管理:自动生成图片标签,提升搜索召回率
  • 电商:从商品图片自动生成描述文案

性能指标

下面的数字用于说明不同任务上的典型变化方向,具体结果取决于模型版本、评测集、输入分辨率和推理配置。

指标LLaVA-1.5Qwen2.5-VL改进
BLEU-435.238.9+3.7
METEOR28.131.5+3.4
CIDEr112.3128.7+16.4

在这个示意中,CIDEr 的变化最明显,说明高分辨率和更强视觉-语言对齐通常会改善描述细节的特异性。


视觉问答(Visual Question Answering, VQA)

任务

给定图像和问题,生成答案。

为什么 VQA 需要跨模态推理

VQA 不只是"理解图像",还需要把问题和图像内容对齐:

问题:"图中有几个人站在左边?"

简单 VQA:
  图像特征 + 问题特征 → 拼接 → 分类器 → 答案类别
  问题:只能输出预定义类别,无法处理开放问题

LLM-based VQA:
  图像 token + 问题 token → 跨模态注意力 → 自回归生成答案
  优势:可以输出任意文本,处理计数、空间关系、因果推理

TextVQA 为什么难? 需要识别图像中的文字(OCR)再推理。早期低分辨率模型容易丢失文字细节,而高分辨率支持通常能显著改善这类任务——这正是高分辨率的核心价值(见 7.3)。

例子

图像:一只狗在公园草坪上玩耍
问题:图像中有什么动物?  → 答案:狗
问题:它在哪里?         → 答案:公园草坪上
问题:它在做什么?       → 答案:玩耍

应用

  • 医疗影像:医生用自然语言查询 CT/MRI("左肺有结节吗?")
  • 教育:学生拍题目照片提问,模型给出解题步骤
  • 工业质检:"这个零件有什么缺陷?"

性能指标

指标LLaVA-1.5Qwen2.5-VL改进
VQA v2 准确率82.1%89.3%+7.2%
GQA 准确率62.0%70.5%+8.5%
TextVQA 准确率58.3%71.2%+12.9%

图像搜索(Image Retrieval)

任务

给定文本查询,从图库中找到语义相关的图像。

为什么用余弦相似度在 CLIP 空间搜索

传统图像搜索:
  关键词匹配元数据(标题、标签)
  问题:依赖人工标注,无法理解图像内容

CLIP 图像搜索:
  文本 → 文本编码器 → 文本向量
  图像 → 图像编码器 → 图像向量
  相似度 = cosine(文本向量, 图像向量)

为什么用余弦而不是欧式距离? CLIP 的编码器输出在高维球面上,向量的方向代表语义,模长无意义。余弦相似度只比较方向,对模长不敏感,更稳定。

Recall@k 的含义: R@1 = 正确图像在 top-1 结果里的比例;R@5 = 正确图像在 top-5 里的比例。实际系统更关注 R@5/R@10,因为用户会浏览多个结果。

例子

查询:"a red sports car"
步骤:
  1. CLIP 文本编码 → 512 维向量
  2. 与图库所有图像向量计算余弦相似度
  3. 返回 top-k 最相似图像

应用

  • 电商反向搜索:上传商品图,找到同款或相似款
  • 版权检测:检测网络图片是否与版权图库匹配
  • 多模态 RAG:用文本 query 检索图片上下文(见扩展阅读)

性能指标

指标LLaVA-1.5Qwen2.5-VL改进
Flickr30K R@168.2%75.8%+7.6%
Flickr30K R@588.5%93.2%+4.7%
COCO R@158.1%67.3%+9.2%

代码实验

多模态应用演示

图7.4:三类多模态应用性能对比示意——图像描述(CIDEr)、视觉问答(VQA accuracy)、图像检索(Recall@1)在 LLaVA-1.5 与 Qwen2.5-VL 上的差异。

代码文件: code/ch07_multimodal_llm/multimodal_applications.py
运行方式: python code/ch07_multimodal_llm/multimodal_applications.py


本节小结

  • 图像描述 依靠投影层将视觉 patch 映射到文本空间,LLM 自回归生成描述;CIDEr 比 BLEU 更适合评估,因为它奖励描述特异性
  • VQA 需要跨模态注意力对齐图像内容与问题语义;高分辨率对 TextVQA 这类文字密集任务尤为关键
  • 图像搜索 在 CLIP 对齐的高维空间用余弦相似度匹配,支持零样本检索而无需手工标注
  • 三类应用的表现通常都会受益于 7.3 讨论的高分辨率处理能力,但收益大小取决于任务是否依赖细节

扩展阅读: 多模态应用进阶(多模态 RAG、文档理解技术栈、视觉 Agent)

下一节: 7.5 实战案例

本教程采用 CC BY-NC-SA 4.0 许可协议