【LeNet、AlexNet、VGG】

本文介绍了深度学习历史上的经典模型LeNet、AlexNet和VGG。LeNet是最早的卷积神经网络,适用于手写数字识别。AlexNet在2012年ImageNet竞赛中获胜,引入了ReLU激活函数和丢弃法。VGG通过堆叠多个3x3卷积层简化模型结构,提出VGG块概念。这三者对深度学习发展产生了深远影响。
摘要由CSDN通过智能技术生成

LeNet

  LeNet是最早用于图像处理的神经网络,主要是为了解决手写数字识别的问题,著名的数据集Minist就是伴随着LeNet的诞生而出现的。下面是其基本架构:
在这里插入图片描述
  其结构相对简单,其中的Pooling层可以使用MaxPooling,也可以使用AvgPooling,激活函数原始模型使用的是Sigmoid,不过也可以换成Relu,tanh等。

总结

  • Lenet是是最早发布的卷积神经网络之一,因其在计算机视觉任务中的高效性能而受到广泛关注
  • 先用卷积层来学习图片的空间信息,通过池化层降低图片的敏感度
  • 然后使用全连接层来转换到类别空间,得到10类
  • 两个卷积层再加一个多层感知机,最终得到从图片到类别的映射

代码实现

%matplotlib inline
import torch
from torch import nn
import torchvision
from torch.utils import data
from matplotlib import pyplot as plt
import numpy as np
trans = torchvision.transforms.ToTensor()

train_data = torchvision.datasets.FashionMNIST('../data/', train=True, download=False, transform=trans)

test_data = torchvision.datasets.FashionMNIST('../data/', train=False, download=False, transform=trans)
train_data.data.shape, test_data.data.shape
(torch.Size([60000, 28, 28]), torch.Size([10000, 28, 28]))
def get_dataloader(batch_size, train_data, test_data):
    train_dataloader = data.DataLoader(train_data, batch_size=batch_size, shuffle=True)
    test_dataloader = data.DataLoader(test_data, batch_size=batch_size, shuffle=False)
    return train_dataloader, test_dataloader
class LeNet(nn.Module):
    def __init__(self):
        super(LeNet, self).__init__()
        self.net = nn.Sequential(
            nn.Conv2d(1, 6, kernel_size=5, padding=2),
            nn.Sigmoid(),
            nn.MaxPool2d(kernel_size=2, stride=2),
            nn.Conv2d(6, 16, kernel_size=5),
            nn.Sigmoid(),
            nn.MaxPool2d(kernel_size=2, stride=2),
            nn.Flatten(),
            nn.Linear(16 * 5 * 5, 120),
            nn.Sigmoid(),
            nn.Linear(120, 84),
            nn.Sigmoid()
LeNetAlexNetVGG都是经典的卷积神经网络模型,但是它们在模型结构和参数数量等方面有很大的区别。 1. 模型结构上的区别: LeNet是一个比较浅的神经网络模型,主要由两个卷积层和三个全连接层组成,适用于较小的图像分类任务。AlexNet是一个比较深的神经网络模型,主要由多个卷积层和全连接层组成,网络结构更加复杂,适用于较大的图像分类任务。VGG也是一个比较深的神经网络模型,其网络层数更多,网络结构更加复杂,同时也适用于较大的图像分类任务。 2. 参数数量上的区别: 由于AlexNetVGG模型结构更加复杂,所以其参数数量也更多。以VGG16为例,它包含了16个卷积层和3个全连接层,总共有约1.38亿个参数;而LeNet只有几百万个参数。 3. 卷积核大小和数量上的区别: LeNet模型中的卷积核大小较小,主要采用5x5的卷积核;AlexNetVGG模型中的卷积核大小较大,主要采用3x3的卷积核。此外,VGG模型中卷积核的数量也更多,多达几十个,以提高模型的特征提取能力。 4. 使用场景上的区别: 由于模型结构和参数数量等方面的差异,LeNet适用于小规模的图像分类任务;AlexNet适用于大规模的图像分类任务;VGG适用于更大规模的图像分类任务,并且在多个计算机视觉任务中都取得了很好的效果。 总的来说,这三个经典的卷积神经网络模型都有其独特的特点和优势,需要根据具体的应用场景来选择合适的模型。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟炼丹师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值