loss曲线震荡(模型不收敛、acc震荡)

loss震荡分析:

loss值在一段下降后突然激增,说明训练过程有细节上的问题,应该是在训练时,对权重和偏置的改变量过大所致。或者是在训练过程中,训练方法上有软逻辑错误。(比如大数据集下每跑一个数据进行一次权重偏置更新这种玄学问题)

检查训练软逻辑是否有错,尝试逐步减小learning rate,或者使用剃度裁剪或其他巧妙方法控制训练时梯度,避免梯度爆炸的问题。

这种loss值上下摆动的情况在时序处理类神经网络训练时时有发生,剃度裁剪是比较有效的方法。如果对此现象不加以遏制,有可能训练成功,但是在检验集上表现很差;或者梯度持续爆炸,loss摆动幅度增大,数据出现inf或nan,训练全部白费。

如果说loss值在一个上界和下界中间来回摆动,也是learning rate过大或者梯度有轻微爆炸情况的表现,这就像是你快到山谷底端,但是步子跨得很大,跳到对面了,然后又跳回来,如此反复。

转自知乎:https://www.zhihu.com/question/301010737/answer/523893704
 

解决办法:

保持batch_size不变,减少lr,对于时序模型,进行梯度裁剪或者梯度衰减

或者 https://www.cnblogs.com/Mrzhang3389/p/10164241.html



 

你可能感兴趣的:(调参优化)