LeNet与AlexNet原理

news/2024/10/5 1:40:34 标签: 深度学习, 人工智能

LeNet-5网络

也就是说,模型很容易搭建,真正的难点在于数据处理和训练以及后续验证

LeNet(LeNet-5)两个部分:特征提取部分由两个卷积层和两个平均池化层组成;全连接层:由三个全连接层组成。

模型单元结构:一个卷积层、一个sigmoid激活函数,一个池化层

数据的传输:
卷积层输入为4维的数据(B,C,W,H)                                                                                        卷积层输出为4维的数据(B,FN,OW,OH)                                                                                全连接层的输入为2维数据(B,L)
全连接层的输出为2维数据(B,FL)

重复以上操作即 X\rightarrow CNN\rightarrow sig\rightarrow pool

 输入的数据一批次有一百个,通道数是3,宽高分别为28和28,于是人为的设定卷积核假设是100*3*5*5,那么输出的数据4维的数据(B,FN,OW,OH)     

LeNet-5网络参数

5代表网络中有五个有参数的层,事实上他只有2个卷积层,还有三个全连接层

输入一个1*28*28的灰度图,第一层卷积运算 卷积核的一个大小5×5啊,这是人为去设的。卷积核的个数就是六个,输出的一个特征图的通道数肯定是六

 最大池化用的最多的,因为相对来说,平均池化,它没有最大的效果那么好,最大池化它能提取到这里面最有效的一个特征,而不是说把平均把它糊弄过去。为什么没有用最大池化呢,因为那个时候最大化还没有被发明出来。一个计划书的操作

最后做一个展平操作啊,把所有的特征图做一个展平flatten,然后输入到我们这里120个神经元当中,然后八十四个神经元再输入到十个神经元当中,输出我们的分类结果

  • 第1层输入层:Input为28×28×1
  • 第2层卷积层:Input为28×28×1,卷积核5×5 ×1× 6;stride= 1, padding=2。output为28×28×6
  • 第3层平均池化层:Input为28×28×6,池化感受野为2×2,stride= 2,output为14×14×6
  • 第4层卷积层:Input为14×14×6,卷积核5×5×6 ×16, stride =1, padding=0,output为10×10×16
  • 第5层平均池化层:Input为10×10×16,池化感受野为2×2,stride=2,output 为5×5×16,Flatten操作,通过展平得到400个数据与之后的全连接层相连。
  • 第6~8层全连接层:第6~8层神经元个数分别为120,84,10。其中神经网络中用sigmoid作为激活函数,最后一层全连接层用softmax输出10个分类。

 卷积是用来增多特征的,池化是用来修改特征表现的,如平滑或者突出

 LeNet-5总结
1、卷积神经网络(CNN)是一类使用卷积层的网络。
2、在卷积神经网络中,组合使用卷积层、非线性激活函数sigmoid和全连接层。
3、为了构造高性能的卷积神经网络,我们通常对卷积层进行排列逐渐降低其表示的空间分辨率,同时增加通道数。
4、在传统的卷积神经网络中,卷积块编码得到的表征在输出之前需由一个或多个全连接层进行处理。
5、LeNet是最早发布的卷积神经网络之一,它的问世有开创意义

AlexNet网络

在LeNet提出后,卷积神经网络在计算机视觉和机器学习领域中很有名气。但卷积神经网络并没有主导这些领域。这是因为虽然LeNet在小数据集上取得了很好的效果,但是在更大、更真实的数据集上训练卷积神经网络的性能和可行性还有待研究。事实上,在上世纪90年代初到2012年之间的大部分时间里,神经网络往往被其他机器学习方法超越,如支持向量机。
而在2012年,ILSVRC 大规模视觉识别挑战赛(Imagenet Large Scale Visual Recognition Challenge), AlexNet首次引入了深度卷积 神经网络,并获得2012的大规模视觉识别挑战赛的冠军,这标志着深度学习在计算机视觉领域的崭露头角。

