带你速通计算机经典论文(二):人工智能篇

234 阅读1小时+

先搞清楚一件事:AI 到底在研究什么

在进入论文之前,我们得先对齐一个认知:AI 跟传统编程到底有什么区别?

传统编程是这样的:你告诉计算机规则。"如果用户年龄大于 18 且余额充足,就放款。" 你写 if-else,计算机照做。

但有些问题你没法写规则。比如"这张照片里是不是猫"——你怎么用 if-else 描述一只猫?猫有尖耳朵?有些猫耳朵是圆的。猫有胡须?有些角度看不到胡须。你说不出来,但你自己一眼就能认出来。

AI 的思路是:我不写规则了,我给你一万张猫的照片和一万张狗的照片,你自己找规律。

这就是机器学习——让计算机从数据中"学会"做某件事,而不是被人告诉怎么做。

听起来很美好,但实操起来全是坑。你得解决几个根本问题:

数据怎么表示? 计算机只认数字,但图片是像素、文字是符号、语音是波形。怎么把这些东西变成计算机能处理的格式?

怎么"学"? 给计算机一堆数据,它怎么知道该学什么?学出来的东西怎么保证是对的?

怎么保证学出来的东西不是"死记硬背"? 模型在训练数据上表现好,不代表在新数据上也行。怎么防止它"背答案"?(这就是大名鼎鼎的"过拟合"问题,后面你会反复见到它。)

后面这 16 篇论文,本质上都在解决这些问题。我们一篇篇来。


第一章:奠基——机器真的能学习吗

1.1 感知机——一切的起点(1958)

论文: Frank Rosenblatt, The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain, 1958

链接: APA PsycNet

它在解决什么问题

1950 年代,计算机已经能做算术了,但让它"认东西"——比如分辨一张图片里是猫还是狗——完全不可能。因为没人知道怎么用代码描述"什么是猫"。

一个叫 Rosenblatt 的心理学家(对,不是计算机科学家)问了个很朴素的问题:能不能设计一个特别简单的模型,让它通过"看"足够多的例子,自己学会分类?

核心思路

感知机的灵感来自生物神经元。生物神经元的工作方式很简单:接收一堆输入信号,如果总信号够强,就"激活"(发放电信号),否则不激活。

Rosenblatt 把这个过程简化成了三行数学:

第一步:每个输入乘以一个权重(权重代表这个输入有多重要)

第二步:把所有加权输入加起来

第三步:如果总和超过某个阈值,输出 1(是);否则输出 0(不是)

image.png

就这么简单。一个加权求和加一个阈值判断。如果你学过线性代数,这本质上就是一个向量点积。

那怎么"学"呢?规则也很直觉:做对了就保持,做错了就调。

具体来说:如果正确答案是 1 但感知机输出了 0,说明权重太小了,把所有权重调大一点。反过来就调小一点。调整的幅度由一个叫"学习率"的参数控制。

这个过程反复进行——看数据、做预测、比较答案、调权重——直到权重收敛到一个合理的值。你可以想象成考试前刷题:做对了记住思路,做错了就纠正,反复刷到正确率稳定为止。

你可能觉得这东西太简单了,能有什么用?确实,感知机只能解决一种很特殊的问题:线性可分问题。 就是说,你得能在一张图上画一条直线,把两类数据分开。如果分不开(比如经典的 XOR 问题——两个点在左下和右上为一类,左上和右下为另一类),感知机就彻底没辙。

1969 年,Minsky 写了本书严格证明了这一点。然后整个学术界对神经网络失去了信心,研究经费断崖式下跌。AI 进入了第一次寒冬。所以你看,AI 领域从来不缺质疑,缺的是坚持。

贡献

虽然感知机本身很简单,但它确立了一个至今仍然有效的范式:把"学习"变成"优化"。 定义一个目标(分类正确),然后迭代调整参数(权重)来逼近目标。后面所有的神经网络——包括 GPT-4——本质上都是这个思路,只是规模大了几百万倍。

Rosenblatt 的真正贡献不是感知机本身,而是"机器可以通过调整参数来学习"这个想法。


1.2 反向传播——训练多层网络的关键(1986)

论文: David Rumelhart, Geoffrey Hinton, Ronald Williams, Learning Representations by Back-Propagating Errors, 1986

链接: Nature

多层感知机叠加之后,怎么让中间的感知机知道什么是对的

它在解决什么问题

感知机只能处理线性问题。那多加几层感知机呢?理论上,多层网络可以表示更复杂的函数——就像你组合多个 if-else 可以描述更复杂的规则一样。但问题是:你不知道中间那些层(隐藏层)"应该"输出什么,所以没法直接调它们的权重。

输出层好办——你可以比较预测值和真实值,算出误差。但隐藏层呢?它没有"正确答案"可以比较。你怎么知道一个隐藏层神经元该调大还是调小?

这就是反向传播要解决的问题:怎么把输出层的误差信息,传回给隐藏层,让每一层都知道自己该怎么调整。

核心思路

答案藏在你高中学过的微积分里——链式法则。

别慌,链式法则听起来很唬人,其实就一句话:如果 A 影响 B,B 影响 C,那 A 对 C 的影响 = (A 对 B 的影响) × (B 对 C 的影响)。

放到神经网络里:你想知道某个权重 w 对最终误差的影响有多大。这个权重 w 影响了隐藏层的输出,隐藏层的输出又影响了最终输出,最终输出决定了误差。所以沿着这条链一路乘回去,就能算出 w 对误差的贡献。

具体流程分两步:

前向传播(算一遍正常流程): 输入数据从第一层传到最后一层,每层做加权求和,得到最终输出,然后跟真实标签比较算出误差。

反向传播(把误差倒着传回去): 从最后一层开始,用链式法则逐层往回算。每一层算出"我的每个神经元对最终误差贡献了多少"(也就是梯度),然后告诉上一层。一直传到第一层,所有权重都知道自己该怎么调了。

误差反向传播的过程

打个比方。一个工厂有三道工序,最终产品不合格。老板(反向传播)从最后一道工序开始查:最后一道工序说"我这个问题是上一道给的半成品造成的",上一道说"我的问题是最初的原材料不行"。这样一路追回去,每个环节都知道自己该改什么了。

但有个现实问题:1986 年写这篇论文的时候,计算机太弱了。训练一个只有几层、几百个神经元的小网络可能要跑好几天。所以虽然理论上完美,但实际中大家发现——深层网络根本训不动。这也是为什么 1990 年代到 2000 年代,主流学界更看好 SVM 这类不需要深层网络的算法。

贡献

反向传播是训练所有神经网络的基石。你今天用的 PyTorch、TensorFlow,核心功能就是自动帮你算反向传播的梯度(所以叫"自动微分")。Hinton 后来因为这方面的贡献拿了 2018 年图灵奖。

更有意思的是,这篇论文的三个作者里,Hinton 后来被称为"深度学习教父",他的学生 Ilya Sutskever 后来联合创办了 OpenAI——就是做 ChatGPT 的那个。学术传承的力量有时候超出你的想象。


1.3 支持向量机——统计学习的巅峰(1995)

论文: Corinna Cortes, Vladimir Vapnik, Support-Vector Networks, 1995

链接: Springer

用数学理论解决算法问题

它在解决什么问题

神经网络在 1990 年代虽然理论上漂亮,但实际用起来有几个头疼的问题:训练慢、容易过拟合、调参基本靠感觉。与此同时,统计学家从另一个角度切了进来——能不能用严格的数学理论来指导机器学习?

SVM 就是这条路线的集大成者。它要解决的问题特别直觉:给你一堆两类数据点,怎么画出"最好"的那条分界线?

核心思路

"最好"是什么意思?SVM 的回答是:离两类数据点都最远的那条线。

想象你面前有一堆红点和蓝点,你需要画一条线把它们分开。能画的线有很多条,但 SVM 选的是那条"安全边际"最大的——它离最近的红点和最近的蓝点都尽可能远。这样即使新来的数据点跟训练数据有轻微偏差,也不容易分错。就像你在马路上走路,会本能地跟路边的车保持最大距离,这样就算车稍微偏一点也碰不到你。

