Skip to main content
QUICK REVIEW

[论文解读] Machine Learning Model Development from a Software Engineering Perspective: A Systematic Literature Review

Giuliano Lorenzoni, Paulo S. C. Alencar|arXiv (Cornell University)|Feb 15, 2021
Scientific Computing and Data Management参考文献 29被引用 11
一句话总结

本篇系统性文献回顾研究探讨了软件工程(SE)实践如何通过将机器学习(ML)工作流程与既定的SE生命周期阶段对齐,来提升机器学习模型的开发。研究识别出数据处理和特征工程是最具挑战性的阶段,强调了在ML中采用结构化SE流程的必要性,并提出采纳SE方法论可提升模型质量、可重用性与可扩展性,尤其在大规模AI系统中效果显著。

ABSTRACT

Data scientists often develop machine learning models to solve a variety of problems in the industry and academy but not without facing several challenges in terms of Model Development. The problems regarding Machine Learning Development involves the fact that such professionals do not realize that they usually perform ad-hoc practices that could be improved by the adoption of activities presented in the Software Engineering Development Lifecycle. Of course, since machine learning systems are different from traditional Software systems, some differences in their respective development processes are to be expected. In this context, this paper is an effort to investigate the challenges and practices that emerge during the development of ML models from the software engineering perspective by focusing on understanding how software developers could benefit from applying or adapting the traditional software engineering process to the Machine Learning workflow.

研究动机与目标

  • 调查传统软件工程(SE)生命周期实践如何被调整以改进机器学习(ML)模型的开发。
  • 从SE视角识别ML模型开发中的关键挑战,特别是在数据密集型和迭代式工作流程中。
  • 分析需求工程、版本控制、测试和模块化等SE实践在ML系统中应用的程度。
  • 根据SE原则评估现有ML工作流程的成熟度与适用性,并识别当前研究与实践中的空白。
  • 为研究人员和从业者提供可操作的见解,以在ML开发中整合SE方法论,从而提升可靠性、可维护性与可扩展性。

提出的方法

  • 遵循PRISMA指南开展系统性文献回顾(SLR),以识别并分析关于SE实践在ML开发中应用的相关研究。
  • 通过在学术数据库中使用与软件工程、机器学习及开发生命周期阶段相关的关键词,制定全面的检索策略。
  • 应用纳入与排除标准,筛选出聚焦于ML模型开发且明确整合或分析SE流程的研究。
  • 将识别出的研究映射到标准的SE生命周期阶段(如:需求、设计、实现、测试、部署),以评估其对齐程度与存在的空白。
  • 通过主题分析综合研究发现,重点关注挑战、已采纳的实践以及ML工作流程的成熟度水平。
  • 通过与先前研究(如Amershi等、Correia等)交叉验证结果,并评估有效性威胁,包括抽样偏差和有限的定量验证。

实验结果

研究问题

  • RQ1在机器学习模型开发工作流程中,传统软件工程生命周期阶段被应用或调整的程度如何?
  • RQ2从软件工程视角来看,ML模型开发中最具挑战性的环节是什么,特别是在数据处理和特征工程方面?
  • RQ3现有ML工作流程在结构、成熟度以及对模块化、可重用性与质量保证的支持方面,与既定SE流程相比如何?
  • RQ4SE实践与ML开发整合过程中存在哪些关键空白?如何通过改进来提升模型的可靠性与可扩展性?
  • RQ5是否需要一种与SE原则对齐的统一或算法/数据特定的ML工作流程,还是通用的SE框架已足够?

主要发现

  • 数据处理和特征工程在ML模型开发中始终被识别为最具挑战性的阶段,其难度超过模型训练与评估。
  • 尽管关注度持续上升,但仅有极少数研究明确应用或调整完整的SE生命周期阶段到ML工作流程中,表明存在显著的研究与实践空白。
  • ML生命周期中对数据存在强烈依赖,这要求采用类似软件配置管理的数据管理与版本控制实践。
  • 由于数据依赖性和模型相互依赖性,ML系统中的模块化与可重用性远比传统软件复杂。
  • 采纳版本控制、测试和需求工程等SE实践可提升模型的可重现性、可维护性与质量,尤其在大规模AI系统中效果显著。
  • 在本综述中仅有一项研究采用严谨的定量测量来验证SE实践对ML工作流程的影响,凸显了实证验证方面的重大空白。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。