输入是227 ,不是224,代入公式所以算不出55,用227代入公式,是可以算出55的。后来的都是24*24

  1. 卷积核的大小

    • 第一层卷积核使用了 11x11 的大卷积核,这在早期网络设计(例如 AlexNet)中较为常见,可能是为了更好地捕获图像中的大范围特征。实际上卷积神经网络的可解释性较差,属于是知道答案说理由
    • 然而,后续的网络(如 VGG、ResNet)大多使用 3x3、5x5 等较小的卷积核,因为这种卷积核有助于减少参数量,同时能够逐步提取更加细致的特征。
  2. 池化层与卷积层的作用

    • 池化层主要用于减少特征图的尺寸,通常使用最大池化或平均池化。在深度学习网络设计中,最大池化逐渐成为主流,因为它有助于提取显著特征。
    • 卷积层负责提取图像的特征,通过不同的通道数和卷积核大小,逐层提取更高阶的特征。
  3. 全连接层的参数量

    • 全连接层的参数量极为庞大,通常占据整个神经网络的大部分参数。为了防止过拟合,设计中可能会采用 Dropout 或其他正则化方法来减少模型的复杂度。
  4. 过拟合的概念

    • 过拟合是指模型在训练集上表现很好,但在测试集上表现较差的情况通常是网络参数过多导致的。通过减少全连接层的参数量或引入正则化方法Dropout操作,可以有效减轻过拟合问题。

总结:卷积神经网络的架构设计复杂,涉及输入输出特征图的尺寸计算、卷积核的选择、池化操作、全连接层的设计等细节。在设计和调试过程中,掌握和运用公式以及合理设计各层参数是关键。

Dropout操作

第一层全连接层是有4096个神经网络神经元
第二层那个全连接层它也是有4096个
第三个就是我们输出层也就是我们有1000个这个神经元
然后的话在前面平展层操作里面的时候这里得到9216个也就是将近1万个输入数据

假设有 9216个数据,隐藏层有4096个神经元,那么参数就有w=4096*9216,n==4096

过拟合很很容易带有一种欺骗性嘛,就是可能啊就是我们训练的时候效果比较好。到应用的时候效果也比较差 

  1. 输入数据和层结构:你提到了输入数据(X1, X2, X3),它们通过神经元连接层传播,经过全连接层后得到输出。在训练过程中,除了输入数据外,还有对应的标签(label),用于计算损失函数(loss)。

  2. 计算损失和反向传播:训练时,模型会通过前向传播计算输出,之后将输出与真实标签进行对比,计算损失(如均方误差或交叉熵损失)。然后通过反向传播(backpropagation)算法调整权重(W)来最小化损失。

  3. Dropout机制:Dropout 是在训练过程中,随机“关闭”一部分神经元(即让它们暂时失效),这可以用来防止模型过拟合。你提到的设定比例(比如0.2),意味着在每次训练中,有20%的神经元随机失活。

  4. 随机失活与更新

    • 在某一轮训练时,Dropout 随机挑选一部分神经元不参与训练(失活),相应的权重W不会更新。
    • 在下一轮训练中,失活的神经元可能重新被激活,继续参与训练并更新权重。
    • 通过这种随机的失活机制,模型可以避免过度依赖某些特定的神经元,从而提升泛化能力,防止过拟合。
  5. 防止过拟合和加速训练:Dropout 不仅能减少过拟合,还可以加速训练,因为每次只更新一部分权重,减少了计算量。

  6. 多轮训练和极端情况:经过多轮训练后,几乎所有的神经元及其权重都会参与到某轮训练中,尽管理论上可能出现某些神经元在多轮训练中总是失活,但这种极端情况比较少见。

总结来说,Dropout 是通过随机失活部分神经元,避免过拟合,同时保持模型的高效训练。虽然有其他防止过拟合的技术,但 Dropout 仍在一些网络结构中被广泛使用。 

这个图不是很好,应该是神经元失活,即与其相连的权重都为零,深度学习中,使用relu存在梯度过大导致神经元“死亡”,怎么理解? - 知乎 (zhihu.com)对 Relu激活函数导致 [ 神经元死亡 ] 的理解 - 知乎 (zhihu.com)【科普】神经网络中的随机失活方法 - 知乎 (zhihu.com)

图像增强 

水平翻转和随机裁剪将会提供大量样本数据

PCA图像增强

PCA图像增强流程:

  • 1、将图片按照RGB三通道进行normalization归一化处理,均值为0,方差为1(应该是z-score标准化吧)
  • 2、将图片按照channel展平成大小为(H*W,3)的矩阵。3、计算展平后的矩阵的协方差矩阵,协方差矩阵的大小为(3,3)
  • 4、对协方差矩阵进行特征分解,得到对应的特征向量(3,3)和特征值(3,1)
  • 5、设置一个抖动系数,该抖动系数是一个(3,1)大小的矩阵,里面的元素是随机值,利用抖动系数和对应的特征进行相乘,依然得到一个(3,1)大小的矩阵,对该矩阵进行转置并和特征向量进行矩阵相乘,得到一个(3,1)大小的矩阵;
  • 6、利用上述最后计算出来的(3,1)大小的矩阵,其中的3个值分别加到原图像的R,G,B三通道上,就是最后得到的增强的图像。

 