那些离分界线最近的点,就叫做"支持向量"——SVM 的名字就是这么来的。有意思的是,最终决定分界线位置的,只有这几个点,其他远处的数据点完全不影响。

那如果数据根本不是一条直线能分开的呢?比如红点围成一个圈,蓝点在圈外面。你在二维平面上怎么画都画不出一条直线来分开它们。

SVM 用了一个很巧妙的办法——核函数(Kernel Trick)。思路是:把数据投射到一个更高维的空间。在原来的二维空间里画不出直线,但升到三维之后,可能一个平面就能切开了。

具体怎么操作?想象你面前有一堆数据排成环形(红点在中间,蓝点围成一圈)。在桌面上你画不出直线来分。但如果你把"到圆心的距离"作为第三个维度——也就是让中间的数据"隆起来"——数据就变成了三维的,中间高四周低。这时候你拿一个平面从中间横切一刀,就能把红点和蓝点分开了。

核函数的妙处在于:你不需要真的做高维变换(计算量太大),只需要在高维空间里算两个点的"相似度"就行了。一个数学技巧,省了巨大的计算量。

image.png

贡献

SVM 在 1995 到 2010 年间是分类任务的首选算法。数学上有严格保证、训练结果是全局最优(不像神经网络可能卡在局部最优)、中小规模数据上效果很好。

2012 年以后深度学习在大多数领域超越了 SVM,但 SVM 并没有消失。它的核心思想——最大间隔、核方法——至今仍在影响机器学习理论。而且在一些小数据、高维度的场景(比如生物信息学),SVM 仍然很有竞争力。

更重要的是,SVM 代表了一种思维方式:用数学理论来保证模型的学习能力。 这跟深度学习"先跑起来再说"的风格形成了鲜明对比。理解这两种思路的张力,对你理解整个 AI 领域的发展脉络很有帮助。


1.4 随机森林——三个臭皮匠顶个诸葛亮(2001)

论文: Leo Breiman, Random Forests, 2001

链接: Springer

它在解决什么问题

前面聊的算法——神经网络、SVM——都是"单个强模型"的思路。但有个很直觉的想法:与其追求一个很强的模型,不如搞一堆"还凑合"的模型,把它们的结果综合起来,效果可能更好。

就像考试遇到不确定的选择题,你自己拿不准,但如果你问了五个同学、三个人选 B,那 B 大概率是对的。群体决策往往比个人决策更可靠——前提是这些人足够"多样化",不是互相抄的。

随机森林就是把这个想法做到了极致。

核心思路

随机森林的做法特别直白:训练一大堆决策树,每棵树都"不太一样",最后让所有树投票来决定结果。

决策树是什么?就是一种 if-else 的判断流程。比如判断一个人会不会买你的产品:年龄 > 30?→ 是 → 收入 > 10 万?→ 是 → 大概率会买。一路判断下去,到叶子节点就是结论。你在日常生活中其实经常用"决策树"——"今天要不要带伞?→ 看天气预报→ 有雨→ 带伞"。

关键在"随机"两个字。随机森林通过两种方式让每棵树都不一样:

数据随机: 每棵树不是用全部数据训练的,而是从原始数据中"有放回地抽样"。1000 条数据,每次随机抽 1000 次(有重复),抽出一组新的训练集。这意味着每棵树看到的数据都不太一样。

特征随机: 每次做判断的时候,不是从所有特征里选最好的那个,而是随机选一小撮特征,在这个子集里选最好的。这保证了树和树之间不会太相似——有的树可能更依赖"年龄",有的更依赖"收入"。

训练100棵树,每棵树看到的数据和特征都不一样
→ 每棵树都有自己的"偏见"
→ 预测时100棵树投票
→ 个体的错误互相抵消
→ 群体的判断更准确

为什么这个方法效果好?核心在于多样性。如果每棵树都差不多,投票就没意义了(100 个想法一样的人跟 1 个人没区别)。但通过数据随机和特征随机,每棵树都"看到了不同的东西",犯了不同的错误。投票的时候,这些错误互相抵消,正确的判断被放大。

而且随机森林有个特别实用的好处:几乎不需要调参。 树的数量设个 100,特征子集大小用默认值,就能跑出不错的结果。不容易过拟合,训练快,不需要 GPU,还能告诉你哪些特征最重要。对于刚入门机器学习的人来说,随机森林几乎总是你第一个该尝试的算法。

image.png

贡献

你可能会想:都 2024 年了,谁还用随机森林?

答案是:用的人太多了。在结构化数据(表格数据)的分类和回归任务上,随机森林和梯度提升树(XGBoost、LightGBM)仍然是最强的基线模型——很多时候效果不输深度学习,而且简单得多。

在 Kaggle 数据科学竞赛中,基于树的集成方法至今仍是获胜方案的主力。做风控、做推荐、做用户画像——很多实际业务场景的数据都是表格型的,这些场景下树模型才是王者。

深度学习很酷,但不是所有问题都需要深度学习。这是随机森林教给你的最重要的事。


第二章:深度学习革命——大力出奇迹

2.1 LeNet-5——卷积神经网络(CNN)的开山之作(1998)

论文: Yann LeCun, Léon Bottou, Yoshua Bengio, Patrick Haffner, Gradient-Based Learning Applied to Document Recognition, 1998

链接: IEEE

它在解决什么问题

用神经网络处理图像有个天然困难:图像太大了。 一张 100×100 的灰度图有 10000 个像素。如果用全连接网络(每个像素连到每个神经元),第一层就要 10000 个输入,参数量爆炸。你的笔记本电脑可能直接跑不动。

而且全连接完全忽略了图像的空间结构。一张猫的图片,重要的不是某个特定位置的像素是什么,而是"这里有一条边缘"、"那里有一块纹理"——这些局部特征才是关键。你不会因为猫的照片被平移了几个像素就认不出来,对吧?

LeCun 要解决的就是:怎么设计一种网络,能高效处理图像,同时利用图像的空间局部性?

核心思路

卷积神经网络(CNN)的核心思想用一句话概括:不要看全图,每次只看一小块,然后让这个小窗口滑过整张图。

想象你在看一幅很大的画。你不可能一眼看完所有细节,你会用放大镜一小块一小块地看。在每个位置,你关注的是这一小块区域里的图案——这里有一条线,那里有一个角。当你把整幅画都扫过一遍之后,你就理解了全貌。

CNN 做的就是同样的事。一个小的"滤波器"(比如 5×5 的窗口)在图像上滑动,在每个位置做一次加权求和。这个窗口学到的是一套"局部特征检测器"——比如"检测从左下到右上的边缘"。当这个窗口扫过整张图,它就生成了一张"特征图"——标记了原图中所有符合这个特征的位置。

image.png

然后还有一个"池化"操作:把特征图缩小——比如每 2×2 的区域只保留最大的值。这相当于说"我知道这块区域里有边缘,具体在哪不重要,有就行"。这样既减少了数据量,又让模型对位置的微小变化不敏感。

把这些操作叠起来:第一层卷积检测低级特征(边缘、角点),第二层检测中级特征(纹理、形状),更深的层检测高级特征(眼睛、耳朵、脸)。层层抽象,从简单到复杂。

LeNet-5 是 CNN 的第一个成功应用,用于银行支票上的手写数字识别。它在 MNIST 数据集上达到了约 99% 的准确率。但 LeNet-5 只有两层卷积,网络太浅,能学到的特征有限。这个问题要到 14 年后的 AlexNet 才被解决。

贡献

LeNet-5 定义了 CNN 的基本范式——卷积、池化、堆叠——这个范式统治了计算机视觉二十多年。虽然后来出现了各种改进(AlexNet、VGG、ResNet),核心思想没变:用卷积提取局部特征,逐层组合成高级特征。

LeCun 因此被称为"卷积神经网络之父"。有意思的是,从 1998 年 LeNet-5 到 2012 年 AlexNet,中间隔了 14 年。这 14 年里 LeCun 一直在坚持研究 CNN,虽然主流学界不太看好。这种坚持本身就值得学习——有时候你不是做错了,只是时机还没到。


