一种基于回调的深度神经网络错误定位方法

文档序号:37434319发布日期:2024-03-25 19:30阅读:8来源:国知局
一种基于回调的深度神经网络错误定位方法

本发明属于dnn错误定位,具体涉及一种基于回调的深度神经网络错误定位方法。


背景技术:

1、近年来,深度神经网络(deep neural network,dnn)在各种领域都得到了广泛的应用,随之而来的是如何有效地监控、诊断和解决训练过程中可能出现的问题的需求。传统的方法往往依赖于手动检查和解读训练指标,这不仅费时,而且可能缺乏精确性和实时性。

2、为了解决这些问题,近期出现了一种基于回调机制的流行方法,允许实时监控模型训练的状态。图1是现有的技术deeplocalize[1]框架,准备dnn模型来收集动态轨迹,使用回调机制,在模型训练期间传递一个专门的回调方法callback作为参数。这个自定义回调函数允许开发人员捕获和保存模型变量。并且记录了前向阶段的训练数据、应用前向函数后的结果、应用激活函数的结果、损失值和准确率和反向传播阶段的权值的更新和偏置的更新等关键值。在训练过程中,进行在线统计分析其学习率、输入数据、激活函数和损失函数,将程序的状态与预先定义的错误条件进行比较。最后,报告程序是否包含错误,以及该错误存在于哪些层和阶段。

3、根据deeplocalize[1],研究者通过设计一个特殊的回调函数来实现这一目标。这个函数能够在模型训练的前向和反向传播阶段捕获并记录关键的模型变量。此外,他们还引入了在线统计分析,该分析将模型的当前状态与预定义的一系列错误条件(如学习率问题、输入数据异常、不恰当的激活/损失函数选择等)进行比对。尽管这种方法在某些情况下已被证明是有效的,但它也存在局限性,例如可能无法全面地捕获所有的潜在问题,特别是那些在训练早期阶段不易察觉的问题。现有基于回调机制的深度神经网络错误定位方法,虽能捕获关于学习率、输入数据及激活/损失函数的一些问题,但对于欠拟合、过拟合等问题,其定位能力不足。

4、参考文献[1]wardat m,le w,rajan h.deeplocalize:fault localization fordeep neural networks[c].2021ieee/acm 43rd international conference onsoftware engineering(icse).ieee,2021:251-262.


技术实现思路

1、发明目的:针对以上问题,本发明提出一种针对深度神经网络训练问题的错误定位方法。特别是在深度神经网络的训练过程中,利用回调机制对欠拟合和过拟合进行定位,从而为开发者提供了一个更全面和精确的深度学习模型训练问题的实时诊断工具。

2、技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于回调的深度神经网络错误定位方法,包括以下步骤:

3、步骤1、dnn模型准备;选取dnn错误模型,并构建训练数据集,在模型训练时,添加一个回调函数callback,保存模型变量并收集训练信息;

4、步骤2、dnn错误检测;在前向传播过程中,跟踪以下五项指标:损失值、准确率、验证损失值、验证准确率、神经元数量和层数,并在每次迭代后记录各指标值;

5、步骤3、dnn统计分析;根据步骤2所得各指标值,对欠拟合和过拟合进行定位,完成对深度学习模型训练的实时诊断。

6、进一步的,所述步骤3通过统计分析,检测训练中dnn的欠拟合和过拟合两种错误类型,步骤如下:

7、步骤3-1:检测dnn欠拟合;应用统计工具获取并分析训练和验证的损失及准确率,识别欠拟合现象;

8、步骤3-2:检测dnn过拟合;应用统计工具获取并分析训练和验证的损失和准确率,同时将模型的复杂度作为参考因素,通过可视化指标,评估模型的状态和表现;

9、步骤3-3;令dnn模型的状态与预定义的错误条件相匹配,报告dnn模型中的错误,并指出其发生的位置。

10、进一步的,所述步骤3-1检测dnn欠拟合,具体包括:

