先搞清楚一件事: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(不是)
就这么简单。一个加权求和加一个阈值判断。如果你学过线性代数,这本质上就是一个向量点积。
那怎么"学"呢?规则也很直觉:做对了就保持,做错了就调。
具体来说:如果正确答案是 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)。思路是:把数据投射到一个更高维的空间。在原来的二维空间里画不出直线,但升到三维之后,可能一个平面就能切开了。
具体怎么操作?想象你面前有一堆数据排成环形(红点在中间,蓝点围成一圈)。在桌面上你画不出直线来分。但如果你把"到圆心的距离"作为第三个维度——也就是让中间的数据"隆起来"——数据就变成了三维的,中间高四周低。这时候你拿一个平面从中间横切一刀,就能把红点和蓝点分开了。
核函数的妙处在于:你不需要真的做高维变换(计算量太大),只需要在高维空间里算两个点的"相似度"就行了。一个数学技巧,省了巨大的计算量。
贡献
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,还能告诉你哪些特征最重要。对于刚入门机器学习的人来说,随机森林几乎总是你第一个该尝试的算法。
贡献
你可能会想:都 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 的窗口)在图像上滑动,在每个位置做一次加权求和。这个窗口学到的是一套"局部特征检测器"——比如"检测从左下到右上的边缘"。当这个窗口扫过整张图,它就生成了一张"特征图"——标记了原图中所有符合这个特征的位置。
然后还有一个"池化"操作:把特征图缩小——比如每 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 要解决的就是它。
核心思路
LSTM 的全称是 Long Short-Term Memory,翻译过来就是"长短时记忆"。名字听着矛盾,其实意思很直白:它既能记住短期信息,也能记住长期信息。
核心设计是一条 "信息高速公路"(Cell State),加上三个 "门"(Gate) 来控制信息的进出。
你可以把这条信息高速公路想象成一条传送带。数据从前往后流动,传送带旁边有三个控制站:
-
遗忘门: 传送带上的哪些信息已经没用了,应该丢掉?比如话题切换了,之前的信息就不需要了。这个门会"忘掉"不相关的东西。
-
输入门: 新来的信息里,哪些值得记下来?这个门决定要把什么新内容放到传送带上。
-
输出门: 当前这一步,需要从传送带上取出什么信息来用?这个门决定这一步的输出是什么。
这三个门都是"软性"的——不是完全打开或完全关闭,而是打开一个比例(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 个类别中识别图片内容,成为了深度学习时代的"试金石"。
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%。这个差距太大了,整个计算机视觉社区都意识到了:时代变了。
贡献
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("东京")
这些关系不是人为设定的,而是模型从大量文本中自动学到的。第一次看到这个结果的时候,你可能会觉得有点魔幻——一堆数字运算居然能捕捉到"国王和女王的关系"跟"男人和女人的关系"是一样的?但仔细想想,如果"国王"出现的语境跟"男人"很像,只是多了些"女王""王国"之类的词,那向量之间的差值确实可以表示"性别"这个概念。
贡献
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 是查出来的数据。模型每一步都在做一次"软性数据库查询"。
贡献
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" → 其他词: 较低的值
"多头"的意思是:把上述过程并行做 8 次(论文中的设置),每个"头"学习不同类型的关系——有的头关注语法结构,有的头关注指代关系,有的头关注语义关联。最后把 8 个头的结果拼起来。就像你同时用 8 个不同角度来理解同一句话。
因为完全抛弃了循环结构,Transformer 有两个巨大优势:
-
完全并行。 所有位置的 Attention 可以同时计算。训练速度比 RNN 快好几倍。
-
任意距离的直接连接。 序列中任意两个词之间都可以直接计算注意力,不需要经过中间步骤传递。"The"和"mat"之间不管隔了多少词,都能一步到位地交互。
还有一个细节值得注意:位置编码(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 在做的事——根据你前面打的字,猜下一个字是什么。
GPT-3 的关键突破是规模。1750 亿个参数(BERT 只有 3.4 亿),在海量文本上训练。结果发现:模型大到一定程度后,出现了"涌现能力"——它可以通过几个例子就学会一个新任务,完全不需要微调。
GPT-3 的 Few-Shot 能力:
输入:
英文:Good morning → 中文:早上好
英文:How are you → 中文:你好吗
英文:Thank you → 中文:
GPT-3 输出:谢谢
(只给了两个例子,没有微调,就学会了翻译)
贡献
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 来自训练时学好的分布,所以生成的图片看起来是合理的
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)。训练时交替优化:先固定生成器训练判别器,再固定判别器训练生成器。理想情况下,最终达到纳什均衡。
贡献
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步:噪声全部去掉了 → 一张清晰的猫的图片!
跟 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] 对应的输出做分类。
就这么简单。没有卷积,没有池化,没有任何视觉特有的设计。纯粹把图像当成一段"文字"来处理。
刚开始很多人觉得这太粗暴了——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 就能在任意图片中找到匹配的那张。想加新类别?改一下文字描述就行,完全不需要重新训练。
贡献
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:有用、真实、无害

效果是惊人的。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 绘图?
核心思路
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 去噪网络中。这样,去噪过程就被文字"引导"了——你输入"一只猫",去噪的方向就会偏向生成猫的样子。
最重要的是: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 一样好的模型,并且完全开源?
核心思路
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 在捕捉相对位置关系上效果更好,而且可以外推到更长的序列。
训练效率也令人印象深刻: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 要解决的是:能不能通过强化学习,让大模型自发地学会"推理"——不是模仿推理的样子,而是真正具备推理的能力?
核心思路
DeepSeek-R1 的核心发现令人震惊:推理能力可以通过纯粹的强化学习来"激发"。
传统的做法是"监督学习"——人工写一大堆带推理过程的数据(chain-of-thought),让模型模仿。但 DeepSeek-R1 走了一条完全不同的路:不给模型任何推理示范,只通过奖励信号让它自己"悟出"推理的方法。
训练流程是这样的:
冷启动: 用少量高质量的推理数据(几千条)做初始微调,让模型有一个基本的推理格式。不用太多——目的是让模型知道"推理"长什么样,而不是教它怎么推理。
大规模强化学习: 这是核心。模型在大量数学、编程、逻辑问题上进行 RL 训练。奖励信号分两种:
"结果奖励"——答案对不对?对了给正分,错了给负分。
"过程奖励"——推理过程是否合理?是否有逻辑跳跃?是否尝试了多种方法?
通过反复试错,模型逐渐学会了:先分析问题、制定计划、逐步推导、检查验证。这些行为不是人类教的——是模型在 RL 过程中自己"发现"的。
拒绝采样 + 全场景微调: 用训练好的推理模型生成大量高质量推理数据,混合通用数据再训练一遍,确保模型既有推理能力,又不丢失通用能力。
最令人兴奋的发现是"涌现行为"(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 篇论文,一条清晰的演进脉络浮现出来了:
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 近七十年的发展史。