一句话:提出 Manas,从 GitHub 模型库选择初始 CNN 并用常见层模式变异进行 NAS,在相同时间内得到更小更快的模型。
为任务找到合适的卷积神经网络(CNN)模型对开发者而言并不容易。现有 AutoML 中的神经架构搜索(NAS)通常从默认 CNN 模型出发,通过变异搜索更高精度模型,但搜索成本高,且所得模型往往复杂、难理解、训练昂贵。Manas 提出一种新的 NAS 思路:先从 GitHub 提取模型仓库,再根据相似问题选择更优的初始 CNN 模型;同时分析真实世界 CNN 的常见层模式,将开发者常用的改动作为变异算子,并扩展 Auto-Keras 实现。基于 Kaggle 上 8 个高票图像分类与图像回归任务的评估表明,在相同搜索时间下,Manas 不损失精度,参数量比 Auto-Keras 模型少 42.9% 至 99.6%,GPU 上训练速度快 30.3% 至 641.6%。
Today deep learning is widely used for building software. A software engineering problem with deep learning is that finding an appropriate convolutional neural network (CNN) model for the task can be a challenge for developers. Recent work on AutoML, more precisely neural architecture search (NAS), embodied by tools like Auto-Keras aims to solve this problem by essentially viewing it as a search problem where the starting point is a default CNN model, and mutation of this CNN model allows exploration of the space of CNN models to find a CNN model that will work best for the problem. These works have had significant success in producing high-accuracy CNN models. There are two problems, however. First, NAS can be very costly, often taking several hours to complete. Second, CNN models produced by NAS can be very complex that makes it harder to understand them and costlier to train them. We propose a novel approach for NAS, where instead of starting from a default CNN model, the initial model is selected from a repository of models extracted from GitHub. The intuition being that developers solving a similar problem may have developed a better starting point compared to the default model. We also analyze common layer patterns of CNN models in the wild to understand changes that the developers make to improve their models. Our approach uses commonly occurring changes as mutation operators in NAS. We have extended Auto-Keras to implement our approach. Our evaluation using 8 top voted problems from Kaggle for tasks including image classification and image regression shows that given the same search time, without loss of accuracy, Manas produces models with 42.9% to 99.6% fewer number of parameters than Auto-Keras' models. Benchmarked on GPU, Manas' models train 30.3% to 641.6% faster than Auto-Keras' models.