2.2 LSTM——让网络学会记忆(1997)

论文: Sepp Hochreiter, Jürgen Schmidhuber, Long Short-Term Memory, 1997

链接: MIT Press

它在解决什么问题

图像是空间数据——像素之间的关系是二维的。但语言、语音、股票价格这些东西是序列数据——有先后顺序,而且当前的含义可能取决于很久之前的信息。

比如这句话:"我昨天去了一家餐厅,食物非常好吃,所以我决定下次再______。" 要填上"去",你需要记住很久以前的"去了一家餐厅"。

普通的循环神经网络(RNN)处理序列的方式是:一个词一个词地读,每读一个词就更新一下自己的"理解"。问题是,读到第 20 个词的时候,第 1 个词的信息早就被冲淡了。就像传话游戏——传了太多人之后,最初的信息已经面目全非。

这就是 RNN 的长期依赖问题。LSTM 要解决的就是它。

image.png

核心思路

LSTM 的全称是 Long Short-Term Memory,翻译过来就是"长短时记忆"。名字听着矛盾,其实意思很直白:它既能记住短期信息,也能记住长期信息。

核心设计是一条 "信息高速公路"(Cell State),加上三个 "门"(Gate) 来控制信息的进出。

你可以把这条信息高速公路想象成一条传送带。数据从前往后流动,传送带旁边有三个控制站:

  • 遗忘门: 传送带上的哪些信息已经没用了,应该丢掉?比如话题切换了,之前的信息就不需要了。这个门会"忘掉"不相关的东西。

  • 输入门: 新来的信息里,哪些值得记下来?这个门决定要把什么新内容放到传送带上。

  • 输出门: 当前这一步,需要从传送带上取出什么信息来用?这个门决定这一步的输出是什么。

image.png

这三个门都是"软性"的——不是完全打开或完全关闭,而是打开一个比例(0 到 1 之间的值)。这个比例是通过学习得到的——网络自己决定该记住什么、忘掉什么。

为什么这能解决长期依赖?因为信息高速公路是一条"直通车"——信息可以从很早之前直接传到很远的未来,中间只需要经过门控的轻微调整,不会像普通 RNN 那样在每一步都被"压缩"和"扭曲"。

贡献

LSTM 在 2014-2017 年间是序列建模的绝对主力。机器翻译、语音识别、文本生成——几乎所有跟"序列"相关的任务,都在用 LSTM。Google 在 2016 年把翻译系统从传统方法换成 LSTM,翻译质量直接上了一个台阶。

2017 年 Transformer 出现之后,LSTM 在 NLP 领域逐渐被取代。但 LSTM 的设计思想——用门控来控制信息流——至今仍然影响着很多架构。而且在一些时间序列预测和嵌入式设备的场景下,LSTM 因为轻量高效,仍然被广泛使用。


2.3 ImageNet——给深度学习装上燃料(2009)

论文: Jia Deng, Wei Dong, Richard Socher et al., ImageNet: A Large-Hierarchical Visual Database, 2009

链接: IEEE

它在解决什么问题

到 2000 年代末,深度学习的所有理论准备都做好了——反向传播(1986)、CNN(1998)、LSTM(1997)都有了。但为什么一直没"爆发"?

因为缺一味药:数据。

训练一个深度神经网络需要海量的标注数据。但当时计算机视觉领域常用的数据集只有几千张图片——太少了,深度网络根本"吃不饱",很容易过拟合(把训练数据背下来,但在新数据上表现很差)。

这就像你只做了 5 道模拟题就去高考——题目稍微变一下你就不会了。

ImageNet 要解决的就是:建一个足够大、足够多样的图像数据集,让深度网络有东西可学。

核心思路

ImageNet 的思路特别朴素:从互联网上搜集大量图片,然后让人来标注它们属于什么类别。

最终收集了超过 1400 万张图片,涵盖 2 万多个类别——从各种品种的狗(金毛、哈士奇、柯基……)到不同型号的汽车、各种风格的建筑,分类体系基于 WordNet 词典。其中用于竞赛的"ImageNet-1K"子集包含约 128 万张训练图片,覆盖 1000 个类别。

ImageNet 本身只是一个数据集,但它催生了每年一度的 ImageNet 大规模视觉识别挑战赛(ILSVRC)。这个比赛要求参赛模型在 1000 个类别中识别图片内容,成为了深度学习时代的"试金石"。

image.png 2012 年的比赛是转折点。传统方法的错误率在 26% 左右,而 AlexNet(一个深度 CNN)直接降到了 15.3%——几乎减半。所有人都震惊了。此后每年纪录都在被刷新:2014 年 6.7%,2015 年 ResNet 达到 3.57%——首次超越人类水平。

贡献

ImageNet 的意义远超一个数据集。它做了三件关键的事:

第一,证明了"大数据 + 深模型 = 好效果"这条路是可行的。在 ImageNet 之前,很多人怀疑深度网络在小数据集上会严重过拟合。

第二,提供了公平的竞赛平台。所有模型在同样的数据上比,谁好谁差一目了然,极大加速了研究进展。

第三,通过 ImageNet 预训练的模型(先在 ImageNet 上训练,再迁移到其他任务),成为了计算机视觉的标准做法。

没有 ImageNet,就没有深度学习的爆发。它告诉我们一个道理:有时候,推动技术进步的不是更聪明的算法,而是更大的数据。


2.4 AlexNet——深度学习引爆点(2012)

论文: Alex Krizhevsky, Ilya Sutskever, Geoffrey Hinton, ImageNet Classification with Deep Convolutional Neural Networks, 2012

链接: NeurIPS

它在解决什么问题

2012 年之前,计算机视觉的主流是手工设计特征 + 传统分类器(SVM 等)。虽然也有人尝试用深度网络,但效果并不比传统方法好多少。大家心里有个疑问:深度神经网络到底行不行?

AlexNet 用结果回答了这个问题。而且回答得特别响亮。

核心思路

AlexNet 本质上是一个更大的 CNN——8 层(5 层卷积 + 3 层全连接),6000 万个参数。跟 LeNet-5 的 6 万个参数比,大了 1000 倍。

但它的真正贡献不只是"更大",而是几个关键创新:

GPU 训练。 这是第一次用 GPU 来训练深度网络——两块 GTX 580 显卡,训练了五六天。2012 年还没人这么干,这个做法在当时非常大胆。你可以理解为:别人都在用计算器算数,AlexNet 第一次用上了游戏显卡来算。

ReLU 激活函数。max(0, x) 代替传统的 sigmoid 函数。这个简单的操作解决了困扰学界多年的梯度消失问题——深层网络的梯度不再衰减,训练终于可行了。

Dropout。 训练时随机"关掉"一半的神经元。听起来很疯,但效果很好——它迫使网络不依赖任何单个神经元,有效减少了过拟合。就像一支球队,如果主力球员随机缺席训练,替补就必须成长起来,整支球队反而更强了。

数据增强。 对训练图片做随机裁剪、翻转、颜色变换等操作,人为扩大训练数据量。

在 ImageNet 上,Top-5 错误率从 26% 降到 15.3%。这个差距太大了,整个计算机视觉社区都意识到了:时代变了。

image.png

贡献

AlexNet 是深度学习革命的引爆点。在它之后,几乎所有计算机视觉研究都转向了深度网络。之前做 SVM 的研究者纷纷转向深度学习。GPU 训练成为标配。

它证明了一个范式:大数据 + 大模型 + GPU = 好效果。 这个范式至今仍然有效,只是规模更大了。

三位作者中,Hinton 是深度学习的教父级人物(2018 年图灵奖),Sutskever 后来联合创办了 OpenAI,Krizhevsky 当时只是 Hinton 的研究生。一篇论文改变了整个领域,也改变了三个人的命运。


第三章:语言理解——从词向量到大模型

3.1 Word2Vec——让计算机理解词义(2013)

论文: Tomas Mikolov et al., Efficient Estimation of Word Representations in Vector Space, 2013

链接: arXiv