11、滑动平均分析:计算训练损失和验证损失在一定的周期范围内的滑动平均,用于平滑短期的波动并获取稳定的损失趋势;

12、变化率计算:对比当前周期与前一周期的损失,计算损失的变化率,如果变化率在数个周期都低于设定值,表示模型没有从数据中学习到足够的信息;

13、训练与验证准确率差异:监测训练准确率与验证准确率之间的差异,如果训练准确率距100%差值小于设定值但验证准确率与训练准确率的差值大于设定值,表示存在欠拟合问题;

14、阈值判定:分别为损失的变化率和训练与验证准确率的差异设定阈值t1和t2,如果连续数个周期都出现损失的变化率低于t1,或者训练与验证准确率的差异高于t2,发出欠拟合的警告;

15、可视化分析:绘制训练损失、验证损失、训练准确率和验证准确率的图表,用于观察各指标随时间的变化趋势,辅助欠拟合的判断。

16、进一步的,所述步骤3-2检测dnn过拟合,具体包括:

17、损失与准确率分析:监测训练损失和验证损失,如果训练损失持续下降,但验证损失开始上升或变化增大,表示模型过拟合;对比训练准确率和验证准确率,如果训练准确率在p%的周期里上升速率超过设定阈值并且训练准确率距100%差值在设定范围内,但验证准确率没有在p%的周期里上升速率超过设定阈值并且验证准确率距100%差值没有在设定范围内,且开始下降,表示模型过拟合;

18、滑动平均:计算训练损失和验证损失在一定周期范围内的滑动平均,每次添加一个新的周期并删除最旧的周期,监测训练损失和验证损失两者损失趋势,并判断训练损失和验证损失之间的差异是否增大,如果增大超过设定阈值,表示模型过拟合;

19、可视化分析:绘制训练损失、验证损失、训练准确率和验证准确率的图表,查看各指标随时间的变化趋势,判断是否出现过拟合。

20、有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:

21、本发明提出的基于回调的深度神经网络错误定位方法,进一步完善了deeplocalize,能够额外地准确地定位出欠拟合和过拟合问题,为深度学习模型的错误诊断提供更全面的支持。相较于传统方法,本方法更为细致和全面,特别是在错误检测和统计分析方面。引入了包括滑动平均、变化率计算、阈值判定和可视化分析等工具,提高了深度神经网络模型的稳定性和性能。本发明的方法不仅扩展了现有的错误定位技术,还为深度学习领域的研究和应用提供了更为全面、精确和创新的支持,可以进一步提高深度神经网络模型的可靠性和效率。



技术特征:

1.一种基于回调的深度神经网络错误定位方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于回调的深度神经网络错误定位方法,其特征在于,所述步骤3通过统计分析,检测训练中dnn的欠拟合和过拟合两种错误类型,步骤如下:

3.根据权利要求2所述的基于回调的深度神经网络错误定位方法,其特征在于,所述步骤3-1检测dnn欠拟合,具体包括:

4.根据权利要求2或3所述的基于回调的深度神经网络错误定位方法,其特征在于,所述步骤3-2检测dnn过拟合,具体包括:


技术总结
本发明公开了一种基于回调的深度神经网络错误定位方法,分为模型准备、错误检测、统计分析三个步骤。在模型准备阶段,选择合理的DNN模型以满足问题需求。错误检测阶段持续跟踪关键参数,通过回调机制监控训练损失、验证损失、训练准确率和验证准确率等参数。统计分析阶段运用滑动平均、变化率计算、阈值判定和可视化分析等方法,准确定位模型中的错误,提高深度学习模型的诊断精度和全面性。针对DNN模型中的欠拟合和过拟合问题进行错误定位,实现了对深度学习模型训练问题的实时诊断与定位,提高了定位的全面性和精确性,为深度学习模型的错误诊断提供更加全面的支持。

技术研发人员:王进,吴涛,杨杨,曹硕裕,梁瑞
受保护的技术使用者:南通大学
技术研发日:
技术公布日:2024/3/24
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1