Manas:挖掘软件仓库以辅助 AutoML
软件工程
2022-02-15 v2 机器学习
摘要
如今深度学习被广泛用于构建软件。深度学习中的一个软件工程问题是,为任务找到合适的卷积神经网络(CNN)模型对开发者而言可能是一项挑战。近期关于 AutoML、更确切地说是神经架构搜索(NAS)的工作,以 Auto-Keras 等工具为代表,旨在通过将此问题视为搜索问题来解决:起点是一个默认 CNN 模型,对该 CNN 模型的变异允许探索 CNN 模型空间以找到对问题最有效的 CNN 模型。这些工作在生产高准确率 CNN 模型方面取得了显著成功。然而存在两个问题。首先,NAS 可能非常耗时,通常需数小时才能完成。其次,NAS 产生的 CNN 模型可能非常复杂,难以理解且训练成本更高。我们提出一种新颖的 NAS 方法,其中初始模型不是从默认 CNN 模型开始,而是从 GitHub 提取的模型仓库中选取。其直觉在于,解决类似问题的开发者可能已开发出比默认模型更好的起点。我们还分析了实际中 CNN 模型的常见层模式,以理解开发者为改进模型所做的改动。我们的方法将常见改动用作 NAS 中的变异算子。我们扩展了 Auto-Keras 以实现我们的方法。我们使用来自 Kaggle 的 8 个高票问题(涵盖图像分类与图像回归任务)进行的评估表明,在给定相同搜索时间且不损失准确率的情况下,Manas 产生的模型参数量比 Auto-Keras 的模型少 42.9% 至 99.6%。在 GPU 上基准测试时,Manas 的模型训练比 Auto-Keras 的模型快 30.3% 至 641.6%。
引用
@article{arxiv.2112.03395,
title = {Manas: Mining Software Repositories to Assist AutoML},
author = {Giang Nguyen and Md Johir Islam and Rangeet Pan and Hridesh Rajan},
journal= {arXiv preprint arXiv:2112.03395},
year = {2022}
}