网络优化与正则化

一 神经网络优化的改善方法

改善神经网络优化的目标是找到更好的局部最小值和提高优化效率,通常比较有效的经验性改善方法包括以下几个方面:

  1. 使用更有效的优化算法来提高梯度下降优化方法的效率和稳定性,比如动态学习率调正,参数修正等

  2. 使用更好的参数初始化方法,数据预处理方法来提高优化效率

  3. 修改网络结构来得到更好的优化地形,比如使用RELU激活函数,残差连接,逐层归一化等

  4. 使用更好的超参数优化方法

二 优化算法

  1. 小批量梯度下降
    在训练深度神经网络的时候,数据规模较大。如果在梯度下降时,每次迭代都要计算所有数据上的梯度,这就需要比较多的计算资源。另外大规模训练集中的数据通常会非常冗余,也没有必要在整个训练集上计算梯度。因此,在训练深度神经网络时,通常采用小批量梯度下降法。
    影响小批量梯度下降法的主要因素有:1 批量大小K,2)学习率a,3)梯度估计
  2. 批量大小选择
    • 批量大小越小,下降效果越明显。并且下降曲线越平滑。但是按照整个数据集上的回合epoch来看,批量大小越小,适当小的批量大小会导致更快的收敛。
  3. 学习率调整
    常用的学习率调整方法包括学习率衰减,学习率预热,周期性学习率调整以及一些自适应调整学习率的方法,比如AdaGrad,RMSprop,AdaDelta等
    • 学习率衰减,常用的学习率衰减方法包括:分段常数衰减,逆时衰减,指数衰减,自然指数衰减,余弦衰减
    • 学习率预热,在小批量梯度下降方法中,当批量大小设置比较大的时候,通常需要比较大的学习率。但在刚开始训练时,由于参数是随机变化的,梯度往往也比较大,再加上比较大的初始学习率,会使训练不稳定。
      为了提高训练稳定性,在最开始的几轮迭代时,采用比较小的学习率,等梯度下降到一定程度后再恢复到初始的学习率,这种方法称为学习率预热
    • 周期性学习率调整,为了使梯度下降法逃离鞍点或尖锐最小值,一种经验的方法是在训练过程中周期增大学习率,主要方法有:循环学习率,带热重启的随机梯度下降。
    • AdaGrad算法,借鉴了l2正则化的思想,每次迭代时自适应地调整每个参数的学习率。缺点是在经过一定次数的迭代依然没有找到最优点时,由于这时的学习率已经非常小,很难再继续找到最优点
    • RMSprop算法,可以在有些情况避免AdaGrad算法中学习率不断单调下降以至于过早衰减的缺点。
    • AdaDelta算法,AdaDelta算法是AdaGrad算法的一个改进,和RMSprop算法类似,但将RMSprop算法的初始学习率改为动态计算,在一定程度上平抑了学习率的波动。
  4. 梯度估计修正
    • 动量法
    • Nesterov加速梯度
    • 梯度截断

三 参数初始化

参数初始化方法一般下有以下三种:预训练初始化,随机初始化,固定值初始化

  1. 基于固定方差的参数初始化,1)高斯分布初始化,2)均匀分布初始化
  2. 基于方差缩放的参数初始化,1)Xavier初始化,2)He初始化
  3. 正交初始化

四 数据预处理

五 逐层归一化

六 超参数优化

七 网络正则化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值