深度学习之视觉特征提取器——LeNet

LeNet

引入

LeNet是是由深度学习巨头Yann LeCun在1998年提出,可以算作多层卷积网络在图像识别领域的首次成功应用。我们现在通常说的LeNet是指LeNet-5,最早的LeNet-1在1988年即开始研究,前后持续十年之久。但是,受限于当时计算机算力的发展,以及本有的SVM技术效果就十分优秀,这一技术并没有得到广泛重视。然而,在以卷积神经网络为基础构建起的计算机视觉的今天,不得不感慨,二十年后今天的LLM或者是什么模型,会成为曾经的CNN/LeNet。

模型结构

请添加图片描述

LeNet的模型结构如上图所示,LeNet最初是用在MNIST手写数据集上,对手写数字进行分辨。对于输入的32×32像素的手写数据图,首先利用卷积核为5×5的卷积层转化成28×28×6的特征图,通道数为6(就是有6个不同卷积核),再使用Sigmoid和2×2的最大池化Maxpool提取最为关键的特征信息,维度变成14×14。接着在使用卷积核为5×5的卷积层转化成10×10的特征图,通道数为16,再使用Sigmoid和2×2的最大池化Maxpool提取最为关键的特征信息,维度变成5×5×16。再将其全部展开成一维,并连接三个卷积层和Softmax激活函数得到10分类的概率值,选取概率最大的分类作为最终预测分类。更为详细的结构图如下所示:
请添加图片描述

值得注意的是,通过查阅维基百科(2024.4.30),其中卷积层之间以及全连接层之间是使用Sigmoid进行连接的而不是像网上一些博客中提到的ReLU,在此进行更正。

LeNet可以说为后续的特征提取器提供了一个范式。这个范式是先使用卷积层提取特征,通过不断缩小特征图尺寸以及增加通道数提取特征,并使用池化层提升泛化性防止过拟合。之后将这些特征展开成一维使用全连接层进行分类并使用Softmax输出预测概率。

实现代码

import torch
import torch.nn as nn
import torch.nn.functional as F

class LeNet(nn.Module):
    def __init__(self):
        super(LeNet, self).__init__()
        self.conv1 = nn.Conv2d(1, 6, kernel_size=5)
        self.conv2 = nn.Conv2d(6, 16, kernel_size=5)
        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 = F.max_pool2d(F.sigmoid(self.conv1(x)), (2, 2))
        x = F.max_pool2d(F.sigmoid(self.conv2(x)), 2)
        x = x.view(-1, self.num_flat_features(x))
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return x

    def num_flat_features(self, x):
        size = x.size()[1:]
        num_features = 1
        for s in size:
            num_features *= s
        return num_features

# 创建LeNet模型实例
net = LeNet()
# 打印LeNet模型结构
print(net)

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值