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

基于Fashion MNIST的双层神经网络训练-验证准确率学习曲线异常排查

Fashion MNIST双层神经网络训练异常问题分析

从你提供的学习曲线来看,核心问题是模型几乎没有学到任何有效特征——训练准确率和验证准确率都徘徊在10%左右(和随机猜测Fashion MNIST的10类准确率一致),同时损失曲线虽然在下降,但这种下降并没有对应到分类能力的提升,说明模型的优化方向完全偏离了任务目标。

可能的问题原因

  • 输入数据未归一化:Fashion MNIST的像素值范围是0-255,直接输入会导致ReLU激活后的神经元易陷入饱和,或梯度更新不稳定,让模型无法有效捕捉特征。正确操作是将像素值归一化到[0,1]或[-1,1]区间。
  • 网络结构与初始化问题:
    • 隐藏层神经元数量过少:如果中间层神经元不足,模型拟合能力不足以区分Fashion MNIST的类别特征。
    • 权重初始化错误:全零初始化会导致所有神经元输出一致,完全无法学习;初始化值过大可能让ReLU直接进入死区(输入为负时激活为0,参数无法更新),过小则会导致梯度消失。
  • 损失函数或输出层实现错误:
    • 手动实现softmax交叉熵时的数值不稳定:比如softmax计算时出现溢出,导致损失下降但参数更新无效。建议使用框架自带的稳定版损失函数(如tf.keras.losses.SparseCategoricalCrossentropy),避免手动实现的数值问题。
    • 输出层维度不匹配:Fashion MNIST是10分类任务,输出层必须设置为10个神经元,若维度错误(比如设为1),会直接导致分类失效。
  • 优化器参数问题:
    • 学习率不合理:过大的学习率会让模型在损失最小值附近震荡,无法收敛;过小则参数更新缓慢,看似损失下降实则未学到有效特征。
    • 优化器实现错误:比如手动实现SGD时遗漏动量,或选择了不适合的优化器,导致参数更新效率极低。
  • 数据加载/预处理错误:
    • 标签与样本不匹配:若训练集/验证集的标签被错误统一设置,或标签加载错位,模型学习的目标完全错误,自然无法提升准确率。
    • 数据集混淆:比如误将测试集当作训练集使用,或验证集数据存在异常,也会导致准确率始终处于随机水平。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:20:20