Datawhale X 李宏毅苹果书AI夏令营(2)

3.2 批量和动量

批量的概念:

  • 在深度学习中,训练数据被分成多个小批量(batch),每个批量包含B笔数据。
  • 每个批量用于计算损失和梯度,以更新模型参数。
  • 一个完整的数据集遍历称为一个回合(epoch)。
  • 数据在每个epoch开始前通常会被随机打乱。
    在这里插入图片描述

批量大小对梯度下降法的影响:

  • 批量梯度下降法(BGD): 如左图,使用全部训练数据来更新参数,计算量大,更新稳定但速度慢。
  • 随机梯度下降法(SGD): 如右图,每次只使用一个数据点更新参数,引入随机性,更新方向曲折,但有可能逃离局部最小值。
    在这里插入图片描述
  • [注] :随机梯度下降的梯度上引入了随机噪声,因此在非凸优化问题中,其相比批量梯度下降更容易逃离局部最小值。

实验观察:

  • 在并行计算环境下,大批量并不一定导致计算时间增加。
  • GPU并行处理能力强,大批量数据的处理时间并不会线性增加。
  • 实验显示,大批量在训练时准确率可能较低,但测试时泛化能力可能较差。
    批量大小与时间的关系
    *【注】:MNIST 中的“NIST”是指国家标准和技术研究所(National Institute of Standards and Technology),其最初收集了这些数据。MNIST 中“M”是指修改的(Modiffed),数据经过预处理以方便机器学习算法使用。MNIST 数据集收集了数万张手写数字(09̃)的28×28 像素的灰度图像及其标签。一般大家第一个会尝试的机器学习的任务,往往就是用 MNIST 做手写数字识别, 这个简单的分类问题是深度学习研究中的“Hello World”

动量法(Momentum Method):

  • 动量法通过引入前一步的更新方向和当前梯度来更新参数,帮助模型逃离局部最小值和鞍点。
  • 动量项是之前所有梯度的加权和,可以看作是在梯度方向上的“惯性”。

动量法的好处:

  • 动量法可以在梯度方向变化频繁时平滑更新方向,减少震荡。
  • 有助于模型在面对复杂的误差表面时,更快地收敛。

自适应学习率:

  • 除了动量法,自适应学习率也是优化算法中的一个重要概念。
  • 学习率调度(Learning Rate Scheduling)和优化算法如Adam,能够根据训练进度自动调整学习率,进一步提高训练效率和模型性能。

总结:

  • 批量大小的选择对训练有显著影响,需要根据具体问题和硬件条件进行调整。
  • 动量法是一种有效的优化策略,可以帮助模型在复杂的误差表面上更好地优化。
  • 自适应学习率方法能够进一步提升模型的训练效果和收敛速度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值