它在解决什么问题

计算机只认数字,但语言是由文字组成的。要让计算机处理语言,首先得把文字变成数字。

最简单的方法是"独热编码":假设词表有 10 万个词,每个词用一个 10 万维的向量表示,只有对应位置是 1,其他全是 0。比如"猫"是第 3721 个词,那它的向量就是第 3721 位是 1、其他全是 0 的一个超长数组。

这种表示有个致命问题:它完全丢失了词义信息。 "猫"和"狗"在语义上很接近,但在独热编码中,它们的距离跟"猫"和"经济"一样远——都是正交的。计算机完全不知道"猫"和"狗"是相似的。

Word2Vec 要解决的就是:怎么把词映射到一个向量空间里,让语义相近的词在空间中也相近?

核心思路

Word2Vec 的核心思想来自语言学中的一个老观点——"一个词的含义由它的上下文决定。"

想想看,你怎么知道"猫"和"狗"意思相近?因为它们经常出现在相似的语境中:"养一只___"、"___很可爱"、"___在沙发上睡觉"。如果两个词经常出现在同样的上下文里,它们的含义就应该相近。你甚至不需要知道猫和狗长什么样,光从文本就能推断出它们是"同类"。

Word2Vec 把这个直觉变成了一个可以训练的模型。它有两种训练方式:

Skip-gram: 给一个词,预测它周围的词。比如给定"猫",预测它周围可能出现"养"、"可爱"、"睡觉"等。

CBOW: 反过来,给周围的词,预测中间的词。比如给定"养一只___很可爱",预测中间是"猫"。

模型结构很简单——一个只有隐藏层的浅层网络。训练完成后,隐藏层的权重就是每个词的"词向量"——一个 100 到 300 维的稠密向量。

最神奇的是,学出来的词向量能捕捉语义关系:


vec("国王") - vec("男人") + vec("女人") ≈ vec("女王")

vec("巴黎") - vec("法国") + vec("日本") ≈ vec("东京")

这些关系不是人为设定的,而是模型从大量文本中自动学到的。第一次看到这个结果的时候,你可能会觉得有点魔幻——一堆数字运算居然能捕捉到"国王和女王的关系"跟"男人和女人的关系"是一样的?但仔细想想,如果"国王"出现的语境跟"男人"很像,只是多了些"女王""王国"之类的词,那向量之间的差值确实可以表示"性别"这个概念。

image.png

贡献

Word2Vec 是 NLP 领域的分水岭。在它之前,NLP 模型用独热编码;在它之后,所有 NLP 模型都用词向量作为输入。

更重要的是,Word2Vec 证明了无监督预训练的价值——在大量文本上训练一个语言模型(不需要标注数据),学到的表示可以用于下游任务。这个"先预训练、再微调"的范式后来被 BERT、GPT 等模型继承,成为了现代 NLP 的标准流程。


3.2 Attention——注意力机制(2014)

论文: Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio, Neural Machine Translation by Jointly Learning to Align and Translate, 2014

链接: arXiv

它在解决什么问题

2014 年前后,机器翻译的主流方法是 Seq2Seq 模型:用一个 LSTM 把源句子编码成一个固定长度的向量,再用另一个 LSTM 把这个向量解码成目标语言。

问题在于那个"固定长度的向量"。不管源句子有 5 个词还是 50 个词,都要压缩成同一个维度的向量。句子越长,信息丢失越严重。

这就像让你先记住一整段话,然后翻译成另一种语言。如果这段话很短,没问题。但如果是一段 200 字的长文,你肯定记不住所有细节——翻译到后面的时候,前面的内容已经模糊了。你考四六级的时候应该有类似体验——听力放了一大段,到最后你只记得最后几句话。

Attention 要解决的就是:怎么让模型在翻译每个词的时候,能"回头看"源句子中相关的部分?

核心思路

Attention 的想法特别直觉:翻译每个词的时候,不是只看那个固定的"压缩向量",而是回头看源句子的所有词,给每个词打一个"相关性分数",然后重点关注分数高的那些词。

翻译 "I love cats""j'aime les chats"


生成 "j'" 时:重点关注 "I"(法语的"我"对应英语的"I")
生成 "aime" 时:重点关注 "love"
生成 "les" 时:重点关注 "cats"(法语的冠词对应英语的名词)

本质上,Attention 就是给模型装了一个"软性寻址"的存储器——它可以在需要的时候,去源句子里"查找"相关信息。

数学上也很简单:每个源词有一个"键"(Key),解码器当前状态有一个"查询"(Query)。用 Query 跟所有 Key 做点积,得到注意力分数,softmax 归一化后跟源词的"值"(Value)加权求和,就得到了当前步骤的上下文信息。

如果你学过数据库,可以这么理解:Query 就是一条 SQL 查询,Keys 是索引,注意力分数是匹配度,Values 是查出来的数据。模型每一步都在做一次"软性数据库查询"。

image.png

贡献

Attention 机制极大地提升了机器翻译的质量,尤其是长句子。但它的意义远不止翻译。

Attention 的思想后来成为了 Transformer 的核心——而 Transformer 又是 BERT、GPT 等所有现代大模型的基础。可以说,Attention 是深度学习从"感知"走向"理解"的关键一步。它让模型学会了"在什么时候关注什么信息"——这本质上是一种认知能力。


3.3 Transformer——改变一切的架构(2017)

论文: Ashish Vaswani et al., Attention Is All You Need, 2017

链接: arXiv

它在解决什么问题

在 Transformer 之前,处理序列数据都用 RNN。RNN 有个根本性的问题:它必须逐步处理。 先处理第 1 个词,再处理第 2 个,依此类推。第 t 步依赖第 t-1 步的结果,没法同时算。

这意味着两个大问题:

第一,无法并行。 GPU 最擅长的就是同时做大量计算(这也是为什么显卡挖矿那么猛),但 RNN 必须串行,GPU 利用率很低。训练一个大的 RNN 模型可能要几周。

第二,长距离依赖仍然困难。 虽然 LSTM 比普通 RNN 好很多,但信息经过太多步传递后还是会衰减。

Google 的一篇论文问了一个大胆的问题:能不能完全抛弃 RNN,只用 Attention 来处理序列?

核心思路

Transformer 的答案是:能。它完全基于 Attention 机制,没有任何循环结构。

核心组件是多头自注意力(Multi-Head Self-Attention)

自注意力的意思是:序列中的每个词都跟所有其他词计算注意力。不是"解码器关注编码器"(像上一节的 Attention 那样),而是"每个词关注同一句话里的所有其他词"。

句子:"The cat sat on the mat because it was tired"

当模型处理 "it" 这个词时,自注意力会计算 "it" 跟所有其他词的相关性:

"it""cat": 0.35 ← 模型学到了 "it" 指的是 "cat"
"it""was": 0.20
"it""tired": 0.25
"it" → 其他词: 较低的值

image.png

"多头"的意思是:把上述过程并行做 8 次(论文中的设置),每个"头"学习不同类型的关系——有的头关注语法结构,有的头关注指代关系,有的头关注语义关联。最后把 8 个头的结果拼起来。就像你同时用 8 个不同角度来理解同一句话。

因为完全抛弃了循环结构,Transformer 有两个巨大优势:

  • 完全并行。 所有位置的 Attention 可以同时计算。训练速度比 RNN 快好几倍。

  • 任意距离的直接连接。 序列中任意两个词之间都可以直接计算注意力,不需要经过中间步骤传递。"The"和"mat"之间不管隔了多少词,都能一步到位地交互。

image.png

还有一个细节值得注意:位置编码(Positional Encoding)。因为 Transformer 没有循环结构,它本身不知道词的顺序——"猫吃鱼"和"鱼吃猫"对它来说是一样的。所以需要额外加入位置信息,告诉模型每个词在句子中的位置。

贡献

Transformer 可能是过去十年影响力最大的一篇论文。在它之后,几乎所有 NLP 模型都转向了 Transformer 架构——BERT、GPT、T5、PaLM、LLaMA……全是 Transformer 的变体。

