2、卷积神经网络基础

本文详细介绍了卷积神经网络的构成,包括卷积层、下采样层、全连接层以及池化层的作用。探讨了参数共享和常见优化器如SGD、Momentum、Adagrad、RMSProp和Adam。重点讲解了VGG和ResNet网络结构的特点及其在深度学习中的应用。
摘要由CSDN通过智能技术生成

一:卷积神经网络

  • 卷积层-下采样层-卷积层-下采样层-全连接层

  • 图像分类->检索

  • 目标检测,图像分割

二:全连接层

三:卷积层

  • 将卷积核与image想成后求和生成对应的卷积特征

卷积的过程(如下图)

    • 实际应用过程中涉及到多维卷积操作
    • 将卷积核1/2在三个维度(R/G/B)分别进行滑动卷积后进行求和得到两个输出的特征矩阵

卷积层特点:
  • 1、卷积核的channel与输入特征层的channel相同(一般channel的含义是,每个卷积层中卷积核的数量)
  • 2、输出的特征矩阵channel个数与卷积核个数相同

  • 如下图:32*32*3经过在3个通道上进行两次Filter中的6个5*5*3的卷积核以后,生成28*28*6的特征矩阵

常见的激活函数

  • 引入激活函数:在计算过程中为线性过程,为了引入非线性因素,使其解决非线性问题的能力

卷积后矩阵尺寸大小

  • 根据公式计算得出卷积后特征矩阵大小为2×2

卷积层涉及的参数

  • stride:滑动窗口步长
  • 卷积核尺寸
  • pading:在一定程度上弥补了边界信息缺失的问题
  • 卷积核个数:相当于一张图片31*31*1在经过n个卷积核后生成x*x*n的特征图

特征图尺寸计算与参数共享

尺寸计算
参数共享
  • 对于一张图片,在卷积时,所有的Filter中的卷积核是不变的,不然网络中参数会多到爆炸

四:池化层

  • 池化层目的:对特征图进行系数处理,减少数据运算量

MaxPooling下采样层

AveragePooling下采样层

池化层特点:

  • 无训练参数
  • 只改变特征矩阵的W和H,不改变channel
  • 一般poolsize和stride相同

特征图变化

基础内容补充

补充1:误差的计算

输出计算过程:

softmax输出计算:
  • 经过softmax输出后,o1+o2=1

Cross Entropy Loss 交叉熵损失

针对上图中的输入输出结构,通过softmax处理后的损失如下图

补充2:误差的反向传播

求W11(2)的梯度损失函数(导数)

补充3:权重更新

  • 上图中的新的权重无法确定是否指向损失梯度最快的方向,需要继续进行讨论

全局最优、batch局部最优

  • 对整个样本进行训练时,损失梯度可以指向全局最优方向(下图左)
  • 但是由于硬件限制,只能进行分批次(batch)训练,导致每次训练的损失梯度只指向当前的最优方向(下图右)

优化器optimazer

为了解决batch局部最优方向的问题,提出优化器optimazer,来使网络更快速的收敛

1、SGD优化器(Stochastic Gradient Descent)
  • 权重更新表达式:wt+1=wt-α·g(wt)
    • 其中α为学习率,g(wt) t时刻对参数wt的损失梯度

缺点:

  • 1、易受样本噪声影响
  • 2、可能陷入局部最优解
2、SGD+Momentum优化器

为了解决在单一SGD优化器时,陷入局部最优解的情况,使用SGD+Momentum优化器解决问题

  • 权重更新表达式:vt=η·vt-1+α·g(wt) wt+1=wt- vt
    • 其中α为学习率,g(wt) t时刻对参数wt的损失梯度,η(0.9)为动量系数

3、Adagrad优化器(自适应学习率)

缺点:学习率下降太快,可能还未收敛就停止训练

4、RMSProp优化器(自适应学习率)

未解决Adagrad优化器学习率下降太快问题,提出RMSProp优化器

5、Adam优化器(自适应学习率)

经典网络

AlexNet

VGG

1、VGG原理

  • 相比于 LeNet 网络,VGG 网络的一个改进点是将 大尺寸的卷积核 用 多个小尺寸的卷积核 代替。
    • 比如:VGG使用 2个3X3的卷积核 来代替 5X5的卷积核,3个3X3的卷积核 代替7X7的卷积核。
  • 这样做的好处是:
    • 在保证相同感受野的情况下,多个小卷积层堆积可以提升网络深度,增加特征提取能力(非线性层增加)。参数更少。比如 1个大小为5的感受野 等价于 2个步长为1,3X3大小的卷积核堆叠。假设是一通道,1个5X5卷积核的参数量为 25,而2个3X3卷积核的参数量为 18。
  • 3X3卷积核更有利于保持图像性质.
感受野:
  • 在卷积神经网络中,决定某一层输出 结果中一个元素所对应的输入层的区域大小,被称作感受野(receptive field)。通俗 的解释是,输出feature map上的一个单元 对应输入层上的区域大小。

  • 很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致
  • 加入的非线性变换也随着增多(49C只加了1个Relu,而27C加了3次的Relu),还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作。

2、网络结构

VGG有两种结构,分别是VGG16和VGG19。通常人们说的VGG是指VGG16(13层卷积层+3层全连接层)。下图展示VGG网络的6中不同结构,其中 D列 为 VGG16。

  • VGG16:包含16个隐藏层(13个卷积层+3个全连接层),上表D列。
  • VGG19:包含19个隐藏层(16个卷积层+3个全连接层),上图E列。
对于VGG16:

  • VGG网络结构非常一致,从头到尾使用3X3的卷积和2X2的max pooling。除去大小为1×1的卷积核,其他卷积核都是3×3 ,步长为1,填充为2; 池化层都是2×2,步长为2,填充为0。在这种情况下,卷积层都不改变图像的尺寸,池化层会让图的尺寸缩小一半
  • :网络输入为224X224大小图像。数据增强使用了Multi-Scale策略,主要是将图像放大到随机的大小,然后再裁剪到224X224大小的图像。
小结:
  • 1. 使用了更小的3*3卷积核,和更深的网络。两个3*3卷积核的堆叠相对于5*5卷积核的视野,三个3*3卷积核的堆叠相当于7*7卷积核的视野。这样一方面可以有更少的参数(3个堆叠的3*3结构只有7*7结构参数数量的(3*3*3)/(7*7)=55%);另一方面拥有更多的非线性变换,增加了CNN对特征的学习能力。
  • 2. 在VGGNet的卷积结构中,引入1*1的卷积核,在不影响输入输出维度的情况下,引入非线性变换,增加网络的表达能力,降低计算量。
  • 3. 训练时,先训练级别简单(层数较浅)的VGGNet的A级网络,然后使用A网络的权重来初始化后面的复杂模型,加快训练的收敛速度。
  • 4. 采用了Multi-Scale的方法来训练和预测。可以增加训练的数据量,防止模型过拟合,提升预测准确率。


Resnet

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值