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 do not 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 that automatically determines whether the model is buggy or not, and identifies the root causes. Our key insight is that historic trends in values propagated between layers can be analyzed to identify faults, and 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 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 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 out of 40 cases, our approach was able to detect faults whereas the best debugging approach provided by Keras detected 32 out of 40 faults. Our approach was able to localize 21 out of 40 bugs whereas Keras did not localize any faults.


翻译:深心神经网络( DNNS) 正在成为大多数软件系统的一个组成部分。 过去的工作显示, DNNS 有错误。 不幸的是, 现有的调试技术并不支持 DNN 错误本地化。 由于对模型行为缺乏理解, 整个 DNN 模型显示为黑盒。 为了解决这些问题, 我们建议了一种方法, 自动确定模型是否错误, 并找出根源。 我们的关键洞察力是, 可以分析各层之间传播的数值的历史趋势, 以识别错误, 并本地化错误。 为此, 我们首先能够对深学习应用程序进行动态分析: 将它转换为一个 Kerimal 代表, 并使用回调机制。 两个机制都允许我们插入探测器, 以便能够对 DNNNW 生成的轨迹进行动态分析。 然后, 我们对轨迹进行动态分析, 找出导致错误的层层层层层层。 我们用了40 本地的错误来识别模型, 并且通过在培训中发现每个层次的错误。 我们从40 级数据库中收集了40 错误, 我们用了40 的错误模型来测量了40 。 我们使用了40 的错误的错误, 我们用了40, 的错误去基底基, 我们用了40 测试的方法, 我们用了40 的错误的方法可以进行真正的错误来测量了40 。 我们用了40 。 我们用了40,, 我们用了40, 我们用了40 做了了40, 我们的错误 的错误来去错误, 我们用了40, 我们用了40 学习了40 做了很多的错误, 我们用了40, 我们用了40 的错误, 我们用了40, 的错误, 我们用了40, 的错误 的错误, 我们用的错误, 我们用了40 的错误, 我们用了40,, 我们用了40, 的错误,, 的错误 的错误 的错误 的错误 的错误, 做了了40, 的错误, 我们用了40,我们用了我们用了我们用了40, 我们用的错误,我们用的错误 的错误 的错误 做了真正的 的错误, 的

0
下载
关闭预览

相关内容

【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
39+阅读 · 2020年2月21日
MATLAB玩转深度学习?新书「MATLAB Deep Learning」162页pdf
专知会员服务
101+阅读 · 2020年1月13日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
【推荐】卷积神经网络类间不平衡问题系统研究
机器学习研究会
6+阅读 · 2017年10月18日
【推荐】MXNet深度情感分析实战
机器学习研究会
16+阅读 · 2017年10月4日
【推荐】深度学习目标检测全面综述
机器学习研究会
21+阅读 · 2017年9月13日
【推荐】Python机器学习生态圈(Scikit-Learn相关项目)
机器学习研究会
6+阅读 · 2017年8月23日
Arxiv
37+阅读 · 2021年2月10日
Deep Learning for Energy Markets
Arxiv
10+阅读 · 2019年4月10日
Arxiv
6+阅读 · 2018年10月3日
Deep Learning
Arxiv
6+阅读 · 2018年8月3日
Arxiv
6+阅读 · 2018年3月28日
Arxiv
8+阅读 · 2018年3月20日
VIP会员
相关VIP内容
【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
39+阅读 · 2020年2月21日
MATLAB玩转深度学习?新书「MATLAB Deep Learning」162页pdf
专知会员服务
101+阅读 · 2020年1月13日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
【推荐】卷积神经网络类间不平衡问题系统研究
机器学习研究会
6+阅读 · 2017年10月18日
【推荐】MXNet深度情感分析实战
机器学习研究会
16+阅读 · 2017年10月4日
【推荐】深度学习目标检测全面综述
机器学习研究会
21+阅读 · 2017年9月13日
【推荐】Python机器学习生态圈(Scikit-Learn相关项目)
机器学习研究会
6+阅读 · 2017年8月23日
相关论文
Arxiv
37+阅读 · 2021年2月10日
Deep Learning for Energy Markets
Arxiv
10+阅读 · 2019年4月10日
Arxiv
6+阅读 · 2018年10月3日
Deep Learning
Arxiv
6+阅读 · 2018年8月3日
Arxiv
6+阅读 · 2018年3月28日
Arxiv
8+阅读 · 2018年3月20日
Top
微信扫码咨询专知VIP会员