2014 年的某个夜晚,蒙特利尔的一家酒吧。一名 28 岁的博士生和朋友喝着啤酒,抛出了一个点子——"要是让两个神经网络玩一场互相欺骗、互相识破的游戏,会怎么样?"朋友嗤之以鼻。那天晚上他回到家,写下代码跑了起来。第一次尝试,它就成功了。
一句话的点子——"Generator(生成器)vs Discriminator(判别器)的对抗游戏"。Generator 制造假图像,Discriminator 区分真假。两者同时学习时,Generator 会越来越擅长生成逼真的图像,Discriminator 会越来越精准地判别。当游戏达到均衡时——Generator 制造的图像就变得与真品无法区分。
他做出的模型名叫 GAN(Generative Adversarial Network)。起初它只能生成模糊的 28×28 手写数字。然而仅仅 4 年之后——StyleGAN 就能以 1024×1024 的分辨率生成假人脸,谁也无法把它和真人区分开来。
"待在酒吧里的时候,点子突然冒了出来。朋友们都说绝对不可能。我回到家喝了一杯葡萄酒,写下了代码。第一次尝试就成功了。那就是 GAN。"
— Ian Goodfellow, 2019 年访谈GAN 当了 6 年(2014-2020)图像生成之王。StyleGAN、BigGAN、CycleGAN 等炫目的后续成果层出不穷。然而学界早已心知肚明——GAN 有两种痼疾。
2020 年 6 月。UC Berkeley 的一名博士生向 NeurIPS 提交了一篇论文。标题是 "Denoising Diffusion Probabilistic Models"。简称 DDPM。
这个点子是反过来的。给图像逐步添加噪声,直到变成完全的杂讯(forward)。把这个过程教给神经网络学习。然后反方向地,从杂讯里逐步去除噪声——就能得到一张如同原图的图像(reverse)。拆分成 1000 个微小的步骤,就能稳定地训练。
起初它比 GAN 慢得多。生成一张图要好几分钟。然而质量·多样性·稳定性都遥遥领先。没有模式崩溃。训练不会崩坏。而且把规模放大,效果就会随之变好。
2022 年 4 月——OpenAI 公开 DALL-E 2。5 月——Google Imagen。两者都基于 Diffusion。两者都不开源(只提供 API)。
然后是 2022 年 8 月 22 日——一家德国公司改变了一切。
撰写 Latent Diffusion 论文(CVPR 2022)的这两人,与 Stability AI 合作公开了 Stable Diffusion——从模型 weights、代码到训练数据全部开源。任何人都能在自己的 GPU 上跑起来。那天之后短短几天,数万个 fine-tuning 模型、数百个应用工具纷纷涌现。
2024 年 2 月 15 日。OpenAI 发布 Sora。仅凭文字就能生成 60 秒的视频。自然的镜头运动、一致的角色、逼真的物理。技术核心——Diffusion Transformer (DiT):从基于 U-Net 的 Diffusion 改为基于 Transformer。用 attention 处理视频的时间轴。
而就在同一年。2024 年 6 月 Runway Gen-3,同期中国快手的 Kling 也加入了视频生成的行列。2024 年 12 月 Google 发布 Veo 2,开始展现出比肩 Sora 乃至更高的视频质量。部分好莱坞 VFX 工作室已早早开始引入这些工具。
在 EP04 里,我们说 ChatGPT 征服了语言。而在 EP05 里——Diffusion 征服了视觉。插画、摄影、设计、VFX、视频广告。这一切产业都在短短两年间失去了上一代的工具。
而且在意想不到的领域也是如此——Diffusion 被用于半导体工厂的缺陷数据合成(Intel GFA)、医疗影像增强、药物分子设计(AlphaFold 的下一代)。从杂讯走向有意义的模式,这套机制被证明——超越图像,可以适用于一切数据。
下一篇(EP06)将讲述驱动这一切模型的真正基石——NVIDIA 的 GPU。从 1999 年的 GeForce 256 到 2024 年的 Blackwell。讲讲 CUDA 是如何成为整个学界的标准的,以及 Google 为什么要自己打造芯片(TPU)。