[解决]神经网络训练过程中loss中出现Non

 该循环中batch_size=64,取

i=0-->[0, 63],

i=64-->[64, 127]

....

训练正常,当进行到

i=320-->[320, 383]的循环中,loss出现nan的情况


原因:梯度爆炸

reference该文章讲的较为清晰,我只是从表面概括下

可以发现,在i=256时,梯度的参数出现较大的情况,如

 e+16,e+17等较大的值


方法

batch_size=64--->改为32

注:我只尝试了这一种方法,同样也可以调整学习率、对数据集进行归一化、标准化处理等方法,要是改变batch_size的方法失效,我再试试其他方法,到时再来补充。

猜你喜欢

转载自blog.csdn.net/azheng02/article/details/130521767