而且 Transformer 已经远远超出了 NLP。计算机视觉(ViT)、语音识别(Whisper)、蛋白质结构预测(AlphaFold 2)、代码生成(Codex)——几乎所有 AI 领域都在用 Transformer。

论文标题"Attention Is All You Need"在当时看起来很激进,但现在看来,它是对的。


3.4 BERT 与 GPT——预训练大模型时代(2018/2020)

BERT: Jacob Devlin et al., BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, 2018

链接: arXiv

GPT-3: Tom Brown et al., Language Models are Few-Shot Learners, 2020

链接: arXiv

它在解决什么问题

Transformer 给了一个好架构,但还有一个关键问题:怎么训练一个语言模型?

具体来说,有两种需求:

理解语言: 给你一段评论"这个手机电池续航太差了",判断它是正面还是负面评价。这需要理解语义。

生成语言: 给你一个问题"中国首都是哪里?",生成回答"北京"。这需要产出新的文本。

Transformer 是一个通用架构,但你需要设计具体的训练任务来让它学会语言。

核心思路

有两条路线:

BERT 走的是"理解"路线。

BERT 的训练方式叫 Masked Language Model(MLM):随机遮住句子中 15% 的词,让模型根据上下文来"填空"。


原始句子:"这个手机的电池续航真的很差"

遮住后: "这个手机的[___]续航真的很[___]"

模型需要预测:[___₁] = 电池, [___₂] = 差

"双向"的意思是:预测被遮住的词时,模型可以同时看到左边和右边的上下文。这就像做完形填空——你前后文都看,然后推断中间缺什么。你考英语的时候做完形填空也是这么干的,不会只看前半句就猜答案。

BERT 在大量文本上预训练(Wikipedia + BookCorpus,约 33 亿词),学到了丰富的语言知识。然后在下游任务上微调——情感分析、问答、命名实体识别——只需要加一个简单的输出层,少量数据就能训出好效果。

GPT 走的是"生成"路线。

GPT 的训练方式更简单:给一段话的开头,一个字一个字地往下续写。


训练数据:"北京是中国的首都"

训练样本:

"北" → 预测 "京"
"北京" → 预测 "是"
"北京是" → 预测 "中"
"北京是中" → 预测 "国"
...

GPT 是"单向"的——预测下一个词时只能看到前面的词,不能看后面的。这跟 BERT 的双向不同。你用手机输入法的"联想词"功能时,本质上就是在做 GPT 在做的事——根据你前面打的字,猜下一个字是什么。

image.png

GPT-3 的关键突破是规模。1750 亿个参数(BERT 只有 3.4 亿),在海量文本上训练。结果发现:模型大到一定程度后,出现了"涌现能力"——它可以通过几个例子就学会一个新任务,完全不需要微调。

GPT-3 的 Few-Shot 能力:

输入:
英文:Good morning → 中文:早上好
英文:How are you → 中文:你好吗
英文:Thank you → 中文:
  
GPT-3 输出:谢谢
(只给了两个例子,没有微调,就学会了翻译)

image.png

贡献

BERT 和 GPT 开启了"预训练大模型"的时代。这个范式可以总结为:在大量数据上预训练(学习通用语言知识)→ 在少量数据上微调(适配具体任务)。

BERT 路线主导了 2019 年的 NLP 研究,在几乎所有理解类任务上刷新了纪录。但 BERT 不擅长生成——它只能"填空",不能"写文章"。

GPT 路线则展示了一条通往通用 AI 的道路。GPT-3 的 few-shot 能力让很多人震惊——一个模型居然可以通过几个例子就学会各种任务。这直接推动了后续 GPT-4、Claude、Gemini 等大模型的发展。

现在回头看,GPT 路线赢了。ChatGPT、Claude 这些最强大的 AI 系统都是 GPT 路线的延续——自回归生成 + 大规模预训练 + RLHF 对齐。但 BERT 的思想并没有消失——在搜索引擎、信息抽取、文本分类等实际应用中,BERT 类模型仍然是主力。


第四章:生成模型——让机器学会创造

4.1 VAE——变分自编码器(2013)

论文: Diederik Kingma, Max Welling, Auto-Encoding Variational Bayes, 2013

链接: arXiv

它在解决什么问题

前面聊的模型都是"判别式"的——给定一张图片,判断它是猫还是狗。但还有一类同样有趣的问题:能不能让机器"创造"出新数据? 比如生成一张看起来像真实猫的图片。

这不是简单地复制一张已有的图片——而是要机器学会"猫长什么样",然后凭空画出一张新的、但看起来真实的猫。

VAE 要解决的就是:怎么让机器学会数据的分布,然后从中采样出新的样本?

核心思路

VAE 的思路是:先把数据"压缩"到一个低维的潜在空间(Latent Space),再从这个空间"解压"回来。

你可以这么理解:假设所有猫的图片共享一些本质特征——毛色、耳朵形状、体型大小。VAE 的编码器学会把一张猫图片"浓缩"成几个关键数字(比如"毛色=橘,耳朵=尖,体型=中"),这几个数字就是这张图在潜在空间中的坐标。解码器则学会反向操作——从这几个数字"还原"出一张图片。

这就像你把一本厚小说压缩成了一份剧情大纲(编码器),然后另一个朋友拿着这份大纲能把故事重新讲一遍(解码器)。虽然不可能一字不差,但核心情节都在。

关键创新在于:强制潜在空间服从标准正态分布。

为什么这很重要?因为如果潜在空间是平滑连续的(像正态分布那样),那你在里面随便取一个点,解码出来的东西都应该"看起来合理"。而且相近的点解码出来的图片也应该相似——这意味着你可以在潜在空间中"插值",生成两张猫图片之间的"过渡"图片。


生成新图片的过程:

1. 从标准正态分布中随机采样一组数字 z

2. 把 z 喂给解码器

3. 解码器输出一张新图片

4. 因为 z 来自训练时学好的分布,所以生成的图片看起来是合理的

image.png

VAE 生成的图片通常比较模糊。因为它的训练目标是"重构误差最小化"——相当于在求平均,平均出来的东西自然是模糊的。你让一个人把 100 张不同的猫的照片"平均"成一张,出来的东西肯定不清晰。

贡献

VAE 是第一个有严格数学基础的深度生成模型。它开创了"通过学习潜在空间来生成数据"的范式。虽然后来 GAN 和扩散模型在图像质量上超越了 VAE,但 VAE 的训练稳定性好、数学优雅,在某些场景下仍然很有用。

更重要的是,"潜在空间"这个概念影响深远。今天你在 AI 绘图工具里看到的"插值"、"风格混合"等功能,思想源头都可以追溯到 VAE。


4.2 GAN——生成对抗网络(2014)

论文: Ian Goodfellow et al., Generative Adversarial Nets, 2014

链接: arXiv

它在解决什么问题

VAE 能生成新数据,但生成的图片模糊、不够真实。有没有办法让机器生成更逼真的数据?

Goodfellow(当时是 Bengio 的研究生)想出了一个非常天才的方案:让两个网络互相对抗——一个负责造假,一个负责打假。

核心思路

GAN 由两个网络组成:

生成器(Generator): 输入随机噪声,输出一张"假"图片。目标是让假图片尽可能逼真。

判别器(Discriminator): 输入一张图片,判断它是真的还是假的。目标是尽可能准确地分辨真假。

两个网络互相博弈:

1轮:
生成器造了一张很烂的假图 → 判别器一眼看穿 → 生成器被批评,需要改进


第100轮:
生成器进步了很多 → 判别器还能看出来,但越来越难了


第10000轮:
生成器造出了非常逼真的假图 → 判别器完全分不清了(准确率降到 50%,等于瞎猜)


训练完成!生成器现在可以生成以假乱真的图片了。

这就像造假钞的和验钞的之间的博弈。造假钞的越来越精明,验钞的也越来越敏锐。最终,造假钞的技术被逼到了极限——造出来的假钞连最专业的验钞机都检测不出来。

数学上,这是一个极小极大博弈(Minimax Game)。训练时交替优化:先固定生成器训练判别器,再固定判别器训练生成器。理想情况下,最终达到纳什均衡。

