首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在培训期间更改批次大小

问在培训期间更改批次大小
EN

Data Science用户
提问于 2021-01-29 08:23:20
回答 1查看 2K关注 0票数 6

从某种意义上说,批次大小的选择是随机性的度量:

  • 一方面,较小的批数使得梯度下降更具有随机性,SGD在整个数据上可以明显偏离精确的GD,但允许进行更多的探索,并在某种意义上进行贝叶斯推断。
  • 较大的批次大小更接近于精确的梯度,但这样更有可能使数据过拟合或陷入局部最优。处理更大的批量也加快了并行结构的计算,但增加了对RAM或GPU的需求。

似乎一种明智的策略是从较小的批量开始,在初始阶段进行大量的探索,然后逐步增加批量大小,对模型进行微调。

然而,我没有看到在实践中实施这一战略?结果是效率低下吗?或者用Dropout选择适当的学习速率调度器就足够好了吗?

EN

回答 1

Data Science用户

回答已采纳

发布于 2021-01-29 11:30:12

资源的有效利用

这是一个与学习速度相平衡的游戏,而你通常不会看到人们这么做的原因之一就是你想尽可能多地使用GPU。

通常倾向于从内存中的最大批次大小开始,然后相应地提高学习速度。这适用于“有效批处理大小”,例如,当您有4个GPU,每个GPU与batch_size=10一起运行时,您可能有一个nb_gpu * initial_lr的全局学习速率(与和或所有4个GPU的平均值一起使用)。

最后的“最佳方法”通常是特定于问题的--对于GAN类型的模型来说,小批处理可能不起作用,而对于某些基于视觉的任务,大批处理可能是缓慢的和次优的。

之友不允许朋友使用大批处理大小的

几乎所有时候都有文献支持使用小批处理大小。尽管这一想法得到了YannLe村的支持,但还是有意见分歧的。

超收敛

如果您对更快的收敛感兴趣,还可以考虑其他一些技巧,玩循环学习。

票数 6
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/88656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档