中文

深度学习框架中的自称假设:一项探索性研究

软件工程 2021-04-30 v1

摘要

深度学习(DL)框架已在许多领域的软件项目中被广泛设计、实现和使用。然而,由于知识或信息缺乏、时间压力、上下文复杂等原因,开发过程中出现了各种不确定性,导致 DL 框架中产生了假设。尽管并非所有假设都对框架有害,但未能察觉某些假设可能导致关键问题(例如系统漏洞与故障、不一致性以及成本增加)。作为解决关键问题的第一步,有必要探索并理解 DL 框架中做出的假设。为此,我们利用来自 GitHub 上九个流行 DL 框架项目的代码注释,开展了一项探索性研究,以理解自称假设(SCAs)的分布、分类与影响。结果为:(1)3,084 条 SCAs 分散在九个 DL 框架的 1,775 个文件中,从 1,460(TensorFlow)到 8(Keras)条 SCA 不等。(2)SCAs 有四种有效性类型:有效 SCA、无效 SCA、条件 SCA 和未知 SCA;基于内容有四种 SCA 类型:配置与上下文 SCA、设计 SCA、张量与变量 SCA,以及其他 SCA。(3)有效与无效 SCAs 均可能在 DL 框架的特定范围(如函数内)产生影响。做出 SCAs 会引入一定的技术债务。存在基于 SCAs 编写的源代码与做出的决策。这是首个关于 DL 框架中 SCAs 的研究,有助于研究者和从业者全面理解所做出的假设。我们还提供了首个 SCA 数据集,以供该领域的进一步研究与实践。

关键词

引用

@article{arxiv.2104.14208,
  title  = {Self-Claimed Assumptions in Deep Learning Frameworks: An Exploratory Study},
  author = {Chen Yang and Peng Liang and Liming Fu and Zengyang Li},
  journal= {arXiv preprint arXiv:2104.14208},
  year   = {2021}
}