中文

开发者对机器学习库有哪些疑问?一项基于 Stack Overflow 的大规模研究

软件工程 2019-07-01 v1

摘要

现代软件系统正日益将机器学习(ML)作为不可或缺的组成部分。然而,我们尚未了解软件开发人员在学习 ML 库以及在其系统中使用它们时所面临的困难。为此,本报告对 Stack Overflow(一个流行的在线技术问答论坛)上涉及十个 ML 库(即 Tensorflow、Keras、scikit-learn、Weka、Caffe、Theano、MLlib、Torch、Mahout 和 H2O)的 3,243 个高赞问答帖子进行了详细的(人工)检查。我们将这些问题分类到 ML 流水线的七个典型阶段,以理解库与阶段之间的相关性。然后我们研究这些问题并进行统计分析,以探索四个研究目标的答案(找出最困难的阶段、理解问题本质、库的本质以及研究困难是否随时间保持一致)。我们的发现揭示了该领域对软件工程(SE)研究的迫切需求。静态和动态分析大多缺失且急需,以帮助开发人员更早地发现错误。虽然已有一些关于调试的早期研究,但还需要更多工作。API 误用十分普遍,API 设计改进迫在眉睫。最后且有些令人惊讶的是,在提供更高层次抽象与需要理解训练模型行为之间,普遍存在着一场拉锯战。

关键词

引用

@article{arxiv.1906.11940,
  title  = {What Do Developers Ask About ML Libraries? A Large-scale Study Using Stack Overflow},
  author = {Md Johirul Islam and Hoan Anh Nguyen and Rangeet Pan and Hridesh Rajan},
  journal= {arXiv preprint arXiv:1906.11940},
  year   = {2019}
}