机器学习学习笔记——batchsize越大越好?

batchsize不是越大越好

使用mini-batch好处:
提高了运行效率,相比batch-GD的每个epoch只更新一次参数,使用mini-batch可以在一个epoch中多次更新参数,加速收敛。
解决了某些任务中,训练集过大,无法一次性读入内存的问题。
虽然第一点是mini-batch提出的最初始的原因,但是后来人们发现,使用mini-batch还有个好处,即每次更新时由于没有使用全量数据而仅仅使用batch内数据,从而人为给训练带来了噪声,而这个操作却往往能够带领算法走出局部最优(鞍点)。理论证明参见COLT的这篇论文Escaping From Saddle Points-Online Stochastic Gradient for Tensor Decomposition。也就是说,曾经我们使用mini-batch主要是为了加快收敛和节省内存,同时也带来每次更新有些“不准”的副作用,但是现在的观点来看,这些“副作用”反而对我们的训练有着更多的增益,也变成mini-batch技术最主要的优点。(有点像伟哥西地那非,最早是被发明出来治疗心血管疾病的,但是发现其副作用是容易使人勃起,最后反而是用来助勃,而不是用来治疗心血管了)
链接

你可能感兴趣的:(机器学习学习笔记,深度学习,神经网络,机器学习)