中文

提升深度学习缺陷可复现性的实证研究

软件工程 2024-10-23 v4 机器学习

摘要

背景:深度学习在各个领域取得了显著进展。然而,与任何软件系统一样,深度学习系统也包含缺陷,其中一些可能产生严重影响,自动驾驶汽车的事故就是明证。尽管深度学习技术取得了长足进步,但很少有研究关注深度学习缺陷的复现,而这是解决缺陷的关键步骤。现有文献表明,仅有 3% 的深度学习缺陷是可复现的,这凸显了进一步研究的必要性。目标:本文考察深度学习缺陷的可复现性。我们识别出能够提高深度学习缺陷可复现性的编辑操作和有用信息。方法:首先,我们从 Stack Overflow 和 GitHub 上构建了一个包含 668 个深度学习缺陷的数据集,涉及三个框架和 22 种架构。其次,我们从 668 个缺陷中使用分层抽样选取了 165 个缺陷,并尝试确定其可复现性。在复现这些缺陷的过程中,我们识别出用于复现的编辑操作和有用信息。第三,我们使用 Apriori 算法来识别复现特定类型缺陷所需的有用信息和编辑操作。最后,我们进行了一项涉及 22 名开发人员的用户研究,以评估我们的发现在真实场景中的有效性。结果:我们成功复现了尝试的 165 个缺陷中的 148 个。我们识别出十种编辑操作和五种有用的组件信息类型,它们可以帮助我们复现深度学习缺陷。借助我们的发现,开发人员能够多复现 22.92% 的缺陷,并将复现时间缩短 24.35%。结论:我们的研究解决了深度学习缺陷可复现性这一关键问题。从业者和研究人员可以利用我们的发现来提高深度学习缺陷的可复现性。

关键词

引用

@article{arxiv.2401.03069,
  title  = {Towards Enhancing the Reproducibility of Deep Learning Bugs: An Empirical Study},
  author = {Mehil B. Shah and Mohammad Masudur Rahman and Foutse Khomh},
  journal= {arXiv preprint arXiv:2401.03069},
  year   = {2024}
}

备注

Accepted at the Journal of Empirical Software Engineering (EMSE)