CV深度学习模型基本概述

CV深度学习模型基本概述论文地址 VGGNet 突出贡献是证明了很小的卷积 通过增加网络深度可以有效提高性能 小卷积核组 通过堆叠多个 3 3 的卷积核来替代大的卷积核 以减少所需参数 全部使用 3×3 卷积核 不仅会涉及到计算

大家好,欢迎来到IT知识分享网。

1 vgg模型

1.1 vgg概述及优点

论文地址

  • VGGNet突出贡献是证明了很小的卷积,通过增加网络深度可以有效提高性能;
  • 小卷积核组:通过堆叠多个3*3的卷积核来替代大的卷积核,以减少所需参数;全部使用3×3卷积核,不仅会涉及到计算量,还影响到感受野。在VGG中,使用3个3×3卷积核来替代7×7卷积核,主要目的是保证在具有相同感受野的条件下,提高网络深度,一定程度上提升神经网络的效果。
那么什么是感受野呢?
如何影响计算量、参数量的呢?
  • 小池化核:vgg使用的池化核大小为22,而在AlexNet中使用的是33的池化核;
  • 去掉LRN层:在AlexNet中,加入了LRN(局部响应归一化)来优化模型,但在vgg中,作者发现LRN层作用不明显,因此去掉。

1.2 vgg缺点

  • 全连接层神经元多,因此参数量大,计算量大,训练耗时;
  • 占用内存大

1.3 vgg结构

  • 作者利用控制变量的思想,进行了六次实验,最终得到了分类结果最好的两个模型——vgg16和vgg19
  • 作者进行的六次实验如下图所示:
    CV深度学习模型基本概述

2 ResNet模型

2.1 ResNet概述

  • ResNet(残差神经网络)由微软研究院何恺明等人提出,并斩获2015年ImageNet竞赛中分类任务第一名、目标检测第一名
  • 主要贡献是发现了==“退化现象(Degradation)”,并针对退化现象发明“直连边/短连接(Shortcut connection)”==,极大消除在vgg中出现的神经网络深度过大导致训练困难问题。在实验中,作者评测了一个深度152层(是vgg的八倍)的残差网络,结果获得了比vgg更低的复杂度。
什么是退化现象呢?

退化现象是指随着层数加深,首先训练准确率会逐渐趋于饱和;但若层数继续加深,反而训练准确率下降,效果降低。注意这种下降不是由于过拟合造成的(因为如果是过拟合的话,训练时误差应该很低而测试时很高)

2.2 ResNet优点

  • 残差网络的机构更利于优化收敛
  • 残差网络解决了退化问题
  • 残差网络可以在拓展网络深度的同时,提高网络性能(相比于vgg的优点)

2.3 ResNet结构

  • 在ResNet中,传递给下一层的输入变为H(x)= F(x)+ x,来拟合残差F(x)=H(x) – x。

为什么这样做呢?
假设一个网络A的训练误差为x,那么在A的基础上添加几个层来构建网络B的话,训练误差也为x。如果出现B的训练误差高于A的情况(退化现象),说明我们应该跳过这些层,从A构造恒等映射。因此可以在输入和输出中添加直连路径shortcut,这个过程只需要学习已有的输入特征。由于C只学习残差,该模块叫作残差模块。
CV深度学习模型基本概述

  • 对于shortcut connection,有两种方式:
    当输入维度与输出维度相同时,直接使用恒等shortcuts,即将F(x)和x逐元素相加
    ② 当输入维度与输出维度不同时,可以考虑两个选项:(A)shortcut仍然使用恒等映射,在增加的维度上使用0来填充;(B) 通过1×1的卷积使得维度保持一致

2.4 ResNet实验结果

  • 作者首先评估18层和34层的plain网络。实验结果产生的一种退化现象:在训练过程中34层的网络比18层的网络有着更高的训练错误率。
  • 接着对18层和34层的残差网络进行评估。为了保证标量一致性,其基本框架和plain网络结构相同,只是在plain网络基础上加入了shortcuts连接
  • 结果显示,
    (1) 与plain网络相反,34层的resnet网络比18层的错误率更低,表明可以通过增加深度提高准确率,解决了退化问题
    (2) 与plain网络相比,层次相同的resnet网络上错误率更低,表明残差网络在深层次下仍然有效
    (3) 对于18层的plain网络,它和残差网络的准确率很接近,但是残差网络的收敛速度要更快


3 DenseNet模型

3.1 DenseNet概述

  • DenseNet的一大特点是通过特征在通道上的连接来实现特征重用,这个特点让DenseNet的参数量和计算成本更少,效果也更好。
  • DenseNet的基本思路与ResNet一致,但它建立了前面所有层和后面层的密集连接,DenseNet也因此得名。

3.2 DenseNet结构

使用DenseBlock+Transition的结构

3.2.1 DenseBlock

CV深度学习模型基本概述
由以上图可知,每个Dense Block包含五层,每个层的特征图大小相同。可以看出,对于每一个DenseBlock,每一层的输入都来自它前面所有层的特征图,每一层的输出均会直接连接到它后面所有层的输入。所以对于一个L层的DenseBlock,共包含L(1+L)/2个连接

注意

  • 假定输入层的特征图channel数为k0,DenseBlock中各个层卷积之后均输出k个特征图,即得到的特征图的channel数为k。由于每一层都要接受前面所有层的特征图,那么l层输入的channel数为k0+(l-1)l
  • 在DenseBlock中,采用BN+ReLu+3x3Conv的结构(与平常所见的Conv+ReLu+BN不同)。这是因为,采用了特征重用后,如果先采用卷积层,会包含前面所有层的输出特征,数值分布差异比较大。所以,先采用BN层将数值进行标准化。
3.2.2 Transition
  • 在两个相邻的DenseBlock之间,采用Transition层进行连接,主要作用是整合上一个DenseBlock的特征,缩小上一个DenseBlock的宽高,使得特征图宽高减半,压缩模型。
  • Transition层结构为:BN+ReLu+1×1 Conv+2×2 AvgPooling
  • 通过Pooling使特征图大小降低

3.3 DenseNet优缺点

  • 优点
    (1) 相比ResNet使用更少参数数量,且计算效率更高,效果更好;
    (2) 通过特征重用,可以同时利用高层次和低层次的特征;
    (3) 缓解了梯度消失/爆炸和网络退化问题。


  • 缺点
    (1) 由于特征重用,数据需要被复制多次,空间占用率高,显存增加较快。因此训练时间要比ResNet长

未完待续(持续更新 5.18)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/117795.html

(0)
上一篇 2025-11-18 10:20
下一篇 2025-11-18 10:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信