计算机视觉与深度学习第四章:全连接神经网络

计算机视觉与深度学习

本文按照北京邮电大学计算机学院鲁鹏老师的计算机视觉与深度学习课程按章节进行整理,需要的同学可借此系统学习该课程详尽知识~


第四章 全连接神经网络

  • 计算机视觉与深度学习
  • 本节重点
  • 一、分类模型
    • 1.多层感知器
      • 全连接神经网络权值
      • 全连接神经网络与线性分类器区分
      • 全连接神经网络绘制及命名
    • 2.激活函数
      • 网络结构设计
      • 激活函数缺陷
      • 激活函数选择
  • 二、损失函数
    • 1.SOFTMAX与交叉熵(交叉熵损失)
      • 示例
    • 2.交叉熵损失与多类支撑向量机损失对比
  • 三、优化算法
    • 1.计算图与反向传播
      • 示例一
      • 示例二
    • 2.梯度下降算法缺陷
    • 3.动量法
    • 4.自适应梯度法
    • 5.ADAM法
  • 训练过程
    • 1.权值初始化
      • Xavier初始化
      • HE初始化(MSRA)
    • 2.批归一化
    • 3.欠拟合与过拟合
      • 应对过拟合
        • 权重正则化
        • 随机失活(Dropout)
    • 4.超参数调优
      • 学习率设置
      • 超参数优化方法
      • 超参数搜索策略
      • 超参数标尺空间

本节重点

计算机视觉与深度学习第四章:全连接神经网络_第1张图片


一、分类模型

1.多层感知器

计算机视觉与深度学习第四章:全连接神经网络_第2张图片

全连接神经网络权值

计算机视觉与深度学习第四章:全连接神经网络_第3张图片

全连接神经网络与线性分类器区分

计算机视觉与深度学习第四章:全连接神经网络_第4张图片

全连接神经网络绘制及命名

计算机视觉与深度学习第四章:全连接神经网络_第5张图片

2.激活函数

计算机视觉与深度学习第四章:全连接神经网络_第6张图片
常用的激活函数
计算机视觉与深度学习第四章:全连接神经网络_第7张图片

网络结构设计

  1. 用不用隐层,用一个还是用几个隐层?      (深度设计)
  2. 每隐层设置多少个神经元比较合适?        (宽度设计)

注:
1)神经元个数越多,分界面就可以越复杂,在这个集合上的分类能力就越强。
2)输入层与输出层的神经元个数由任务决定,而隐层数量以及每个隐层的神经元个数需要人为指定。

        依据分类任务的难易程度来调整神经网络模型的复杂程度。分类任务越难,我们设计的神经网络结构就应该越深、越宽。但是,需要注意的是对训练集分类精度最高的全连接神经网络模型,在真实场景下识别性能未必是最好的(过拟合)。

激活函数缺陷

计算机视觉与深度学习第四章:全连接神经网络_第8张图片
计算机视觉与深度学习第四章:全连接神经网络_第9张图片
梯度消失是神经网络训练中非常致命的一个问题,其本质是由于链式法则的乘法特性导致的。
计算机视觉与深度学习第四章:全连接神经网络_第10张图片
梯度爆炸:断崖处梯度乘以学习率后会是一个非常大得值,从而“飞”出了合理区域,最终导致算法不收敛。
解决方案:把沿梯度方向前进的步长限制在某个值内就可以避免“飞”出了,这个方法也称为梯度裁剪。

激活函数选择

计算机视觉与深度学习第四章:全连接神经网络_第11张图片
尽量选择ReLU函数或者Leakly ReLU函数,相对于Sigmoi d/tanh,RelLU函数或者Leakly ReLU函数会让梯度流更加顺畅,训练过程收敛得更快。

二、损失函数

1.SOFTMAX与交叉熵(交叉熵损失)

计算机视觉与深度学习第四章:全连接神经网络_第12张图片

示例

计算机视觉与深度学习第四章:全连接神经网络_第13张图片

