深度学习先驱:LeNet与AlexNet的开创之路

深度学习先驱:LeNet与AlexNet的开创之路

引言

计算机视觉领域中,有着几类经典应用派系(可以在SOTA网站查看各类别的模型架构):

本文将介绍图像分类任务的两个开创性工作:LeNetAlexNet,它们为深度学习的发展奠定了基石。

LeNet (1998) - 深度学习的曙光

📄 论文信息
作者 Yann LeCun, Léon Bottou, Yoshua Bengio, Patrick Haffner
发表 Proceedings of the IEEE (1998)

简介

LeNet是计算机视觉的开山之作之一,Yann LeCun最早采用了基于卷积+梯度优化的神经网络用于支票手写数字的识别 [1]。这一工作不仅推动了计算机在视觉任务上的应用,更在手写字识别上达到了令人满意的结果。

网络结构

LeNet结构图

LeNet构建了卷积-下采样(池化)-全连接的卷积网络范式,这一架构成为了后续所有卷积神经网络的基础模板。

主要贡献

  1. 确立了CNN的基本范式:卷积层 → 池化层 → 全连接层的经典结构
  2. 推动计算机视觉的发展:证明了神经网络在视觉任务上的潜力
  3. 实际应用价值:在手写数字识别上取得了实用化的效果

模型复现

我已经在PyTorch平台上复现了LeNet模型:

AlexNet (2012) - 深度学习的复兴

📄 论文信息
作者 Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton
发表 Advances in Neural Information Processing Systems (NeurIPS) (2012)

简介

AlexNet是CV领域的另一部开山之作。时隔多年后,CNN在2012年ILSVRC(ImageNet大规模视觉识别挑战赛)上夺得冠军 [2],延续了Yann LeCun的工作,展示了CNN在图像识别领域的优势,是CV领域承先启后的杰作。

网络结构

AlexNet结构图

AlexNet相比LeNet有了显著的深度增加,从5层增加到了8层,并引入了多项创新技术。

主要贡献

  1. 证明了学习特征优于手工特征

    首次证明了学习到的特征可以超越手工设计的特征 [2],让更多人开始注意这个和黑匣子一样的”深度学习”,掀起了深度学习的研究浪潮

  2. 大规模数据训练

    在大数据样本上做实验,取得更好的效果。但受限于硬件条件,提出了多GPU训练模式,这一模式至今仍在使用。

  3. ReLU激活函数

    引入激活函数ReLU [3],让映射拟合增加非线性组件,解决了传统Sigmoid函数的梯度消失问题。

  4. Dropout正则化

    引入Dropout随机失活操作 [4],有效防止过拟合,逐渐成为CNN领域的核心组件。

  5. 更深的网络

    CNN开始向”深度”探索,LeNet为5层,AlexNet为8层,证明了深度对模型性能的重要性。

  6. 端到端学习

    实现端到端的模型定义,简化了模型设计和训练流程。

技术亮点

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模型:

历史意义

LeNet的开创性

LeNet在1998年就已经展示了卷积神经网络的强大能力,但由于当时的硬件限制和数据集规模,并没有引起广泛关注。然而,它确立的卷积-池化-全连接的架构成为了后续所有CNN的基础。

AlexNet的革命性

AlexNet在2012年的ImageNet挑战赛上以巨大优势夺冠(top-5错误率15.3%,第二名26.2%) [2],这一成就:

  1. 重新点燃了深度学习研究的热情
  2. 证明了深度神经网络的实用价值
  3. 推动了GPU在深度学习中的应用
  4. 启发了后续一系列更深、更强的网络架构

从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

实践经验

在复现这两个经典网络的过程中,我获得了以下体会:

  1. 网络深度很重要:AlexNet相比LeNet更深,性能显著提升
  2. 激活函数的选择:ReLU确实比Sigmoid/Tanh更好训练
  3. 正则化的必要性:Dropout对防止过拟合效果显著
  4. 数据规模的影响:更大的数据集能充分发挥深度网络的优势

总结

LeNet和AlexNet是深度学习历史上的两座里程碑:

  • LeNet:开创了CNN范式,但限于时代,未能大放异彩
  • AlexNet:在合适的时机(大数据+GPU算力),证明了深度学习的革命性价值

这两个网络虽然在今天看来已经相对简单,但它们确立的许多概念和技术至今仍在使用。理解这些经典网络,对于学习现代深度学习架构有着重要的意义。

参考文献

  1. 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
  2. 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
  3. Nair, V. & Hinton, G. E. Rectified Linear Units Improve Restricted Boltzmann Machines. International Conference on Machine Learning (ICML), 2010.
  4. 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.
  5. Papers with Code. Image Classification Benchmarks. paperswithcode.com/task/image-classification
文章目录