1.一种基于回调的深度神经网络错误定位方法,其特征在于,包括以下步骤:步骤1、DNN模型准备;选取DNN错误模型,并构建训练数据集,在模型训练时,添加一个回调函数Callback,保存模型变量并收集训练信息;
步骤2、DNN错误检测;在前向传播过程中,跟踪以下五项指标:损失值、准确率、验证损失值、验证准确率、神经元数量和层数,并在每次迭代后记录各指标值;
步骤3、DNN统计分析;根据步骤2所得各指标值,对欠拟合和过拟合进行定位,完成对深度学习模型训练的实时诊断;
步骤3‑1:检测DNN欠拟合;应用统计工具获取并分析训练和验证的损失及准确率,识别欠拟合现象,具体包括:滑动平均分析:
计算训练损失和验证损失在一定的周期范围内的滑动平均,用于平滑短期的波动并获取稳定的损失趋势;
变化率计算:
对比当前周期与前一周期的损失,计算损失的变化率,如果变化率在数个周期都低于设定值,表示模型没有从数据中学习到足够的信息;
训练与验证准确率差异:
监测训练准确率与验证准确率之间的差异,如果训练准确率距100%差值小于设定值但验证准确率与训练准确率的差值大于设定值,表示存在欠拟合问题;
阈值判定:
分别为损失的变化率和训练与验证准确率的差异设定阈值T1和T2,如果连续数个周期都出现损失的变化率低于T1,或者训练与验证准确率的差异高于T2,发出欠拟合的警告;
可视化分析:
绘制训练损失、验证损失、训练准确率和验证准确率的图表,用于观察各指标随时间的变化趋势,辅助欠拟合的判断;
步骤3‑2:检测DNN过拟合;应用统计工具获取并分析训练和验证的损失和准确率,同时将模型的复杂度作为参考因素,通过可视化指标,评估模型的状态和表现,具体包括:损失与准确率分析:
监测训练损失和验证损失,如果训练损失持续下降,但验证损失开始上升或变化增大,表示模型过拟合;
对比训练准确率和验证准确率,如果训练准确率在p%的周期里上升速率超过设定阈值并且训练准确率距100%差值在设定范围内,但验证准确率没有在p%的周期里上升速率超过设定阈值并且验证准确率距100%差值没有在设定范围内,且开始下降,表示模型过拟合;
滑动平均:
计算训练损失和验证损失在一定周期范围内的滑动平均,每次添加一个新的周期并删除最旧的周期,监测训练损失和验证损失两者损失趋势,并判断训练损失和验证损失之间的差异是否增大,如果增大超过设定阈值,表示模型过拟合;
可视化分析:
绘制训练损失、验证损失、训练准确率和验证准确率的图表,查看各指标随时间的变化趋势,判断是否出现过拟合;
步骤3‑3;令DNN模型的状态与预定义的错误条件相匹配,报告DNN模型中的错误,并指出其发生的位置。