Once-for-All (OFA) is a Neural Architecture Search (NAS) framework designed to address the problem of searching efficient architectures for devices with different resources constraints by decoupling the training and the searching stages. The computationally expensive process of training the OFA neural network is done only once, and then it is possible to perform multiple searches for subnetworks extracted from this trained network according to each deployment scenario. In this work we aim to give one step further in the search for efficiency by explicitly conceiving the search stage as a multi-objective optimization problem. A Pareto frontier is then populated with efficient, and already trained, neural architectures exhibiting distinct trade-offs among the conflicting objectives. This could be achieved by using any multi-objective evolutionary algorithm during the search stage, such as NSGA-II and SMS-EMOA. In other words, the neural network is trained once, the searching for subnetworks considering different hardware constraints is also done one single time, and then the user can choose a suitable neural network according to each deployment scenario. The conjugation of OFA and an explicit algorithm for multi-objective optimization opens the possibility of a posteriori decision-making in NAS, after sampling efficient subnetworks which are a very good approximation of the Pareto frontier, given that those subnetworks are already trained and ready to use. The source code and the final search algorithm will be released at https://github.com/ito-rafael/once-for-all-2
翻译:Once-for-All (OFA)是一个神经架构搜索(NAS)框架,旨在通过分离训练和搜索阶段解决为不同资源限制的设备搜索高效架构的问题。OFANeural网络的耗时训练仅进行一次,然后可以根据不同的部署场景从该已经训练好的网络中提取多个子网络。本文旨在进一步探索效率搜索,通过将搜索阶段明确构思为多目标优化问题。使用任何多目标进化算法,例如NSGA-II和SMS-EMOA,在搜索阶段中实现有效率和效率之间的明显折衷。换句话说,神经网络只需进行一次训练,搜索考虑不同硬件限制的子网络也只需进行一次,然后用户就可以根据每个部署方案选择合适的神经网络。OFA和明确的多目标优化算法的结合打开了在NAS中进行事后决策的可能性,因为这些子网络是已经训练并准备好使用的Pareto前沿良好近似。相关的源代码和最终搜索算法将在 https://github.com/ito-rafael/once-for-all-2 中发布。