模型不收敛是怎么回事?

模型不收敛是怎么回事?

模型不收敛是怎么回事?
模型不收敛是怎么回事?

1、学习率设置的太大(模型和数据都没有问题),导致梯度下降算法不断横跳
2、训练数据太少(不足几百张,但模型足够强劲),且没有使用迁移学习,导致模型梯度弥散
3、模型结构太简单,导致无法无法有效的提取数据的特征(训练数据足够多)
4、loss选择有问题,导致梯度优化方向无法实质性生效(模型、数据、学习率都没有问题)。例如:只用dice loss训练语义分割模型。
5、数据质量有问题(同样的训练数据其标签却存在冲突)

1、反向传播链断裂

即其中有部分的变量可能被转换为 numpy 数组,虽然仍然能够参与计算,但却失去了梯度传播的能力,导致无法向后面的变量传播梯度

2、学习率设置不合理

如果学习率设置得太大,则容易造成 loss 变成 nan,导致模型不收敛,设置得太小,则会导致模型学习得很慢

3、神经网络层参数没有进行好的参数初始化

因为参数初始化会影响到模型的训练速度