软件工程中深度学习的可复现性与可复制性研究
软件工程
2024-12-10 v1 人工智能
机器学习
摘要
近年来,深度学习 (DL) 技术在软件工程 (SE) 研究者中获得了显著的流行。这是因为它们常能在无需大量人工特征工程努力与复杂领域知识的情况下解决诸多 SE 挑战。尽管许多 DL 研究在有效性上报告了相对于其他最先进 (state-of-the-art) 模型的显著优势,它们常忽略两个因素:(1) 可复制性 (replicability)——所报告的实验结果能否以高概率使用相同 DL 模型与相同数据近似复现;以及 (2) 可复现性 (reproducibility)——所报告的实验发现能否通过采用相同实验协议与 DL 模型但不同采样的真实世界数据的新实验复现。不同于传统机器学习 (ML) 模型,DL 研究普遍忽视这两个因素,并将其视为次要威胁或留待未来工作。这主要源于高模型复杂度伴随大量手动设置参数以及耗时的优化过程。本研究中,我们对近期发表于二十个 SE 期刊或会议的 93 项 DL 研究进行了文献综述。我们的统计显示了在 SE 中研究这两个因素的紧迫性。此外,我们重跑了 SE 中四个具代表性的 DL 模型。实验结果显示了可复制性与可复现性的重要性,其中因不稳定的优化过程,某 DL 模型所报告的性能无法被复制。若模型训练不收敛,或性能对词表大小与测试数据敏感,可复现性可能大幅受损。因此,SE 界亟需提供指向复制包的持久链接、增强基于 DL 的解决方案的稳定性与收敛性,并避免性能对不同采样数据的敏感性。
引用
@article{arxiv.2006.14244,
title = {On the Replicability and Reproducibility of Deep Learning in Software Engineering},
author = {Chao Liu and Cuiyun Gao and Xin Xia and David Lo and John Grundy and Xiaohu Yang},
journal= {arXiv preprint arXiv:2006.14244},
year = {2024}
}