活字 从规则到大模型
正在加载 3D
文字 → K 图像 → C 声音 → M 一只猫

这台设备或浏览器没有开启 WebGL2,这里显示同一装置的静态图;正文里的演示与文字说明照常可用。

3D 画面没能加载。

点一枚 Token 或下方的词作为查询 · 拖动旋转 · 向下滚动,印张拆成四块分色版

第 06 章2020—2025

多模态

文字、图像和声音,怎样放进同一个空间?

图像切成小块,声音切成短帧,都能像文字一样变成 Token。训练让“猫”字、猫的照片和猫叫声,落在同一个空间里相近的地方⁠[1]⁠。

文字查询
印版

点一枚 Token 或下方的词作为查询 · 拖动旋转 · 向下滚动,印张拆成四块分色版 黑版放文字,青版放图像,品红版放声音;黄版印出查询附近的“相似度光晕”,压在青、品红上叠成绿与红。 向量为手工设定的 8 维示意值,相似度按真实公式计算

图、字、声,一步步并进同一个模型

五年里,看图的模型换上了 Transformer,图和字被对齐,生成图像的方法也换了一代。

  1. 2020

    ViT:一张图值 16×16 个词

    Dosovitskiy 等,Google

    解决了什么
    Transformer 原本只处理文字,图像识别长期由卷积网络主导。
    带来了什么变化
    把图像切成 16×16 像素的小块,当作一串“词”交给标准 Transformer;在大规模数据上预训练后,图像分类效果接近或超过了当时最好的卷积网络⁠[2]⁠。
  2. 2020

    DDPM:从噪声里一步步还原

    Ho、Jain、Abbeel,加州大学伯克利分校

    解决了什么
    生成逼真图像需要一种好训练、效果稳定的方法。
    带来了什么变化
    学会“给图片逐步加噪声”的反过程:从纯噪声出发一步步去噪,生成质量可与当时的 GAN 相比,带动了扩散模型的兴起⁠[3]⁠。
  3. 2021

    CLIP:把图和字对齐

    Radford 等,OpenAI

    解决了什么
    图像分类模型只认得训练时固定的那些类别,换一个新类别就要重新标注、重新训练。
    带来了什么变化
    用约 4 亿对网上的图片和文字做对比学习,图和字进入同一个空间;写一句文字描述,就能给没见过的类别分类⁠[1]⁠。
  4. 2021

    DALL·E:按文字生成图像

    Ramesh 等,OpenAI

    解决了什么
    按一句话画出相应的图像,过去只在很窄的题材上做得到。
    带来了什么变化
    把文字 Token 和图像 Token 接成一条序列,用 120 亿参数的 Transformer 逐个预测,能按描述零样本生成图像⁠[4]⁠。
  5. 2021

    潜空间扩散:生成变便宜

    Rombach 等

    解决了什么
    直接在像素上做扩散,训练和生成都非常耗算力。
    带来了什么变化
    先把图片压缩进更小的“潜空间”再做扩散,并用交叉注意力接入文字等条件;Stable Diffusion 就基于这一方法⁠[5]⁠。
  6. 2022—2023

    会看图的语言模型

    DeepMind Flamingo · OpenAI GPT-4

    解决了什么
    语言模型只读文字,图像模型只给标签,没法一起回答“图里发生了什么”。
    带来了什么变化
    Flamingo 用新增的交叉注意力层,把冻结的视觉编码器接到冻结的语言模型上,能读图文交错的输入⁠[6]⁠;GPT-4 能接受图像和文字输入、输出文字⁠[7]⁠。
  7. 2024—2025

    原生多模态:直接产出图与声

    Google · OpenAI 等

    解决了什么
    早期系统多是拼接的:看图用一个模型,说话、画图再交给别的模型。
    带来了什么变化
    Gemini 2.0 Flash 可以原生输出图像和多语言语音⁠[8]⁠;Sora 2 生成视频的同时生成同步的对白与音效⁠[9]⁠。
06.1

图像也能切成 Token Vision Transformer · ViT

1一句话

把一张图切成大小相同的小方块,每块摊平成一串数字,再像词一样排成序列,就能交给 Transformer 处理。

2打个比方

像倒着玩拼图:把一幅画切成整齐的小方块,按从左到右、从上到下的顺序排成一长条,每块背面写上它原来的位置编号。

Transformer 拿到的就是这一长条方块。位置编号很要紧:没有它,打乱顺序的方块和原图,对模型来说是一回事。

3动手试

把一张图切成图块,排成一串 Token 图片为程序绘制;切块、编号与计数为真实计算
图块边长

224 × 224 像素

每个图块
注意力要比较的配对
当前图块

Token 序列

4怎么做到的

ViT 把 224×224 像素的图像切成 16×16 像素的图块,得到 14×14 = 196 块⁠[2]⁠。每块有 16×16×3 = 768 个数(三个颜色通道),经过一次线性变换变成一个向量,相当于一个“词向量”。序列最前面再加一个专门汇总全图信息的 [CLS] Token,每个位置加上可学习的位置编码,之后就和处理文字一样:一层层自注意力,每个图块都能直接参考其他所有图块。

