首页 新闻 会员 周边

模型不收敛是怎么回事?

0
[待解决问题]

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

人工智能技术与咨询的主页 人工智能技术与咨询 | 菜鸟二级 | 园豆:228
提问于:2022-09-07 10:38
< >
分享
所有回答(2)
0

1、反向传播链断裂

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

2、学习率设置不合理

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

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

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

持之以衡- | 园豆:242 (菜鸟二级) | 2022-09-07 11:41
0

补充几个实际开发中常见的模型不收敛原因:

3)数据未归一化。输入特征量纲差异大时,loss landscape变得狭长,梯度震荡无法收敛。图像数据除以255、表格数据做StandardScaler是基本操作。

4)梯度消失/爆炸。深网络用sigmoid容易梯度消失,改用ReLU或残差连接能缓解。梯度爆炸时加梯度裁剪(gradient clipping)。

5)初始化不当。全零初始化导致所有神经元学到相同特征,用He初始化(ReLU)或Xavier初始化(tanh/sigmoid)。

6)损失函数选错。回归用了分类的loss,或者多分类用了MSE而不是CrossEntropy,模型根本在优化错误目标。

7)Dead ReLU。学习率过大导致神经元永久输出0,梯度不再流过。用Leaky ReLU或降低学习率。

调试顺序建议:先看loss曲线走势(nan=数值溢出,平线=没在学,震荡=学习率太大),再逐层打印梯度norm定位问题层。

badhope33834 | 园豆:280 (菜鸟二级) | 2026-09-16 08:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册