欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

深度学习中的batch_size的大小对学习效果的影响

程序员文章站 2022-04-18 20:05:35
...

1 大的batchsize减少训练时间,提高稳定性
2 大的batchsize导致模型泛化能力下降在一定范围内,增加batchsize有助于收敛的稳
如果增加了学习率,那么batch size最好也跟着增加,这样收敛更稳定。
尽量使用大的学习率,因为很多研究都表明更大的学习率有利于提高泛化能力。
选择一个适中的Batch Size 值

当然可以,这就是批梯度下降法(Mini-batches Learning)。因为如果数据集足够充分,那么用-半 (基至少得多)的数据训练算出来的梯度与用全部数据训练出来的梯度是几乎-样的。

在合理范围内,增大Batch Size有何好处?

●内存利用率提高了,大矩阵乘法的并行化效率提高。

●跑完一次epoch (全数据集)所需的迭代次数减少,对于相同数据量的处理速度进一 步加快。
●在一定范围内,-般来说Batch Size越大,其确定的下降方向越准,引起训练震荡越小。

盲目增大Batch Size有何坏处?

●内存利用率提高了,但是内存容量可能撑不住了。

●跑完一次epoch (全数据集)所需的迭代次数减少,要想达到相同的精度,其所花费的时间大大增加了,从而对参数的修正也就显得更加缓慢。

●Batch_ Size增大到一定程度,其确定的下降方向已经基本不再变化。

  ●Batch Size太小,算法不收敛。
  ●随着Batch_ Size增大,处理相同数据量的速度越快。
  ●随着Batch_ Size增大,达到相同精度所需要的epoch数量越来越多。
  ●由于上述两种因素的矛盾, Batch_ Size增大到某个时候,达到时间上的最优。
  ●由于最终收敛精度会陷入不同的局部极值,因此Batch_ Size增大到某些时候,达到最终收敛精度上的最优。
相关标签: 深度学习入门