增强后的图像:经过PCA处理后,每个通道都会有对应的值,而这些值会加到图像中的每个像素点上。最终生成的图像仍然保持原本的形状,比如原图是227×227×3(宽×高×通道),但每个像素的值可能会发生变化,形成增强的图像。

数据增广的效果:通过这种方式,数据集可以成倍增加。例如,水平翻转和随机裁剪也会增加数据集的数量,而PCA图像增强根据你设置的抖动系数,可以将数据集的数量成倍增长。你提到的例子是,原始数据有1万张,通过数据增强可能扩充到100万张甚至更多。

数据量的重要性:虽然图像增强(无论是PCA增强、水平翻转、还是随机裁剪)是有助于提升模型的效果,但它们只能作为锦上添花的手段。最核心的仍然是确保原始数据量足够大、足够全面。

在神经网络中的应用:PCA图像增强以及其他数据增强方法常用于目标检测类网络等,目的是提升网络模型的识别精度。即便如此,增强方法只能作为辅助,仍需依赖足够的原始数据来进行训练。

LRN正则化

k的值是防止分母为0;a是个参数,1也行;β是个意义不明的指数;n是neighborA_{N}=\frac{A}{B^{2}+A^{2}+C^{2}}

 表示他的提升其实很低,聊胜于无

 总结

 


http://www.niftyadmin.cn/n/5690560.html

相关文章

深入探讨Windows 11专业版与Windows 11专业工作站版的差异

前言 深入探讨Windows 11专业版与Windows 11专业工作站版的差异,可以更全面地理解这两款操作系统版本面向的不同用户群体、硬件支持、性能特点以及应用场景,从而为专业用户和企业选择最合适的平台提供依据。 硬件支持与扩展能力 Windows 11专业版&…

Vue3实现动态菜单功能

文章目录 0.效果演示1.搭建Vue3项目1.1 vite 脚手架创建 Vue3 项目1.2 设置文件别名1.3 安装配置 element-plus1.4 安装配置路由2.登录页面3.后台管理页面3.1 搭建后台框架3.2 左侧菜单栏3.3 header 用户信息3.4 主要内容3.5 footer4.配置静态路由5.记录激活菜单5.1 el-menu 绑…

等额本金和等额本息是什么意思?

等额本金和等额本息是两种常见的贷款还款方式,它们各自有着不同的特点和适用场景。下面我将用通俗易懂的语言来解释这两种还款方式: 等额本金 定义:等额本金指的是在贷款期限内,每月偿还相同数额的本金,而利息则随着剩…

使用python基于DeepLabv3实现对图片进行语义分割

DeepLabv3 介绍 DeepLabv3 是一种先进的语义分割模型,由 Google Research 团队提出。它在 DeepLab 系列模型的基础上进行了改进,旨在提高图像中像素级分类的准确性。以下是 DeepLabv3 的详细介绍: 概述DeepLabv3 是 DeepLab 系列中的第三代…

22.2 k8s中ksm采集的使用的dns解析

本节重点介绍 : k8s 会为service创建cordns解析pod中dns的搜索域模拟prometheus进行dns解析后访问数据 k8s对象资源指标 kube-stats-metrics项目 prometheus 采集kube-state-metrics通过下面的配置段, - job_name: kube-state-metricshonor_timestamps: truescr…

从0到1:培训机构排课小程序开发笔记一

业务调研 随着人们生活水平的提高,健康意识和学习需求日益增强,私教、健身和培训机构的市场需求迅速增长。高效的排课系统不仅可以提升机构的管理效率,还能提高学员的满意度。解决传统的排课方式存在的时间冲突、信息不对称、人工操作繁琐等…

构建高效服装销售平台:Spring Boot与“衣依”案例

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

【GEE数据库】WRF常用数据集总结

【GEE数据库】WRF常用数据集总结 GEE数据集介绍数据1:MODIS数据集LAI(叶面积指数)和Fpar(绿色植被率)年尺度土地利用类型数据2:月反射率(Monthly Albedo)数据3:LULC和ISA参考GEE数据集介绍 GEE数据搜索网址-A planetary-scale platform for Earth science data &…