You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无激活函数线性神经网络训练梯度下降发散问题咨询

结论

线性无激活函数的神经网络本身可以实现恒等映射,架构没有问题,权重和误差爆炸完全由代码实现错误导致。

核心错误点
  • 梯度更新的矩阵顺序错误
    你使用的更新规则w=w+n*error'*X不符合MSE损失的梯度下降逻辑。对于输入矩阵X维度为m*3、误差矩阵error维度为m*3的场景,正确的梯度相关矩阵应为X' * error(3行m列 × m行3列 = 3行3列,和权重维度匹配),你写的error' * X得到的是完全无关的更新量,直接导致权重更新方向错误,数值快速爆炸。
  • 未定义目标矩阵D
    你的任务是输入输出恒等映射,目标矩阵D应等于输入X,你提供的代码中没有对D的赋值逻辑,若D是未初始化的随机值或其他错误数值,也会加剧训练偏离。
  • 可选优化:学习率和迭代次数调整
    你设置的初始学习率0.01偏大,迭代次数100偏少,可适当调小学习率到0.001级别,增加迭代次数到1000次提升收敛效果。
数据集的额外说明

你生成的数据集X中z是x和y的线性组合,因此X的秩只有2,不存在唯一的3×3满秩权重矩阵实现完美恒等映射,最终收敛后会存在固定的拟合误差,但该问题不会导致权重爆炸。

修复后代码示例

数据生成

m=50;
x=rand(m,1);
y=rand(m,1);
z=2.*x + 3.*y + 1;
X=[x,y,z];
D = X; % 显式定义恒等映射的目标输出

训练代码

w=0.001*rand(3,3); 
lr = 0.001; % 调小学习率避免震荡
for i=1:1000 
    Y = X * w; 
    error = D - Y;
    w = w + lr * X' * error; % 修正更新规则
end

内容的提问来源于stack exchange,提问作者amir1122

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:54:11