首页 > 其他分享 >LeNet学习笔记(卷积+池化+relu

LeNet学习笔记(卷积+池化+relu

时间:2024-10-12 18:17:39浏览次数:3  
标签:卷积 模型 汇聚 relu 特征 池化 LeNet 激活

练习题目

  1. 将平均汇聚层替换为最大汇聚层,会发生什么?
  2. 尝试构建一个基于LeNet的更复杂的网络,以提高其准确性。
    1. 调整卷积窗口大小。
    2. 调整输出通道的数量。
    3. 调整激活函数(如ReLU)。
    4. 调整卷积层的数量。
    5. 调整全连接层的数量。
    6. 调整学习率和其他训练细节(例如,初始化和轮数)。
  3. 在MNIST数据集上尝试以上改进的网络。
  4. 显示不同输入(例如毛衣和外套)时,LeNet第一层和第二层的激活值。

练习解答

总结(手写)

池化(最大及平均)

  • 用于降低特征图的尺寸,减少计算量,同时保留重要的特征信息。于是就分出了max和ave两种。
  • max pool适合特征提取(以为取最大值,会保留特征,对输入的显著特征更加敏感,适合图像检测和目标分类)
  • ave pool使特征过度的更加平滑(适合语义分割)
LeNet的改进:
  • 之前的一篇vgg论文笔记中有提到,多层3x3的卷积层比单层的5x5卷积核更加有效,但是需要更深的网络。
  • 增加通道数 模型能更好的学习到特征,增大计算量
  • RELU:由其图像可知避免了梯度消失问题。(在反向传播过程中,ReLU 的导数在输入大于 0 时为 1,在输入小于或等于 0 时为 0。这种恒定的梯度使得梯度在反向传播过程中不会像 Sigmoid 和 Tanh 那样迅速衰减,从而缓解了梯度消失问题。)

详细解答

1. 将平均汇聚层替换为最大汇聚层,会发生什么?

将平均汇聚层(Average Pooling)替换为最大汇聚层(Max Pooling)通常会导致以下变化:

  • 特征选择性增强:最大汇聚层会选择每个区域中的最大值,这有助于保留更显著的特征,而平均汇聚层则平滑了这些特征。因此,最大汇聚层通常会使得模型对输入中的显著特征更加敏感。
  • 模型性能变化:在某些情况下,最大汇聚层可能会提高模型的性能,因为它能够更好地保留重要的特征。然而,这也取决于具体的任务和数据集。在某些情况下,平均汇聚层可能更适合,因为它能够提供更平滑的特征表示。
  • 计算复杂度:最大汇聚层和平均汇聚层的计算复杂度相似,因此替换不会显著影响计算效率。
2. 尝试构建一个基于LeNet的更复杂的网络,以提高其准确性。

为了提高LeNet的准确性,可以尝试以下改进:

  1. 调整卷积窗口大小

    • 较小的卷积窗口(如3x3)可以捕捉更细粒度的特征,但可能需要更多的卷积层来覆盖相同的感受野。
    • 较大的卷积窗口(如5x5或7x7)可以捕捉更大范围的特征,但可能会丢失一些细节。
  2. 调整输出通道的数量

    • 增加卷积层的输出通道数可以增加模型的容量,使其能够学习到更复杂的特征。
    • 减少通道数可以减少模型的复杂度,但可能会限制其表达能力。
  3. 调整激活函数(如ReLU)

    • 使用ReLU(Rectified Linear Unit)作为激活函数可以加速训练过程,因为它避免了梯度消失问题。
    • 也可以尝试其他激活函数,如Leaky ReLU、ELU等,以查看它们对模型性能的影响。
  4. 调整卷积层的数量

    • 增加卷积层的数量可以增加模型的深度,使其能够学习到更抽象的特征。
    • 减少卷积层的数量可以简化模型,但可能会限制其表达能力。
  5. 调整全连接层的数量

    • 增加全连接层的数量可以增加模型的非线性能力,使其能够更好地拟合数据。
    • 减少全连接层的数量可以简化模型,但可能会限制其表达能力。
  6. 调整学习率和其他训练细节(例如,初始化和轮数)

    • 调整学习率可以影响模型的收敛速度和最终性能。
    • 使用不同的权重初始化方法(如Xavier初始化、He初始化)可以影响模型的训练稳定性。
    • 调整训练轮数可以确保模型充分训练,但也要避免过拟合。
3. 在MNIST数据集上尝试以上改进的网络。

在MNIST数据集上尝试以上改进的网络时,可以按照以下步骤进行:

  1. 数据预处理

    • 将MNIST数据集标准化(例如,将像素值缩放到[0, 1]范围)。
    • 对数据进行适当的增强(如随机旋转、平移等)以提高模型的泛化能力。
  2. 构建改进的网络

    • 根据上述改进策略,构建一个更复杂的网络。例如,可以增加卷积层的数量和输出通道数,使用ReLU激活函数,并增加全连接层的数量。
  3. 训练和评估

    • 使用交叉熵损失函数和Adam优化器进行训练。
    • 调整学习率和训练轮数,以确保模型在训练集和验证集上都能达到最佳性能。
    • 使用验证集监控模型的性能,并在训练过程中进行适当的调整。
  4. 比较结果

    • 比较改进后的网络与原始LeNet在MNIST数据集上的准确率。
    • 分析改进对模型性能的影响,并确定哪些改进最为有效。
4. 显示不同输入(例如毛衣和外套)时,LeNet第一层和第二层的激活值。

为了显示不同输入时LeNet第一层和第二层的激活值,可以按照以下步骤进行:

  1. 加载预训练的LeNet模型

    • 使用训练好的LeNet模型,并加载其权重。
  2. 准备输入图像

    • 选择几张不同类别的图像(例如毛衣和外套),并将其预处理为模型输入的格式。
  3. 获取激活值

    • 通过前向传播计算输入图像在LeNet第一层和第二层的激活值。
    • 可以使用PyTorch等框架中的hook机制来获取中间层的输出。
  4. 可视化激活值

    • 将第一层和第二层的激活值进行可视化,例如通过热图或特征图的形式展示。
    • 比较不同输入图像在同一层的激活值,观察它们之间的差异。

通过这种方式,可以直观地了解LeNet在处理不同输入时,其卷积层的激活模式是如何变化的。这有助于理解模型的内部工作机制,并为模型的改进提供指导。

标签:卷积,模型,汇聚,relu,特征,池化,LeNet,激活
From: https://blog.csdn.net/a13478107907/article/details/142865471

相关文章

  • 手写mybatis之数据源池化技术实现
    前言在上一章节我们解析了XML中数据源配置信息,并使用Druid创建数据源完成数据库的操作。但其实在Mybatis中是有自己的数据源实现的,包括无池化的UnpooledDataSource实现方式和有池化的PooledDataSource实现方式。你可以把池化技术理解为享元模式的具体实现方......
  • GoogLeNet训练CIFAR10[Pytorch+训练信息+.pth文件]
    0引言GoogLeNet,它是一种深度卷积神经网络,由Google研究人员在2014年提出,用于图像识别任务。CIFAR-10是一个常用的图像识别数据集,包含10个类别,每个类别有6000张32x32的彩色图像。本文使用Pycharm及Pytorch框架搭建GoogLeNet神经网络框架,使用CIFAR10数据集训练模型。笔者查阅资......
  • 基于卷积神经网络的宠物皮肤病识别系统,resnet50,mobilenet模型【pytorch框架+python】
       更多目标检测和图像分类识别项目可看我主页其他文章功能演示:基于卷积神经网络的宠物皮肤病识别系统,resnet50,mobilenet【pytorch框架,python,tkinter】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的宠物皮肤病识别系统是在pytorch框架下实现的,这是一个完整的项目,包括代码......
  • 卷积、激活、池化与批量归一化:深度学习中的关键操作
    在深度学习,尤其是卷积神经网络(CNN)中,卷积、激活、池化和批量归一化是四个基本操作。它们共同作用,帮助模型高效学习和提取数据中的重要特征。1.卷积操作作用卷积操作旨在通过滑动卷积核(过滤器)在输入数据上提取局部特征,如边缘和角点。过程滑动卷积核:卷积核在输入特征图上......
  • 基于卷积神经网络的布料、布匹原料识别系统,resnet50,mobilenet模型【pytorch框架+pytho
       更多目标检测和图像分类识别项目可看我主页其他文章功能演示:基于卷积神经网络的布料、布匹原料识别系统,resnet50,mobilenet【pytorch框架,python,tkinter】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的布料、布匹原料识别系统是在pytorch框架下实现的,这是一个完整的项目......
  • GoogleNet模型原理及Pytorch实现
    GoogleNet模型,也被称为Inception-v1,是由Google团队在2014年提出的一种深度卷积神经网络架构,专门用于图像分类和特征提取任务。该模型在ILSVRC(ImageNetLargeScaleVisualRecognitionChallenge)比赛中取得了优异成绩,其创新的核心在于引入了“Inception”模块。以下是对Goog......
  • 论文复现--基于LeNet网络结构的数字识别
    前言一直就听说学习深度学习无非就是看论文,然后复现,不断循环,这段时间也看了好几篇论文(虽然都是简单的),但是对于我一个人自学,复现成功,我感觉还是挺开心的本人初学看论文的思路:聚焦网络结构与其实验的效果LeNet虽然简单,很老了,但是毕竟经典,对于初学的的我来说,我感觉还是很......
  • 爆改YOLOv8|使用MobileNetV4替换yolov8的Backbone
    1,本文介绍MobileNetV4是最新的MobileNet系列模型,专为移动设备优化。它引入了通用反转瓶颈(UIB)和MobileMQA注意力机制,提升了推理速度和效率。通过改进的神经网络架构搜索(NAS)和蒸馏技术,MobileNetV4在多种硬件平台上实现了高效和准确的表现,在ImageNet-1K数据集上达到87%......
  • 深度学习|模型训练:手写 SimpleNet
    文章目录引言SimpleNet网络结构激活函数损失函数梯度计算SimpleNet类权重参数模型推理损失计算梯度计算SimpleNet概览模型训练数据准备训练过程结语引言从前文「深度学习|梯度下降法:误差最小化的权重参数」,我们知道了神经网络的学习就是“找寻使损失函数的值尽......
  • 《基于超声的深度学习模型用于降低BI-RADS 4A乳腺病变的恶性率》论文笔记 MobileNet
    《APPLICATIONOFDEEPLEARNINGTOREDUCETHERATEOFMALIGNANCYAMONGBI-RADS4ABREASTLESIONSBASEDONULTRASONOGRAPHY》《基于超声的深度学习模型用于降低BI-RADS4A乳腺病变的恶性率》原文地址:链接文章目录摘要简介方法患者图像获取与处理深度学习模型统计分析结果讨论......