为何带随机权重的AlexNet训练时验证准确率高于训练准确率且无变化?
模型训练异常原因排查
问题背景
我使用Kaggle的Food11图像数据集训练带随机权重的AlexNet模型,当前超参数配置:
- 学习率(Learning Rate):0.001
- 批次大小(Batch Size):64
- 损失函数:交叉熵损失(Cross Entropy Loss)
- 优化器:Adam Optimizer
训练过程出现异常:验证准确率远高于训练准确率,且两者数值全程无变化,对应图表显示训练与验证准确率曲线完全平直,验证准确率始终高于训练准确率。
当更换为学习率0.0001、批次大小32等超参数时,模型训练恢复正常,对应图表显示训练与验证准确率随训练轮次逐步提升,且训练准确率略高于验证准确率,符合正常训练规律。
当前异常超参数下的混淆矩阵显示,模型对各类别的预测呈现无规律的随机分布,未体现出对类别特征的学习效果。
异常原因分析
学习率过高导致参数更新失效
Adam优化器对学习率较为敏感,0.001的学习率对于AlexNet+64批次的组合来说过高。过大的学习率会让参数更新幅度过大,要么跳过最优解进入参数不再变化的“死区”,要么引发梯度爆炸后被截断,最终模型权重停留在随机初始化状态,完全无法学习。而验证准确率更高的原因,大概率是训练集应用了正则化(如Dropout)或数据增强,验证集未做相同处理,导致验证时模型的表现反而优于带正则化约束的训练过程。批次大小与学习率不匹配
Adam的有效学习率和批次大小正相关,当批次大小从32提升到64时,最优学习率通常需要按比例下调。直接沿用0.001的学习率,相当于有效学习率翻倍,超出了模型的承受范围,导致参数更新逻辑失效。混淆矩阵的佐证
异常超参数下的混淆矩阵呈现随机预测的特征,说明模型权重未发生有效更新,完全符合学习率过高导致训练停滞的表现。
内容的提问来源于stack exchange,提问作者vasu sharma
相关产品推荐
相关产品推荐

