依据训练集和验证集选择算法和调超参

  1. 在训练集上用不同模型训练,选取几个拟合效果好的模型
  2. 将这几个模型应用在验证集上,选择最优的一个或几个
      在步骤2上,可以通过正则化等手段优化模型;步骤1是为了选择模型。

L2正则化为什么能起作用?

  从贝叶斯的角度上看,正则化等价于对模型参数引入先验分布。在后验概率估计上,增加高斯分布先验,就是L2正则化;增加拉普拉斯分布先验,就是L1正则化。【这些分布的先验知识是对权重w而言的】。从求导推导过长看,增加了L2先验,相当于在原本权重更新时,减去梯度的计算之前wαJw,对w进行了削减,即(1α2m)wαJw。其结果就是造成最后的权重w比不添加正则化时小,极端一点看,若α较大,则w0,导致z=wTx+b0。而z0时,通过sigmoid函数,会基本展示不出非线性【即在sigmoid中间段,其基本呈线性传递】,因而导致模型的表达能力减弱,从而起到预防过拟合的作用。

dropout正则化

  dropout正则化在计算机视觉应用比较多,因为计算机视觉的数据一般比较少。通常在我们没有足够多的数据时,导致存在的过拟合现象,我们才使用dropout正则化。【因为使用了dropout正则化后,我们优化的凭证Cost就不再是每次迭代都递减的了。这在某种程度上是很难计算的,因为我们失去了调试工具。】

为什么归一化能加速模型拟合?

  若未归一化前,数据分布呈现狭长状,即不同元素的取值范围差别大,则代价函数在不同元素上取得最优解需要的学习率不同。因此模型需要选择其中最小的学习率,以达到整个模型拟合的效果。而如果归一化了,则可以统一学习率,用较大的学习率去拟合数据,因而能加快模型拟合。

【deeplearning.ai】改善深层神经网络:超参数调试、正则化以及优化

网络模型的超参数

  1. 模型方面:隐藏层层数、每层的神经元个数
  2. 优化方面:数据的mini-batch大小、学习率α的大小、学习衰减率、优化函数的参数β(假设是动量梯度下降法)、正则化项的系数λ
      其中最重要,最需要调试的参数是学习率α;其次是优化函数的参数β、每层神经元个数和mini-batch的大小;

Batch-Normalize(BN)

  Batch-Normalize操作使网络每一层的输入归一化,即将a[i]归一化,但是由于某些原因(如**函数的效果等)就将这个归一化的操作提到了**函数之前。

BN操作为什么起作用?

  神经网络是多隐藏层叠起来的,其某一层的输入受之前所有层参数的控制,即convariat shift,也就是说该输入的分布是一直在变化的,这给该层的参数优化带来麻烦。BN操作将其分布固定为01的分布,使用βγ之后的均值受参数控制,但也固定分布。因此,BN操作就是讲每层的输入分布固定下来,使优化参数变得简单,也减少某参数梯度过大问题的出现,因而能加速模型拟合。

优化算法

神经网络各优化算法

优化算法前置知识

指数加权(移动)平均

  一种计算连续变量的离散值平均的方式。其计算方式如下:

vi=αVi1+βθi
V0=0,α+β=1α=0.9β=0.1
  vi可看做第i天之前的平均(实际上是11α),而θi是第i天的离散值。这种动态求平均的方法,即考虑了前面的元素,也不会综合太过“久远”的无用的信息。【αvi线
  该计算方式在前几天的计算中很不准确,如第1天只有0.1θ1,所以有偏差修正:vi1βt=αvi1+βθi

【deeplearning.ai】改善深层神经网络:超参数调试、正则化以及优化

梯度下降的优化

动量梯度下降法

  计算梯度:

vdw=βvdw+(1β)Jw
  和之前的笔记所不同的是,这里的梯度前面多了个系数(1β),视频里提及之前笔记的那种没有系数的形式,学习率α要根据(1β)相应变化,可能是不好调参吧。而且,如果没有系数,相当于vdw变为vdw11β,这是会变大的,更可能会出现动量过大,跳出最小值的情况。
  更新参数:
w=wαvdw

RMSprop

  计算梯度:

Sdw=βSdw+(1β)(w)2

  更新方式:
w=wαwSdw

  这个跟之前笔记里的AdaDelta方法基本一模一样

局部最优解

  视频里说到,一直以来,我们担心神经网络陷入局部最优解,是像下图左边的那种,每个元素方向梯度都为0,且都是“凸”方向的极小值点。但是在高纬度中,梯度全为0且都是“凸”极值点的坑不多,大部分还是像下图右边的那种鞍点。因此,我们的优化目标应该是逃离鞍点,而不是过度担心“局部最优解”。

【deeplearning.ai】改善深层神经网络:超参数调试、正则化以及优化

相关文章:

  • 2021-08-09
  • 2021-05-27
  • 2021-05-04
  • 2021-08-10
  • 2022-01-14
  • 2021-12-04
  • 2022-03-09
  • 2021-12-08
猜你喜欢
  • 2021-05-02
  • 2021-09-16
  • 2021-04-17
  • 2021-06-13
  • 2021-05-03
  • 2021-06-07
  • 2021-11-25
相关资源
相似解决方案