[深度学习 - 网络选型] CNN经典卷积网络模型

以下大部分只是来源于:🔗https://github.com/scutan90/DeepLearning-500-questions - 第四章:经典网络。

CNN经典网络模型

LeNet (1998)

LeNet
上图展示的是LeNet-5的网络结构图。

C代表卷积层,S代表下采样层。

LeNet作为较早的卷积神经网络代表,提出了权重共享的思想。
例如在C1(第一层卷积层)原图经过六个卷积核得到六个特征图。这里的卷积核就是权重,原图上所有的像素共享一个卷积核,经过滑动扫描得到一张特征图。
它的作用:降低整个网络的参数量;可以学习到图像的局部特征,局部的结构信息。

S为下采样层,实际就是降低分辨率。
它的作用:使得特征更加抽象化,网络更容易收敛;降低分辨率,使得计算速度加快;网络对偏移和形变不敏感。

LeNet-5经过三个卷积层,两个下采样层(5层网络)最后通过全连接层输出。

AlexNet (2012)

AlexNet
AlexNet的模型跟LeNet模型相似,AlexNet先经过五层卷积操作,在最后三层使用全连接层。
与LeNet不同的是,AlexNet网络结构分为上下两层,分别对行和列进行卷积运算,而且两层分别在不同的GPU上操作。

AlexNet 创新点:

  1. 卷积操作中都使用ReLU对神经元进行激活,使得在网络加深的时候,权值更新保持稳定。(相比tanh和sigmoid函数在误差反向传递时,不会有由于非线性引起的梯度弥散/暴涨。)
  2. 在多个GPU上模型训练,提供训练速度和数据使用规模。(分组卷积的思想。)
  3. 使用最大池化代替平均池化,防止过拟合。
  4. 使用dropout 随机丢弃训练中的神经元,防止过拟合。
  5. 局部响应归一化,提供模型精度。

ZFNet (2013)

ZFNet
ZFNet是对AlexNet 的微调,并且通过反卷积的方式可视化各层特征图。

ZFNet创新点:

  1. 通过反卷积可视化各层的特征图。
  2. 网络结构上和AlexNet类似,但是取消多个GPU同时训练。
  3. ZFNet认为AlexNet第一层的卷积核和步长太大,导致网络得到的特征不够细致,因此将卷积核缩小至7 * 7,步长由4变为2。其他层上也做了微调。
  4. 性能上比AlexNet较好,但是基本框架没多大变化。

Network in Network (2014)

NIN
NIN网络提出使用1 * 1卷积核的思想。它用了比AlexNet更少的参数,达到了跟其一样的效果。

1×1卷积核可以起到一个跨通道聚合的作用,所以进一步可以起到降维(或者升维)的作用,起到减少参数的目的。

NIN网络创新点:

  1. CNN上面的线性卷积层(GLM)被替换成了多层感知机(MLP)
  2. 使用1 * 1的卷积核进行卷积。(MLP相当于在正常的卷积层后面,再添加一个1×1的卷积层。)
  3. 将输出时候的全连接层使用全局池化层(global pooling)代替。
  4. 之后googleNet中的思想就来源于此。

VGGNet (2014)

SSD-VGG16-pytorch代码

VGGNet 原论文(需要科学上网看)中的VGGNet包含了6个版本的演进,分别对应VGG11、VGG11-LRN、VGG13、VGG16-1、VGG16-3和VGG19,不同的后缀数值表示不同的网络层数(VGG11-LRN表示在第一层中采用了LRN的VGG11,VGG16-1表示后三组卷积块中最后一层卷积采用卷积核尺寸为11,相应的VGG16-3表示卷积核尺寸为33)

VGG-16
VGGNet创新点:

  1. 整个网络都是用同样大小的卷积核(3 * 3)。
  2. 用两层3 * 3的卷积层代替一层 5 * 5的卷积层,三层3 * 3 的卷积层代替一层7 * 7的卷积层。使得网络参数量更小,且层数越多,网络能力越强。
  3. 训练的时候先预训练VGG11,再用VGG11的权重来初始化VGG13,同理反复训练并初始化VGG19。
  4. 在训练过程中使用多尺度的变换对原始数据做数据增强,使得模型不易过拟合。

GoogleNet(Inception)(2014)

GoogleNet -tensorflow代码
GoogleNet训练自己的数据集:结合上面的代码
官方论文:需要科学上网

模型的思想是用了上面NIN的思想。
主要的思想就是对网络的宽度进行扩展。(子网络块Inception结构)

  • Inception-v1在同一层中采用不同的卷积核,并对卷积结果进行合并;
  • Inception-v2组合不同卷积核的堆叠形式,并对卷积结果进行合并;
  • Inception-v3则在Inception-v2基础上进行深度组合的尝试;
  • Inception-v4结构相比于前面的版本更加复杂,子网络中嵌套着子网络。

下图为Inception结构图。
V1
v1
GoogleNet创新点:

  1. 采用不同大小的卷积核使得感受野的大小不同,在最后进行拼接,使不同尺度特征融合。
  2. 网络越到后面,特征越抽象,而且每个特征所涉及的感受野也更大了,因此随着层数的增加,3x3和5x5卷积的比例也要增加。但是,使用5x5的卷积核仍然会带来巨大的计算量。 为此,文章借鉴NIN2,采用1x1卷积核来进行降维。
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值