引言
1990 年代末,美国银行的支票处理中心正在发生一件 quietly revolutionary 的事。每天数百万张手写支票需要人工核对金额——这项工作枯燥、缓慢、容易出错。然后,一个来自 AT&T 贝尔实验室的系统被部署了上来,基于一个叫"卷积神经网络"的东西,它能在瞬间读取支票上的手写数字。这是神经网络第一次真正的大规模商业部署。那个系统的创造者,名叫 Yann LeCun。
与此同时,在遥远的欧洲,一个名叫 Sepp Hochreiter 的年轻学生正在为一个困扰神经网络研究者的根本问题而苦恼。这个问题的答案,将催生出 20 世纪被引用最多的深度学习论文。
在深度学习于 2012 年爆发之前,这些先行者们已经在黑暗中跋涉了漫长的岁月。
LeNet:卷积神经网络的先驱(1989/1998)
从邮政编码到银行支票
Yann LeCun 对卷积神经网络的执着可以追溯到他在巴黎的求学时代。他的导师是著名的连接主义者,这让他从小就相信神经网络的力量。1988 年加入贝尔实验室后,LeCun 找到了完美的应用场景——手写数字识别。美国邮政系统每天处理海量的信件,急需自动化分拣方案。
1989 年,LeCun 开发了第一个成功的卷积神经网络。1998 年,他发表了经典的 LeNet-5 架构,被美国银行系统广泛部署——这是神经网络第一次在大规模真实商业场景中证明自己的价值。
卷积操作:核心创新
传统全连接网络处理图像的问题:
一张 28×28 的灰度图 = 784 个像素
如果第一层有 1000 个神经元 → 784,000 个权重!
参数太多 → 过拟合 + 计算量大LeCun 的解决方案是受生物视觉系统启发的卷积操作:
用一个小的「卷积核」(如 5×5)在整张图上滑动
输入图像 卷积核 特征图
┌─────────┐ ┌───────┐
│ ■ □ ■ □ │ │ 1 0 1 │
│ □ ■ □ ■ │ * │ 0 1 0 │ = ┌───────┐
│ ■ □ ■ □ │ │ 1 0 1 │ │ 5 3 7 │
│ □ ■ □ ■ │ └───────┘ │ 2 8 4 │
└─────────┘ └───────┘
每次只看局部区域,参数共享(同一个核在所有位置使用)卷积神经网络的三大核心思想
| 思想 | 说明 | 效果 |
|---|---|---|
| 局部连接 | 每个神经元只连接输入的一小块区域 | 参数数量大幅减少 |
| 权重共享 | 同一个卷积核在所有位置使用 | 平移不变性 |
| 池化 | 对局部区域取最大值或平均值 | 降低分辨率,增强鲁棒性 |
LeNet-5 架构
输入 卷积 池化 卷积 池化 全连接 输出
32×32×1 → C1:28×28×6 → S2:14×14×6 → C3:10×10×16 → S4:5×5×16 → 120→84 → 10
(手写数字) (6个卷积核) (降采样) (16个卷积核) (降采样) (分类层) (数字0-9)
总参数量:约 60,000实际应用
LeNet 被美国银行系统广泛用于支票上的手写数字识别,到 1990 年代末,美国约 10% 的支票是通过神经网络系统处理的。这是神经网络从学术实验室走向真实世界的里程碑。
LSTM:长短期记忆网络(1997)
一个学位论文引发的革命
1991 年,在德国慕尼黑工业大学,一位名叫 Sepp Hochreiter 的年轻学生正在撰写学位论文。他的导师 Jürgen Schmidhuber 给了他一个课题:研究为什么循环神经网络(RNN)在处理长序列时表现不佳。Hochreiter 深入分析后发现了一个根本性的问题——梯度消失:在反向传播过程中,误差信号随着时间步的增加而指数级衰减,导致远处的信息无法被学到。
1997 年,Hochreiter 和 Schmidhuber 在论文中正式提出了 LSTM——通过精巧的门控机制来解决梯度消失问题。这篇论文后来成为20 世纪被引用最多的深度学习论文,LSTM 在 2010 年代统治了所有序列建模任务。
RNN 的梯度消失问题
普通 RNN 处理序列数据时:
RNN 处理句子:
"我 昨天 在 公园 里 ___ 了一只 猫"
时刻 1: 读入 "我"
时刻 2: 读入 "昨天"
...
时刻 6: 需要预测空格处的动词
问题:到时刻 6 时,模型已经「忘记」了时刻 1-2 的信息
原因:反向传播时梯度经过多层会指数级衰减(梯度消失)梯度随时间步的变化:
│ ████
│ ███
│ ██
│ █
│ ▏ ← 梯度几乎为 0
└────────── 时间步
1 2 3 4 5 6LSTM 的解决方案:门控机制
LSTM 引入了"门"来控制信息的流动——就像一个精密的信息管理系统,决定什么该记住、什么该忘记、什么该输出。
┌──────────────────────┐
│ LSTM 单元 │
│ │
c(t-1) ──────────►│─── × ─── + ─────────►│──── c(t)
(长期记忆) │ ↑ ↑ │ (更新后记忆)
│ 遗忘门 输入门 │
│ f(t) i(t) │
h(t-1) ─────────►│──────────────────────►│──── h(t)
(短期输出) │ 输出门 o(t) │ (当前输出)
x(t) ───────────►│────────────────────── │
(当前输入) └──────────────────────┘三个门的作用:
| 门 | 功能 | 类比 |
|---|---|---|
| 遗忘门(Forget Gate) | 决定从长期记忆中丢弃什么 | "这个信息不再重要了" |
| 输入门(Input Gate) | 决定将什么新信息写入记忆 | "记住这个新信息" |
| 输出门(Output Gate) | 决定从记忆中输出什么 | "现在需要用到这部分记忆" |
LSTM 的工作流程
1. 遗忘门:f(t) = sigmoid(Wf · [h(t-1), x(t)] + bf)
→ 决定从 c(t-1) 中保留多少
2. 输入门:i(t) = sigmoid(Wi · [h(t-1), x(t)] + bi)
新候选:c̃(t) = tanh(Wc · [h(t-1), x(t)] + bc)
→ 决定写入什么新信息
3. 更新记忆:c(t) = f(t) × c(t-1) + i(t) × c̃(t)
→ 旧记忆保留一部分 + 新信息加入一部分
4. 输出门:o(t) = sigmoid(Wo · [h(t-1), x(t)] + bo)
h(t) = o(t) × tanh(c(t))
→ 决定输出什么LSTM 的影响
LSTM 在 2010 年代成为序列建模的标准工具,几乎所有涉及序列的 AI 任务都在使用它:
| 应用领域 | 具体用途 |
|---|---|
| 语音识别 | Google 语音识别系统(2015 年前) |
| 机器翻译 | 早期神经机器翻译系统 |
| 文本生成 | 早期语言模型 |
| 时间序列 | 金融预测、天气预报 |
| 手写识别 | 在线手写识别 |
深度学习的黎明(2006)
Hinton 的深度信念网络
2006 年之前,"深度"神经网络几乎是学术界的禁区——主流观点认为超过两三层的网络根本无法训练。然后,Geoffrey Hinton 发表了一篇关于深度信念网络(DBN) 的论文,提出了逐层预训练的策略:
传统方法:直接训练整个网络 → 梯度消失,深层学不好
逐层预训练:
1. 先训练第一层(无监督学习特征)
2. 固定第一层,训练第二层
3. 依次类推,训练更多层
4. 最后用有监督微调整个网络这篇论文重新唤起了学术界对深层神经网络的兴趣。"深度学习"这个词也是在 2006 年左右开始流行起来的——Hinton 用这个词来区分自己的方法与传统浅层机器学习。六年后,AlexNet 将用一场惊天动地的胜利证明 Hinton 的信念。
本节小结
| 概念 | 要点 |
|---|---|
| LeNet (1989/1998) | 第一个成功的 CNN,用于手写数字识别,首次大规模商业部署 |
| 卷积操作 | 局部连接 + 权重共享 + 池化 → 高效处理图像 |
| LSTM (1997) | 通过门控机制解决 RNN 的梯度消失问题 |
| 三个门 | 遗忘门、输入门、输出门——控制记忆的读写 |
| 深度信念网络 (2006) | Hinton 的逐层预训练策略,唤醒深度学习 |
思考题
- 卷积操作的「局部连接 + 权重共享」思想,能否应用到自然语言处理中?后来的模型是怎么做的?
- LSTM 的门控机制与人类的选择性注意力有什么相似之处?
- LeNet 和 LSTM 都在深度学习爆发(2012)之前就存在了,为什么它们没有更早地引发革命?
延伸阅读
- LeCun, Y. et al. (1998). "Gradient-Based Learning Applied to Document Recognition" — LeNet-5 原始论文
- Hochreiter, S. & Schmidhuber, J. (1997). "Long Short-Term Memory" — LSTM 原始论文
- Hinton, G. et al. (2006). "A Fast Learning Algorithm for Deep Belief Nets" — 深度信念网络论文