图块越小,Token 越多,细节越清楚,但注意力的计算量随 Token 数的平方增长。论文还发现,ViT 没有卷积网络那种“相邻像素关系更紧密”的内置假设,在中等规模的数据上不如卷积网络;换到一千多万到三亿张图片的数据集上预训练,才接近甚至超过它们⁠[2]⁠。

做不到什么

  • 图块大小是固定的,比一块还小的细节(比如远处的小字)容易丢失。
  • 分辨率翻倍,图块数变成 4 倍,注意力的计算量约变成 16 倍。
  • 数据少时,往往不如自带“局部”假设的卷积网络。
06.2

对比学习:把图和字对齐 Contrastive Learning · CLIP

1一句话

同时训练一个看图的编码器和一个读字的编码器:配成对的图和字,向量要靠近;没配对的,要推远。

2打个比方

像一场配对游戏:一群人里每人都有唯一的搭档。没人告诉你规则,只在每一轮结束时公布“谁和谁是一对”。玩得多了,你自己就能摸出“什么样的人会和什么样的人配成一对”。

CLIP 每一步拿一大批图文对,把“这一批里谁和谁是一对”当作唯一的正确答案,其余组合全当错误答案。

3动手试

迷你 CLIP:让 5 句话和 5 张图对上号 8 维向量从随机数开始;余弦相似度、softmax、损失和梯度都是真实计算
0.07
0.011

行:文字 · 列:图像 · 数字:余弦相似度

粗框 = 训练数据里的一对;圆点 = 模型此刻给这句话挑的图。点任意一格,就把这句话改配给那张图。

「窗台上的猫」和每张图

对比损失
按训练配对选对
和人眼判断一致
已训练

4怎么做到的

CLIP 从互联网上收集了约 4 亿对图片和文字⁠[1]⁠。训练时,一批 N 张图和 N 段文字分别变成向量,两两计算余弦相似度,得到一张 N×N 的表。对角线上是真正的配对,其余格子都是“负样本”。训练目标是让每一行、每一列里正确那一格的概率最大,这就是对比学习。

相似度先除以一个温度 τ 再做 softmax:τ 越小,概率越“尖”,模型越在意排第一的那一个。CLIP 让 τ 也参与学习,初始值相当于 0.07⁠[1]⁠。

训练完成后,图和字落在同一个空间里。给图分类时,把每个类别写成一句话(比如“一张猫的照片”),看图离哪句话最近,就能给没见过的类别分类,这叫零样本分类。

做不到什么

  • 它学的是“整体像不像”,数数、左右位置、图里的文字这类细节容易出错。
  • 网上的图文对带着偏见和错误配对,模型会一起学进去。
  • 它只会比较,不会描述:给它一张图,它说不出一段话,只能从候选文字里挑最近的一句。
06.3

扩散模型:从噪声里“冲洗”出图像 Diffusion Models

1一句话

训练时,把图片一步步加噪声,直到变成一片雪花点;生成时反过来,从纯噪声出发,每一步去掉一点噪声,图像慢慢显影。

2打个比方

像在暗房里冲洗照片:相纸刚浸进显影液时一片空白,大的轮廓先浮出来,细节随后一点点出现。

不同的是,扩散模型的“显影液”是一个学会了猜噪声的神经网络:给它一张带噪声的图,它估计里面混进了哪些噪声,减掉一部分,再交给下一步。

3动手试

扩散:把图片冲成雪花点,再从雪花点里冲洗出来 噪声日程与采样公式按 DDPM 原式计算;去噪器是照着目标图手写的教学替身,不是学出来的模型
纯噪声成图
t = 0 1000

4怎么做到的

DDPM 先定义一个前向过程:用 1000 步把高斯噪声逐渐混进图片,每一步混多少由一张事先定好的表决定⁠[3]⁠。任意一步的结果都能直接算出来:xt = √ᾱt · x0 + √(1 − ᾱt) · ε。训练时随机挑一步、混进噪声,让网络去猜混进去的噪声 ε,猜得越准越好。

生成时从纯噪声开始,反复让网络猜噪声、去掉一部分、再补一点小的随机量,走完全部步数就得到图像。论文观察到,大的轮廓先出现,细节最后才出现⁠[3]⁠。

想让它“按文字画画”,就把文字向量作为条件送进去噪网络。潜空间扩散把整个过程搬到压缩后的小尺寸“潜空间”里做,最后再解码回像素,大大降低了成本⁠[5]⁠。

做不到什么

  • 生成要反复调用去噪网络很多次,比一次成图的方法慢。
  • 画面里的文字、手指、物体数量这类精确结构,经常出错。
  • 可能复现训练图片里的内容和画风,版权与肖像问题仍有争议。
06.4

声音与视频 Audio · Video

1一句话

声音先画成频谱图(横轴时间、纵轴频率的“声音照片”),再按时间切成一小段一小段;视频则是一帧帧图片,再切成图块。

2打个比方

像乐谱:横轴是时间,纵轴是音高,每个音符占一小格。频谱图就是机器自动画出的“乐谱”,按时间切成一列一列,每一列就是一个声音 Token。

3动手试