image.png

贡献

GAN 是 2014-2019 年间最火的生成模型。它生成的图片质量远超 VAE——清晰、逼真,甚至能生成不存在的人脸(NVIDIA 的 This Person Does Not Exist 网站曾经火遍全网)。

GAN 催生了大量变体:CycleGAN(把照片变成油画、把马变成斑马)、StyleGAN(生成超逼真的人脸)、Pix2Pix(画个草图就变成真实图片)等。

但 GAN 有个著名的难题:训练不稳定。 生成器和判别器需要保持微妙的平衡——如果一方太强,另一方就学不到东西。常见的失败模式包括"模式崩塌"(生成器只会生成少数几种样本)。

2020 年以后,扩散模型在图像生成质量上超越了 GAN,而且训练更稳定。但 GAN 在实时生成和一些特定应用中仍然有优势。

Goodfellow 发明 GAN 的时候才 29 岁,这个想法据说是他在酒吧跟朋友讨论时灵光一现想出来的。有时候,最伟大的想法来自最简单的问题:如果让两个 AI 互相比赛呢?


4.3 扩散模型——当前最强的生成范式(2020)

论文: Jonathan Ho, Ajay Jain, Pieter Abbeel, Denoising Diffusion Probabilistic Models, 2020

链接: arXiv

它在解决什么问题

GAN 虽然能生成高质量图片,但训练不稳定、模式崩塌等问题一直没解决好。有没有一种生成模型,既能生成高质量图片,又能稳定训练?

扩散模型给出了答案。Stable Diffusion、DALL-E 2、Midjourney 背后用的都是这个技术。你现在在网上看到的 AI 生成的那些以假乱真的图片,大部分都来自它。

核心思路

扩散模型的思想特别直觉:先慢慢把一张清晰图片变成纯噪声,然后学会"反着来"——从噪声中逐步恢复出清晰图片。

想象你手里有一张清晰的猫照片。你往上面加一点点噪声——图片变得稍微模糊了一点。再加一点——更模糊了。加了 1000 次之后,图片已经完全是随机噪声了,看不出任何内容。

这是"前向过程"——从清晰到噪声。

扩散模型要做的是学会"反向过程":给你一团随机噪声,你能不能一步一步地去掉噪声,最终变出一张清晰的图片?

关键是:每一步去噪的幅度都很小,神经网络只需要学会"这一步的噪声是什么",然后减掉它。就像雕刻——每一刀只削掉薄薄一层,但几千刀之后,一尊雕像就出来了。

生成过程(反向去噪):

第0步:一团完全随机的噪声
第1步:去掉一点噪声 → 隐约能看到一些色块
第2步:再去掉一点 → 色块开始形成轮廓
...
第50步:轮廓越来越清晰 → 能看出是一只猫
...
第100步:噪声全部去掉了 → 一张清晰的猫的图片!

image.png

跟 GAN 相比,扩散模型有几个明显优势:

训练稳定。 不需要对抗博弈,就是简单地训练一个去噪网络。

生成质量更高。 在图像质量、多样性上都超过了 GAN。

不会模式崩塌。 因为每次生成都是从不同的随机噪声开始。

缺点是生成速度慢——需要几十到几百步迭代。但后来的改进版本(Consistency Models、LCM 等)已经把步数压缩到了几步甚至一步。

贡献

扩散模型是当前图像生成领域的主流范式。2022 年以后,几乎所有刷屏的 AI 图像生成产品都基于扩散模型:Stable Diffusion 开源且可以在个人电脑上运行,DALL-E 2 和 Midjourney 生成的图片质量令人惊叹。

扩散模型的应用已经扩展到视频生成(Sora)、音频生成、分子设计、3D 建模等领域。可以说,扩散模型是继 GAN 之后,生成式 AI 的又一次飞跃——而且这一次,它真正改变了创意产业。


第五章:新纪元——从理解到推理(2020-2025)

到 2020 年,AI 的"基础设施"已经全部就位了:Transformer 架构、大规模预训练、扩散生成。但接下来的五年,才是真正让 AI "出圈"的时期——从学术圈走进了每个人的日常生活。

5.1 ViT——Transformer 征服视觉(2020)

论文: Alexey Dosovitskiy et al., An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale, 2020

链接: arXiv

它在解决什么问题

Transformer 在 NLP 领域大杀四方之后,一个自然的问题出现了:能不能把 Transformer 直接用在图像上?

在此之前,计算机视觉是 CNN 的天下。CNN 专门为图像设计——卷积核利用空间局部性,池化层逐步缩小尺寸。但 CNN 有个限制:它的感受野是有限的。第一层只能看到 3×3 的局部,第二层看到 5×5,就算网络很深,一个神经元也只能"看到"图像的一小块区域。要想让网络"看到"全局信息,得叠很多层。

而 Transformer 的自注意力机制天生就是"全局"的——每个位置都跟所有其他位置直接交互。既然它在语言上效果这么好,能不能直接搬到视觉上来?

核心思路

ViT 的思路暴力但有效:把图片切成一个个小方块(patch),每个方块当成一个"词",然后直接扔给标准 Transformer。

具体来说,一张 224×224 的图片被切成 16×16 的 patch,每个 patch 有 16×16×3=768 个像素值。这些像素值通过一个线性变换映射成一个向量——就像一个词的词向量。然后加上位置编码,前面再加一个特殊的 [CLS] token,整个序列送进标准的 Transformer 编码器。最后用 [CLS] 对应的输出做分类。

就这么简单。没有卷积,没有池化,没有任何视觉特有的设计。纯粹把图像当成一段"文字"来处理。

image.png

刚开始很多人觉得这太粗暴了——CNN 精心设计的空间归纳偏置(spatial inductive bias)全扔了,能行吗?结果 ViT 证明:只要数据够多,Transformer 可以自己学到空间结构。而且因为自注意力的全局感受野,ViT 在很多任务上超过了最好的 CNN。

当然,ViT 也有一个明显的特点:它比 CNN 更"吃数据"。在小数据集上,CNN 的归纳偏置让它学得更快;但在大数据集(ImageNet-21k、JFT-300M)上,ViT 的上限更高。

贡献

ViT 打开了"Transformer 万能化"的大门。在它之后,Swin Transformer 引入了层级结构,DeiT 解决了训练效率问题,ViT 的变体被用在了目标检测(DETR)、语义分割(SegFormer)、视频理解等几乎所有视觉任务上。

更重要的是,ViT 证明了:好的架构比领域特定的设计更重要。 CNN 花了二十年精心设计的各种 trick,在 Transformer 的"暴力美学"面前显得不再必要。这个认知深刻影响了后续 AI 研究的方向。


5.2 CLIP——连接图像与语言的桥梁(2021)

论文: Alec Radford et al., Learning Transferable Visual Models From Natural Language Supervision, 2021

链接: arXiv

它在解决什么问题

到 2021 年,图像分类已经非常成熟了——ImageNet 上的准确率早就超过 90%。但有一个根本性的限制:传统图像分类模型只能识别训练时定义好的固定类别。 你训练的时候定义了"猫""狗""车"三个类,它就只认识这三种。想加一个"飞机"?重新收集数据、重新训练。

这太不灵活了。人类不是这样认识世界的——你看到一个新东西,别人告诉你"这是一只水豚",你下次就能认出来了。因为你能理解"水豚"这个词的含义,并且能把它跟你看到的视觉特征联系起来。

CLIP 要解决的就是:能不能让模型学会图像和语言之间的通用对应关系,而不是只能识别固定的几个类别?

核心思路

CLIP 的做法特别直觉:同时训练两个模型——一个看图片(图像编码器),一个读文字(文本编码器)——让它们把匹配的图文对映射到同一个空间里。

训练数据来自互联网:4 亿组图文对(image-text pairs),都是从网上收集的真实数据——图片配着标题、描述、alt text 等等。不需要人工标注,不需要定义类别。

训练目标也很简单:给 N 组图文对,让匹配的图片和文字在嵌入空间中靠近,不匹配的远离。这就是"对比学习"(Contrastive Learning)。

