我是靠谱客的博主 孤独帅哥,最近开发中收集的这篇文章主要介绍CNN学习笔记(二):经典模型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本篇博客用于记载CNN发展中的一些典型模型

经典模型

1. LeNet-5

在这里插入图片描述
任务:手写数字识别
激活函数:tanh和sigmoid

2. AlexNet

在这里插入图片描述

激活函数:ReLu(相比于tanh,错误率达到25%的时间缩减为1/6)
重叠池化(Overlapping Pooling):步长小于kernel大小,可以缩减过拟合的可能性。
数据增强:

  1. 256x256的图像从四周和中间分别截取224x224的图像,放入模型中进行训练,并将得到的softmax结果进行取平均值。
  2. 对每个像素点的RGB三通道的数值构成的向量加入以下向量

p:特征向量
λ lambda λ:特征值
α alpha α:满足均值为0,标准差为0.1高斯分布的随机变量
在这里插入图片描述

Dropout:每次前向传播时,按0.5的概率使神经元的输出为0。使用之后可以使训练误差减小,但是会使迭代次数几乎double
在这里插入图片描述
训练细节:

  1. 权重的更新加入0.0005的衰退,可以减少训练误差
    在这里插入图片描述
  2. 初始化权重值为均值0,标准差0.01的随机变量
  3. 初始化2,4,5层卷积层的bias为1,可以给Relu函数一个正值输入,加速训练。其余层bias为0

已舍弃部分:

  1. GPU发展还不够,所以每层都用了多个GPU进行联动
  2. 特殊层:局部相应归一层(LRN)—对

3. VGG-16

在这里插入图片描述
特点:模型结构简单,更关注卷积层,参数数目庞大

ResNet(残差神经网络)

在这里插入图片描述
特点:通过跳跃连接的方式,该网络由一个个残差块组成
优点:相比于一般的网络,残差网络对于层数较深的情况一样会保持错误率不断下降,而不同于普通网络,随着层数的加深会导致错误率先下降后上升。

1*1卷积的意义
对于单层的输入而言,1*1的卷积实现的只是每个像素点乘上一个系数,没有太多实际作用。但对于多层的输入而言,它可以实现不同层数据之间的线性组合。
在这里插入图片描述
作用:

  1. 在大小不变的情况下,减少通道数,可以大大减小运算的时间成本。
  2. 增加网络复杂性(将下图的32filters改为192fliters)。
    在这里插入图片描述
    使用瓶颈层加快运算
    处理好的话,不会影响性能,并且能够节约时间成本。
    在这里插入图片描述

Inception模块
在这里插入图片描述
在这里插入图片描述
特点:不需要去选定卷积核的大小,可以各个大小都做,并且将他们如上图一样连接起来,让神经网络来学习所需参数以及所要用到的卷积核大小。

Inception网络

实际上就是多个Inception模块的连接
在这里插入图片描述

MobileNets

深度可分离卷积
相比于一般的卷积,先深度卷积再单点卷积的方式可以提高约10倍的效率。
在这里插入图片描述
MobileNet的架构
整体架构:网络由多个以下的模块连接而成。
在这里插入图片描述
Bottleneck:MobileNetV2相比于V1的一个改进,这样的操作不但可以增强网络的性能(中间放大的部分相当于放大了特征),并且不增加内存的负担,因为该模块的输入输出的数据大小保持一致。

在这里插入图片描述

EfficientNet

作用:按照需求调节网络的deepth和width,即调整网络的大小。

…持续更新

最后

以上就是孤独帅哥为你收集整理的CNN学习笔记(二):经典模型的全部内容,希望文章能够帮你解决CNN学习笔记(二):经典模型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部