神经网络中的Epoch、Iteration、Batchsize以及参数调整方式

神经网络中的Epoch、Iteration、Batchsize以及参数调整方式

batch-size(超参数)

批次的大小,神经网络经历一次迭代的需要计算的次数,神经网络经历一个迭代需要计算batchsize次;

Iteration

迭代,表示神经网络中参数经历一次更新即为一次迭代;一次迭代需要通过神经网络计算batchsize次,通过反向传播方法调整参数;

Epoch(超参数)

训练轮次,定义了学习算法在整个训练数据集中的工作次数。一个Epoch意味着训练数据集中的每个样本都有机会更新内部模型参数。Epoch由一个或多个Batch组成,具有一批的Epoch称为批量梯度下降学习算法,当一个完整的数据集通过神经网络一次并且返回了一次,这个过程称为一次epoch。然而当一个epoch对于计算机而言太过庞大的时候,需要将其拆分成多个小块;

epoch增加一次,神经网络的权重更新一次,随着epoch数量增加,曲线会从训练集合中的欠拟合变为过拟合。

batch-size的选择方式

全批次数据集数量较少的时候,选择全数据集,全数据集确定的方向能够更好的代表总体。准确的朝向训练集极值所在的方向收敛。但是对于过大的数据集,全链接会出现很多问题,内存消耗大;
迷你批次选择一个适合的batchsize,将会以batch的大小将数据输入深度学习的网络中,然后计算这个batch中所有样本的平均损失,即损失函数是这个batch的样本平均损失
**随机(如果一个batch为1)**每次修正方向以各自样本的梯度方向修正,横冲直撞难以达到收敛

适度增加Batch_size的优点:

1.提高了内存利用率,用时间换取空间;
2.单次epoch中模型迭代次数减少,提高了运行速度;
3.适当的增加Batch_size,梯度下降方向准确度增加,训练时振动幅度减少
4.如果batchsize过小,训练数据会非常难以收敛;增大batchsize处理的速度会加快,所需的内存容量增加(epoch的次数需要增加以达到最好的效果)
batchsize的正确选择是为了在内存效率和内存容量之间寻找最佳平衡

如何选择合适的epoch:

epoch代表了模型的训练轮次,通过学习曲线判断训练一定轮次后模型的泛化能力,是否欠拟合或学习不足,是否适合训练数据集和测试数据集;
iteration-迭代次数
batchsize个样本训练一次,即为1个迭代,通过反复的迭代,达到多次训练后所需要的模型目标和结果。
学习曲线:模型学习后的表现能力;

batchsize是否需要越大越好

batchsize如果设置的过大,会导致误差被平均的更厉害,导致模型的收敛会更快,但是泛化能力不足。

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值