第一章:机器的第一次梦想 | The Machine's First Dream
创世者的画笔:从GAN到扩散模型的生成式AI革命
第一章:机器的第一次梦想 | The Machine's First Dream
当我们在2024年的今天惊叹于Midjourney生成的梦幻星空、Stable Diffusion绘制的超现实主义画作,或是DALL-E创造的不存在于现实世界的神奇生物时,或许很少有人会追问一个更本质的问题:这一切是如何开始的?当计算机第一次尝试“创造”图像时,它究竟看到了什么?
这个问题看似简单,却触及了人工智能最深层的哲学命题——机器能否真正理解创造的本质?当我们谈论生成式AI时,我们究竟在谈论什么?是冰冷的算法执行,还是某种形式的数字想象力?为了回答这些问题,我们必须回溯到计算机科学诞生的最初时刻,回到那个机器还没有任何“视觉”概念的蛮荒年代。
让我们从一幅画开始。
1490年,意大利文艺复兴巨匠列奥纳多·达·芬奇在一张薄薄的纸上勾勒出了著名的《维特鲁威人》——一个同时被嵌入在一个圆和一个方形中的人体,象征着宇宙的和谐与秩序。这幅素描不仅仅是一幅解剖学图谱,它是人类试图用数学语言描述自然、描述自身的伟大尝试。达·芬奇相信,宇宙的真理隐藏在对自然细致入微的观察之中,而艺术家的任务就是用画笔捕捉这些真理。
五个世纪后的今天,OpenAI的研究人员训练了一个名为DALL-E的神经网络,它可以根据文字描述生成图像——从“穿着燕尾服的拿破仑骑在马上” 到“量子物理学家在雨中漫步于东京街头”。这个神经网络从未见过真正的拿破仑,也从未体验过东京的雨,但它却能生成这些场景的视觉表现。这是否意味着机器已经发展出了某种形式的“视觉想象力”?或者说,我们对“想象力”和“创造”的定义需要被彻底重新审视?
在本书的开篇,我们将踏上这趟跨越百年的探索之旅。我们将追溯从计算机的诞生到现代生成式AI革命的完整历程,遇见那些在黑暗中摸索的先驱思想——从最初的玻尔兹曼机到变分自编码器,从生成对抗网络的诞生到扩散模型的崛起。我们的核心议题是:机器是如何学会“创造”的?更重要的是,当机器学会创造时,它究竟在做什么?
人类的视觉创造传统
要理解机器生成,我们必须首先理解人类自身的视觉创造传统。这不是因为机器在模仿人类——尽管早期的确如此——而是因为理解“创造”这一行为本身,将帮助我们把握生成式AI的本质与局限。
视觉艺术的历史几乎与人类文明的历史一样悠久。在法国南部的拉斯科洞穴中,公元前15000年的史前人类用天然颜料在岩壁上绘制了栩栩如生的野牛和骏马。这些绘画不是简单的装饰,它们是早期人类试图记录和理解周围世界的尝试。在那一刻,人类开始用符号和图像来表达对世界的认知,这是一个认知革命的开端。
此后数万年里,视觉创造经历了无数次革命。从古埃及的庄严法老肖像,到古希腊追求理想化人体比例的雕塑;从文艺复兴时期达·芬奇和米开朗基罗对透视法和人体解剖学的探索,到印象派画家对光与色彩瞬间变化的追求——每一次技术革新都在改变人类“看见”和“表达”世界的方式。
文艺复兴时期的艺术家们发展出了一种革命性的技术:暗箱(Camera Obscura)。这是一个简单的光学装置,一束光线穿过小孔进入暗室,在对面的墙壁上形成一个倒立的外部世界的影像。艺术家们利用这个装置来辅助写生——他们可以将画布放置在影像的位置上,勾勒出精确的轮廓。达·芬奇在其手稿中详细记录了暗箱的工作原理,称其为“自然的杰作”。
这个看似简单的装置实际上揭示了视觉创造的一个核心张力:图像究竟是被“发现”的还是被“创造”的?当光线穿过小孔在墙壁上形成影像时,那个影像并不是人为创作的——它是被动的、机械的记录。但艺术家们很快就意识到,仅仅复制光学影像远远不够。他们需要选择、解释、创造性地诠释那些光影。在这个意义上,艺术家成为了“视觉的策展人”,从无限丰富的感觉输入中提取有意义的形式。
这种张力——被动记录与主动创造之间的张力——将在我们探索机器生成的历史中反复出现。我们将会看到,早期的计算机图形学倾向于“记录”式的生成方式,而现代的生成式AI则试图在更深的层次上模拟“创造”本身。
让我们快进到19世纪。1839年,法国画家路易·达盖尔发明了第一台实用的银版摄影术。在这一年的某一天,当达盖尔第一次在暗室中看到显影后的金属板上出现的清晰影像时,他见证了一个新时代的诞生。摄影术引发了艺术界的巨大恐慌——当机器能够比任何画家更快速、更精确地记录现实时,画家还能做什么?
这个问题在当时的艺术圈引发了激烈争论。然而,最终的结果出人意料:摄影术并没有终结绘画,反而推动了绘画的革命。画家们开始更加大胆地探索摄影术无法捕捉的东西——主观感受、瞬间印象、情感表达。印象派、后印象派、抽象表现主义——这些艺术运动都可以看作是画家们对摄影术挑战的回应。他们开始问:既然机器能记录客观世界,那么人类绘画的独特价值在哪里?
历史总是惊人地相似。当我们今天面对生成式AI时,同样的问题再次浮现:当机器能够根据文字描述生成几乎任何图像时,艺术家还能做什么?或许,答案就藏在500年前达·盖尔的那一瞬间顿悟中——真正的创造从来不仅仅是记录,而是选择、解释与诠释的结合。
计算机的诞生与视觉的黎明
1946年2月14日,ENIAC(电子数值积分计算机)在美国宾夕法尼亚大学正式投入使用。这台占地170平方米的巨型机器装有18800个真空管,重达30吨,每秒能执行5000次加法运算。ENIAC的诞生标志着人类正式进入了电子计算时代,但其设计者恐怕从未想象过这台机器有朝一日会与艺术创作产生任何关联。
然而,正是这些早期计算机的先驱者们,开始了他们对“机器视觉”的最初探索。1959年,Russell Kirsch在美国国家标准局工作期间,开发了世界上第一台能够处理数字图像的计算机。他用这台机器扫描了一张自己三个月大儿子的照片——这是一张只有176×176像素的模糊黑白图像,容量仅有30KB。这张名为"Batch"的照片被《生活》杂志评为“世界上最重要的照片之一”,尽管它的创作者——一个刚出生三个月的婴儿——完全不知道自己的影像正在计算机中被“看见”。
这是一个具有深远意义的时刻:计算机第一次“看到”了图像,或者说,计算机第一次能够处理代表图像的数字数据。但这里有一个关键的区别——Kirsch的计算机能够读取和分析图像,但它并不能“创造”图像。读取和生成是两种完全不同的能力,就像阅读一本小说和写一本小说是完全不同的认知活动一样。
计算机图形学的真正诞生通常被认为是在1963年。这一年,Ivan Sutherland在MIT攻读博士学位期间,开发了一个名为Sketchpad的程序。这是历史上第一个交互式计算机绘图程序,也是现代CAD(计算机辅助设计)软件的鼻祖。Sketchpad的意义远不止于一个绘图工具——它引入了革命性的用户界面概念,包括图形用户界面(GUI)的雏形、对象导向的图形表示方法,以及基于光笔的直接操作交互。
在Sutherland的设计中,用户可以直接在屏幕上用光笔绘制几何图形,而这些图形会被系统“理解”为具有特定属性的对象。用户可以对这些对象进行复制、移动、旋转等操作,系统会自动维护对象之间的关系。例如,如果用户绘制了一个由多个多边形组成的复杂图形,系统会记住这是一个整体,复制时会一起复制。这是一个革命性的抽象——计算机不再仅仅是处理数字,而是能够处理更高层次的概念——形状、对象、关系。
然而,Sketchpad仍然是一个“绘图”程序,而不是“创作”程序。用户需要手动绘制每一个元素,计算机只是在存储和操作这些元素时更加高效。这更像是用数字方式操作达盖尔的摄影暗箱——记录和重组已有的元素,但并不从虚无中创造新的元素。
真正的突破来自于数学和计算机科学的深度融合。在1960年代,一批数学家和计算机科学家开始探索一个根本性的问题:是否有可能用数学公式来“描述”视觉体验?
Pierre Bézier在法国雷诺汽车公司工作期间,开发了著名的贝塞尔曲线。这种数学工具可以用少量的控制点来定义平滑的曲线,从此成为计算机图形学的基石。当设计师想要创建一个流线型的车身时,他们不再需要手工绘制无数个点——他们只需要定义几个控制点,计算机就能通过数学公式生成完美的曲线。贝塞尔曲线的优雅在于它将“创造”转化为了“计算”——设计一个形状变成了求解一个数学问题。
1974年,Jim Blinn在NASA的喷气推进实验室工作期间,开发了Blinn-Phong着色模型。这是一种模拟光线与物体表面交互的数学方法,可以让计算机生成的图像看起来更加真实。Blinn的模型将“光照”这一物理现象转化为可计算的数学公式——光线如何被吸收、反射、散射,都可以用精确的数字来描述。
1986年,Turner Whitted发表了开创性的论文《An Improved Illumination Model for Shaded Display》,提出了递归光线追踪算法。这篇论文解决了计算机图形学中一个长期存在的难题:如何模拟光线在复杂环境中的多次反射和折射。Whitted的算法可以生成令人惊叹的逼真图像——从光滑镜面上的精确倒影,到透明玻璃球中的光线弯曲,再到水面波纹中的光线分散。这不仅是技术上的突破,更是一种哲学上的启示:真实感的视觉体验可以用纯粹的数学计算来模拟。
所有这些早期探索都在推动同一个目标:让计算机能够“看到”和“生成”视觉世界。但它们都有一个共同的局限——它们都是“确定性”的生成方式给定一组参数,计算机总是产生完全相同的结果。这意味着计算机只是在执行预先定义的规则,而不是在真正地“创造”。
真正的创造需要一种不同的范式——一种能够从数据中学习、自主发现模式、并生成新颖内容的范式。这种范式的种子,早在20世纪80年代就被埋下了。
玻尔兹曼机:随机性的引入
在维也纳大学的一间阁楼里,物理学家路德维希·玻尔兹曼在19世纪末发展出了一种描述气体分子运动统计规律的数学框架。他发现,尽管我们无法追踪每一个分子的具体运动,但可以用概率来描述整个系统的宏观性质。1871年,玻尔兹曼提出了著名的玻尔兹曼熵公式,将热力学第二定律——宇宙趋向于无序——用数学语言精确地表达出来。这个公式不仅改变了物理学,也将成为理解机器学习的核心工具。
1985年,加拿大心理学家Geoffrey Hinton(当时还在多伦多大学)和他的合作者Terrence Sejnowski、David Ackley从玻尔兹曼的统计力学中获得了灵感。他们提出了一种名为“玻尔兹曼机”的神经网络模型,这是一种能够通过随机过程来学习和生成数据的神经网络。
理解玻尔兹曼机需要一点概率论的直觉。传统的神经网络是“确定性的”——给定相同的输入和初始权重,它们总是产生相同的输出。但玻尔兹曼机引入了一个关键元素:随机性。在玻尔兹曼机中,每个神经元在每个时刻处于“开”或“关”的状态不是由输入唯一决定的,而是由一个概率分布决定的。这个概率分布取决于当前的网络状态以及神经元之间的连接权重。
这种随机性不是噪声或缺陷,而是玻尔兹曼机最核心的特征。Hinton和Sejnowski意识到,如果要让机器学会“生成”数据,它必须能够探索不同的可能性空间。一个确定性的系统只能重复它已经见过的东西;但一个随机性的系统有可能产生它从未见过的模式——这正是“创造”的本质。
玻尔兹曼机的学习过程也是基于概率的。网络的目的是调整连接权重,使得当网络“自由运行”——即神经元随机地开和关——时,整个网络的状态分布能够匹配训练数据的分布。换句话说,学习的目标是让网络“记住”训练数据的统计规律,然后用这些规律来生成新的样本。
数学上,这个目标可以用一个优雅的公式来表达。设网络在时刻$t$的状态为$\mathbf{s}^{(t)}$,这是一个二进制向量,其中每个元素代表一个神经元的状态。网络的能量函数定义为:
$$E(\mathbf{s}) = -\sum_{i<j} w_{ij} s_i s_j - \sum_i b_i s_i$$
其中$w_{ij}$是神经元$i$和$j$之间的连接权重,$b_i$是神经元$i$的偏置。网络的平衡状态分布由玻尔兹曼分布给出:
$$P(\mathbf{s}) = \frac{e^{-E(\mathbf{s})/T}}{Z}$$
其中$T$是“温度”参数,$Z = \sum_{\mathbf{s'}} e^{-E(\mathbf{s'})/T}$是归一化常数,确保概率之和为1。
当温度较高时,概率分布更加平滑,网络更有可能探索高能量的状态;当温度较低时,概率分布更加尖锐,网络倾向于停留在低能量的状态。学习的过程就是调整权重$w_{ij}$,使得训练数据对应的状态具有较高的概率。
玻尔兹曼机的一个重要特性是“隐变量”——网络中的一些神经元不与外部世界直接相连,它们的作用是帮助网络学习更抽象的特征表示。通过隐变量的协作,网络可以学习到数据的深层结构,而不仅仅是表面的统计规律。
然而,玻尔兹曼机有一个致命的缺陷:计算配分函数$Z$需要枚举网络中所有可能的状态,这是一个指数级困难的问题。对于一个有$n$个神经元的网络,需要计算$2^n$个状态的和。当$n$达到几十个时,计算就已经变得不可行了。
1986年,Hinton和Sejnowski提出了受限玻尔兹曼机(Restricted Boltzmann Machine, RBM),这是对原始玻尔兹曼机的重要简化。在RBM中,神经元被组织成两层——可见层和隐层——层内神经元之间没有连接。这种限制使得学习变得更加高效,因为配分函数可以在两层之间通过对比散度(Contrastive Divergence)算法来近似计算。
受限玻尔兹曼机很快成为了深度学习复兴的关键推动力。2006年,Hinton在《科学》杂志上发表了一篇里程碑式的论文,提出了深度信念网络(Deep Belief Networks)的快速学习算法。这篇论文证明了,通过堆叠多个受限玻尔兹曼机,可以训练出具有多个隐藏层的深度神经网络,这就是著名的“逐层预训练”方法。
尽管受限玻尔兹曼机和深度信念网络最终被更现代的架构(如卷积神经网络和Transformer)所超越,但它们的历史贡献是不可磨灭的。它们首次将“生成”引入机器学习的主流视野,证明了神经网络不仅可以用于分类和识别,还可以用于学习和生成数据的概率分布。
Hopfield网络与记忆的模型
1982年,John Hopfield——一位在物理学家和神经科学家之间横跨的传奇人物——在加州理工学院工作期间,提出了另一种具有深远影响的神经网络模型。Hopfield网络不仅在机器学习中具有重要地位,还为理解人脑的记忆机制提供了重要启示。
Hopfield当时正在思考一个根本性的问题:大脑是如何存储和检索记忆的?传统计算机的内存是基于地址的——每个数据项都有一个唯一的位置,检索时需要知道这个地址。但人脑的记忆系统似乎完全不同——我们可以通过内容来检索记忆,看到一张照片就能想起拍摄那天的场景,嗅到某种气味就能唤起尘封已久的回忆。这种“内容可寻址记忆”(Content-Addressable Memory)是人类认知的一个关键特征。
Hopfield提出了一个天才的洞见:大脑可能使用了一种基于能量函数的记忆存储机制。在他的模型中,每个神经元与所有其他神经元都有连接(这叫做“全连接”网络),而连接权重是经过精心设计的,使得每一个要存储的记忆模式都对应网络能量函数的一个局部最小值。
当网络接收到一个部分或损坏的记忆模式时,它会按照一个简单的规则动态演化:在每个时间步,每个神经元检查其所有输入的加权和,如果加权和大于某个阈值,就打开;否则关闭。这个过程会持续直到网络达到一个稳定状态——也就是能量函数的局部最小值。由于设计得当,这些局部最小值正好对应于我们想要存储的记忆。因此,即使输入是不完整的,网络也能通过“松弛”到最近的能量最小值来恢复完整的记忆。
Hopfield网络的能量函数形式为:
$$E = -\frac{1}{2}\sum_{i,j} w_{ij} s_i s_j + \sum_i \theta_i s_i$$
其中$s_i \in \{-1, +1\}$是神经元$i$的状态,$w_{ij}$是连接权重,$\theta_i$是阈值。网络动态演化的规则是:
$$s_i \leftarrow \begin{cases} +1 & \text{if } \sum_j w_{ij} s_j > \theta_i \\ -1 & \text{otherwise} \end{cases}$$
这个模型的美妙之处在于,它将“记忆”和“生成”联系在了一起。当网络从一个初始状态演化到稳定状态时,它实际上是在“生成”一个存储在网络中的记忆模式。如果我们将这个过程理解为“创造”,那么Hopfield网络就是一个能够从噪声中恢复意义的创造机器。
Hopfield的工作还揭示了存储容量与网络规模之间的关系。对于一个有$N$个神经元的Hopfield网络,最多可以可靠地存储约$0.14N$个记忆模式。这是因为当存储的模式过多时,能量函数的最小值会开始重叠,导致“记忆混淆”——网络无法区分不同的记忆。
尽管Hopfield网络有这些局限性,但它对理解记忆和学习的贡献是深远的。更重要的是,它为后来的工作——特别是Boltzmann机和更一般的能量基模型——奠定了理论基础。Hopfield本人在2016年获得了诺贝尔化学奖(表彰他在化学中应用跨学科方法的开创性工作),而他的网络模型至今仍是计算神经科学的重要工具。
变分推断:概率的近似艺术
在玻尔兹曼机和Hopfield网络探索神经网络的学习能力时,另一批研究者正在从另一个角度接近“生成”这一问题——统计学。
变分推断(Variational Inference)的历史可以追溯到19世纪的统计力学。当时,物理学家们面临着类似的挑战:想要计算一个复杂系统的宏观性质,但直接计算需要考虑所有可能的微观状态。他们发展出了“变分原理”——用一系列更简单的近似分布来代替复杂的后验分布,然后优化这些近似分布的参数,使得它们尽可能接近真实分布。
在机器学习中,变分推断的核心问题可以这样表述:给定观测数据$\mathbf{x}$和潜在变量$\mathbf{z}$,我们想要推断潜在变量的后验分布$p(\mathbf{z}|\mathbf{x})$。这个后验分布代表了给定观测数据时关于潜在变量的所有可用信息。然而,在大多数实际情况下,这个后验分布是无法直接计算的——它涉及一个难以处理的积分:
$$p(\mathbf{z}|\mathbf{x}) = \frac{p(\mathbf{x}|\mathbf{z})p(\mathbf{z})}{p(\mathbf{x})}$$
其中$p(\mathbf{x}) = \int p(\mathbf{x}|\mathbf{z})p(\mathbf{z})d\mathbf{z}$是边际似然,这个积分通常没有解析解。
变分推断的解决方案是:用一个参数化的近似分布$q_\phi(\mathbf{z}|\mathbf{x})$来代替真实的$p(\mathbf{z}|\math