[论文解读] Software Engineering Practice in the Development of Deep Learning Applications
本论文通过针对195名从业者的调查,研究了深度学习(DL)应用开发中的软件工程挑战。研究识别出深度学习开发生命周期中的13项关键挑战,并据此提炼出7条可操作的建议,以改进深度学习的软件工程实践与研究。
Deep-Learning(DL) applications have been widely employed to assist in various tasks. They are constructed based on a data-driven programming paradigm that is different from conventional software applications. Given the increasing popularity and importance of DL applications, software engineering practitioners have some techniques specifically for them. However, little research is conducted to identify the challenges and lacks in practice. To fill this gap, in this paper, we surveyed 195 practitioners to understand their insight and experience in the software engineering practice of DL applications. Specifically, we asked the respondents to identify lacks and challenges in the practice of the development life cycle of DL applications. The results present 13 findings that provide us with a better understanding of software engineering practice of DL applications. Further, we distil these findings into 7 actionable recommendations for software engineering researchers and practitioners to improve the development of DL applications.
研究动机与目标
- 从工业从业者视角,理解深度学习(DL)应用在实际开发中所面临的软件工程实践挑战与不足。
- 识别在深度学习应用开发生命周期各阶段(包括数据管理、模型训练、测试与调试)中所面临的具体困难。
- 通过扎根于从业者经验,弥合现有软件工程技术与深度学习应用开发独特需求之间的差距。
- 为提升深度学习应用的可靠性、可维护性与工程严谨性,提供可操作的洞见与研究方向。
提出的方法
- 对来自不同公司的195名工业从业者开展全面调查,收集关于深度学习软件工程实践的见解。
- 通过文献回顾及对来自百度、阿里巴巴和华为的八名开发者的半结构化访谈,为问卷设计提供依据。
- 设计了一项开放式问卷,涵盖深度学习开发生命周期的所有阶段,重点聚焦于测试与调试挑战。
- 采用定性分析方法,将回应整合为13项核心发现,反映从业者的实际经验与期望。
- 将发现转化为面向软件工程研究人员与从业者的7条可操作建议。
- 通过工业访谈者对调查问题进行验证,以减少偏差并提升问题的清晰度与相关性。
实验结果
研究问题
- RQ1从业者在深度学习应用开发生命周期中面临的主要挑战是什么?
- RQ2深度学习中的数据驱动编程实践在开发挑战方面与传统软件工程有何不同?
- RQ3从业者在测试与调试深度学习模型时遇到的具体困难是什么?
- RQ4当前的软件工程技术在应用于深度学习应用开发时存在哪些关键缺口?
- RQ5软件工程研究如何能更好地支持工业中深度学习从业者不断演变的需求?
主要发现
- 从业者在数据管理方面面临重大挑战,包括数据质量、标注一致性以及数据版本控制,这些因素虽关键却常在深度学习工作流中缺乏充分支持。
- 模型训练常因超参数调优的复杂性、缺乏可重现性以及训练进度监控不足而受阻。
- 由于缺乏标准化的测试框架以及深度学习输出的非确定性特性,从业者普遍认为深度学习模型的测试与调试极具挑战性。
- 从业者报告在模型验证、版本控制与部署方面缺乏工具与自动化支持,导致采用非正式且易出错的实践。
- 在团队协作及生产环境中,对更好的文档化、可追溯性与协作支持存在强烈需求。
- 许多从业者对深度学习系统的长期可维护性与可靠性表示担忧,尤其是在模型随时间退化或在新环境中表现不佳时。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。