声音 → 频谱图 → 一串声音 Token 声音为程序合成;傅里叶变换、梅尔滤波与切帧都是真实计算
每个 Token 的时长

波形 每秒 16,000 个采样点

频谱图

声音 Token

4怎么做到的

声音本来是一串气压起伏的数字,每秒上万个。直接处理太长,所以先每隔一小段时间取一个窗口,用傅里叶变换算出这一刻各个频率有多强,按时间排起来就是频谱图。语音识别模型 Whisper 先把音频重采样到 16,000 Hz,用 25 毫秒的窗口、每 10 毫秒移动一次,算出 80 个梅尔频带,每次处理 30 秒⁠[10]⁠。梅尔刻度模仿人耳:低频分得细,高频分得粗。

有了频谱图,后面就和图像类似:切块、变成一串向量,交给 Transformer。视频是“会动的图像”:每一帧切成图块,再沿时间排开。

新一代模型不只“读”这些信号,也直接“写”出来:Gemini 2.0 Flash 能原生输出图像和语音⁠[8]⁠,Sora 2 生成视频时同步生成对白和音效⁠[9]⁠。

做不到什么

  • 一段长视频切出的 Token 数量极大,处理很贵,模型常常只能抽一部分帧来看。
  • 常用的频谱图只保留了各频率的强弱,把它还原成自然的声音,还要另一个模型来补全。
  • 听清说了什么,和听出语气、口音、背景里的声音,是两回事;后者仍然不稳定。

这一章留下的问题

  1. 01

    图和字落进同一个空间,靠的是“相似”。相似不等于正确:模型能把猫的照片和“猫”配上,却常常数不清图里有几只猫。

  2. 02

    生成的图像、声音和视频越来越逼真,怎样分辨真假、怎样标注来源,技术和规则都还在追赶。

  3. 03

    能看能听之后,模型在多步计算上依然容易出错。下一章讲:让它先把中间步骤写出来,或者每次只叫醒一部分参数,会怎样?

本章参考文献

  1. [1] Alec Radford et al.. Learning Transferable Visual Models From Natural Language Supervision. ICML 2021 (arXiv:2103.00020).用约4亿对网络图像-文本做对比学习训练CLIP,使模型能用自然语言描述类别进行零样本图像分类,并成为后续文生图系统常用的图文对齐组件。
  2. [2] Alexey Dosovitskiy et al.. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR 2021 (arXiv:2010.11929).把图像切成16×16的图块作为序列输入标准Transformer(ViT),在大规模数据上预训练后图像分类效果可与卷积网络相当,推动Transformer进入视觉领域。
  3. [3] Jonathan Ho, Ajay Jain, Pieter Abbeel. Denoising Diffusion Probabilistic Models. NeurIPS 2020 (arXiv:2006.11239).通过学习逐步去噪的反向过程从随机噪声生成图像,并给出简洁的训练目标,生成质量可与GAN相比,带动了扩散模型的兴起。
  4. [4] Aditya Ramesh et al.. Zero-Shot Text-to-Image Generation. ICML 2021 (arXiv:2102.12092).即DALL·E论文:把文本token和离散化的图像token拼成一个序列,用120亿参数的自回归Transformer建模,实现根据文字描述零样本生成图像。
  5. [5] Robin Rombach et al.. High-Resolution Image Synthesis with Latent Diffusion Models. CVPR 2022 (arXiv:2112.10752).在预训练自编码器的低维潜空间而非像素空间中做扩散,大幅降低训练和采样成本,并通过交叉注意力支持文本等条件输入;Stable Diffusion即基于这一方法。
  6. [6] Jean-Baptiste Alayrac et al.. Flamingo: a Visual Language Model for Few-Shot Learning. NeurIPS 2022 (arXiv:2204.14198).用新增的交叉注意力层把冻结的预训练视觉编码器与冻结的大语言模型连接起来,能处理图文交错输入,并只凭少量示例完成多种视觉-语言任务。
  7. [7] OpenAI. GPT-4 Technical Report. arXiv:2303.08774.报告了可接受图像和文本输入的大模型GPT-4在专业和学术考试等基准上的表现,以及可预测扩展和安全措施,但未披露模型规模、架构和训练数据等细节。
  8. [8] Google. Introducing Gemini 2.0: our new AI model for the agentic era. Google.2024-12-11 · Gemini 2.0(Gemini 2.0 Flash 实验版)
  9. [9] OpenAI. Sora 2 is here(官方 RSS 摘要). OpenAI.2025-09-30 · Sora 2
  10. [10] Alec Radford, Jong Wook Kim, Tao Xu, Greg Brockman, Christine McLeavey, Ilya Sutskever. Robust Speech Recognition via Large-Scale Weak Supervision. ICML 2023, PMLR 202 (arXiv:2212.04356).即 Whisper:用 68 万小时的多语言、多任务弱监督音频训练语音识别模型。音频重采样到 16,000 Hz,以 25 毫秒窗口、10 毫秒步长计算 80 通道的对数梅尔频谱,按 30 秒一段输入;编码器开头的第二个卷积层步长为 2。

全部文献、素材与许可见 来源与许可。