[深度学习] 神经网络中的 batch 和 epoch

参考文章为 神经网络中Batch和Epoch之间的区别是什么?

Sample

Sample单个数据。即有意义的数据最小单位

训练数据集由许多Sample组成。

batch

batch是一个人为设定超参数

batch的意思是“批”,即把一定数目的Sample组合到一起,组成一个batch
batch_size表示一个batchSample的个数

简单来说,一个batch就是一定数目的Sample集合

另外,batch的大小与梯度下降的种类有关:

  • 批量梯度下降 —> batch_size=训练集的大小(整个训练集作为一个batch)
  • 随机梯度下降 —> batch_size= 1(每个batch中只有一个Sample
  • 小批量梯度下降 —> 1 <batch_size<训练集的大小(每个batch中Sample的个数大于1小于训练集Sample的总数)

epoch

epoch是一个人为设定超参数

epoch定义了学习算法整个训练数据集中的工作次数
一个epoch表示,训练集中的每个Sample都有机会更新内部模型参数。
epoch由一个或多个batch组成(由batch中包含的Sample的量决定)。例如,只有一个batchepoch,称为批量梯度下降学习算法。

epoch 数量一般很大,通常是数百或数千,允许学习算法运行到模型的误差被充分地最小化。
文献和教程可能会设置为10,100,500,1000和更大数。

小结

Samplebatchepoch的关系大致如图。
在这里插入图片描述

示例

假设有一个包含 200 个样本(Sample)的训练数据集,并且选择的batch量大小为 51000epoch

这意味着训练数据集将分为 40batch,每个batch5 个样本。
每批 5 个样品后,模型权重将更新。

这也意味着一个epoch将涉及 40batch40模型更新

1000epoch,模型将暴露(或传递)整个训练数据集 1000 次。在整个培训过程中,总共有 40000 batch

  • 17
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值