看到知乎上有人讨论batch_size大小的设置对于结果带来的影响,在这里进行一下总结
batch_size设的大一些,收敛得快,也就是需要训练的次数少,准确率上升得也很稳定,但是实际使用起来由于泛化能力弱,所以精度不高。
batch_size设的小一些,收敛得慢,而且可能准确率来回震荡,所以还要把基础学习速率降低一些;但是实际使用起来精度较高。
一年多之后忽然又想起了这个答案的存在,那我就多说几句,随着batch normalization的普及,收敛速度已经不像前bn时代一样需要非常玄学的调参,
现在一般都还是采取大batch size,毕竟GPU友好嘛,高票答案说的batch size大了一个,epoch update数量少了的这个缺点在bn面前似乎也没太多存在感了。不过bn的坏处就是不能用太小的batch size,要不然mean和variance就偏了。所以现在一般是显存能放多少就放多少。而且实际调起模型来,真的是数据分布和预处理更为重要,数据不行的话 玩再多花招也没用
链接:https://www.zhihu.com/question/32673260/answer/56393757
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。