An apparatus for generating a deep ensemble model, comprising a sampling module, a dataset construction module, a training and evaluation module, a generation module, and a model construction module,
- wherein the sampling module is configured to randomly sample, from a search space of classical convolutional neural network (CNN) models for image classification, a neural architecture of a first group of CNN models;
- the dataset construction module is configured to collect representative image samples based on a scenario of an image classification task, mark the collected image samples with classification labels, and construct a training dataset based on the marked image samples, wherein the image classification task comprises at least one of visual search, image tagging, content filtering, medical image analysis, security surveillance, agricultural monitoring, and environmental detection;
- the training and evaluation module is configured to train the sampled first group of CNN models based on the training dataset and evaluate image classification performance of the sampled first group of CNN models;
- the generation module is configured to generate a second group of CNN models based on a surrogate model and the trained first group of CNN models;
- and
- the model construction module is configured to:
- randomly construct a second parent population based on the second group of CNN models;
- if a stop criterion is not met, perform a bi-objective differential evolution operation on the second group of CNN models to generate a second offspring population;
- evaluate the second offspring population, and combine the second offspring population and the second parent population into a new second parent population;
- select, from the new second parent population, non-dominated solutions to a current multi-objective optimization problem, wherein for any non-dominated solution, no any solution that is superior to the non-dominated solution on all optimization objectives is present in the new second parent population;
- update an external archive to save the non-dominated solutions;
- construct a next-generation population by tournament selection;
- if the stop criterion is met, decode a solution with the highest accuracy in the external archive;
- and output a constructed CNN ensemble model, wherein the CNN ensemble model is a deep ensemble model for image classification, and a structure of the deep ensemble model comprises a shared block.