【Batch_size 与 梯度 之间的关系】

news/2025/1/13 7:41:20/

chatGPT 回答

梯度更新与批大小(batch size)之间有密切的关系。批大小是指在训练过程中一次迭代所使用的样本数量。

在深度学习中,梯度下降是一种常用的优化算法,用于更新模型参数以最小化损失函数。梯度是损失函数对于模型参数的偏导数,它表示了参数变化对于损失函数的影响方向和程度。在每一次梯度更新中,模型的参数会根据梯度的信息进行调整。

批大小对梯度更新有以下影响:

计算效率:较大的批大小可以利用并行计算的优势,提高计算效率。通过在一个批次中同时计算多个样本的梯度,可以减少梯度计算的总时间。这对于大型数据集和复杂模型特别有用。

梯度估计的准确性:较小的批大小可以提供对梯度的更准确的估计。当批大小较小时,每个批次中的样本更具代表性,更能够反映整个数据集的分布。这有助于更准确地估计梯度,避免局部最优和过拟合。

学习速度和收敛性:较大的批大小可能导致更快的学习速度,但可能陷入较差的局部最优。较小的批大小可能导致更慢的学习速度,但在某些情况下可能有助于更好的收敛性和泛化能力。

需要注意的是,选择合适的批大小是一个权衡问题,取决于数据集的规模、模型的复杂性、计算资源的可用性以及特定任务的需求。通常,研究人员和从业者会通过实验和调整来确定最佳的批大小。常见的批大小取值范围是几十到几百个样本。

知乎链接: 深度学习(1)----Batch_size 对模型训练的影响

总结

batch_size是有一个阙值的,一旦超过这个阙值,模型性能就会退化。通俗解释一下,大的batch_size本质上是对训练数据更优的一种选择,但是同时也会限制模型的探索能力模型训练的时候极易陷入这种很尖的极小值很难跳脱出来,但是相对小一些的batch_size就很容易能检索到一个非常好的极小值点

原文阐述

如果要探究batch_size对模型训练的影响,首先要了解一下深度学习的三种梯度下降框架:

  • BGD Batch gradient descent 全量梯度下降
  • SGD Stochastic gradient descent 随机梯度下降
  • MBGD Mini-batch gradient descent 小批量梯度下降
1. BGD

全量梯度下降BGD是最原始的梯度下降算法,每次都使用全部的训练集样本来更新模型参数,公式如下:
在这里插入图片描述
求得loss之后,对所有的参数进行更新:
在这里插入图片描述
如下格式:
在这里插入图片描述
取全量的数据进行梯度更新的方式,每次参数更新都会超着正确的方向进行,对于凸函数来说,可以达到全局最优解,对于非凸函数来说,也可以达到局部最优解。缺点显而易见,全量更新比较缓慢,如果数据集很大,loss的存储和最后全量loss进行的梯度更新回消耗大量的内存。

2. SGD

随机梯度下降SGD每次都会随机选择一个样本梯度更新:
在这里插入图片描述
优点是对于非凸函数来说,可能会从当前的局部最小值中跳脱出来,找到更好的极小值点。但是最大的问题是每次更新可能不会按照正确的方向进行,模型训练非常的震荡。
在这里插入图片描述
并且实验表明,SGD甚至可能根本不会收敛
在这里插入图片描述

3. MBGD

小批量梯度下降法 mini-batch gradient descent,其实就是综合了BGD和SGD,在更新速度和更新次数之间找到一个平衡,每次更新从训练集中随机选择m个样本进行学习:
在这里插入图片描述
这就是现在一直使用的方法,小批量梯度下降降低了收敛的波动性,即降低了参数更新的方差,更新更加的平缓稳定,并且batch数据可以并行化计算,相当于兼顾了速度和效果。

我们要探究batch_size对模型的影响,从参数更新的公式可以看出,模型性能受学习率的影响是最大的,其次是batch_size的大小。可以归纳的一点是,比较大的batch_size进行梯度更新模型训练会更加平滑,最后模型也相对于小batch_size有更优秀的模型性能
在这里插入图片描述

那么是不是batch_size越大越好呢?

Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour
https://arxiv.org/pdf/1706.02677
在这里插入图片描述

增加batch_size是有利于收敛的稳定性,但是当batch_size特别大的时候,模型的性能会急剧下降,为什么?这其实很反直觉,因为BGD就告诉我们了,batch_size越大,梯度更新的方向也就越准确,性能肯定会提高。

On large-batch training for deep learning: Generalization gap and sharp minima
https://openreview.net/pdf?id=H1oyRlYgg

论文发现,用很大的batch_size训练模型,模型训练和测试会收敛到一个很尖的极小值,相反小的Batch却能够使模型收敛在一个较为平稳的极小值。即大Batch方法训练时候更容易收敛到sharp minima(尖锐极小值),而小Batch的方法则更容易收敛到flat minima(平滑极小值),并且大 Batch 方法不容易从这些 sharp minima (尖锐极小值) 的 basins 中出来。

