大的batchsize 降低了模型泛化能力

最近在跑ImageNet 数据集,在弄到了一个很好的服务器以后,我把模型训练从原来的batchsize=128调到可512,这个时候突然发现模型训练的准确度降低了很多。一开始我以为是我模型的问题,我把模型稍微修改了,然后把学习率之类的也进行了调整,最后发现这个问题还是存在。这个时候我才意识到这个不一定时我的模型的问题了。也许是batchsize的问题了,然后我进行了一些文献的调查发现确实有这些问题。

然而在早期深度学习,过大的 batch size 训出的模型往往会比小 batch size 训出的模型差,  人们深入地探讨了这种现象。他们发现在训练集准确率一致时,用大 batch size 训练得到的模型的泛化性能会明显低于小 batch size 训练的模型,并将其称为 generalization gap。他们使用 sharp/flat minima 的猜想去解释 gap 的产生,并提出了一个简单的 sharpness 的估计方案去论证大 batch size 训练收敛到的解比较 sharp。

ON LARGE-BATCH TRAINING FOR DEEP LEARNING: GENERALIZATION GAP AND SHARP MINIMA

猜你喜欢

转载自blog.csdn.net/nijiayan123/article/details/109853301