神经网络模型

1. LeNet

![在这里插入图片描述](https://img-blog.csdnimg.cn/ed1af3916c904575808c160f6feef8ff.png
论文地址

Highlight

  • LeNet5通过巧妙的设计,利用卷积、参数共享、池化等操作提取特征,避免了大量的计算成本,最后再使用全连接神经网络进行分类识别,这个网络也是最近大量神经网络架构的起点。
  • 由7层CNN(不包含输入层)组成,输入的原始图像大小是32×32像素
  • 提出并成功运用权值共享
  • 局部感受野
    下采样(池化)

缺点:

  • 图像的局部相关性
  • 图像的形变会引起图像特征位置变化
  • 图像数据量较大,单独像素独立输入神经元中,需要很大的网络结构,训练参数过多

参考文档:
CNN模型合集

2. AlexNet

在这里插入图片描述
论文地址

Highlight

  • 提出数据增强、Dropout 防止过拟合
  • 数据增强一:将输入 256256的图片进行224224的随机截取,这样每个图片就可以生成很多类似的图片
  • 数据增强二:改变训练图像总RGB通道的强度。在整幅图中对RGB像素值集执行PCA进行降维,通过改变主要颜色的亮度生成更多图片
  • Dropout:作为训练深度神经网络的一种选择,避免过拟合同时增强神经网络的泛化能力
  • 在多个GPU上训练,降低训练时间
  • 使用Relu替换之前的sigmoid激活函数,加快训练
  • 局部响应正规化也在googlenet被证明没啥效果
  • 使用层叠的卷积层,即卷积层+卷积层+池化层来提取图像特征
  • 层叠池化,在一定程度抑制过拟合

图片引用自https://zhuanlan.zhihu.com/p/21562756
图片引用自仙道菜

参考文档:卷积神经网络之AlexNet
AlexNet网络结构详解与模型的搭建

3. VGG

在这里插入图片描述

论文地址

Highlight

  • 结构简单,使用同样大小的卷积核尺寸(33)和最大池化尺寸(22)
  • 连续使用多个卷积层的作用是扩大感受野,即用2个33的卷积层达到一个55卷积层的感受野,3个33的卷积层达到一个77卷积层的感受野
  • 小尺寸卷积核(33)的组合比一个大卷积核(55或7*7)更好,增加非线性函数的个数,增加了函数的判别能力;减少了参数量
  • 验证了通过不断加深网络结构可以提升性能
  • 使用1*1卷积核,添加了非线性激活函数的个数,而且不影响卷积层的感受野
  • 没有使用局部归一化,发现并不能提高网络的性能
  • 多尺度估计,证明多尺度抖动的训练图像精度好于固定尺寸的训练集
  • 稠密和多裁剪图像评估(Dense 和 multi-crop),稠密即指全连接层替换为卷积层(第一FC层转换到7×7卷积层,最后两个FC层转换到1×1卷积层),最后得出一个预测的score map,再对结果求平均。
    即对图像进行多样本的随机裁剪,将得到多张裁剪得到的图像输入到网络中,最终对所有结果平均

缺点

  • 耗费计算资源较多,训练时间较长
  • 参数量较大,其中绝大多数参数都来自于第一个全连接层,且VGG有三个全连接层

参考文档:
卷积神经网络之VGG
VGG网络结构详解与模型的搭建

4. GoogLeNet

GoogLeNet中的 L 大写是为了致敬LeNet。
在这里插入图片描述

论文地址

Highlight

  • 引入 Inception 结构(融合不同尺度的特征信息)
  • 使用1*1的卷积核进行降维及映射处理(相比VGG,给出了更详细的介绍)
  • 添加两个辅助分类器帮助训练
  • 丢弃全连接层,使用平均池化层(大大减少参数量)

参考文档:
GoogLeNet论文详解

6. ResNet

Highlight

  • 超深的网络结构(突破1000层)
  • 提出residual模块
  • 使用Batch Normalization加速训练(丢弃dropout)

使用BN时注意的问题:
① 训练时要将 training参数设置为True,在验证时要将training参数设置为False。在pytorch中可通过创建模型的model.train()和model.eval()方法控制。
② batch size 尽可能设置大一点,设置小后表现可能很糟糕,设置的越大,求的均值和方差越接近整个训练集的均值和方差。
③ 建议将bn层放在卷积层(Conv)和激活层(例如Relu)之间,且卷积层不要使用偏执bias,因为没有用。

参考文档:
Group Normalization详解

MobileNet-V2

在这里插入图片描述
论文地址

Highlight

  • Inverted Residuals (倒残差结构)
  • Linear Bottlenecks

Inverted Residuals (倒残差结构)

  • 普通的残差结构先通过1x1卷积进行降维,最后通过1x1卷积升维倒残差结构刚好相反,首先通过1x1卷积进行升维,最后通过1x1卷积进行降维,所以它和我们普通的残差结构正好是相反的,因此取名(Inverted residual block)倒残差结构。
    在这里插入图片描述

  • 普通残差结构使用的激活函数是relu,但倒残差结构使用的是relu6激活函数

Linear Bottlenecks

  • 线性激活函数
    倒残差的最后1x1卷积层,它使用了线性激活函数, 文中实验可以了解ReLU激活函数对低纬特征造成大量损失, 由于我们倒残差结构是两头细中间粗的结构,所以输出的时候是一个低纬的特征。为了避免信息的丢失我们就需要使用一个线性的激活函数替代ReLU激活函数。
    在这里插入图片描述
  • 倒残差结构,并不是每个倒残差结构都有shortcut分支(捷径分支),只有当stride=1输入特征矩阵输出特征矩阵shape相同时才有shortcut分支。

类别数K

最后一层是一个卷积层1x1x1280, 即一个全连接层。这里的k对应的是分类的类别数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值