CNN经典网络模型详解LeNet(LeNet-1, LeNet-4, LeNet-5最详细, Boosted LeNet-4)发展和过程

1.LeNet-5详细

2.回顾LeNet其他模型结构

3.补充

一、LeNet-5详细

在这里插入图片描述
LeNet-5是最受欢迎的LeNet-5,与LeNet-4相比只有细微差别,32x32的输入图像 – 6个28×28 feature maps 卷积层(5×5 size) --平均池化层(2×2大小)-- 16个10×10 feature maps 卷积层(5×5 size) – 平均池化层(2×2大小)-- 全连接到120个神经元 --全连接84个神经元 – 全连接到10个输出

这里用手写字体识别举例

如输入:32*32的手写字体图片,这些手写字体包含0~9数字,也就是相当于10个类别的图片,因此神经网络的最后输出层必然是SoftMax问题,然后神经元的个数是10个

输出:分类结果,0~9之间的一个数
在这里插入图片描述
网络层及

网络层\简介输入输出(卷积/池化)窗口可训练参数
C1(卷积层)32*32灰度图像6个尺寸为28*28的FeatureMap6个5*5卷积核156
S2(池化层)6个尺寸为28*28的FeatureMap6个尺寸为14*14的FeatureMap2*2池化窗口12
C3(卷积层)6个尺寸为14*14的FeatureMap16个尺寸为10*10的FeatureMap16个5*5卷积核1516
S4(池化层)16个尺寸为10*10的FeatureMap16个尺寸为5*5的FeatureMap2*2池化窗口32
C5(卷积层16个尺寸为5*5的FeatureMap120个尺寸为1*1的FeatureMap120个5*5卷积核48120
F6(全连接层)120个特征84个特征None10164
Output(输出层)84个特征10维向量None840

输出特征图大小公式
在这里插入图片描述
特征图:其实一张图片经过一个卷积核进行卷积运算,我们可以得到一张卷积后的结果图片,而这张图片就是特征图。

卷积层:卷积层通过卷积层,可使得信号特征增强,降低噪声;故其主要作用是降低图像噪声,提取图像重要特征。此外,卷积层能够保证图像的平移不变性,卷积运算保留了图像的空间信息,卷积后的图像位置关系没有改变。卷积层利用卷积核对图像进行卷积运算;每个卷积核都是可训练的,一般会在卷积核上添加一个偏置参数。卷积运算是卷积核以步长stride在原图上进行移动,将其与卷积核进行元素乘法,并求和乘法结果,最后加上偏置,得到卷积结果。

池化层:池化层一般不同训练,它的主要作用是减少数据,在降低数据维度的同时保留特征图中重要的特征信息;同时也避免了网络参数太多而造成的过拟合问题。

全连接层:全连接层一般接在卷积神经网络的最后,用于提取卷积和池化之后的特征向量;并基于提取的特征向量进行图像分类。所以全连接层即充当了特征提取器,又充当了分类器的角色。

二、回顾LeNet

LeNet是卷积神经网络的开山之作,也是将深度学习推向繁荣的一座里程碑。LeNet是一种经典的图像分类深度学习卷积神经网络,已有大量的文献综述讨论。其中大家最熟悉的LeNet-5,这个是n多年前就有的一个CNN的经典结构,主要是用于手写字体的识别,也是刚入门需要学习熟悉的一个网络。Yann LeCun于上世纪90年代提出了LeNet,他首次采用了卷积层、池化层这两个全新的神经网络组件;LeNet在手写字符识别任务上取得了瞩目的准确率。

在详细描述LeNet-5之前,我们回顾发展过程一些网络架构:

1.Baseline Linear Classifier

2.One-Hidden-Layer Fully Connected Multilayer NN

3.Two-Hidden-Layer Fully Connected Multilayer NN

4.LeNet-1

5.LeNet-4

6.LeNet-5

7.Boosted LeNet-4

前面有章节解释了深度学习组件的基本知识,如卷积层、池化层、全连接层、激活函数等。不懂可以点下面链接看一下再回来
CNN架构

1.Baseline Linear Classifier

在这里插入图片描述

最简单的线性分类器。每个输入像素值构成每个输出单元的加权和。总和最高的输出单元表示输入字符的类别。因此,我们可以看到,图像被视为一维向量,并连接到一个10输出的向量。也就是说,测试数据的错误率为8.4%。

2.One-Hidden-Layer Fully Connected Multilayer NN
在这里插入图片描述
输入层和输出层之间增加隐含层,隐含层神经元数量为300个,即20×20 -300 - 10网络,测试数据的错误率为3.6%。隐含层有1000个神经元,即20×20 - 1000 - 10网络,测试数据的错误率为3.8%。

3.Two-Hidden-Layer Fully Connected Multilayer NN

在这里插入图片描述
在输入层和输出层之间增加两个隐藏层,28×28 - 300 - 100-10网络的,测试数据的错误率为3.05%。 28×28 - 1000 - 150 - 10网络,测试数据错误率为2.95%。我们可以看到,通过添加隐藏层,错误率越来越小。但是,这种改善也在变得缓慢。

4.LeNet-1
在这里插入图片描述
在Lenet-1中, 28x28 的输入图像 – 4个24×24 feature maps卷积层(5×5 size) – 平均池化层(2×2大小) – 8个12×12 feature maps 卷积层(5×5 size)-- 平均池化层(2×2大小)-- 直接全连接后输出。引入卷积和下采样/池化层后,LeNet-1对测试数据的错误率为1.7%值得注意的是,在作者发明LeNet时,他们使用平均池化层,输出2×2特征图的平均值。目前很多LeNet实现使用max pooling只输出2×2 feature map的最大值,这有助于加快训练速度。当选择最强的特征时,反向传播可以得到较大的梯度。

5.LeNet-4
在这里插入图片描述
在 Lenet-4 中, 32×32 输入图片 – 4个 28×28 feature maps 卷积层 (5×5 size) – Average Pooling layers (2×2 size) > 6个 10×10 feature maps卷积层r (5×5 size) – Average Pooling layers (2×2 size) – 全连接到 120个神经元 – 全连接到 10 输出有了更多的特征图和一个更完整的连接层,测试数据的错误率为1.1%。

6.Boosted LeNet-4
在这里插入图片描述
Boosting是一种将几个或多个弱分类器的结果进行组合以获得更精确结果的技术。在LeNet-4中,将三个LeNet-4的输出简单相加,其中值最大的就是预测的分类类。当第一个网有一个很高的置信度答案,将会提升,其他网络不会被调用。使用boosting,测试数据的错误率为0.7%,甚至比LeNet-5的错误率还要低。这种boosting 技术已经使用了很多年,直到现在。

7.LeNet-5详细
在这里插入图片描述
LeNet-5是最受欢迎的LeNet-5,与LeNet-4相比只有细微差别,32x32的输入图像 – 6个28×28 feature maps 卷积层(5×5 size) --平均池化层(2×2大小)-- 16个10×10 feature maps 卷积层(5×5 size) – 平均池化层(2×2大小)-- 全连接到120个神经元 --全连接84个神经元 – 全连接到10个输出。有了更多的feature map和多一个全连接层,测试数据的错误率为0.95%。

三、补充

激活函数:Tanh 用作激活函数,但输出部分除外。 Sigmoid作为在输出端的激活函数。 ReLU在那些年没有使用。现在,ReLU是一个在训练过程中加速收敛的较好的激活函数。

池化层:LeNet使用平均池化而不是最大池化。现在最大池化非常常见,甚至没有池化层。

隐藏层:在过去,隐藏层的数量很少,性能不可能通过增加更多的层来提高太多。现在它可以是成百上千的隐藏层。

训练时间:在过去,训练需要几天时间。但现在,它只是一个小的网络GPU加速。

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: "opencv-boostdesc-vgg.rar"是一个文件的名称,其中包含了使用OpenCV和BoostDesc算法实现的VGG特征描述符的相关内容。OpenCV是一个开源的计算机视觉库,提供了许多用于图像和视频处理的功能和工具。BoostDesc是OpenCV中的一个特征描述算法,用于描述图像中的关键点。 VGG特征描述符是基于深度学习的特征提取方法之一,具有良好的特征表达能力和稳定性。它通过将图像输入预训练好的VGG网络中,提取最后一层全连接层输出作为特征向量。这样得到的特征向量能够较好地描述图像中的物体和纹理信息。 "opencv-boostdesc-vgg.rar"文件中可能包含了使用BoostDesc算法结合VGG特征描述符的源代码、训练好的VGG网络模型、以及其他相关的资源文件。通过使用这些资源,我们可以使用OpenCV库中提供的接口来提取图像中的关键点,并将其转化为对应的VGG特征向量。 通过使用这个文件,我们可以进行图像特征提取和匹配等计算机视觉任务。对于图像识别、目标跟踪、图像检索等应用,使用VGG特征描述符可以提取到更具有表达力的特征,提高算法的准确性和鲁棒性。 总之,"opencv-boostdesc-vgg.rar"文件提供了一种使用OpenCV库和BoostDesc算法实现VGG特征描述符的方式,可以用于图像处理与计算机视觉的相关任务。 ### 回答2: opencv-boostdesc-vgg.rar是一个压缩文件,其中包含了使用OpenCV库实现的一种特征描述算法,具体是基于BoostDesc和VGGNet的方法。 特征描述算法是计算机视觉领域中非常重要的一个研究方向,它的目标是从图像中提取出具有代表性和区分度的特征点描述子。这些描述子能够用于在不同图像间进行匹配、检索、物体识别等任务。 BoostDesc是一种基于AdaBoost算法的特征描述方法,它能够在提取特征时考虑到图像的梯度方向信息,从而提高了特征描述子的区分度。 VGGNet是一种深度卷积神经网络,它由牛津大学的Visual Geometry Group开发,被用于大规模图像识别任务。将VGGNet应用于特征描述中,可以利用其强大的图像特征提取能力,生成更具有代表性的特征描述子。 所以,opencv-boostdesc-vgg.rar文件中可能包含了实现利用BoostDesc和VGGNet算法进行图像特征描述的相关源代码、模型文件或测试数据等内容。这些资源可以帮助开发者更方便地使用OpenCV库实现基于该算法的图像特征描述任务。 ### 回答3: opencv-boostdesc-vgg是OpenCV库中的一个特征描述符模块,使用了VGG Net的Boosted实现。该模块用于计算图像中关键点的特征描述符,可用于图像识别、目标检测和图像匹配等任务。 Boosted特征描述符是一种计算图像关键点描述符的方法,它结合了多尺度特征和多核学习器的优势。通过使用Boosting算法和多个权重核函数,能够有效提取图像中的局部特征并进行描述。 VGG Net是一种深度卷积神经网络模型,由牛津大学视觉几何组(Visual Geometry Group)提出。它以配置较深的卷积层和全连接层,能够在图像分类和物体识别任务中取得良好的性能。 通过结合Boosted特征描述符和VGG Net模型,opencv-boostdesc-vgg能够在计算特征描述符时获得更准确和具有较高判别能力的结果。该模块提供了多种参数和选项,可以根据应用需求进行灵活的配置和调整。 总之,opencv-boostdesc-vgg是OpenCV中的一个特征描述符模块,使用VGG Net的Boosted实现。它可以用于计算图像关键点的描述符,适用于多种计算机视觉任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值