训练过程:

一批数据包含 N 张图片和 N 段文字:
图像编码器 → N 个图像向量
文本编码器 → N 个文本向量

目标:让第 i 个图像向量跟第 i 个文本向量靠近
同时让第 i 个图像向量跟其他文本向量远离

这就是对比损失(Contrastive Loss)

训练完成后,CLIP 获得了一个超能力:零样本分类(Zero-Shot Classification)。你不需要为任何特定任务训练模型——只要写一段文字描述,比如"一张狗的照片",CLIP 就能在任意图片中找到匹配的那张。想加新类别?改一下文字描述就行,完全不需要重新训练。

image.png

贡献

CLIP 的意义在于它统一了视觉和语言。在它之前,图像和文字是两个独立的世界;在它之后,它们被映射到了同一个空间里。

DALL-E(文本生成图像)、Stable Diffusion(文本控制生成)等几乎所有"文本引导的视觉模型",底层都依赖 CLIP 或其思想。你在 AI 绘图工具里输入"一只穿西装的猫在月球上喝咖啡",模型能理解你的意思——这背后就是 CLIP 建立的图文对应关系。

CLIP 还催生了"视觉-语言模型"(VLM)这个方向——BLIP、LLaVA、GPT-4V 等多模态大模型,都是在 CLIP 的基础上发展起来的。


5.3 InstructGPT——RLHF 让 AI 听懂人话(2022)

论文: Long Ouyang et al., Training Language Models to Follow Instructions with Human Feedback, 2022

链接: arXiv

它在解决什么问题

GPT-3 在 2020 年展示了惊人的语言能力,但它有个严重的问题:它不知道"听话"。

你问它"中国首都是哪里?",它可能回答"中国首都是北京",也可能续写一段关于中国地理的论文,甚至可能输出一段代码。因为 GPT-3 的训练目标只是"预测下一个词"——它学会的是"文本接龙",不是"回答问题"。

更危险的是,GPT-3 可能生成有害内容、虚假信息、或者被恶意利用。它很聪明,但"不受控制"。

这就是对齐问题(Alignment Problem):怎么让一个强大的 AI 模型按照人类的意图行事?

核心思路

InstructGPT 的解决方案分三步走,被称为 RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习):

第一步:监督微调(SFT)。 雇人工标注员写高质量的"指令-回答"对。比如标注员写:"用户问:请用简单的话解释量子力学。回答:想象你有一个神奇的盒子……"。用这些数据微调 GPT-3,让它初步学会"回答问题"而不是"续写文本"。

第二步:训练奖励模型(Reward Model)。 让模型对同一个问题生成多个回答,然后让人类标注员给这些回答排序——哪个更好、哪个更差。用这些偏好数据训练一个"奖励模型",它学会了一个人类评分员的"品味":什么样的回答是好的(有用、真实、无害)。

第三步:强化学习优化(PPO)。 用奖励模型的打分作为"奖励信号",通过强化学习(PPO 算法)继续优化模型。模型每次生成回答,奖励模型给它打分,分高就鼓励、分低就惩罚。反复迭代,模型越来越"听话"。

RLHF 三步训练:

GPT-3 基座模型
↓
第一步:SFT(人工写示范)→ 初步学会回答问题
↓
第二步:训练奖励模型(人类给回答排序)→ 学会判断好坏
↓
第三步:PPO 强化学习(奖励模型打分)→ 越来越听话
↓
InstructGPT:有用、真实、无害

image.png

InstructGPT:RLHF三阶段训练转存失败,建议直接上传图片文件

效果是惊人的。InstructGPT(1.3B 参数)在人类评估中击败了未对齐的 GPT-3(175B 参数)——小了一百多倍的模型,反而更受人类喜欢。因为它"听话"。

贡献

RLHF 是 ChatGPT 背后的核心技术。ChatGPT 就是 InstructGPT 的升级版。没有 RLHF,GPT 只是一个"文本接龙机器";有了 RLHF,它变成了一个"有用的助手"。

这个技术解决了一个根本问题:怎么让强大的 AI 为人类服务,而不是制造混乱。 虽然 RLHF 并不完美(存在"sycophancy"问题——模型可能学会拍马屁),但它开启了"AI 对齐"这个方向,至今仍是所有大模型的核心训练环节。


5.4 Stable Diffusion——AI 绘图走进千家万户(2022)

论文: Robin Rombach et al., High-Resolution Image Synthesis with Latent Diffusion Models, 2022

链接: arXiv

它在解决什么问题

2022 年之前,文本生成图像已经有了一些成果——OpenAI 的 DALL-E 能根据文字描述生成图片,效果令人惊叹。但问题是:这些模型都在云端运行,需要强大的 GPU 集群,普通人的电脑根本跑不动。

而且它们都是闭源的——只有 OpenAI 内部能用。这意味着 AI 绘图的能力被少数公司垄断,普通开发者、艺术家、设计师无法参与创新。

Stable Diffusion 要解决的是两个问题:怎么让扩散模型更高效?怎么让所有人都能用上 AI 绘图?

image.png

核心思路

Stable Diffusion 的核心创新是潜在扩散(Latent Diffusion)——不在像素空间做扩散,而是在一个压缩后的"潜在空间"里做。

回顾一下前面的扩散模型:直接在像素上加噪声、去噪声。一张 512×512 的 RGB 图有 786,432 个像素值,每一步去噪都要处理这么多数据——计算量巨大。

Stable Diffusion 的思路是:先用一个 VAE 把图像压缩到一个低维的潜在空间(比如 64×64×4 = 16,384 个值),然后在这个小得多的空间里做扩散和去噪。最后再用 VAE 解码器还原成图片。

传统扩散模型:
像素空间(512×512×3 = 786,432 维)→ 每步去噪计算量巨大


Stable Diffusion:
像素空间 
→ VAE编码 
→ 潜在空间(64×64×4 = 16,384 维)
→ 在潜在空间做扩散/去噪(计算量减少48倍)
→ VAE解码 
→ 像素空间

计算量直接降了几十倍,但图像质量几乎没有损失——因为 VAE 编码器已经去掉了人眼不敏感的高频细节。

另一个关键设计是条件注入:用 CLIP 的文本编码器把文字描述编码成向量,通过交叉注意力(Cross-Attention)机制注入到 U-Net 去噪网络中。这样,去噪过程就被文字"引导"了——你输入"一只猫",去噪的方向就会偏向生成猫的样子。

image.png

最重要的是:Stable Diffusion 是完全开源的。模型权重、代码、训练数据全部公开。任何人都可以在自己的电脑上运行——一张 8GB 显存的显卡就够了。

贡献

Stable Diffusion 直接引爆了 AI 绘图的民主化。因为它开源,全球的开发者和研究者可以快速改进它:ControlNet 实现了精确的构图控制,LoRA 让个人可以用少量图片微调模型,AnimateDiff 实现了视频生成。

它改变了整个创意产业的工作流程。设计师用它出概念图,游戏开发者用它生成素材,建筑师用它做方案可视化。"AI 绘图"从一个实验室概念变成了人人可用的工具。

从技术角度看,Latent Diffusion 的思想——在压缩空间做扩散——成为了后续所有高效扩散模型的标准做法。DALL-E 2/3、Midjourney、Imagen 虽然在细节上各有不同,但核心思路一脉相承。


5.5 LLaMA——开源大模型的破局者(2023)

论文: Hugo Touvron et al., LLaMA: Open and Efficient Foundation Language Models, 2023

链接: arXiv

它在解决什么问题

2023 年初,大语言模型的能力已经令人惊叹——GPT-3.5/4 能写代码、能聊天、能做翻译。但它们全是闭源的。你只能通过 API 调用,看不到模型权重,更不可能在自己的机器上运行。

这造成了一个严重的问题:AI 研究被少数大公司的算力垄断所绑架。 没有开源模型,学术界无法研究大模型的内部机制、无法验证安全性、无法在此基础上创新。

LLaMA 要回答的问题是:能不能用更少的算力,训练出跟 GPT 一样好的模型,并且完全开源?

