Convolutional Neural Network Optimization Using Modified NSGA-II
Zhidong Su, Weihua Sheng, Senlin Zhang · 2021
Convolutional Neural Networks (CNN) are becoming deeper and deeper. It is challenging to deploy the networks directly to embedded devices because they may have different computational capacities. When deploying CNNs, the trade-off between the two objectives: accuracy and inference speed, should be considered. NSGA-II (Non-dominated Sorting Genetic Algorithm II) algorithm is a multi-objective optimization algorithm with good performance. The network architecture has a significant influence on the accuracy and inference time. In this paper, we proposed a convolutional neural network optimization method using a modified NSGA-II algorithm to optimize the network architecture. The NSGA-II algorithm is employed to generate the Pareto front set for a specific convolutional neural network, which can be utilized as a guideline for the deployment of the network in embedded devices. The modified NSGA-II algorithm can help speed up the training process. The experimental results show that the modified NSGA-II algorithm can achieve similar results as the original NSGA-II algorithm with respect to our specific task and saves 46.20% of the original training time.