🚀 你知道吗? 现代计算机视觉(CV)领域的许多神经网络,都能追溯到 1998 年 的一个奠基性模型——LeNet-5!它是由 Yann LeCun 提出的第一个 成功应用卷积神经网络(CNN) 的模型,被称为深度学习的“开山鼻祖”!
今天,我们就来通俗易懂地聊聊这个 经典 CNN,看看它是如何影响整个深度学习领域的!
📌 1. 什么是 LeNet-5?
LeNet-5 是最早用于 手写数字识别(MNIST 数据集) 的深度学习模型。它的设计灵感来源于人类视觉系统,可以自动学习图像特征,而不需要手工设计特征提取方法(如 SIFT、HOG)。
📌 关键词:CNN、自动特征提取、手写数字识别、奠基模型
LeNet-5 由两部分组成:
1️⃣ 卷积 + 池化层:用于提取特征(特征提取部分)
2️⃣ 全连接层:用于分类(分类部分)
📊 2. LeNet-5 网络结构
下面是 LeNet-5 的网络结构示意图(附图):
📷 [ LeNet-5 结构图]
层 | 类型 | 输出形状(输入 28×28) |
---|---|---|
输入层 | 灰度图像 | 1×28×28 |
C1 | 卷积层(6×5×5) | 6×24×24 |
S2 | 最大池化层(2×2) | 6×12×12 |
C3 | 卷积层(16×5×5) | 16×8×8 |
S4 | 最大池化层(2×2) | 16×4×4 |
Flatten | 展平操作 | 256 |
F5 | 全连接层(120) | 120 |
F6 | 全连接层(84) | 84 |
F7 | 输出层(10) | 10 (类别 0~9) |
👉 简单来说,LeNet-5 先用卷积层提取特征,再用全连接层分类!
🚀 3. LeNet-5 为啥牛?
🔍 ✅ 贡献 1:提出“卷积 + 池化”框架
LeNet-5 开创了 CNN 结构,解决了传统方法 手工设计特征 的难题。
🔍 ✅ 贡献 2:参数共享 & 计算优化
CNN 采用 卷积核(filter) 进行特征提取,可以减少参数,提高计算效率!
🔍 ✅ 贡献 3:影响深远,现代 CNN 的鼻祖
- AlexNet (2012):更深更大的 CNN,推动深度学习爆发。
- VGG (2014):更深的网络结构,强化 CNN 能力。
- ResNet (2015):提出“残差连接”,解决深层 CNN 训练困难的问题。
- Vision Transformer (ViT, 2020):用 Transformer 处理图像,但 CNN 仍是重要基础!
📌 可以说,LeNet-5 是现代计算机视觉的“祖师爷”!
🛠️ 4. LeNet-5 还能用在哪?
虽然 LeNet-5 已经过时,但仍然适用于:
✅ 学习 CNN 基础:LeNet-5 结构简单,是最好的 CNN 入门模型!
✅ 小型数据集:如 MNIST、轻量级图像分类任务。
✅ 嵌入式设备:适合 低算力环境,如边缘计算、IoT 设备。
但如果要处理更复杂的图像(如猫狗分类、ImageNet),建议使用 ResNet、EfficientNet 或 Transformer 结构。
💻 5. LeNet-5 代码实现
如果你想自己跑一下 LeNet-5,下面是 PyTorch 代码(仅需几行代码即可实现!):
import torch
import torch.nn as nn
class LeNet5(nn.Module):
def __init__(self):
super(LeNet5, self).__init__()
self.conv1 = nn.Conv2d(1, 6, 5)
self.pool1 = nn.MaxPool2d(2, 2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.pool2 = nn.MaxPool2d(2, 2)
self.fc1 = nn.Linear(16 * 4 * 4, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)
def forward(self, x):
x = self.pool1(torch.relu(self.conv1(x)))
x = self.pool2(torch.relu(self.conv2(x)))
x = torch.flatten(x, 1)
x = torch.relu(self.fc1(x))
x = torch.relu(self.fc2(x))
x = self.fc3(x)
return x
# 测试模型
model = LeNet5()
x = torch.randn(1, 1, 28, 28)
y = model(x)
print(y.shape) # 预期:torch.Size([1, 10])
只需几行代码,就能实现 LeNet-5 结构!
🔚 6. 总结
✨ LeNet-5 是 CNN 的开山之作,奠定了深度学习的基础!
🔍 它虽然不再主流,但学习 CNN 必须了解它!
📌 现代 CV 更推荐使用 ResNet、ViT,但 LeNet-5 仍适合入门、教学和轻量级任务!