image.png

核心思路

LLaMA 的核心哲学是:小模型 + 多数据 = 大模型 + 少数据。

之前的共识是,模型越大越好。GPT-3 用了 1750 亿参数,PaLM 用了 5400 亿。但 LLaMA 证明:如果你用足够多的数据训练,一个 7B(70 亿参数)的模型就能匹敌 100B 级别的模型。

关键在训练数据。LLaMA 用了大量高质量数据——Common Crawl、Wikipedia、GitHub、Stack Exchange、arXiv 论文——总共数万亿 token。7B 模型训练了 1T token,13B 模型训练了同样多的数据。

在架构上,LLaMA 做了几项关键优化:

RMSNorm: 用更高效的 RMSNorm 替代 LayerNorm。效果差不多,但计算更快。

SwiGLU 激活函数: 用 SwiGLU 替代 ReLU。这个激活函数在 Transformer 中表现更好,虽然计算量略大,但整体效率更高。

旋转位置编码(RoPE): 用旋转矩阵编码位置信息。相比传统的绝对位置编码或 ALiBi,RoPE 在捕捉相对位置关系上效果更好,而且可以外推到更长的序列。

image.png

训练效率也令人印象深刻:LLaMA 13B 在 2048 张 A100 GPU 上训练了 21 天——成本大约几百万美元。而 GPT-4 据估计花了上亿美元。

LLaMA 发布后,开源社区炸了。因为模型权重公开,无数团队在它的基础上微调出了各种变体:Alpaca(斯坦福)、Vicuna(UC Berkeley)、WizardLM(微软)……一个开源大模型生态迅速形成。

贡献

LLaMA 的意义远超一个模型本身。它证明了开源大模型的可行性,打破了"只有大公司才能做好模型"的垄断。

在它之后,Meta 发布了 LLaMA 2(支持更长上下文、更大训练数据)、LLaMA 3(性能逼近 GPT-4)。整个开源生态——Mistral、Qwen、Yi、DeepSeek——都受到了 LLaMA 的启发。

今天你能在本地电脑上跑一个 7B 模型聊天,能在自己服务器上微调一个领域专用模型,能在开源社区找到各种变体——这一切都始于 LLaMA 的破局。


5.6 DeepSeek-R1——推理能力的涌现(2025)

论文: DeepSeek-AI, DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning, 2025

链接: arXiv

它在解决什么问题

到 2024 年,大语言模型已经非常"聪明"了——但它们有一个根本性的短板:不会"想"。

你让 GPT-4 解一道数学竞赛题,它可能直接猜一个答案,或者给出一个看起来很合理但实际上是错误的推导过程。它擅长"模仿"推理,但不擅长"真正"推理。

区别在哪?人类解一道难题的时候,会尝试不同方法、走弯路、发现错误、退回来重新想。这个过程叫做"推理"(Reasoning)——它需要模型在生成答案之前,先进行一系列内部"思考"步骤。

DeepSeek-R1 要解决的是:能不能通过强化学习,让大模型自发地学会"推理"——不是模仿推理的样子,而是真正具备推理的能力?

image.png

核心思路

DeepSeek-R1 的核心发现令人震惊:推理能力可以通过纯粹的强化学习来"激发"。

传统的做法是"监督学习"——人工写一大堆带推理过程的数据(chain-of-thought),让模型模仿。但 DeepSeek-R1 走了一条完全不同的路:不给模型任何推理示范,只通过奖励信号让它自己"悟出"推理的方法。

训练流程是这样的:

冷启动: 用少量高质量的推理数据(几千条)做初始微调,让模型有一个基本的推理格式。不用太多——目的是让模型知道"推理"长什么样,而不是教它怎么推理。

大规模强化学习: 这是核心。模型在大量数学、编程、逻辑问题上进行 RL 训练。奖励信号分两种:

"结果奖励"——答案对不对?对了给正分,错了给负分。

"过程奖励"——推理过程是否合理?是否有逻辑跳跃?是否尝试了多种方法?

通过反复试错,模型逐渐学会了:先分析问题、制定计划、逐步推导、检查验证。这些行为不是人类教的——是模型在 RL 过程中自己"发现"的。

拒绝采样 + 全场景微调: 用训练好的推理模型生成大量高质量推理数据,混合通用数据再训练一遍,确保模型既有推理能力,又不丢失通用能力。

image.png

最令人兴奋的发现是"涌现行为"(Emergent Behaviors):在 RL 训练过程中,模型自发学会了"反思"(回头看自己的推导有没有错)、"回溯"(发现走错了路,退回去换一种方法)、"分解问题"(把复杂问题拆成小步骤)。这些行为没有被显式教过——它们是从奖励信号中自然涌现出来的。

为什么今天还要知道它

DeepSeek-R1 的意义在于它改变了我们对"推理能力"的认知。之前大家认为推理需要大量人工标注的推理数据来教;DeepSeek-R1 证明,推理能力可以通过 RL 自发涌现。

这个发现的影响是深远的:如果推理能力可以通过 RL 激发,那我们可以继续用同样的方法激发其他高级认知能力——规划、创造、批判性思维。

从实际效果看,DeepSeek-R1 在数学竞赛(AIME 2024 得分 79.8%)、编程竞赛(Codeforces rating 2029)等任务上达到了与 OpenAI o1 相当的水平,而训练成本只有一小部分。更重要的是,DeepSeek-R1 完全开源,让全球研究者都能参与推理模型的研究。

DeepSeek-R1 可能标志着 AI 发展的一个新阶段:从"教 AI 知识"到"教 AI 思考"。


总结:从感知机到推理的 67 年

回看这 22 篇论文,一条清晰的演进脉络浮现出来了:

image.png

1958 感知机  机器学习的起点:加权求和做分类

1986 反向传播  解决了多层网络的训练问题

1995 SVM / 2001 随机森林  统计学习时代

1997 LSTM  序列数据的长期依赖

1998 LeNet-5  CNN 开山之作,但受限于算力

2009 ImageNet  提供了大数据集

2012 AlexNet  深度学习引爆点

2013 Word2Vec / VAE  表示学习的突破

2014 Attention / GAN  注意力机制和对抗生成

2017 Transformer  改变一切的架构

2018/2020 BERT / GPT-3  预训练大模型时代

2020 扩散模型 / ViT  生成范式与视觉变革

2021 CLIP  图文统一

2022 InstructGPT / RLHF  AI 对齐

2022 Stable Diffusion  AI 绘图民主化

2023 LLaMA  开源大模型生态

2025 DeepSeek-R1  推理能力的涌现

几个有意思的观察:

AI 的发展是阶梯式的,不是线性的。 感知机(1958)到反向传播(1986)隔了 28 年,反向传播到 AlexNet(2012)隔了 26 年。每一次突破都需要等待硬件和数据的进步。有时候不是方向错了,只是时机没到。

"预训练 + 微调"是过去十年最重要的范式。 从 Word2Vec 到 BERT 到 GPT 到 LLaMA,核心思路一脉相承:先在大量数据上学习通用表示,再迁移到具体任务。

生成模型经历了三代更迭。 VAE(2013)→ GAN(2014)→ 扩散模型(2020),每一代都在图像质量上有质的飞跃。

Transformer 是真正的"万能架构"。 从 NLP 到视觉(ViT)到多模态(CLIP)到蛋白质结构预测,Transformer 几乎无处不在。

开源正在改变游戏规则。 LLaMA 和 DeepSeek-R1 证明,开源模型不仅能追上闭源模型,还能推动整个生态的创新。AI 不再是大公司的专利。

从"教 AI 知识"到"教 AI 思考"。 DeepSeek-R1 展示的涌现推理能力,可能预示着 AI 发展的下一个阶段——不是给模型更多数据,而是给模型更好的"学习方式"。

如果你想深入 AI 领域,这 22 篇论文就是一条很好的阅读线。从感知机开始,一篇篇读下来,你会发现:每一个"突破"都不是凭空出现的,它一定是在回答上一篇论文留下的问题。这条"问题链"串起来,就是 AI 近七十年的发展史。