深度学习先驱:LeNet与AlexNet的开创之路
深度学习先驱:LeNet与AlexNet的开创之路
引言
计算机视觉领域中,有着几类经典应用派系(可以在SOTA网站查看各类别的模型架构):
- 图像分类 - Image Classification
- 目标检测 - Object Detection
- 语义分割 - Semantic Segmentation
- 图像生成 - Image Generation
本文将介绍图像分类任务的两个开创性工作:LeNet 和 AlexNet,它们为深度学习的发展奠定了基石。
LeNet (1998) - 深度学习的曙光
简介
LeNet是计算机视觉的开山之作之一,Yann LeCun最早采用了基于卷积+梯度优化的神经网络用于支票手写数字的识别 [1]。这一工作不仅推动了计算机在视觉任务上的应用,更在手写字识别上达到了令人满意的结果。
网络结构

LeNet构建了卷积-下采样(池化)-全连接的卷积网络范式,这一架构成为了后续所有卷积神经网络的基础模板。
主要贡献
- 确立了CNN的基本范式:卷积层 → 池化层 → 全连接层的经典结构
- 推动计算机视觉的发展:证明了神经网络在视觉任务上的潜力
- 实际应用价值:在手写数字识别上取得了实用化的效果
模型复现
我已经在PyTorch平台上复现了LeNet模型:
- 平台:PyTorch
- 主要库:torchvision, torch, matplotlib
- 数据集:CIFAR10
- 代码地址:GitHub - DeepLearning/model_classification/LeNet
AlexNet (2012) - 深度学习的复兴
简介
AlexNet是CV领域的另一部开山之作。时隔多年后,CNN在2012年ILSVRC(ImageNet大规模视觉识别挑战赛)上夺得冠军 [2],延续了Yann LeCun的工作,展示了CNN在图像识别领域的优势,是CV领域承先启后的杰作。
网络结构

AlexNet相比LeNet有了显著的深度增加,从5层增加到了8层,并引入了多项创新技术。
主要贡献
-
证明了学习特征优于手工特征
首次证明了学习到的特征可以超越手工设计的特征 [2],让更多人开始注意这个和黑匣子一样的”深度学习”,掀起了深度学习的研究浪潮。
-
大规模数据训练
在大数据样本上做实验,取得更好的效果。但受限于硬件条件,提出了多GPU训练模式,这一模式至今仍在使用。
-
ReLU激活函数
引入激活函数ReLU [3],让映射拟合增加非线性组件,解决了传统Sigmoid函数的梯度消失问题。
-
Dropout正则化
引入Dropout随机失活操作 [4],有效防止过拟合,逐渐成为CNN领域的核心组件。
-
更深的网络
CNN开始向”深度”探索,LeNet为5层,AlexNet为8层,证明了深度对模型性能的重要性。
-
端到端学习
实现端到端的模型定义,简化了模型设计和训练流程。
技术亮点
ReLU激活函数
# ReLU激活函数的简单实现
def relu(x):
return max(0, x)
ReLU相比传统的Sigmoid和Tanh激活函数:
- 计算更简单,加速训练
- 缓解梯度消失问题
- 产生稀疏激活,提高模型效率
Dropout正则化
# Dropout在PyTorch中的使用
import torch.nn as nn
class AlexNet(nn.Module):
def __init__(self):
super(AlexNet, self).__init__()
# ... 卷积层定义 ...
self.classifier = nn.Sequential(
nn.Dropout(0.5), # 50%的dropout率
nn.Linear(256 * 6 * 6, 4096),
nn.ReLU(inplace=True),
nn.Dropout(0.5),
nn.Linear(4096, 4096),
nn.ReLU(inplace=True),
nn.Linear(4096, num_classes),
)
模型复现
我在PyTorch平台上复现了AlexNet模型:
- 平台:PyTorch
- 主要库:torchvision, torch, matplotlib
- 数据集:Oxford Flower102花分类数据集
- 代码地址:GitHub - DeepLearning/model_classification/AlexNet
历史意义
LeNet的开创性
LeNet在1998年就已经展示了卷积神经网络的强大能力,但由于当时的硬件限制和数据集规模,并没有引起广泛关注。然而,它确立的卷积-池化-全连接的架构成为了后续所有CNN的基础。
AlexNet的革命性
AlexNet在2012年的ImageNet挑战赛上以巨大优势夺冠(top-5错误率15.3%,第二名26.2%) [2],这一成就:
- 重新点燃了深度学习研究的热情
- 证明了深度神经网络的实用价值
- 推动了GPU在深度学习中的应用
- 启发了后续一系列更深、更强的网络架构
从LeNet到AlexNet的进化
| 特性 | LeNet (1998) | AlexNet (2012) |
|---|---|---|
| 层数 | 5层 | 8层 |
| 激活函数 | Tanh | ReLU |
| 正则化 | 无 | Dropout |
| 数据集 | MNIST (6万) | ImageNet (120万) |
| 训练设备 | CPU | 双GPU |
| 参数量 | ~6万 | ~6000万 |
graph LR
subgraph LeNet["LeNet (1998)"]
L1["5 layers<br/>Conv → Pool → FC"]
L2["Tanh activation"]
L3["MNIST 60K images"]
L4["~60K params"]
end
subgraph AlexNet["AlexNet (2012)"]
A1["8 layers<br/>Conv → Dropout → FC"]
A2["ReLU activation"]
A3["ImageNet 1.2M images"]
A4["~60M params<br/>Dual-GPU"]
end
LeNet -->|"14年 · GPU + 大数据"| AlexNet
style LeNet fill:#e8f5e9,stroke:#2e7d32
style AlexNet fill:#e3f2fd,stroke:#1565c0
实践经验
在复现这两个经典网络的过程中,我获得了以下体会:
- 网络深度很重要:AlexNet相比LeNet更深,性能显著提升
- 激活函数的选择:ReLU确实比Sigmoid/Tanh更好训练
- 正则化的必要性:Dropout对防止过拟合效果显著
- 数据规模的影响:更大的数据集能充分发挥深度网络的优势
总结
LeNet和AlexNet是深度学习历史上的两座里程碑:
- LeNet:开创了CNN范式,但限于时代,未能大放异彩
- AlexNet:在合适的时机(大数据+GPU算力),证明了深度学习的革命性价值
这两个网络虽然在今天看来已经相对简单,但它们确立的许多概念和技术至今仍在使用。理解这些经典网络,对于学习现代深度学习架构有着重要的意义。
参考文献
- LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. Gradient-Based Learning Applied to Document Recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998. DOI: 10.1109/5.726791
- Krizhevsky, A., Sutskever, I., & Hinton, G. E. ImageNet Classification with Deep Convolutional Neural Networks. Advances in Neural Information Processing Systems (NeurIPS), 2012.
proceedings.neurips.cc - Nair, V. & Hinton, G. E. Rectified Linear Units Improve Restricted Boltzmann Machines. International Conference on Machine Learning (ICML), 2010.
- Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. Dropout: A Simple Way to Prevent Neural Networks from Overfitting. Journal of Machine Learning Research, 15(56):1929−1958, 2014.
- Papers with Code. Image Classification Benchmarks. paperswithcode.com/task/image-classification