神经网络中关于 epoch iteration batch-size 的意义

epoch

使用训练集的全部数据对模型进行一次完整训练,被称之为“一代训练”

一个时期=所有训练样本的一个正向传递和一个反向传递。

iteration

使用一个batch的数据对模型进行一次参数更新的过程,称之为“一次训练”
每一次迭代得到的结果都会被作为下一次迭代的初始值。

一个迭代=一个正向通过+一个反向通过。

batch-size

一次训练所选取的样本数
使用训练集中的一小部分样本对模型权重进行一次反向传播的参数更新,这一小部分样本称之为“一批数据”

batch-size的正确选择是为了在内存效率和内存容量之间寻找最佳平衡。
1个batch包含的样本的数目,通常设为2的n次幂,常用的包括64,128,256
在这里插入图片描述全批次(蓝色)
如果数据集比较小,我们就采用全数据集。全数据集确定的方向能够更好的代表样本总体,从而更准确的朝向极值所在的方向。
注:对于大的数据集,我们不能使用全批次,因为会得到更差的结果。

迷你批次(绿色)
选择一个适中的Batch_Size值。就是说我们选定一个batch的大小后,将会以batch的大小将数据输入深度学习的网络中,然后计算这个batch的所有样本的平均损失,即代价函数是所有样本的平均。

随机(Batch_Size等于1的情况)(红色)
每次修正方向以各自样本的梯度方向修正,横冲直撞各自为政,难以达到收敛。

Number of Batches = Training Set size / Batch Size

梯度下降方式Training Set SizeBatch SizeNumber of Batches
全批次(BGD)NN1
随机(SGD)N1N
迷你批次(Mini-Batch)NBN/B+1
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值