一.batchsize相关
1、batchsize并非越大越好,极限自然是训练样本总数。但是GD(Gradient Descent)的效果很差(建议使用SGD),容易陷入到局部极小值或鞍点。
2、batchsize选取,以128作为分水岭,向下*0.5,向上*2。训练后比较测试结果,然后重复,直到效果不再提升。
3、对于一阶梯度下降法,如SGD,Adagrad,Adam等,建议较小的batchsize(几十或几百)。而二阶优化算法,如共轭梯度,L-BFGS,建议大batchsize(几千甚至上万)。
4、有人提出GPU对于2次幂的batchsize比整数倍的更有效果,如2,4,8,16...
5、LeCun表示对大于32的batchsize不太喜欢,来自于他读完《Revisiting Small Batch Training for Deep Neural Networks》论文的感想(有待考证)。该论文指出,2~32之间的batchsize的效果最好。与第3条矛盾,欢迎实践证明。本人平时训练,基本32或64。