标签:net 学习 question htm 艺术 模型 mini nis 绿色
batch_size可以理解为批处理参数,它的极限值为训练集样本总数,当数据量比较少时,可以将batch_size值设置为全数据集(Full batch cearning)。
实际上,在深度学习中所涉及到的数据都是比较多的,一般都采用小批量数据处理原则。
小批量训练网络的优点:
小批量训练网络的缺点:
如下图所示
stochastic(红色)表示在线学习,batch_size = 1;
mini_batch(绿色)表示批梯度下降法,batch_size = 100;
batch(蓝色)表示全数据集梯度下降法,batch_size = 1100;
从图上可以发现,batch_szie=1 较 batch_size=100 的波动性更大。
设置mini_batch大小是一种艺术,太小时可能会使学习过于随机,虽然训练速率很快,但会收敛到不可靠的模型;mini_batch过小时,网络训练需要很长时间,更重要的是它不适合记忆。
如何选择合适的batch_size值:
采用批梯度下降法mini batch learning时,如果数据集足够充分,用一半(甚至少的多)的数据训练算出来的梯度与全数据集训练full batch learning出来的梯度几乎一样。
batch_size值增大到超过合理范围时,和全数据训练full batch learning就会表现出相近的症候;内存容量占有率增加,跑完一次epoch(全数据集)所需的迭代次数减少,达到相同的精度所耗损的时间增加,从而对参数的修正也就显得更加缓慢。
调节 Batch_Size 对训练效果影响到底如何?
这里跑一个 LeNet 在 MNIST 数据集上的效果。MNIST 是一个手写体标准库
运行结果如上图所示,其中绝对时间做了标准化处理。运行结果与上文分析相印证:
Chapter 8Optimization for Training DeepModels
标签:net 学习 question htm 艺术 模型 mini nis 绿色
原文地址:https://www.cnblogs.com/gengyi/p/9853664.html