Batch_size的作用:
- 决定了下降的方向。
在合理范围内增大Batch_size的好处:
- 提高内存利用率以及大矩阵乘法的并行化效率;
- 跑完一次epoch(全数据集)所需要的迭代次数减少,对相同的数据量,处理速度比小的Batch_size要更快;
- 在一定范围内,一般来说Batch_size越大,其确定的下降方向越准,引起的训练震荡越小
盲目增大Batch_size,Batch_size过大的坏处:
- 提高了内存利用率,但内存容量可能撑不住;
- 跑完一次epoch所需的迭代次数变小,但想要达到相同的精度,
其所花费的时间大大增加,从而对参数的修正也显得更加缓慢。 - Batch_size增大到一定程度,其确定的下降方向已经基本不再变化(
会影响随机性的引入)
Batch_size的两种极端设置
一、batch_size为全数据集(Full Batch Learning):
在数据集比较小时使用,好处是:
- 由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向;
- 由于不同权重的梯度值差别巨大,因此选择一个全局的学习率很困难。Full Batch Learning可以使用Rprop只基于梯度符号并且针对性单独更新各权值。
在更


3万+

被折叠的 条评论
为什么被折叠?