2.交叉熵损失与多类支撑向量机损失对比

计算机视觉与深度学习第四章:全连接神经网络_第14张图片
计算机视觉与深度学习第四章:全连接神经网络_第15张图片


三、优化算法

1.计算图与反向传播

计算图是一种有向图,它用来表达输入、输出以及中间变量之间的计算关系,图中的每个节点对应着一种数学运算。

示例一

计算机视觉与深度学习第四章:全连接神经网络_第16张图片

示例二

计算机视觉与深度学习第四章:全连接神经网络_第17张图片
附:计算图中常见的门单元
计算机视觉与深度学习第四章:全连接神经网络_第18张图片
总结

  1. 任意复杂的函数,都可以用计算图的形式表示。
  2. 在整个计算图中,每个门单元都会得到一些输入,然后,进行下面两个计算:
    a)这个门的输出值
    b)其输出值关于输入值的局部梯度。
  3. 利用链式法则,门单元应该将回传的梯度乘以它对其的输入的局部梯度,从而得到整个网络的输出对该门单元的每个输入值的梯度。

2.梯度下降算法缺陷

计算机视觉与深度学习第四章:全连接神经网络_第19张图片

3.动量法

计算机视觉与深度学习第四章:全连接神经网络_第20张图片

4.自适应梯度法

计算机视觉与深度学习第四章:全连接神经网络_第21张图片

5.ADAM法

计算机视觉与深度学习第四章:全连接神经网络_第22张图片

训练过程

1.权值初始化

计算机视觉与深度学习第四章:全连接神经网络_第23张图片

Xavier初始化

计算机视觉与深度学习第四章:全连接神经网络_第24张图片

HE初始化(MSRA)

计算机视觉与深度学习第四章:全连接神经网络_第25张图片
权值初始化方法选择

  1. 好的初始化方法可以防止前向传播过程中的信息消失,也可以解决反向传递过程中的梯度消失。
  2. 激活函数选择双曲正切或者Sigmoi d时,建议使用Xaizer初始化方法。
  3. 激活函数选择ReLU或Leakly ReLU时,推荐使用He初始化方法。

2.批归一化

计算机视觉与深度学习第四章:全连接神经网络_第26张图片
计算机视觉与深度学习第四章:全连接神经网络_第27张图片

3.欠拟合与过拟合

欠拟合:是指模型描述能力太弱,以至于不能很好地学习到数据中的规律。产生欠拟合的原因通常是模型过于简单。
过拟合:是指学习时选择的模型所包含的参数过多,以至于出现这一模型对已知数据预测的很好,但对未知数据预测得很差的现象。这种情况下模型可能只是记住了训练集数据,而不是学习到了数据特征。
计算机视觉与深度学习第四章:全连接神经网络_第28张图片

应对过拟合

最优方案——获取更多的训练数据
次优方案——调节模型允许存储的信息量或者对模型允许存储的信息加以约束,该类方法也称为正则化。

  • 调节模型大小
  • 约束模型权重,即权重正则化(常用的有L1、L2正则化)
  • 随机失活(Dr opout)

权重正则化

计算机视觉与深度学习第四章:全连接神经网络_第29张图片

随机失活(Dropout)

计算机视觉与深度学习第四章:全连接神经网络_第30张图片

4.超参数调优

超参数

  • 网络结构——隐层神经元个数,网络层数,非线性单元选择等
  • 优化相关——学习率、dr opout比率、正则项强度等

学习率设置

计算机视觉与深度学习第四章:全连接神经网络_第31张图片

超参数优化方法

计算机视觉与深度学习第四章:全连接神经网络_第32张图片

超参数搜索策略

计算机视觉与深度学习第四章:全连接神经网络_第33张图片

超参数标尺空间

计算机视觉与深度学习第四章:全连接神经网络_第34张图片

你可能感兴趣的:(计算机视觉与深度学习之旅,计算机视觉,深度学习,神经网络)