在这里插入图片描述
在这里插入图片描述

为什么LB(Large batch size)为何不如SB(Small batch size)的原因猜测:
  • LB过度拟合模型
  • LB更容易陷入鞍点
  • LB缺少SB的随机探索性,更依赖于初始值,容易陷入初始点周围的最小值,而SB可以探索到离初始点更远的最小值
  • LB和SB收敛到具有不同泛化特性的最小化点

因此,batch_size是有一个阙值的,一旦超过这个阙值,模型性能就会退化。通俗解释一下,大的batch_size本质上是对训练数据更优的一种选择,但是同时也会限制模型的探索能力模型训练的时候极易陷入这种很尖的极小值很难跳脱出来,但是相对小一些的batch_size就很容易能检索到一个非常好的极小值点

再继续类比一下,如果要兼顾事业和家庭,就相当于事业、家庭的大量相关数据进行模型训练,让你自己能够更好的拟合这些数据,但是因为数据太多,要尽量拟合这些数据就会让你更倾向于跳到一个比较舒服的局部最优解里面出不来;但是如果你刚开始只是要考虑事业,你可以不断的进行选择找到比较多的局部最优解,因为跳脱出每一个最优解的代价都不会很大,因为batch数据比较少,loss比较小,带来的阻力不会很大

当然,作者也提出了解决方案:利用SB先训练一定的轮数,让模型远离初始点附近的sharpness点,然后再换成LB接着训练,可以收敛至sharpness较小的点,并且可以提升测试精度。

回到现实,在真实的场景中实际上还是batch_size越大越好,毕竟论文做实验验证使用的batch_size都是几十K的数量级,在实际场景中因为显存的限制,batch_size根本不会达到这么大

还有一点特别在实际应用中,如果训练样本越不均衡,batch_size越大对分类的结果影响也越大

END


http://www.ppmy.cn/news/494860.html

相关文章

京东云监控对接

目录 需求监控指标推送具体操作相关链接 需求 由于一些特殊的需求对接, 不能使用我们自己的监控服务告警, 只能对接京东云的监控告警。因此向京东云推送监控告警信息成了最终要的问题。 监控指标推送 官方推荐使用京东云SDK, 编写推送代码…

【观察】魔方安全:攻击面管理SaaS化创新,让企业在攻防实战中化被动为主动...

近年来,随着网络安全形势的愈加严峻,行业对实战型攻防技术的认知也有了快速的提升。在此背景下,偏向于主动防御且更注重实战对抗的攻击面管理(Attack Surface Management,简称“ASM”)理念以及相关技术&…

EtherCAT运动控制卡开发教程之Qt(上):开发环境配置与简单运动控制应用

今天,正运动小助手给大家分享一下EtherCAT运动控制卡开发教程之Qt,主要介绍一下如何通过Qt编程实现直线插补的运动控制。 ECI2828运动控制卡的硬件介绍 ECI2828系列控制卡支持最多达16轴直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随…

如何使用追光几何查看三维文件(佛科院——深夜学习)

目录 一、追光几何网址 二、使用步骤 1.新建工程 2.上传文件 3.功能介绍 4. 具体步骤 总结 一、追光几何网址 追光几何(EverCraft)-创新高效的3D图纸管理与协作平台追光几何(EverCraft)是一款3D图纸管理和多人协作设计平台,帮助设计师团队更好地管理图纸和提升工作效率。…

49:第五章:开发admin管理服务:2:开发【管理员登录】接口;(Spring Security的BCrypt密码哈希;token存到redis中;设置cookie;BO实体类接收参数;参数校验;)

说明: (1)本篇博客内容:开发【管理员登录】接口; 目录 一:管理员账户(包括admin_user表),简述; 1.admin_user表,简介; 2.直接去数…

零零信安:攻击面管理(ASM)技术详解和实现

攻击面管理(Attack Surface Management)的概念已经出现三年以上,但是在过去的2021年,整个安全行业突然迅速接纳了它。一方面,这表示行业对实战型攻防技术的认知有了快速提升,另一方面,这意味着攻…

攻击面分析及应对实践

作者:vivo 互联网安全团队- PengQiankun 本文结合CASSM和EASM两个新兴的攻击面管理技术原理对资产管理,综合视图(可视化),风险评估,风险修复流程四个关键模块进行简述,为企业攻击面安全风险管理…

EASM,让你更快获悉资产风险

随着IoT、云计算、物联网等技术的广泛应用,远程办公软件的普及和各种应用程序的增加,企业资产开始变得分散,IT业务越来越开放与复杂,这意味着资产的风险暴露面也在随之增长,企业的网络安全形势日益严峻,资产…