神经网络优化和优化算法要点总结

本文总结了神经网络优化的挑战和优化算法,包括批量梯度下降、随机梯度下降、小批量梯度下降及其变种,强调了小批量梯度下降的优越性。此外,探讨了学习率调整策略如衰减、预热和周期性变化,以及AdaGrad、RMSprop等自适应学习率方法,并介绍了动量法和Adam算法等更新方向优化技巧。
摘要由CSDN通过智能技术生成

    神经网络相比于传统机器学习的最大的特点在于极大地降低了特征提取的难度。但应用过程中仍然存在两个难点:

  • 优化困难:神经网络模型往往拟合的是一个非凸函数,难以找到全局最优值点,且现有的模型大多参数较多,模型复杂,训练效率较低。
  • 泛化困难:神经网络拟合能力过强,在训练集上产生过拟合,在训练过程中需要加入正则化防止过拟合。

网络优化

难点:

  1. 网络结构的多样性
  2. 高维变量的非凸优化:低维非凸优化问题主要难点在于如何初始化参数和逃离局部最优点,而高维非凸优化问题难点之一在于怎么逃离鞍点,鞍点在某些维度上梯度为0,但是最优化的目标是找到所有维度上梯度都为0的点,此外,还有容易陷入平坦最小值,由于神经网络的参数存在一定的冗余性,损失函数的局部最小值附近是一个平坦的区域,称为平坦最小值。

优化算法

梯度下降的各种方法

    目前,深层神经网络主要通过梯度下降的方式来进行模型优化,梯度下降具体可以分为:批量梯度下降、随机梯度下降以及小批量梯度下降三种形式。
批量梯度下降:用所有训练数据计算梯度更新值
    优点:保证收敛,如果是凸函数则可收敛到全局最小值
    缺点:计算速度慢,数据量大则对内存要求高,不能够在线学习
随机梯度下降:每次用一个样本计算梯度更新值
    优点:计算速度快,支持在线学习
    缺点:计算结果方差大,不抗噪声,难以使用矩阵运算加速
小批量梯度下降:一次用一部分数据(通常选择16,32,64个样本)计算梯度
    优点:抗噪声,可使用矩阵运算加速
    缺点:batch的大小为超参数,需要调参
总结如下图:
在这里插入图片描述
以上明显可以看出小批量梯度下降是最优的选择,也是目前实验使用最为广泛的方法。下面从三个方面详细讨论这种方法:1) 批量大小的选择,2) 学习率 α \alpha α的调整 3) 参数更新方向

1) 批量大小(Batch Size)

    一般而言,批量大小不影响随机梯度的期望,但是会影响随机梯度的方差,批量越大,方差越小,引入的噪声也越少,训练越稳定,因此可以设置更大的学习率。一个简单有效的方法就是线性缩放规则,当批量大小增加n倍后,学习率也增加n倍,适用于批量大小比较小的时候。

2)学习率调整
2.1)学习率衰减(Learning Rate Decay)

也被称为学习率退火(Learning Rate Annealing),简单来说就是在学习的过程中逐渐降低学习率,方法较多,下面展示一下多种学习率衰减方法的效果图:
在这里插入图片描述

2.2) 学习率预热(Learning Rate Warmup)

在批量较大时,学习率也较大,但由于一开始学习上参数是随机初始化的,梯度往往较大,如果此时使用较大的学习率则会使得训练不稳定。为了提高训练的稳定性,则在最初的几轮迭代中使用较小的学习率,等梯度下降到一定程度后再调高学习率。一种常用的方式就是逐渐预热,假设预热的波数是 T ′ T' T,初始学习率是 α 0 \alpha_0 α0,则预热过程中每次更新学习率为 α t ′ = t T ′ α 0 \alpha_t'=\frac{t}{T'}\alpha_0 αt=T

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值