深度学习笔记:Batch size问题总结

Posted AI 菌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习笔记:Batch size问题总结相关的知识,希望对你有一定的参考价值。


理论系列:

    深度学习笔记(一):卷积层+激活函数+池化层+全连接层

    深度学习笔记(二):激活函数的前世今生

    深度学习笔记(三):BatchNorm(BN)层

    深度学习笔记(四):梯度下降法与局部最优解

    深度学习笔记(五):欠拟合、过拟合

    防止过拟合(5.1):正则化

    防止过拟合(5.2):Dropout

    防止过拟合(5.3):数据增强

实战系列:

    《TensorFlow2 入门指南》专栏

    《CV实战项目:图像分类+目标检测+语义分割》专栏


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详解

tensorflow学习笔记--深度学习中的epochs,batch_size,iterations详解

深度学习中epoch,batch的概念--笔记

深度学习中epoch,batch的概念--笔记

深度学习中epoch,batch的概念--笔记

深度学习(二十九)Batch Normalization 学习笔记