浅谈batch, batch_size, lr, num_epochs

 深度学习的入门者对这几个参数的见解,看了很多文章,博客终于有了自己的一点见解

batch:叫做批量,也就是一个训练集,通常是一个小的训练集。然后在上面做梯度下降,优化的算法叫随机梯度下降法。

batch_size:叫做小批量,这个取值通常是2**n,将一个训练集分成多个小批量进行优化。这种优化算法叫做批量随机优化算法,这种算法更加常用,因为下一个小批量会根据上一个小批量计算出来的参数继续进行优化,更新。

lr:是learning rate(学习率)也就是步长,每次更新参数所走的一个步长。这个步长值通常比较小,但是不能很小,如果大的话可能会引起更新参数的震荡,小的话就会更新得很慢,可能一直达不到收敛。

num_epochs:这个是一个周期。一个训练周期是指完全遍历完整个训练集,而和batch_size不同,batch_size是将训练训练集分成多个小批量,在每个小批量上进行更新参数。

问题就在这儿,困扰我蛮久,就是既然在一个训练集上每个小批量都在沿着损失函数值小的方向更新,那么只用完整的遍历一个训练集就好了,为什么要遍历多次训练集,有多个训练周期?

num_epochs也是一个超参数,是要慢慢调整的,我的理解是下一个训练周期会跟着上一个训练周期的参数继续更新,所以训练周期过多可能会导致过拟合,过少可能会导致欠拟合。也就是这个超参数需要人为的调整。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值