多模态大模型理解视觉token原理

DeepSeekV3.2的回答⬇️

ViT 中的视觉 token 不像文本 token 那样有一个固定的、离散的“词汇表”(比如 “apple” -> 123, “cat” -> 456)。视觉 token 是连续、高维的向量。多模态大模型能够“理解”这些视觉 token,关键在于一个核心操作:对齐

下面我们分步拆解这个过程:

1. 理解两种 Token 的本质区别

  • 文本 Token:

    • 本质: 离散的符号。每个词或子词都有一个唯一的 ID(如 12345)。
    • 表示: 通过一个可查找的“词嵌入表”,将这个 ID 转换成一个连续的向量。这个向量是该词的语义表示
    • 特点: 有明确的语义边界。“猫”和“狗”是两个不同的、离散的 token。
  • 视觉 Token:

    • 来源: 图像被分割成多个小块(例如 16x16 像素)。
    • 本质: 每个小块本身只是一组 RGB 像素值,没有固有语义。
    • 表示: 通过 ViT 的“线性投影层”,将这个像素块映射成一个连续的向量。这个向量是该图像块的视觉特征表示
    • 特点:连续的、高维的数值向量。两个相似的图像块(如都是天空的局部)会有相似的向量,但没有一个“天空”的固定 ID。

2. 多模态大模型如何桥接这两个世界?

多模态模型(如 CLIP, LLaVA, BLIP 等)的核心思想是:为视觉和文本建立一个共享的语义空间

这个过程的实现主要依赖于两个组件:

a) 视觉编码器

  • 通常是一个预训练好的 ViT。
  • 功能: 它负责将输入图像“翻译”成一系列视觉 token(向量)。这个 ViT 已经在海量图像数据(如 ImageNet)上训练过,因此它产生的视觉 token 已经包含了丰富的、层次化的视觉特征——从边缘、纹理到物体部件,再到整个物体甚至场景信息。
  • 输出: 一个视觉 token 序列 [v1, v2, v3, ..., vN],每个 v_i 都是一个高维向量。

b) 文本编码器 & 大语言模型

  • 通常是一个预训练好的 LLM(如 LLaMA, GPT 系列)。
  • 功能: 它负责处理文本,并理解视觉 token。

关键步骤在于“对齐”或“连接”:

  1. 投影到一个共享空间: 视觉 token 序列 [v1, v2, ..., vN] 会被送入一个投影层。这个投影层通常是一个简单的线性层或一个小型 MLP。它的作用是将 ViT 输出的视觉特征向量,映射到 LLM 的文本语义空间中。

    • 可以理解为: 将视觉的“方言”翻译成 LLM 能听懂的“通用语”。
  2. 作为“伪文本”输入 LLM: 经过投影后的视觉 token 序列,在 LLM 看来,就像是一段特殊的“前缀文本”或“伪文本 token”

    • 输入格式通常是: [视觉token1, 视觉token2, ..., 视觉tokenN, 文本token1, 文本token2, ...]
    • 例如,在 LLaVA 中,用户输入是“一张猫的图片”和问题“图片里有什么?”。模型的实际输入序列是:[IMG1, IMG2, ..., IMG576, “图片”, “里”, “有”, “什”, “么”, “?”]
  3. LLM 的“理解”过程:

    • LLM 的核心能力是自回归建模,即根据前面的所有 token 来预测下一个 token。
    • 当 LLM 处理这个混合序列时,它会利用其强大的注意力机制,让文本 token 去“关注”前面的视觉 token。
    • 通过在海量的“图像-文本对”数据上进行训练,LLM 学会了建立视觉特征模式和文本概念之间的关联
      • 当视觉 token 序列中包含“毛茸茸的纹理、胡须、椭圆形的眼睛、三角形的耳朵”等特征模式时,LLM 的权重会激活,倾向于生成与“猫”相关的文本。
      • 它并没有一个“猫”的视觉 ID,但它学会了“这组视觉特征向量出现时,最可能对应的下一个词是‘猫’”

一个生动的比喻

  • 文本 Token: 像是一本标准的英语词典,每个单词有明确的定义。
  • 视觉 Token: 像是一段用你听不懂的语言(比如法语)描述的场景。
  • 多模态模型中的投影层: 像是一位同声传译,实时将法语描述翻译成英语。
  • LLM: 像是一位只听懂英语的讲故事高手。他听到翻译过来的英语描述后,就能根据这个描述,流利地用英语继续讲下去、回答问题或者总结内容。

这位讲故事的高手(LLM)不需要懂法语(原始视觉信号),他只需要相信同声传译(投影层)能准确翻译,并且他自己有能力根据英语描述(对齐后的视觉 token)进行理解和推理。

总结

多模态大模型“理解”视觉 token 的方式,并非为它们建立一个词汇表,而是:

  1. 特征提取: 使用强大的 ViT 将图像编码成富含语义的视觉特征向量。
  2. 空间对齐: 通过一个可学习的投影层,将这些视觉特征向量映射到 LLM 的文本语义空间中。
  3. 关联学习: 在海量图文数据上训练,让 LLM 学会视觉特征模式文本概念之间的统计关联。当看到某种特定的视觉模式时,LLM 就知道该生成什么样的文本。

最终,这种“理解”是一种基于模式和统计的涌现能力,而不是像查字典那样的符号式查找。


多模态大模型理解视觉token原理
https://cosmoliu2002.github.io/posts/visual-token-comprehension/
作者
LiuYu
发布于
2025年10月21日
许可协议