Skip to content

05 多模态基础

学习理念:多模态就是"让 AI 不只看得懂文字,还能理解图像、生成图像"。你不需要知道 ViT 的注意力头怎么算,但要知道"图片怎么喂给 Transformer"、"文生图大概是什么思路"。用一个比方记住全部:ViT = 把图片当拼图喂给 AI,CLIP = 让 AI 学会看图说话,扩散模型 = 从一团噪点里慢慢拼出一张图


📖 阅读优先级

等级章节说明
🟢 了解即可全部知道有什么技术、能干什么就行

一、ViT——"把图片当拼图"

🟢 【了解即可】 在 ViT 出现之前,处理图像靠 CNN(卷积神经网络)。ViT 干了一件很暴力的事:把图片切成小方块,然后像处理文本一样送进 Transformer

比方:拼图

你有一张 1000×1000 的图片(相当于 100 万像素)
ViT 把它切成 16×16 的小方块,每块 16×16 像素
总共切出 (1000/16)² ≈ 3906 块"小拼图"
把这些"拼图"按顺序排成一串 → 送进 Transformer
                              ↑ 就和处理文本一模一样!

关键要点

  • 图片被切成固定大小的 patch(类似文字被切成 token)
  • 每个 patch 展平成一个向量(类似 token embedding)
  • 加上位置编码告诉模型这些 patch 的原始位置
  • 剩下的就和 Transformer 处理文本完全一样了

🟢 【了解即可】 你只需要知道 ViT = "切图+Transformer" 就够了。


二、CLIP——"让 AI 学会看图说话"

🟢 【了解即可】 CLIP 解决了一个很实际的问题:怎么让机器知道"一张猫的图片"和文字"猫"是同一个东西?

比方:匹配游戏

你手上有一堆图片和一堆文字标签,打乱了。
游戏规则:把匹配的图片和文字配对。

训练方式:
  一张"猫"的图片和文字"猫" → 放在向量空间里的同一位置 ✅
  一张"猫"的图片和文字"狗" → 拉开距离 ❌

训练完的效果:
  图片编码器和文字编码器把"猫"和猫图片映射到同一个向量空间
  → 距离越近,说明越匹配
  → 距离越远,说明越不相关

CLIP 能干的事(零样本分类)

问:"下图是什么动物?"
  图片 → CLIP 图像编码器 → 向量 A
  文本候选:"猫"、"狗"、"鸟"
  分别编码 → 向量 B1, B2, B3
  计算相似度:A vs B1 = 0.85, A vs B2 = 0.43, A vs B3 = 0.21
  答案:猫(相似度最高)
        ↑ 这是零样本,没专门训练过猫的分类!

🟢 【了解即可】 CLIP 是很多多模态系统的基石。DALL-E2 用了 CLIP,Stable Diffusion 也受 CLIP 启发。


三、扩散模型——"从噪点里长出一张图"

🟢 【了解即可】 这是目前文生图的主流技术。训练过程像倒放一场雪崩。

比方:雪崩倒放

想象你拍了张完美的雪景照片(原始图像)。
然后开始下雪(加噪点):
  第一秒:照片上有一层薄雪,还看得清
  第十秒:雪越来越厚,只能看到大概轮廓
  第一百秒:完全被雪覆盖,一片白(纯噪声)

**生成过程就是倒放这个视频**
从一片纯白开始:
  第负一秒:去一点点雪 → 出现模糊影子
  第负十秒:再去一些雪 → 轮廓越来越清晰
  第负一百秒:回到原始图像

关键:模型每一步只学一件事——"如何去除当前这一层雪(噪声)",不要求一步到位。

条件扩散——"告诉它想要什么"

"一只猫坐在沙发上"

  文本 → 文本编码器 → 文本向量

  纯噪声 → [去噪 UNet + 文本引导] → 去一点 → [去噪 UNet + 文本引导] → 再去一点 → ... → 猫在沙发上的图片

                         每一步都参考文本向量,确保生成的图片符合要求

🟢 【了解即可】 Stable Diffusion、DALL-E 2/3、Midjourney 都是扩散模型。你不需要知道 UNet 的结构,调用它们的 API 就行。


四、各技术的关系图

文字                 →  CLIP 文本编码器  →  文本向量 ──┐
图片                 →  ViT 图像编码器   →  图像向量 ──┤

                                              CLIP 对比学习
                                              (让匹配的图文靠近)

                     ┌─── 先验模型(CLIP)──── 文本向量 ──┐
DALL-E2:            │                                    │
  文本 → 文本编码器 ─┤                                    ├→ 扩散模型 → 图片
                     └─── 条件编码 ──────────────────────┘

五、对 Agent 开发的实际意义

技术你能用它做什么怎么用
ViT图片分类、特征提取不重要,模型封装好了
CLIP图文匹配、图片搜索调 API(几行代码)
扩散模型文生图、图生图调 API(DALL-E / Stable Diffusion)
DALL-E2文生图openai.Image.create(prompt=...)

🟢 【了解即可】 如果你以后做多模态 Agent(比如"用户发一张图,AI 理解后回答"),你需要知道的就是:

  • 理解图片 → 用 CLIP 把图片编码成向量
  • 生成图片 → 调 Stable Diffusion / DALL-E 的 API
  • 底层用什么 ViT、扩散模型什么结构 → 不用管,框架帮你做了

OPC 超级个体实战指南