paperbot · PL 论文追踪

全部论文 待读 收藏

P2 DeepLocalize: Fault Localization for Deep Neural Networks

DeepLocalize:深度神经网络的故障定位
ICSE 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE)2021匹配度 3/10 · 该论文研究 DNN 训练阶段的动态故障定位,属于机器学习系统调试,与用户关注的应用静态分析于 ML/Agentic 程序、LLM 与静态分析/浮点/贝叶斯程序分析交叉等核心方向关联较弱。其构建的 40 个真实缺陷 benchmark 有一定参考价值,但方法本身不是静态分析,也不涉及 LLM/Agent 或浮点程序分析。引用 116 inbox
Mohammad Wardat, Wei Le, Hridesh Rajan
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出 DeepLocalize,通过动态追踪 DNN 训练中层间数值传播趋势,自动检测并定位故障层或超参数。

DNN 普遍存在缺陷,但模型常表现为黑箱,现有调试技术难以定位 DNN 错误。本文提出 DeepLocalize,将深度学习应用转换为命令式表示,或利用回调机制插入探针,在训练数据上动态分析 DNN 产生的执行轨迹。基于层间传播数值的历史趋势,算法捕获数值错误并监控训练过程,评估各层/参数与模型结果的关联,从而判定模型是否有缺陷并定位根因(故障层或超参数)。作者从 Stack Overflow 和 GitHub 收集含 40 个真实错误模型及补丁的基准。评估表明:DeepLocalize 在 34/40 例中检测出故障,优于 Keras 最佳调试方法的 32/40;并能定位 21/40 个缺陷,而 Keras 未定位任何故障。

问题
现有调试技术难以支持 DNN 缺陷定位,模型黑箱导致无法确定错误层或超参数。
方法
将 DNN 应用转为命令式表示或用回调插入探针,对训练轨迹动态分析,依据层间数值传播的历史趋势和层/参数与结果的相关性定位故障。
评估
在从 Stack Overflow 和 GitHub 收集的 40 个真实错误模型及补丁基准上评估,与 Keras 常用调试方法对比检测与定位效果。
原文摘要(Abstract)

Deep Neural Networks (DNNs) are becoming an integral part of most software systems. Previous work has shown that DNNs have bugs. Unfortunately, existing debugging techniques don't support localizing DNN bugs because of the lack of understanding of model behaviors. The entire DNN model appears as a black box. To address these problems, we propose an approach and a tool that automatically determines whether the model is buggy or not, and identifies the root causes for DNN errors. Our key insight is that historic trends in values propagated between layers can be analyzed to identify faults, and also localize faults. To that end, we first enable dynamic analysis of deep learning applications: by converting it into an imperative representation and alternatively using a callback mechanism. Both mechanisms allows us to insert probes that enable dynamic analysis over the traces produced by the DNN while it is being trained on the training data. We then conduct dynamic analysis over the traces to identify the faulty layer or hyperparameter that causes the error. We propose an algorithm for identifying root causes by capturing any numerical error and monitoring the model during training and finding the relevance of every layer/parameter on the DNN outcome. We have collected a benchmark containing 40 buggy models and patches that contain real errors in deep learning applications from Stack Overflow and GitHub. Our benchmark can be used to evaluate automated debugging tools and repair techniques. We have evaluated our approach using this DNN bug-and-patch benchmark, and the results showed that our approach is much more effective than the existing debugging approach used in the state-of-the-practice Keras library. For 34/40 cases, our approach was able to detect faults whereas the best debugging approach provided by Keras detected 32/40 faults. Our approach was able to localize 21/40 bugs whereas Keras did not localize any faults.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{abs-2103-03376,
  title = {DeepLocalize: Fault Localization for Deep Neural Networks},
  author = {Mohammad Wardat and Wei Le and Hridesh Rajan},
  booktitle = {ICSE},
  year = {2021},
  doi = {10.1109/icse43902.2021.00034}
}