从LeNet到EfficientNet:CNN进化史中的设计哲学与核心突破
在计算机视觉领域,卷积神经网络(CNN)的发展历程堪称一部精彩的"技术进化史"。不同于简单地记忆网络结构和参数,理解这些经典模型背后的设计哲学和创新思路,才能真正掌握CNN的精髓。本文将带您穿越这段技术发展历程,揭示每个里程碑式网络为解决特定问题而诞生的核心思想。
1. CNN的启蒙时代:从LeNet到AlexNet
1998年诞生的LeNet堪称CNN的"开山鼻祖",由Yann LeCun提出用于手写数字识别。这个仅有5层的网络已经包含了现代CNN的核心要素:卷积层、池化层和全连接层的组合。其创新点在于:
- 局部感受野:通过卷积核捕捉局部特征,突破了传统神经网络全连接的局限
- 权值共享:大幅减少参数数量,使训练成为可能
- 下采样:通过池化实现平移不变性并降低计算量
python复制# LeNet-5的典型结构示例
LeNet(
(conv1): Conv2d(1, 6, kernel_size=(5, 5), stride=(1, 1))
(pool1): AvgPool2d(kernel_size=2, stride=2)
(conv2): Conv2d(6, 16, kernel_size=(5, 5), stride=(1, 1))
(pool2): AvgPool2d(kernel_size=2, stride=2)
(fc1): Linear(in_features=400, out_features=120)
(fc2): Linear(in_features=120, out_features=84)
(fc3): Linear(in_features=84, out_features=10)
)
然而,LeNet受限于当时的计算能力和数据规模,直到2012年AlexNet的出现才真正开启了深度学习的新纪元。AlexNet在ImageNet竞赛中一举夺魁,其关键创新包括:
| 创新点 | 解决的问题 | 影响 |
|---|---|---|
| ReLU激活函数 | 缓解梯度消失,加速训练 | 成为后续网络的标配 |
| Dropout | 防止过拟 |
