Yolo中epoch、batch、batchsize的含义

epoch是指模型对整个训练数据集的一次完整遍历,每个epoch中模型会通过反向传播更新权重。Batch是数据集的子集,BatchSize定义每次训练的样本数。合适的BatchSize能平衡训练速度和准确性,过大可能导致过拟合,过小则可能欠拟合。SGD、Mini-batchSGD和GradientDescent是不同的优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

epoch:直接意思为时期。在算法中表示模型对整个训练数据集的一次完整迭代。

在每个epoch中,模型会遍历整个训练数据集一次,通过反向传播和优化算法来更新模型的权重,以最小化 损失函数 并提高模型的性能。

在YOLOv5中,每个epoch的训练过程中,模型会遍历数据集中的每个批次(batch)数据,并根据损失函数计算预测值与真实标签之间的差异,然后通过反向传播算法来调整模型的参数,以使得模型在下一次遍历数据集时能够更好地预测猴猕猴桃。

需要注意的是,epoch并不是越大越好。过少的epoch可能导致模型欠拟合,而过多的epoch可能导致模型过拟合。因此,通常需要进行实验和调优,找到最佳的epoch数以获得最佳的模型性能。

当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次 epoch。(也就是说,所有训练样本在神经网络中都进行了一次正向传播和一次反向传播 )

再通俗一点,一个Epoch就是将所有训练样本训练一次的过程。

当一个Epoch的样本(也就是所有的训练样本)数量可能太过庞大(对于计算机而言),就需要把它分成多个小块,也就是就是分成多个Batch 来进行训练。

  • Batch(批 / 一批样本):

将整个训练样本分成若干个Batch。

  • Batch_Size(批大小):

每批样本的大小。

  • Iteration(一次迭代):

训练一个Batch就是一次Iteration(这个概念跟程序语言中的迭代器相似)


Batch Size

直观的理解:

Batch Size定义:一次训练所选取的样本数。

Batch Size的大小影响模型的优化程度和速度。同时其直接影响到GPU内存的使用情况,假如GPU内存不大,该数值最好设置小一点。

为什么要提出Batch Size?

在没有使用Batch Size之前,这意味着网络在训练时,是一次把所有的数据(整个数据库)输入网络中,然后计算它们的梯度进行反向传播,由于在计算梯度时使用了整个数据库,所以计算得到的梯度方向更为准确。但在这情况下,计算得到不同梯度值差别巨大,难以使用一个全局的学习率,所以这时一般使用Rprop这种基于梯度符号的训练算法,单独进行梯度更新。

在小样本数的数据库中,不使用Batch Size是可行的,而且效果也很好。但是一旦是大型的数据库,一次性把所有数据输进网络,肯定会引起内存的爆炸。所以就提出Batch Size的概念。

Batch Size合适的优点:

1、通过并行化提高内存的利用率。就是尽量让你的GPU满载运行,提高训练速度。

2、单个epoch的迭代次数减少了,参数的调整也慢了,假如要达到相同的识别精度,需要更多的epoch。

3、适当Batch Size使得梯度下降方向更加准确。

Batch Size从小到大的变化对网络影响

1、没有Batch Size,梯度准确,只适用于小样本数据库

2、Batch Size=1,梯度变来变去,非常不准确,网络很难收敛。

3、Batch Size增大,梯度变准确,

4、Batch Size增大,梯度已经非常准确,再增加Batch Size也没有用

注意:Batch Size增大了,要到达相同的准确度,必须要增大epoch。


GD(Gradient Descent):就是没有利用Batch Size,用基于整个数据库得到梯度,梯度准确,但数据量大时,计算非常耗时,同时神经网络常是非凸的,网络最终可能收敛到初始点附近的局部最优点。

SGD(Stochastic Gradient Descent):就是Batch Size=1,每次计算一个样本,梯度不准确,所以学习率要降低。

mini-batch SGD:就是选着合适Batch Size的SGD算法,mini-batch利用噪声梯度,一定程度上缓解了GD算法直接掉进初始点附近的局部最优值。同时梯度准确了,学习率要加大。


Reference: https://zhuanlan.zhihu.com/p/390341772

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值