选取训练神经网络时的Batch size

结论:

  1. batch size  一般为2的幂次方,128为分位线,向下(乘以0.5)或向上(乘以2)测试效果,若向下效果继续,乘以0.5,直指结果不再变好,数值范围一般在:2到512.有论文说最好的实验表现都是在batch size处于2~32之间得到的
  2. 一阶优化算法:sgd,adam等,一般Batch size比较小.二阶优化算法:共轭梯度法,L-BFGS等需要二阶导数,太小,对二阶导数误差累积太大,所以需要只比较大,可以几千到两万
  3. batch size 初衷是为了解决内存不够问题,但是却带来了跳出局部最优的增益,因为小批量数据对梯度带来了噪音,相对于完成梯度来说,每步更新的梯度下降了,但是总体来说,却避免了局部最优
  4. 大批量的batchsize 等价于小的学习率
  5. 小batch训练的稳定性较差。小batch确实有这个缺点,而且对设置学习速率有更高的要求,否则可能引起恶性的震荡无法收敛。但是小batch的优点仍然是显著的,DL书里建议使用逐步增加的batch size来兼并两者的优点。

参考文献

怎么选取训练神经网络时的batch size

深度学习的跃进来源于不同技术的组合梯度更新方式初始化方式非线性目标函数正规项

发布了59 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/u013385018/article/details/104817426