深度学习笔记:Batch size问题总结
Posted AI 菌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习笔记:Batch size问题总结相关的知识,希望对你有一定的参考价值。
理论系列:
实战系列:
Batch Size指的是一次训练所选取的样本数,Batch Size的大小影响模型的优化程度和速度。
1、Batch Size对训练效果的影响
- 当Batch Size太小时,比如Batch Size=1。一次迭代只需对一个样本进行计算,因此单次迭代速度很快,可用于在线学习。在实际过程中,由于单个样本的随机性,一方面,训练会剧烈波动;一方面, 这种波动可能使训练到达更好的局部最小值。
- 当Batch Size增大时,GPU的利用率会提高,对于相同的数据量处理的速度会更快一些。与此同时,Batch Size越大,其确定的下降方向越准,网络训练(收敛)的更快。
- 当Batch Size太大时,比如每次迭代更新使用所有的训练样本。那么迭代速度就会非常慢,甚至会出现训练不动的情况。
2、合理增大Batch Size 的好处
在合理范围内增大Batch Size 的好处在以下几个方面:
- 一次训练多组数据,内存利用率提高;GPU并行计算效率提高;
- 相比于小批量,对于相同的数据量,处理速度更快;
- 在一定范围内,一般来说,Batch Size 越大,其确定的梯度下降方向越准,引起的训练震荡就越小。
3、Batch Size太大的坏处
如果盲目增大Batch Size,对训练会有一定的坏处:
- 一次喂入的数据量太大,内存容量可能撑不住,或者显卡显存不足。
- 增大到一定程度后,其确定的梯度下降方向基本不再变化了。
- 容易陷入局部最小值,且很难再跳出。
最好的关系是互相成就,各位的「三连」就是【AI 菌】创作的最大动力,我们下期见!
以上是关于深度学习笔记:Batch size问题总结的主要内容,如果未能解决你的问题,请参考以下文章
tensorflow学习笔记--深度学习中的epochs,batch_size,iterations详解